summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: Reserve framebuffer memory for the splash screenSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Reserve memory for the framebuffer in the HLOS partition that would be used to display splash screen in the bootloader as well as the initial stages of the kernel bootup. This avoids copying splash screen memory to a local buffer in the kernel. The reserved memory would be freed when the first real update comes in from the userspace. Change-Id: I7dc256f8ffd69c24e56ac10ed57e37d96c8c9a2f Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org> Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: hdmi: Add APQ8084 HDMI MUX GPIO settingsAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | Adds GPIO 27 to enable mux select 1(LPM) required for HDMI MUX for liquid which is used for selecting mainboard or dock HDMI. Change-Id: I19abaccd20c42fae387b1356e9812c98cd9a2e47 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdss: display: Move reset sequence from dsi controller to panel dtsiCasey Piper2016-03-23
| | | | | | | | | | | | | | | | | | Parse the reset sequence from the panel dtsi instead of the dsi controller to support different reset sequences for different panels. CRs-Fixed: 528698 Change-Id: Icef6e1aed5c57b6a8f1c2c2b0b7db2ffd040195f Signed-off-by: Casey Piper <cpiper@codeaurora.org>
* | msm: mdss: reduce minimum mdp ib bandwidth requestHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | The minimum mdp ib for usecases such as portrait video is high, causing unnecessary power increase, so it is reduced to a optimal value for the purpose of both power saving and reducing chances of underruns. CRs-fixed: 538989 Change-Id: Ibabf16ef3081ef85d181cc8a70e4cfbe029156c1 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | mdss: display: add edp frame rateKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | Add edp frame rate so that run time bus bandwidth requirement can be calculated correctly. Change-Id: I6ac147f35dd6d35aec9799d8f9e5c96e149d8161 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: Update screen resolution for Assertive DisplayCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Apply the latest screen resolution to AD hardware so that banding artifacts are not generated. Change-Id: I5df8a3de4551c5e45e0e8ff2b21b60549b479788 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: Store AD backlight notification functionCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Store Assertive Display backlight notification function while locked to prevent race condition where AD is disabled while lock is released, setting function pointer to NULL. Change-Id: I7996a29595854ed8e50d0fff663a779c3ccd388f Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Don't calculate AD with zero backlightCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Don't calculate AD strength when backlight is zero to prevent updates that would not be visible from impacting screen when first backlight request arrives. Change-Id: Iabf10317ef40ae7bd940d94297a62975947c5ee4 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Allow CMD panels for Assertive DisplayCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Remove the check that prevented command mode panels from enabling assertive display functionality. Change-Id: Iecf0f518a45da556d1d9d0558a7d2dc572cc82da Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: Support multiple vsync handlers for CMD modeCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | Add support for multiple vsync handlers for command mode panels. Change-Id: I21bf032ac20100dce252dcc09400ad2142a1dcf4 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Use primary display backlight in WB AD caseCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | When AD is configured to run on the writeback display, it needs to use the primary display's backlight configuration for getting, setting, and being alerted to backlight changes since the writeback display does not have a backlight to itself. Change-Id: I615ce878a948798c1ce0c49c427e361c73798335 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: Add commit handler to writeback displayCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Add support for a "vsync handler" for writeback displays to be able to schedule tasks to be run as soon as the frame has completed. Change-Id: I8c6945a6e914e307de67b2ec6df25f4509a50da7 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: hdmi: Add 5V boost for HDMIAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | Enables 5V boost for APQ8084 to enable HDMI HPD(Hot Plug Detect) by turning on relevant PMIC GPIO. Change-Id: I2f8cf1ff49af7d0e4af968fd5ff94c6765e7124a Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdss: mdp3: Validate input from userspaceTerence Hampson2016-03-23
| | | | | | | | | | | | | | Fully verify that the values from client are safe to use. Change-Id: I73d6839f5bccd53b8bc2d812dc7673b13735299c Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdss: dsi_v2: verify return value from dma_cmds_txTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | When driver was calling dma_cmds_tx it was not checking the return value. Change-Id: Ia8903b71a5162d6290a0c841a7a17409dfdddd43 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdss: mdp3: verify return value from iommu and bw callsTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | When driver was enabling/disabling iommu it was not verifying return values of the call. Same with bw set quota call. Change-Id: I8755335bffd5d52720f8a5d735427b5306eab512 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdss: mdp3: verify return value from enabling clocksTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | When driver was enabling clocks it was not verifying that the call was successful. Change-Id: Ieb67a93b75cb1da6da05ae494dd1c65dc20d8a37 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdss: ppp: Allow for mdp3 to map smmu for buffers used by pppTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | There is a hw issue with ppp where it reads buffers in 16x16 tiles. If the region of interest (roi) is not divisible by 16 it will read these extra lines but not use them for blitting. Since these extra region is outside the buffer it is necessary to add extra padding on either side of the buffer. This is a sw workaround to avoid smmu reporting page faults. Change-Id: I9ac80c1d32b35051b112f4c22c28c51b50f886ce Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: allow assertive display on write back framebufferAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Reserve a mixer that supports AD to be used for write back and expose a sysfs node for frame buffer devices which are able to support AD. Change-Id: I0598a686d251444fc40bb8073ac50750036be7fe Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org> Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: Delay overlay start until first updateCasey Piper2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Delay hardware initialization in the case of hdmi until after after continuous splash screen is completed. This delays iommu attach and prevents corresponding page faults caused by continuous splash screen use of physical address. Change-Id: Ia1f81544c7f32be1ac9e7513bb277ee88b612bed Signed-off-by: Casey Piper <cpiper@codeaurora.org>
* | msm:mdss: Add support for show blank sysfs entryJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | Currently there is no support for show blank sysfs entry in mdss. Hence, added this entry to check if panel is power on or off. Change-Id: Ifa50bf373590556f88b8f8196353dffefe2d2559 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | msm: mdss: change MDP burst length to 16 on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Display DMA bus master is a real time client, which means it has strict timing requirement to meet the panel timing. If the data cannot be fetched from memory and sent to the panel fast enough within the panel timing constraint, the MDP DMA engine will be starving and cause under-run. Earlier, we were using burst length 8, this burst length configuration will cause under-run on the 720p panel which has high bandwidth requirement compared to WVGA panel. The burst length is now increased to 16. Change-Id: I1de8e453fa5d99634b6c0ab38ed8568c91516001 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Fix warnings when using different compilersChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | Uninitialized variables generate warnings for gcc-4.5.2 compiler. These variables are only initialized for video mode configuration. Fix this issue by initializing the variables. Change-Id: Ib51d7afae19b77d3149f3ee3e041209a552d5c82 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | mdss: display: Fix DCS command parsing for short commandsChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | The DCS short command might have zero payload. Fix the command size check for zero payload. Change-Id: Idb5220c90bd7ee52bfa2e049861dda131785bbee CRs-Fixed: 547774 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | mdss: Display related changes commit belowLaura Abbott2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging to 3.14 kernel this is only display related changes for commit below Change ID: I12e6fb6ec8a8481a7eef374cb9316e5ccbc29090 msm: Update Ion and IOMMU APIs to use dma_addr_t The current APIs for Ion and the custom IOMMU mapping assume that many parameters are unsigned long. This type is not big enough to hold physical addresses on LPAE systems. Update the APIs to accomodate these types. Because we are updating the APIs, all clients need to be updated as well, either by using the correct type or using a cast where necessary. Change-Id: I84a219509f1247dee7ab616762359b923c16e913 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | msm: mdss: Fix ib value calculations for multiple AXI mastersUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | When multiple AXI masters are used by MDP, Instantaneous Bandwidth (ib) should not be divided by number of masters. Arbitrated Bandwidth (ab) is the only factor which should change based on the number of masters. Fix this by removing IB division in the calculations. Change-Id: Ieedddede2d72a1503805655b863a84bf96b52944 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Enable fixed MMBs support for RGB pipesUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | RGB pipes in some of the chip-sets are statically tied to dedicated Memory Macro Blocks (MMBs) out of common shared memory pool. These MMBs cannot be used by other pipes. Enable support for this fixed MMBs by parsing indexes from device tree and reserving fixed MMBs first before general pool is used. Change-Id: Ic4bc7fa790f430a2853719fec7fd849149bc6976 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Fix watermark level calculations for pipe updatesUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Watermark (wm) levels for active pipes are calculated and set for every surface update regardless of pipe parameters are changed or not. In the current implementation if reserved MMBs are not changed compared previous frame then wm levels are reset to zero. This is not a correct behaviour and may lead to under-runs. Fix this by setting wm levels based on allocated MMBs. Change-Id: I857c161f7203b64411e9345553f88c48f7726ee2 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Support GCDB on 8x10 target.Dhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update dsi v2 driver to use GCDB platform tags and B family panel utility API. This changes supports complete GCDB kernel dtsi tags for 8x10. It also removes the panel v2 driver because switching to B family panel utility removes panel v2 driver usage. Change-Id: I840223279ef3aa6aa8ee364f6c4e03f49e0e2d4b Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Resolved deleted file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: MISR based CRC validationMayank Chopra2016-03-23
| | | | | | | | | | | | | | | | | | | | MISR allows a CRC to be generated from contents of a particular hw block which can be used for validation. Enable setup of misr and APIs to obtain CRC from hw blocks. Change-Id: Ib07e31cba45d242922bd28b6b306220efece7b8d Acked-by: Sachin Bhayare <sbhayare@qti.qualcomm.com> Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | msm: mdss: Parse continous splash status entry in panelDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | This change moves the "cont-splash-enable" entry parsing in panel utiltiy library. It should be parsed in panel utilitiy instead of dsi controller because this entry is part of panel dtsi file. Change-Id: If3aca0780d58adeecb48ac89c42dfc031a3efa30 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Support command line argument parsing in mdp3Dhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Support kernel command line argument parsing in mdp3 driver to get the preferred panel set by user or LK over panel selected by target dtsi file. MDP3 provides this panel information to dsi driver to configure the user selected panel. Change-Id: I80025d22dbab42a349bc294a9d080516682555c3 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Update panel on sequenceSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | | | | | Enable the display_en gpio before toggling the reset gpio. This is needed to bringup the JDI panel without breaking the default panel. Change-Id: I64399bf070e6ba5bf2355a1fb90bba2460e2bd92 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* | msm: mdss: Correctly update pwm configurationSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | | | | | Backlight pwm was incorrectly updated while changing the backlight level. We need to disable the pwm configuration before updating it with the updated value. Change-Id: Ie027c26a614c6bb0ffdc51218cf4c81b26ceb736 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* | msm: mdss: expose mdss tearing check parametersHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Tearing may happen for command mode panels when data transfer from mdp to panel is not synced with panel's own update. These panel dependent mdp parameters are used by mdp h/w logic to avoid tearing, so they can be tuned through device tree settings for different panels. CRs-fixed: 514910 Change-Id: Ibe9e27233692f8e50f36ce3b8be521a4d0097146 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: Move bus scale table implementation to device-treeUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Bus scale table is chip-set dependent where number of paths per bandwidth use-case can differ chip-set to chip-set. Current implementation has a static table where it supports only one path per use-case. Expand MDSS bus scaling implementation to accommodate chip-sets where more than one path per use-case, i.e. apq8084, is possible and move table initialization to device-tree so that every chip-set configures its own table. Change-Id: Ia6f76654d129fe0ec1a7124aa87b16f96167fe84 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: display: Correlate frame and clock rate namesCasey Piper2016-03-23
| | | | | | | | | | | | | | | | Update framerate and clockrate to be correlated with the documentation and dtsi files. Change-Id: I582ff2d564c4922821d494f4ea9d67f43e77ff28 Signed-off-by: Casey Piper <cpiper@codeaurora.org>
* | msm: mdss: Validate input argumentShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | MDP kernel function allocates memory using one of the input parameters. Add sanity check for this input parameter to ensure proper memory allocation. Change-Id: Ib7ff3b02e818c0d2a623fb3428fb93cc5bd8e41e Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: Edit MDP sysfs node text layoutShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | Display kernel driver uses a sysfs node for outputting MDP capabilities. This data needs to be written in a proper format. Editing the current format to have a single keyword instead of spaces. Also, using an "equal to" sign instead of colon. Change-Id: I2d2b71f27194cc50bfe1b7395cc0910896f499f4 Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: fix display lk to kernel transition issueXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Earlier, during lk to kernel transition, display was shut down and turned on again. During shutdown, the previously allocated overlay resource was released and the vsync was disabled. To distinguish between normal shutdown and lk to kernel transition case, a separate function is added to address the transition use case. Change-Id: Ib30abb4a0f97a46260dfd09ad91f59035794e45e Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: allow overlay set to recover on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | In the cases where the UI framework was shut down abnormally, the previous overlay resource was not released. This is to allow recovery in the error cases. Change-Id: I354044bb2a0af0df1dc8a7dcec280fa0dcd103fa Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: fix the incorrect default error codeXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | In the default case, it should return success, instead of an error. Change-Id: Ic2c947fad59896f9e71d9af721c458e444db91d4 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: fix a dead-lock issue on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | The shutdown function involves two seperate steps: shut down the dma and unset the overlay. Due to the use of the mutex, a UI update thread can comes in between the two steps. Futher, the UI update thread does not hold the mutex while trying to check the display status. This results a dead-lock: UI update thread tries to wait for vsync event, while the display has already been shut-down. Change-Id: Ib1242c60605a85441af78dcdc75a69a209dec7d1 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: update pipe params on first update after suspendAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Whenever panel is turned off, need to ensure that pipe is reprogrammed fully when turned back on in case the pipes are not properly unset. Change-Id: I6242b8f90695dd713c87924eb15306767b62803e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: remove cleanup done during overlay kickoffAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Remove kickoff done from overlay kickoff, this was done to clear potentially stale handles when the process using it has crashed. However this case is handled in commit a3b3d215 by handling per process resources. Change-Id: I9c060b107c004c6cfb726ad84ae69d77461ed74f Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Support panel mode selection through GPIODhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | Some panel supports video mode and command mode selection through GPIO pin state. These dtsi entries allow to configure such panel mode. GPIO high or low value can be associated with any mode of panel. Change-Id: Idf073279e2f039fa07ad2449a327eab14a0142c7 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | mdss: Avoid panel ON commands during boot up for command modePadmanabhan Komanduru2016-03-23
| | | | | | | | | | | | | | | | | | | | | | In command mode, when continuous splash is enabled, we do not send the panel OFF commands through the SPLASH_BEGIN callback. Avoid the SPLASH_FINISH callback also for command mode since panel ON commands are not required to be sent. This avoids unnecessary warnings during boot up. Change-Id: Ifc249f259655045ecd799b57e1efb964238c504a Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* | msm: mdss: remove unused member of structureManoj Rao2016-03-23
| | | | | | | | | | | | | | | | The len member of the pan intf structure is not used any longer. Remove this unused member from the structure. Change-Id: Id243ebda9fd36421f1e98061bb78d6006c220fe0 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | mdss: display: add support of additional EDP color bit componentKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | Add support of additional color bit component in addition to existing 6 bit color component. Change-Id: Ia0ee7b5d62deb963b13741d2bfcd03a40993d96e Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: Avoid memcopy in dsi driverDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | Update dsi panel code to use controller variable directly to avoid memcopy in dsi driver. This simplifies the code and avoids usage of multiple structures for same configurations. Change-Id: I1625190213c8844ce99a9812892531ac5b7a64fb Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>