summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | 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>
* | video:msm: Add IGC support to Overlay Post ProcessingCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | Allow for each YUV, RGB, and DMA pipe to configure their own IGC to correct for individual gamma curves of the source content. Change-Id: I84864efaf8b9f58ea75ca1cc306f7888f4bc28f5 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org> [smuckle@codeaurora.org: backported from msm-3.7] Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
* | msm: mdss: add iomem base for each mdp hw blockAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | In order to avoid accessing global variable and calculate iomem offset for each register write, store the iomem base for each MDP hw block within data structure and use this to write registers. Change-Id: Ia03e36d09e390dc5e3b3408817d1e1dc175abf12 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix fence timeout not releasing sync pointAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | When sync fence wait times out, it means commit did not happen or was not successful. In such cases the fail buffer still needs to be released in order to be replaced with new one. Change-Id: Ib913892cc117154c480da50820a5e5a7f9430a86 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: defer fb probe until panel is registeredAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | There are cases in which framebuffer device is probed before panel registration has finished, return deferral error code to delay probe until panel is ready. Change-Id: I953d949c49537724c6b116b59faaa6b402518362 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: display: add mdp clock control to post process initKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | Since mdp post process init fucntion need to update mdp histogram lut registgers, mdp clock control is necessary within this function. Otherwise system will crash. Change-Id: Ic4fcd9e948637b8efbbefbb048a32868e3b4f45f Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: update bandwidth calculationsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Update bandwidth calculations to correctly account for peak bandwidth seen when a scaled frame is displayed only on a small portion of the screen. Change-Id: I2016976338b0345d93841db95460c87ca85df8ba Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: msm: FB update with activate flag FB_ACTIVATE_FORCESree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | Panel display needs to update when the FB flag activate force is set instead of an update at vsync CRs-fixed: 445175 Change-Id: I494994839f89f3f516abcb55551999a9b57fa6af Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: hdmi: fix return code to audioManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | Return appropriate status for the audio callback function so that audio driver is informed of the correct status of hdmi-audio setup instead of always returning success. Change-Id: If848af3fe7a7be393265f50124ab32c666d3db56 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: Add driver changes to support multiple DSI controllersChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for second controller interrupts. Remove panel commands as global varibles. Add reference to framebuffer that the interface will use. Add support to send commands in broadcast mode. Add support to check for controller state when panel ON/OFF commands are sent. Use panel destination variable to select the DSI interface for the panel. Change-Id: If1a353b0d3d5e329ec9e41333db16a055bde96a7 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Bind the regulators and clocks to DSI controller structureChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all the regulator and clock global variables in the driver and add them as part of the DSI controller structure. This will add support to enable both the DSI controllers. Use pHandle to map the panel to the controller. Add controller phandle as part of the DSI panel device. This we allow us bind specific DSI controller to one or more panels. Add panel distination property to select the DSI interface. Change-Id: I0a5ef0a01f85aa61a0b1e50fd24ddf40ff2a7509 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Potential Deadlock in mdss_mdp_overlay_playSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | A possible deadlock scenario is averted when borderfil is being enabled and frame update has occured beforehand. CRs-fixed: 444416 Change-Id: Ied79bc811780fa6e1d6d25d7a595a0959a9e2d60 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: ensure minimum bandwidth is allocated for dsi commandsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | DSI commands are read from memory through bus. In order to send DSI commands including power on, need to allocate minimum bandwidth request to turn on the bus clock. CRs-Fixed: 443422 Change-Id: I56b1c1c34aebadb19255bcc3a89f3a33271db13a Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Send current times as vsync timestampSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | | | In case of a timeout while waiting for vsync completion send the current timestamp. Change-Id: Ifeeeac0b478138f0d9a989a399d3b6f00d200328 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* | msm: mdss: enable split display in mdpChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | Allow a second panel to be registered to a single frame buffer, the image from frame buffer would then be displayed across the two panels. Change-Id: I2bc78741ed8408bedfa563cd312c4e628045bfae Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: add framebuffer devices to device treeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Manage framebuffer devices in device tree and allow panel drivers to select which framebuffer device to map to. Change-Id: I1ce0cd679dd9774ce5303a7231ad701bd9d45161 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: 8974: MHL Scratchpad interface implementationManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | MHL Scratchpad provides an interface for the MHL peer devices to communicate with each other Each device shall provide a sixteen byte writeable memory space to its peer. This change implements the scratchpad read and write interfaces for MHL Tx chipset. Change-Id: Ifaaa2e799424514ec68c8e4c7434f95a68261fe1 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>