summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: esd recovery support for 8x10 targetsShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add kernel side support for esd recovery for mdp3 targets. The functionality of this driver is to check the panel status periodicaly and send event to HAL if panel has gone bad. Change-Id: I901e2908beb5de3f557da7d75cca876a40532efe Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org> [cip@codeaurora.org: Moved dsi_status_v2.c file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Unify histogram function namingCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | All histogram functions use 'hist' as an identifier rather than alternating between 'hist' and 'histogram' Change-Id: I9ef91bc39418dd6e7ea2baf6a9b6ee1c2127995b Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | s: Display related changes commit belowTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging to 3.14 kernel this is only display related changes for commit below Change ID: I495f8332bf5d0d09ccfb236c819dea2bacb13542 msm: clk-provider: Move clock headers to include/linux/clk Architecutural changes in the ARM Linux kernel tree mandate the eventual removal of the mach-* directories. Move the mach/clk-provider and mach/clk header to include/linux/clk. Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> Signed-off-by: Junjie Wu <junjiew@codeaurora.org> Change-Id: Icb9926cad695d03b7cd2900466abad342d197679 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdp3: Prevent deref of invalid pointer that contains err codeTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | It is possible that mdp3_iommu_meta_put with a non null iommu_meta that contains PTR_ERR value. Change-Id: I440c78e324f558fec22d2db373dfd2c0e4d5fbb7 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Add an extra write of zero to clear dsi-ack-err bitShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | | | In addition to writing 1 to clear dsi-ack-err bit, an extra write of 0 is also needed to clear error bit completely. CRs-fixed: 574066 Change-Id: Ib9df9fe5f993605372ced8766874fa00538f505a Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Check null-pointer dereferencing and buffer overflowsMathew Karimpanal2016-03-23
| | | | | | | | | | | | | | | | | | Add checks before possible null-pointer dereferencing. Add checks to prevent buffer out-of-bounds access. Change-Id: I17419c82654c4ad2d18c7f88e34447cf333450bb Signed-off-by: Mathew Karimpanal <kjmathew@codeaurora.org> Signed-off-by: Beeresh Gopal <gbeeresh@codeaurora.org>
* | s: Display related changes commit belowTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging to 3.14 kernel this is only display related changes for commit below Change ID: Ie88b4aba6901722166bb180275d352b745821772 iommu: msm: Move iommu_domains out of mach-msm The iommu_domain code isn't really MSM specific and is better suited to live in the iommu directory. Move it accordingly. Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Change-Id: Ieab7aa2594725bdfc08eaaf10c004e85e893cfd9 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: Remove lib/memory_alloc.c and related filesLaura Abbott2016-03-23
| | | | | | | | | | | | | | | | The memory pools are gone for good. Remove memory_alloc.c and the associated header file from clients. Change-Id: I8d303c72fa03cdca7eee34b39d57d5cbb5df920d Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | Revert "msm: mdss: Turn off backlight while power off"Shuo Yan2016-03-23
| | | | | | | | | | | | | | | | This reverts commit 6b9bcc740ad0355f74683d2ec2f5f0a7dba3b9c7 This patch will lead to backlight shutdown in recovery mode Change-Id: I229aca313f74b10e2a38fffdc991ac6ae243e410 Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
* | msm: mdss: Add error handling support for DCS command APIsPadmanabhan Komanduru2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Currently there is no error handling done for DSI DCS command APIs like mdss_dsi_cmdlist_put. So for ESD thread use cases, the caller functions of these DCS command APIs do not have error propagated if the panel read/write commands fail. Hence add support for error handling for these functions. Change-Id: I0e558fd32fbfd8ae247b60c92fa2756159c3d3c6 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* | msm: mdss: Detach mdss iommu on static screenPawan Kumar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Detach mdss iommu on static screen and re-attach on next commit to allow full power collapse of MDSS. IOMMU driver keeps its vote for bus bandwidth for as long as the MDP driver is attached to the IOMMU. When MDP detaches from the IOMMU, IOMMU driver will remove its vote for bus bandwidth. Change-Id: I1e5c5c50bc157c3ebfc63e198e4608dad820a288 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: Verify histogram size before sending to userCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Add check to DSPP histograms to verify that the number of pixels collected is the same as the resolution of the region being processed. Change-Id: I21acd1b4a25d06391c853e7495ca3fb3bb0ffef4 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Block postprocessing updates during DTMDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | When calibration tool requests the fb driver to enter in Display Tuning Mode (DTM), PostProcessing blocks should not update the HSIC, Memory color, Six Zone colors, etc. Updating them during DTM conflicts the update from calibration tool. Change-Id: I11fcac57a651581d85e771911f83b2fdd9c3c681 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | ASoC: msm: qdsp6v2: enhance multi-channel playback supportMingming Yin2016-03-23
| | | | | | | | | | | | | | | | -Add multi-channel playback support for non standard channel mappings such as 3-ch, 4-ch, 5-ch, and 7-ch Change-Id: I712ef28e9fdb2e35b59dd5fbbaddd9d38a2bad69 Signed-off-by: Mingming Yin <mingming@codeaurora.org>
* | msm: mdss: Remove usage of deprecated macro MDSS_MDP_REG_INTF_OFFSETJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | MDSS_MDP_REG_INTF_OFFSET macro is deprecated and should not be used, instead get the interface offset from device tree. Change-Id: I3da39a17fdf8ffc4cc7d48a3b0cb2e2d39b020db Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | msm: mdss: Handle solid fill call with width one correctlyShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | | | | | If userspace calls solid fill with width one, even alignment in driver will make it zero and this will result in page fault. Handle this case in driver by making this width two rather than zero if it is not crossing the buffer boundary. Change-Id: I84c9ed7e029cb98f4fb7c5d92e09fd2a54d74662 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: enable vsync event during continuous splashRay Zhang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Currently when continuous splash screen is enabled the vsync event reports are delayed until first frame update. This blocks boot animation. To fix this issue, after user space enables vsync through vsync_ctrl, mdp driver will start sending vsync events. CRs-fixed: 567649 Change-Id: Ifb35e3479805e595d950ab7c38c26de201aa2d16 Signed-off-by: Ray Zhang <rayzhang@codeaurora.org>
* | msm: mdss: stop display commit thread only if it is runningAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | | | When the framebuffer device is shutdown, it is possible that the display commit thread has already been stopped. In such scenarios, ensure that we not attempt to stop the thread again to avoid any potential crashes. CRs-Fixed: 584499 Change-Id: If0026cdcc4367c149815933ffe4ed08056d54770 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: Fix error cases in AD configBenet Clark2016-03-23
| | | | | | | | | | | | | | | | | | The BL linearity LUT was not being copied correctly. This change allows AD config to exit with errors correctly if the BL linearity LUT is not passed correctly. Change-Id: I491a7cc4b168b7691c65cbc2d2963f8a7a3f804d Signed-off-by: Benet Clark <benetc@codeaurora.org>
* | msm: mdss: fix the non-continuous splash screen use caseXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | In the non-continuous splash screen use case, we need to stop the display. The display clocks are on before we stop the display. Change-Id: If8f76d4776fb64f4deb89e5b78c52ab54a56f02a Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: Change devicetree prefix to qti for Ion and memory reserveLaura Abbott2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | The preferred prefix for devicetree is now 'qti' instead of 'qcom'. Change the prefix for devicetree bindings for memory reservations and Ion. While porting changes to 3.14 there were conflicts in: Documentation/devicetree/bindings/arm/msm/msm_memory_hole.txt Change-Id: Ic524eb4cfc9b9ab33a376606abc75eb244330123 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | msm: mdss: Fix assertive display precondition checkCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Ensure that assertive display hardware exists before attempting to configure it. Change-Id: I0cf10e03d8f1a1a7ffffd2fc280a8069c4b754b3 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: turn on the dsi clocks before sending dsi commandsXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | The dsi clocks can be turned off after a period of screen idle time. Before sending the dsi commands, we need to make sure the dsi clocks are on. Change-Id: Idc5c803aa6eb55d1739441d1bd395fed5c2d74c7 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: fix the dsi dma transaction time out on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | The dsi dma data is sent during the blanking period for the dsi video mode panel. If the dma data are triggered at the end of blank period, it can be in conflict with the next video data, causing dsi controller to freeze. This change is to trigger the dma data during the active region, so it has enough time to be sent during the next blank region. Change-Id: I416bb9f82304063b802aa7f5ff09008dfdf0e6bc Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Fix clk warnings for esc clk with dual-dsi panelsUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | In current implementation if dual-dsi panel's continuous splash screen feature is enabled then feature flag is disabled only for master and not for secondary panel. This leads to clk prepare without clk set rate. For esc clk this leads to clk warning back-trace in the logs. For other clocks, if clk rate changes between suspend/resume then it will lead to rate incorrect programming and unknown behaviour. Fix this by disabling secondary panel's feature flag. Change-Id: I09fd3968c4eecc97a9f07e2c731e6ccce8036119 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Remove additional clk refcnts in dual-dsiUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | When dual-dsi panel is attached to a device, both DSI controllers are registered to mdss. But only one registration done notification needs to be sent. Currently two notifications are sent and it leads to an additional refcnt on mdp clocks which in turn prevents proper suspend. Fix this by sending notification only once. Change-Id: I29e3c92e9ab0cccd9314cc5428b4accc31b0d0d9 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: display: remove checking of pwm gpio from pwm configKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | Since pwm back light is driven by pwm lpg channel, pmic_gpio is not needed. Therefore remove checking of pmic_gpio. CRs-Fixed: 575245 Change-Id: I7027c71322d122617eb9cbce839c614f2294a0e7 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: update the dsi interrupt handling on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | The previous dsi interrupt handling logic was scattered in a few places. This is to centralize the interrupt handling logic. Change-Id: If89a45d80a2e3523368a37d96f1d226c443e1f61 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org> [cip@codeaurora.org: Removed IRQF_DISABLED] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Remove duplicate rotator callMayank Chopra2016-03-23
| | | | | | | | | | | | | | | | | | A duplicate call for rotator queue helper got introduced through 59ca48. Remove this extra call as present codebase is error-prone. Change-Id: I142f21fdbb3e33cd43dc359da5bb6cf695aa2adc Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | msm: mdss: Update the dma stride value on mdp3Shivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | | | | | | | The frame buffer is allocated from user space. And it may have some special alignment requirement. Rather than assuming the alignment in the driver, this change is to use the value passed in from the user space to configure the dma stride register. CRs-fixed: 582796 Change-Id: Ic3884ee0a530ed1ab83b6df26ba180fd21257ae0 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Support six zone and memory color accessDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | Allow display calibration tool to access six zone and memory color area on MDSS hardware for 8084 target. Change-Id: I6c5e180448dc0218bdf6e552a12ced8914316c60 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Fix mdss_dsi_cmd_mdp_busy timeout errorPawan Kumar2016-03-23
| | | | | | | | | | | | | | | | Make MDSS clock ON before sending DCS command to fix mdss_dsi_cmd_mdp_busy timeout error. Change-Id: I78a5931715f7a8803af77cd43c6191c225bcecd8 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: hdmi: clean up cn/itc bit set/unsetAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | Properly set/unset the ITC/CN bits by using proper mutex, error checks and other cleanup things. Change-Id: I2730689dc70df1bce65bb1699938ce7793937688 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdp3: Add battery FET regulator usageTerence Hampson2016-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: Ibc41ec2db6ba5b8510a02f3950d7453aa2803606 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Make sure MDP clocks are voted for while AD is stabilizingPravin Tamkhane2016-03-23
| | | | | | | | | | | | | | | | | | | | MDP clocks were not voted for while AD stabilization was in progress, which could result in unclocked register access in certain use cases. Make sure MDP clocks are voted for as long as AD is stabilizing. Change-Id: I5598beee152585a9a9bf9aefd1121f3561dbc0b8 Signed-off-by: Pravin Tamkhane <pravint@codeaurora.org>
* | mdss: mdp3: enhance vsync event report for mdp3Terence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | It is possible for client to register for vsync event before we have commited a frame to display. It is in this case that we need to fake vsync as it is not possible to get real vsync until we have sent frame to be displayed. Change-Id: Ied1821c847f22dbe703745fee1443c1dabdc4682 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Fix NULL pointer dereference in mdss_mdp_display_wait4compJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | Add sanity check for ctl to prevent NULL pointer dereference leading to kernel panic. CRs-Fixed: 578595 Change-Id: Iace727501856d9f93ba87eca92f9f000c32d2c8f Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | msm: mdss: use the dsi panel API for sending init commandsXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | The dsi panel driver implements the dsi command send and receive functions. However, on 8x10, it was using its own version. This change is to use the functions defined in the panel driver. Change-Id: I4dcec67fecb51f02b65ee7818ccbe7729f3e6831 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Fix under run on interlace clip play in landscapePawan Kumar2016-03-23
| | | | | | | | | | | | | | | | Rotator src rect y co-ordinate is getting odd after de-interlace calculation but mdss expects even. Change-Id: I124d059c89c51126208ad1de02a9d34d87b0f553 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: Parse max bandwidth property from device treeSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | Maximum bandwidth on the AXI bus supported by MDSS is a hardware capability that needs to be exposed to userspace process via sysfs node for MDP composition decisions. Change-Id: I60e74e96666ca97f21a9880f49a95c3264d01870 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: only release mdp dsi clock when resetXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | Earlier, we were releasing all the MDP clocks at kernel transition. We only need to release the mdp dsi clock. Change-Id: Iafa43afc1194e5f7cb50445a9542a21b16ffaef5 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: cleanup MDP3 driver compilationUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Enable MDP3 driver compilation only on chip-sets where MDP3 core is present. This helps reduce the size of kernel binary where MDP3 is not present. Change-Id: I357ff73f91e7ee1654a8666a78efebf68a2a8290 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> [cip@codeaurora.org: Resolve updated file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: cleanup eDP driver compilationUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Enable eDP driver compilation only on chip-sets where eDP core is present. This helps reduce the size of kernel binary where eDP controller is not present. Change-Id: I2f201e3258b2b8f2ea224a6d0873852551bf1527 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> [cip@codeaurora.org: Resolve updated file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: use default cosite as default chroma site for all dst formatsShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | When BWC is enabled and format is H1V2, downscaling hangs with a particular cosite configuration. This workaround avoids the particular configuration Change-Id: Ib9cd979958cd080f3747732c14e737f0e90fbb3d Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: Fix race conditions during device shutdownAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | Wait for the display commit thread to exit and abort all pending ioctls when releasing the framebuffer device. This is necessary to address any potential race conditions between these threads that operate on a common data structure. Change-Id: I5ab32758c34d4e80c4e85f949ffa0054d3cb5340 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: release all overlay resources if calling process is unknownUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases where fb release is called from a process which is unknown to internal process tracking list. This usually happens when a crash handlers closes open fds in a kernel worker thread rather than in process context. In such cases if fb open happens from a completely new process then it may lead to pipe leakage due to race condition between unknown process and this new, fb open, process. Prevent this by releasing all overlay resources when fb release is called from an unknown process context. Change-Id: I07157116413dfb26e0b87c61f9def916a653340a Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Enable solid fill on pipeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support to enable solid fill on pipe with an option to configure fill-color by userspace. This support does not confine to background pipe and can be used to enable solid fill on any source surface processing pipes irrespective of the z-order. This support can be used in requirements involving constant color layers. Change-Id: Iae3c2968ca2f2f1be161e9c2f857641ffbb859e5 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
* | msm: mdss: use the common dsi utility apiXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | There are two separate dsi host controller drivers currently. While the h/w specific operations are different, the dsi command utility functions can be shared as that is purely s/w. This change is to use the common dsi command utility api. Change-Id: I381eb6dee80a88e0d4ea17a18fa030df7d13db8c Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: abstract the dsi command utility APIXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | The dsi command parsing and construction functionalities are hardware independent. This is to abstract these utility API, so that it can be shared with different versions of dsi host controllers. Change-Id: I8481d9fd21e5eacc4542c72c064fa37d7fd3a11b Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org> [cip@codeaurora.org: Moved new file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Sanitize read of panel propertiesMayank Chopra2016-03-23
| | | | | | | | | | | | | | | | | | Check panel property's values properly before operating on them. CRs-Fixed: 562887 Change-Id: I26ce51e8b3a8e9328e7b6370b9c56d67fcdd1901 Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>