summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: Modify the calibration register address check rangePing Li2016-03-23
| | | | | | | | | | | | | | | | Include address 0x0 to the valid address list for calibration ioctl, so that user space can read the MDP version. Change-Id: I128dbf6d9febf7fcd745b350933502984ab2fe24 Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm8974: mhl: enable tmds stream on powered dongleManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable TMDS stream and MHL-HPD only when MHL TX is connected to a powered dongle. This information is read from the sink/dongle's device capability bytes. The MHL Tx prevents outgoing TMDS stream on an unpowered dongle which saves power drainage. On connection to an unpowered dongle during the initial discovery rgnd discovery reports MHL, subsequently, uUSB is reported. Set HPD/TMDS low at this point without handing over the control to USB driver. This enables detection of interrupts in MHL driver but prevents TMDS signals from being sent to the sink. Change-Id: I5f13880caff7fe852952b55763d53224e3146ebd CRs-Fixed: 494771 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: sanitize histogram bin countManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Ensure that histogram bin count value is sanitized, this ensures that the length of data copied back to user remains in check. This prevents excessive data in kernel memory from being copied back to user. Change-Id: I0f7787603bad950c0b187d8c38d4fa3366bc06b6 CRs-Fixed: 517476 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: Fix register address range checkBenet Clark2016-03-23
| | | | | | | | | | | | | | Register address range was incorrect. Fixed the bounds of the check Change-Id: Ide6d912c77aa9e182e854d502551fc71f4bd3615 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* | msm: mdss: Support planar output format for rotatorSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | For high end targets planar format as output from the rotator can be supported as there are more SMP blocks available relatively. Also, this gives HAL flexibility with the output buffer as currently its always defaulted to Psuedo Planar. Change-Id: I0428ea2a227bf73bc4eada0d2533520799321195 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Avoid deadlock in interrupt handlerSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Reduce the locking scope in irq_dispatch so that mdss_lock is not held when the irq_handler is dispatched. The dispatched irq_handler will try to acquire mdp_lock but another active process can already have mdp_lock and tries to procure mdss_lock creating a deadlock situation. Not locking with mdss_lock is acceptable as the calls will be synchronized through mdp_lock from MDP clients. Change-Id: I586b7e00c046dd4081b4e838e62e0a0556f4c717 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Allow DMA pipe sharing only on WB mixerSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | DMA pipe can only be shared on the writeback mixer for concurrent line and block mode operations. Only allow sharing if the mixer attached to the pipe is already a writeback mixer. Change-Id: I9a0e5144fdf87f681493cd92d9cc809836ab1a5c Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: release process resources on fb closeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Track overlays/rotator sessions created for each process and make sure these are released during fb close. This can handle cases where crash happens on a process that owns the resources, but panel wouldn't be blanked due to other process still holding a reference to fb. CRs-Fixed: 511804 Change-Id: Ib3b8b57c871f91c59e1bef36cd94b7d957185050 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: expose MDP capabilities through sysfsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | User space applications currently rely on special private ioctl to query capabilities of MDP driver. As more capabilities are added it becomes more difficult to have to extend and maintain header file compatibility. Provide a sysfs node which can be queried for MDP capabilities. Change-Id: I59efb29bf465083a1ef65c0419226788b44085b1 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: Add battery FET regulator usageUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | During idle power-collapse using smart-panel, when PMIC chip goes to sleep, it puts battery FET (batfet) to low power mode (LPM) which allows less than 100mA current to be drawn. Since smart-panel is in self-refresh mode, it can still draw more than 100mA current causing PMIC and MSM reset. To fix this issue, batfet has to be kept in high power mode (HPM). In order to keep batfet in HPM, display driver enables batfet regulator whenever display panel is on. Change-Id: I2f3d9f20fcf86b3147ac7396d56f93bfc08377c7 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Add support for LPAE systemsUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | In LPAE systems physical memory addressing is different than CPU addressing scheme. This change enables MDSS driver for LPAE systems where driver is directly dealing with physical addresses. Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> Change-Id: Icd332b771e803cf17b67211b1e35666e5a274a4e
* | mdss: mdp3: validate histogram data passed inTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | Data passed in from userspace should be validated to be within the appropriate ranges. Change-Id: I50ff818a2b03c1fff55f44403f0f1b67c26d9f0e Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Fix ARGC copy size from userBenet Clark2016-03-23
| | | | | | | | | | | | | | | | User cfg for ARGC gives varying number of rgb stages. Fixed ARGC config to only copy data based on number of RGB stages. Change-Id: I425527b12364b03bbcd8c9d984a2675cd8444d62 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* | msm: mdss: fix the tearing issue on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | Configure the tearing check related registers properly to resolve the tearing issue on 8x10 DSI command mode. Change-Id: If50239375758e68a115a044d04eddf6285c62bda Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Increase the cnoc clock ratePing Li2016-03-23
| | | | | | | | | | | | | | | | | | | | Higher cnoc clock rate is required in order to fix very slow register accesses issue. This is done by piggybacking on bus bandwidth requests by voting on cnoc frequency when any bus bandwidth is requested, meaning MDP is active. Change-Id: I040d9ccdfa9c7b420ecf74e97b80ce305eae4c4f Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* | msm: mdss: Prevent AD backlight calculation before suspendCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | AD backlight calculation should be prevented when backlight has been set to 0 to prevent AD from conflicting with suspend state backlight levels. Change-Id: I831258b03e81fd4bc2d305a0cb8ece7c42f4b9fb Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | Revert "msm: mdss: Prevent non-zero backlight following display blank"Carl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Patch broke assumption that blank/unblank does not modify backlight value. This reverts commit 3d4c5574f8284df4b29b4bdbe31fc2b6c4aef079. Change-Id: I5dfeb0504d23089e7a9dca423726185eddb40d7e Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Debug log for assertive display inputsCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | Log updates to ambient and strength inputs on assertive display. Change-Id: Ie96baf2cb6f4af4c74e154322b870f4eb58cbfb2 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: ppp: Correct ppp bw requestTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | Integer overflow occurred in calculating ib, this value was then given to bw request resulting in an invalid request. Change-Id: I71c56ecb7b412a8343ac400295a97f00207316e2 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Configure panel's physical dimensionsMayank Chopra2016-03-23
| | | | | | | | | | | | | | | | Parse the panel's physical dimensions from the dts file and set width and height in frame buffer information accordingly. Change-Id: Ic76949b14313777b9f3ea1a2c9e60565fe203d67 Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | msm: mdss: Change the writeback format enumerationsSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | The enumerations used for writeback format through metadata set and get ioctls should be the same in HAL and kernel. Change-Id: I5fb7f9266d01c3ba4390a5a6bb168af507e3c298 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Compensate for low VBP in MDP clock calculationsSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | MDP latency is 4 lines with CAF and when the panel's vertical Back porch value is lower than 4, the MDP clk rate needs to be increased by 25% to compensate for the latency. Change-Id: I732de52b4f5387d5c7992e893ea7cad5c6951811 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Replace vsync work queue with sysfs_notify_direntFred Fettinger2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Since sysfs_notify_dirent() can be called in interrupt context, use it instead of work queue. This should improve latency of vsync events, especially as work queues run at normal priority, and the other threads which transmit vsync events use a higher priority. Change-Id: I14de54b455ed5cc17b61e1e9ff9078b8c958cdcb Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | mdss: hdmi: Wait for audio offAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | Wait for audio off before signalling framework to shutdown display for HDMI to ensure proper HDMI audio FIFO-DMA tear-down. CRs-Fixed: 513391 Change-Id: I1f25d00ab159622cc21a2cf545cac2a615eca5a7 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | msm: mdss: Remove deprecated vsync pending variableJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | | | vsync pending variable is deprecated and hence remove its usage from all places in MDSS. Reenabling vsync ctrl once panel is on now relies on user space application. CRs-Fixed: 513502 Change-Id: I4b3062012983c1de98a5e59b4368e028eb6b46a5 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | msm: mdss: add BL_DCS_CMD on 8x10Shuo Yan2016-03-23
| | | | | | | | | | | | | | Support BL_DCS_CMD function to adjust brigtness in 8x10/12. Change-Id: If7cf7eff9509c043af4be6e6ec5f0039346f8e0a Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
* | mdss: display: Check for non-zero msleep values for LDOsClarence Ip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Change LDO power on/off sequence to check for non-zero sleep values to prevent input values of 0 from sleeping for a jiffy. Change-Id: I66c0ded92e9c76bd43364de701effa96f0d5c9a5 CRs-Fixed: 514628 Signed-off-by: Casey Piper <cpiper@codeaurora.org> [cip@codeaurora.org: Replace regulator_set_optimum_mode with regulator_set_load] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: verify display status for continuous splash screenXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | The continuous splash screen feature requires support from both lk and kernel. This change check the case where the lk enables the continuous splash screen, but kernel is not enabling it in the device tree. Change-Id: I68fc474e87aad00760f89ee4582ae60ee5577bbf Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | mdss: display: remove the pwm gpio request from edp backlightAsaf Penso2016-03-23
| | | | | | | | | | | | | | | | There is no use of the pwm gpio inside the driver so cleaning up the code and removing it from devicetree. Change-Id: I72c038f3082aa6ed18ea9142de75faecc1e1e0fd Signed-off-by: Asaf Penso <apenso@codeaurora.org>
* | msm: mdss: initialize the display interface typeXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | The display interface type was not initialized properly. This is to initialize the display interface type based on panel mode. Change-Id: I73cfbb0ab78dc01698d60be10afd7492469c756e Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: enable continuous splash screen for 8x10Terence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Continuous splash screen is to allow lk to kernel smooth transition for the display splash screen. During lk to kernel transition, the splash image will be copied and display engine status will be preserved so that user will see continuous splash screen. This is to enable the feature on 8x10 MTP and CDP platforms. Change-Id: Ie8f71c1d0400cb72dff3a076f57c1d7e19a844f0 Signed-off-by: Terence Hampson <thampson@codeaurora.org> Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: maintain backlight-related variables in mfd structureHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | Backlight status are framebuffer specific and should be maintained in mfd data structure. Otherwise, the release of one fb (e.g. fb1) prevents backlight updates of another fb (e.g. fb0). CRs-fixed: 520695 Change-Id: I7baaebda22a6ae0c7c391d5898c5a7e2467be0be Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: fix histogram reset error on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | Allow histogram reset to happen at any state. Change-Id: Ib7245f1a6d3ae104f9a9c40a446bc411f01a197c Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Add plane alpha supportMayank Chopra2016-03-23
| | | | | | | | | | | | | | | | Clean up the blending rule to follow blend_op set from hwc. Use modulate alpha for plane alpha when it is not 0xff. Change-Id: Iad7217563bcae5e89fe8e50954494f6afdcb8e79 Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | msm: mdss: Return standard errno for error conditionsRamkumar Radhakrishnan2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Replace ENOTSUPP with standard lib error EOPNOTSUPP in order to update errno. Return EPERM error when VSYNC_ENABLED called in suspend state in order to reflect the actual state of the device. if no error returned applications would assume vsync events are being generated when this is not true. Change-Id: I72a7347ebecc71376884cf21b7e757f75ba9b40e Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
* | msm: mdss: Change the Alpha scaling type to bilinearSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | Currently, for Alpha plane the filter used is nearest due to which there is an aliasing effect. Using the same filter as graphics core which is bilinear, the aliasing effect is avoided. CRs-fixed: 517627 Change-Id: Ifb4629ddcea1ac447d151469b1f56e3400b7fac0 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Make wait_for_complete calls uninterruptibleSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | The wait_for_complete calls in the MDSS driver are associated with an acceptable timeout value which would remove the need for making them interruptible. Also, this prevents unwanted signal interrupts before the call is finished. Change-Id: If4013b0d74bc9f717c4a63d961f2a34753320e87 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | mdss: display: add mdp core clock to dsi clock controlKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Since mdss interrupts are generated in mdp core clock domain, mdp clock need to be enabled to have dsi interrupt be delivered during dsi dcs command send and receive. Request of bus bandwidth also needed to allow dsi controller to fetch dcs commands over AXI bus. CRs-fixed: 516172 Change-Id: I6e10cc5a193c9eb06803637e0432ec72f069377b Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: validate fb backlight inputsManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | Ensure backlight level is less than the max backlight brightness and the backlight scaling factor is at most 1. Change-Id: I424ed22af48ecae46371291fe88a114cf3fc7c31 CRs-Fixed: 516699 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: copy gamut conf tables from kernel memManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Read the gamut config data from hardware into kernel's memory and copy back to user space address using copy_to_user API. This prevents MDP PP driver from writing directly into userspace virtual address to copy gamut config data. CRs-Fixed: 516720 Change-Id: Ib1f53e949696f7d4a45410c529fe9375c502090f Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: Add support for disable load for hdmi vregsArpita Banerjee2016-03-23
| | | | | | | | | | | | | | | | | | Changes are to support additional disable load vreg parameter for hdmi bindings Change-Id: Ie3d9062f52e767cd97dae987053e9171c42a2808 Signed-off-by: Arpita Banerjee <cabane@codeaurora.org> Signed-off-by: Casey Piper <cpiper@codeaurora.org>
* | msm: mdss: support continuous splash screen for DSI command panelXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | This is to support continuous splash screen for DSI command mode panel. Change-Id: I853c319e9c657312217695f94cbdbd9835666d3e Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Avoid used pipe list corruptionSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | Since a pipe can be freed through an overlay release call or during kickoff, the !list_empty check is needed before deleting the used_list head to avoid corruption by attempting to delete the same head twice. Change-Id: I80ecce7bddbdf443e3570d408652a35a99758b07 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm_fb: mdss: register framebuffer devices for device shutdownUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Many display panels mandate that when device is powered down, it is necessary to execute panel power-off sequences. Register framebuffer devices for shutdown event so that power-off sequences of display panel can be executed. Change-Id: I1adbd38affa83a2f8887f8dab90907b6465de3cd CRs-Fixed: 517260 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | Revert "msm_fb: mdss: register mdss devices for system shutdown"Shashank Babu Chinta Venkata2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a097c1e761fca6eedee1554dc0c068880716d824 Original patch was vulnerable to race condition of system restart task and other task opening frame buffer devices. This race condition was introduced because kernel framework of device shutdown adds a fake ref-count to pm_runtime of the device. This fake ref-count causes unexpected regressions when device is opened after it was shutdown. Reverting original patch until proper fix is identified. CRs-Fixed: 515199 Change-Id: I14324f9875e960a922c5b2b773b086c79a82b09a Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org> Signed-off-by: Tirtha Kanti Ghosh <tirtha@codeaurora.org> Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Do not unstage pipe when kickoff is issued without bufferSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | When a kickoff on a layer is issued but the staged pipe does not have a buffer queued, a warning can be issued instead of unstaging the layer. This will remove the need to set the pipe again and the user application is responsible for the pipe management. Change-Id: I6f0c7fcf329d41a5b2c79f97214edaaabb88d2d7 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Make vsync wait non-interruptible in video_wait4compJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Currently in MDSS driver, vsync wait is getting interrupted due to which input buffer to RGB pipe is getting unmapped/freed even when the pipe is still connected to LM0 resulting in IOMMU fault. So, making the vsync wait non-interruptible fixes the issue. CRs-Fixed: 510352 Change-Id: I16d157079cc943ddfddc27a5317fc26c4fee1f0b Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | mdss: hdmi: Correct CEA format checkAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | This change corrects the CEA format check to include all the supported resolutions through which the audio should be routed to HDMI TV. CRs-Fixed: 517950 Change-Id: Icd5c7503b2dc3a184bbf52205b0386eee9daca62 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdss: hdmi: sysfs node for hdcp statusAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | The change provides the sysfs node to query hdcp authentication status. "status" node under hdcp folder will be: not available: if target doesn't support HDCP 0: inactive 1: authenticating 2: authentication pass 3: authentication fail Change-Id: I685a25566cfee9cbc89b14263e30a4af3a410f7d Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdss: mdp: set minimum BIMC clock to 200 MHz in portrait casesNagamalleswararao Ganji2016-03-23
| | | | | | | | | | | | | | | | | | Override the calculated ib settings and set the minimum BIMC clock to 200 MHz to avoid underrun issues in portrait video playback case Change-Id: Ia8d16b51cf8f1d99591683b6e1f91ef0968547da Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>