summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/msm (follow)
Commit message (Collapse)AuthorAge
...
* msm: mdss: Use computed values for DSI clocksAravind Venkateswaran2016-03-23
| | | | | | | | | When setting the rates for the DSI byte clock, pixel clock and the escape clock, use the computed values based on panel parameters instead of hardcoded values. Change-Id: Ief4d639d2d67b99439784eeb68cae924619cbaf1 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* msm: 8974: mhl_sii8334: Fix rcp key table allocation.Abhishek Kharbanda2016-03-23
| | | | | | | | Allocating correct memory space for rcp key mapping table. Change-Id: I07da6dc86c448fe4d3e4372448ee2320e58ab82b Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
* video: msm: Resolve regs overwritten issue and enable CAF for QSEED2Ping Li2016-03-23
| | | | | | | | | Resolve the issue that QSEED2 config regs got rewritten by scale_setup and vig_setup; enable the content adaptive filtering mode for QSEED2 sharpening/smooth. Change-Id: I14da16a3852e1f7507bf6b0e43ad7c7f6164cd96 Signed-off-by: Ping Li <quicpingli@codeaurora.org>
* msm: mdss: execute overlay cleanup on overlay kickoffSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | overlay cleanup needs to be called if display_commit fails to ensure pipes are released from the control path even when they cannot be pushed Change-Id: Ib3ce38b29e3d72840933634399eec655081fc793 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: parse shared memory pool specs from the device treeSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | Shared memory pool size and block count varies in different versions of mdss hardware. Change-Id: I1896b2494111c97c355329be8c2aae4802af5cfb Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: add support for additional writeback blocksAdrian Salido-Moreno2016-03-23
| | | | | | | | | Current MDSS driver only supports writeback output through WB2 block and WB0/WB1 are reserved for rotator. This patch enables usage of these writeback blocks in case WB2 is not available. Change-Id: I2ef2931c4f0889de5ab395cbd114198dcba20d88 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: Change writeback CSC programmingSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | Register programming for writeback post processing has to be changed to support different versions of MDP CRs-fixed: 459593 Change-Id: If6b47d9f05236ec3d8c4a71a774fdf2ffdb578dc Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: hdmi: remove cable state notifications using ueventsUjwal Patel2016-03-23
| | | | | | | | | | Sending cable connect/disconnect notfications to userspace using uevents is obsolete in presense of switch state notifications. Remove this notifications in order to prevent user-space uevent threads from waking up. Change-Id: If362db7d46ee171d7e3ac5c23aed799618ecf362 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* msm: mdss: hdmi: fix return code when modifying hpd stateUjwal Patel2016-03-23
| | | | | | | | | HDMI Tx's hot-plug detect circuit is enabled and disabled through sysfs. If the new value is same as the current one then return success instead of returning an error. Change-Id: Id3c75739d48290dedb9bbf5a39b81650eae03766 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* mdss_fb: Update MDP fence wait behaviourNaseer Ahmed2016-03-23
| | | | | | | | | The current fence wait times out too early in cases where the GPU is under a heavy workload. Change this behaviour to warn and wait for a longer time for GPU to complete it's work. Change-Id: I9d81380456cf88a53d56c8d367d0823a838a3ad8 Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
* msm: mdss: Enable pan_display to support continuous splash screenSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | The pan_display path to send the frame update is not setup to support continuous splash screen feature. Continuous splash screen is broken if the first update cames via a pan_display. We need to setup the mixer for the continuous splash screen feature. This has to be delayed till the split display setup has been completed. Change-Id: I2f0f268c1988f58c02cbdba7bc48b53bf999eea5 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* msm: mdss: fix pipe buffers setupAdrian Salido-Moreno2016-03-23
| | | | | | | | | There are cases in which updates can happen on pipes but back buffer is not updated. In these case updates should be reflected on pipe with the current buffer being displayed. Change-Id: I3bf5d7ec86a6169e76203de76c98721320c73e66 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: fix pm suspend logicAdrian Salido-Moreno2016-03-23
| | | | | | | | | | Implement pm suspend logic for each virtual framebuffer device to ensure framebuffer devices are suspended before MDP (which is parent of these) and resumed after. Once this happens MDP can ensure that clocks and regulators are completely off or on depending on suspend state. Change-Id: I66d26b977f46f62cb9d56640b26ec68ff8c3053f Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: turn on panel as soon as fb device is openedAdrian Salido-Moreno2016-03-23
| | | | | | | | | | User space requires regular vsync updates in order to provide new frames as soon as possible. Turn on the panel as soon as fb device is opened to speed up the time before first update. CRs-Fixed: 455021 Change-Id: If18d30a16cf648162f1077c49df9a67cf8448b15 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: request minimum bus bandwidth for all panelsAdrian Salido-Moreno2016-03-23
| | | | | | | | | All panels require bus clock to remain on while panel is up, make sure to have a minimum bandwidth request even when there are no layers setup in the use case (i.e. border color only). Change-Id: I15148d5d55fa61f3a2eeb6944ffd4a9f8aa780b6 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: round smp allocations to a power of twoAdrian Salido-Moreno2016-03-23
| | | | | | | | | | First revision of MDSS has issues with shared memory pool when the number of blocks allocated is not a power of two. In order to avoid these, the number of allocated SMP blocks should be of a power of two. CRs-Fixed: 455423 Change-Id: I5d766d568b33eb53796a726b3ce5c863a7b51f3e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: enable secure wfd supportAdrian Salido-Moreno2016-03-23
| | | | | | | | | | Provide APIs to enable secure content display through wifi display. Implement workaround to allocate a secure source pipe so that MDP is allowed to write back to secure buffer. Change-Id: I1c329fec726bec1ae721bc5f2ec39d3b21259e8d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
* mdss: Copy splash screen buffer into MDSS bufferSiddhartha Agrawal2016-03-23
| | | | | | | | Copy splash screen framebuffer into temporary buffer till we get the first frame update. Change-Id: Ib8a3742bf8c58b29fd7763dfe477b83939ece193 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* mdss: display: Enable continuous splash for Toshiba 720pSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | Enabling for MTP, CDP and FLUID devices. The continuous splash flag is set in the platform dtsi which will keep the MDSS and DSI settings intact till the first frame update. Since the MDSS related clocks are enabled in the lk, we still vote for the clocks in our probe to carry them forward. The bandwidth request is made for the same reason as well. Change-Id: Iffb2d1b63b85d63db5db234b546805962bd9b913 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* msm: mdss: check frame buffer active queueSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | Add additional check to make sure active queue is not empty before signaling timeline to avoid potential crash with improper dereference CRs-fixed: 450957 Change-Id: I2614da9f10aba43d45e89ce3775af7e8aa59cb57 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: map fb mem irrespective of iommu statusSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | fb memory needs to be mapped to a virtual address even before the iommu is attached which happens later. This avoids iommu page faults when frame buffer is displayed through pan display. CRs-fixed: 456276 Change-Id: I6e489958ed27c6b1c493b7cee961e799cb70786b Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: reserve dual pipe mixers when possibleAdrian Salido-Moreno2016-03-23
| | | | | | | | | Early MDP revision only supports mux of dual pipe on mixers 0 and 1, ensure that these mixers are reserved for usage for dual pipe solution only as long as there are other mixers available to use. Change-Id: I570aa84d22912b87310922df2a25f3e506a9aae7 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mhl: hdmi: MHL-HDMI handshake implementationManoj Rao2016-03-23
| | | | | | | | | | | | | | | | By default, HDMI driver adds entries for all the formats that it supports into an internal table. However, when MHL Tx is present, the max format supported should be limited based on the maximum bandwidth supported by the MHL Tx. We implement a handshake between HDMI and MHL drivers to exchange callback function which returns the status of HDMI's TMDS lines that is used by MHL driver before sending RAP messages. Change-Id: I53b6541307f54309fd53f0062d9be3ef1e15c495 Signed-off-by: Manoj Rao <manojraj@codeaurora.org> [cip@codeaurora.org: Moved mdss_hdmi_mhl.h file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: Flush changes to post processing immediatelyCarl Vanderlip2016-03-23
| | | | | | | | | | | | | Current post processing changes wait for a display update to write its data to registers. Trigger post processing configuration at time of update so that the updated features will be updated at next vsync. Needed by destination side post processing features in particular since their updates are made independently of display updates and effect objective display quality. Change-Id: Ib5a2b4c33e45bece74dea2d8e17b5c3d239206b8 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: Lock post processing register writesCarl Vanderlip2016-03-23
| | | | | | | | | | Ensure that post processing changes are committed and flushed independently of other pipe commits. Workaround for hardware bug in MDSS flush functionality. Change-Id: I8cc2f044242c978159074040b766db8dca3a42a5 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: separate commit and wait for completeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | Handle flushing of registers to display separately from wait. This can unblock some other components such as post processing to perform additional programming and flushes while waiting for vsync. Change-Id: I911a371f09eccedd5da9f4422cb12ddcf20844c8 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* display: mdss: Update DSI physical layer configurationsChandan Uddaraju2016-03-23
| | | | | | | | | | | | Update the DSI physical layer settings to improve performance. Update the DSI PLL enable sequence to avoid any PLL Lock issues. kernel 3.14 upgrade conflicts: arch/arm/mach-msm/clock-mdss-8974.c Change-Id: Ic9958d10cf74315f0e7907e130b85ba15b5a368a Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* msm: mdss: fix wfd tearingSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | Overlay kickoff shouldn't be called during play CRs-fixed: 451036 Change-Id: Ib112d218f38e47c04191eac7e621ee0be1b4e2fc Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: move vsync pending logic for faster panel onAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | If vsync control from user space is called before panel is turned on, this needs to be triggered as soon as panel is on. Since panel can also be turned on in other places such as unblank, need to move this logic to a common place as soon as panel is turned on faster. CRs-Fixed: 452194 Change-Id: Ic8cf97df6af465b21610f5618f7eae76caa8423e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: allow pipe to be switched across mixersAdrian Salido-Moreno2016-03-23
| | | | | | | | | Allow a source pipe to be switched between left and right mixers as long as the mixers are attached to same framebuffer. This will allow more dynamic configurations for dual pipe MDP composition. Change-Id: Icb5b111f9546976973ddb4cb488aaac637e012dd Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: allow usage of dma pipe when requesting explicitlyAdrian Salido-Moreno2016-03-23
| | | | | | | | | DMA pipe has some limitations that userspace needs to be aware of when using. In order to ensure that these are handled, these pipes need to be requested explicitly. Change-Id: Ife6c08da4e4fe73683d7cf5f9aa5ab8374e022f3 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: update overlay parameters checks based on MDSS revisionAdrian Salido-Moreno2016-03-23
| | | | | | | | New MDSS revision has less strict limitations on the surfaces sizes, update these limitations based on revision Change-Id: I0c372d322d27602731f3c59669fb7d8b6778c17d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: release sync fences when timeout happensAdrian Salido-Moreno2016-03-23
| | | | | | | | | When sync fence times out it means buffer should be dropped, at this point need to release reference on it so it can be reused. CRs-Fixed: 449267 Change-Id: I1a03f809b06e234a094d598b26e715049ac4c3b6 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: handle memory mapping failuresAdrian Salido-Moreno2016-03-23
| | | | | | | | | Properly handle errors seen while mapping ion buffers, free memory only for planes which were succesfully mapped to avoid issues. CRs-Fixed: 444379 Change-Id: I70fc2402d2088f7766f4d958dbdc2bddbb53abcd Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: correct error handling of overlay rotateAdrian Salido-Moreno2016-03-23
| | | | | | | | | Rotate should only free buffers which have already been allocated and should properly return error code when there are any failures. CRs-Fixed: 444379 Change-Id: I845c4858a9abdf7fb00f8a750e70d88ee8666f5c Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: replace early suspend with pm suspendAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | Display blank/unblank events are now triggered from user space, so the use of early suspend is no longer required to handle these events based on wake lock. However support for pm suspend and runtime suspend is added to shutdown panels for which blank/unblank is not called from user space and mange display clocks accordingly. CRs-Fixed: 446036 Change-Id: Ia9a506dba0961cc11ec00589fdfdb64620a31dc0 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Remove SET_RUNTIME_PM_OPS if !CONFIG_PM, change CONFIG_PM_RUNTIME to CONFIG_PM] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: move hist lut initialization to hw initAdrian Salido-Moreno2016-03-23
| | | | | | | | Initialize Histogram LUT only until hw is initialized to avoid any access to MDP hardware during MDP probe sequence. Change-Id: I4d044ab3197445066f4e792d8b1397170593de13 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: perform all MDP register updates during kickoffAdrian Salido-Moreno2016-03-23
| | | | | | | | | | Perform all MDP hardware registers programming during kickoff once it needs to be displayed in screen. This ensures that all programming and flushing of the registers happens at the same time, and avoid other components flushing in the middle. Change-Id: I30ca8167038f5defad0e2f51a7c8c9d24719c8d8 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: Remove unnecessary dst_rect update.Saurabh Shah2016-03-23
| | | | | | | | | Remove the unnecessary dst_rect update done as a part of MSMFB_OVERLAY_SET ioctl in the rotation case. The values for dst_rect are computed and supplied by userland. Change-Id: I7702ab0ca0b778f163c2af569e96a4a86ae19ae4 Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
* msm: mdss: clean up control path during kickoffSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | References in the control structure need to be cleared during cleanup to detach hardware from the current control execution path and make it available for subsequent executions to avoid buffer drops CRs-fixed: 452500 Change-Id: I7f9472c51934293e199a2d872edb075b03c03366 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: enforce display commit during overlay unsetSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | Display commit needs to happen on kickoff to ensure pipes are detached from the control path. If the pipes remained attached upon control reactivation it leads to frame drops. CRs-fixed: 447112 Change-Id: I7b135874acc637501b3e4e7b844e111159b37eab Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* msm: mdss: cleanup clock control logicAdrian Salido-Moreno2016-03-23
| | | | | | | | | There is a corner case where clock can be disabled when workqueue is running, with the clock control management. Simplify the logic by keeping a ref count and avoid such corner cases. Change-Id: I0bbdce197c7bdc60de8623715df0139fd723e509 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: display: video_info_code metadata settingManoj Rao2016-03-23
| | | | | | | | video_info_code is used for HDMI mode setting, setting via metadata ioctl to get rid of reserved field usage Change-Id: I6ea6550dc4342fae163218a39faf7ad9647eeae4 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* mdss: hdmi: configure default formatManoj Rao2016-03-23
| | | | | | | | | | | | Configure the default format for HDMI Tx to 640x480p@60, which according to the HDMI Spec, is the common format supported by all sinks. The best-format negotiation will be initiated from user space after reading edid data from the sink, based on the sink capabilities. Change-Id: I87a34b0746ca91eab4020d79dcc3d6a7764c8a99 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* msm: mdss: change writeback programming in new version of MDSSAdrian Salido-Moreno2016-03-23
| | | | | | | | | Unpack/pack programming pattern changes for writeback in newer versions of MDSS, do these changes depending on hardware version. Change-Id: I82d9ec30d08d142522134390f49e5036a36e161c Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: add video interface offsets from device treeAdrian Salido-Moreno2016-03-23
| | | | | | | Parse and setup video interface register offsets from device tree. Change-Id: I12a876fbcb88f47876beafd5349ed35e2511b02e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: program vbif and QoS settings from device treeAdrian Salido-Moreno2016-03-23
| | | | | | | | | MDSS VBIF and QoS settings can differ across targets, move the setup of these settings to device tree to allow different settings to be set depending on specific targets. Change-Id: Idf7dca0f19a3a694d3da3f2af662077bac445636 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: parse mdp reg offsets from device treeSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | Register offset addressess for hw modules (pipes, dspp, mixer, ctl and writeback) are parsed from the device tree to support different chipset configurations at run time. Change-Id: I75d6805339469e37e5590b767c1918e224e83aa5 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* video: msm: Overlay QSEED2 sharpening ImplementationPing Li2016-03-23
| | | | | | | | | | Program QSEED2 sharpening values from parameters passed via overlay. Allows for basic sharpening on vidoe pipes. Change-Id: If860d32f500f2e460e826008d161e207b5536c37 Signed-off-by: Ping Li <quicpingli@codeaurora.org> [smuckle@codeaurora.org: backported from msm-3.7] Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
* video: msm: Clear post processing settings on pipe unsetCarl Vanderlip2016-03-23
| | | | | | | | | Clear the post processing settings of the pipe when pipe has been unset. Post processing settings should not remain on the pipe when it is deallocated. Change-Id: I61c595a9480563c9aba2518e1358b699fae63d14 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>