summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: remove pipe queue from pan displayAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Instead of directly queueing the data to pipe, store buffer contents in in pipe structure during pan display. This will result in the contents to be updated once kickoff is called, which is the expected behavior. Change-Id: Ic6167317f32220497ca05447c896b44c33b1ee1f Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Release smp's held for writeback mixersSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | Smp's reserved for writeback interface can be released safely as long as the pipeline is idle. This allows pipe reprogramming during concurrent line and block mode operations. Change-Id: Ib0fdf4d45412daa4478ac0fb7aff2e3564b2a584 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: support wfd and rotation simultaneouslySree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Concurrent rotation and WFD usecases need to be supported using a single writeback hw module for low end targets. To enable this feature, mixer, ctl and DMA pipe needs to be shared between block and line mode operations and hardware programing is synchronized with a shared mutex. Change-Id: I0fe909dd07006282239c65d5fe92d270069a3920 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: parse device tree for dedicated wfd blk propertySree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | The presence of a dedicated wfd writeback block needs to be retrieved from device tree, which can be used to determine if WFD and rotator sessions need to be multiplexed. Change-Id: I150b17d0ebb045aecc9c6e694632e5f89007c957 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Add support for additional pipes of apq8084 MDSSShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | APQ8084 MDSS has 2 extra pipes compare to MDSS of msm8974. This change adds support for programming these new pipes and corresponding mixer and control pipeline changes. Change-Id: I1406263de703719661789d2f8c6f7c06fc810919 Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org> Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: hdmi: hdmi 3d length checkAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | This change fixes a case where the length of 3d data is not properly used which could have resulted in wrong 3d data parsing. CRs-Fixed: 445505 Change-Id: Icfd25861a620265c1de1bcd08c1c3a56cf6553df Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | msm: mdss: hdmi: Fix unclocked register access during power offUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | When mirroring is ongoing, if suspend or user specified hpd off is processed then current implementation turns off hpd first and then cec. When hpd is turned off, clocks and regulators to HDMI core are disabled. So any access to HDMI register space leads to crash. Fix this by ensuring CEC is disabled before HDMI core is powered off. Change-Id: I171ca71aed27ce6721678920da0e89399201d76d CRs-Fixed: 502121 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: dsi: turn on/off TE output from DSI panel.Ray Zhang2016-03-23
| | | | | | | | | | | | | | DSI command mode needs TE singal to keep tearing check work. Change-Id: Ib29ebab3df12671211a0e0ae1b52ea390a17e117 Signed-off-by: Ray Zhang <rayzhang@codeaurora.org>
* | msm: mdss: Balance mdp and dsi clocks for command mode panelsSiddhartha Agrawal2016-03-23
| | | | | | | | | | | | | | | | | | | | | | MDP clocks are not balanced for command mode panels with continuous splash screen turned on. Need to turn both mdp and dsi clk off when splash screen is done. CRs-fixed: 486155 Change-Id: I95d2efbc6c5d9a7b074f7e6c0abf66d062a090de Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org> Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: update register list in support APIArpita Banerjee2016-03-23
| | | | | | | | | | | | | | | | | | This change allows to read/write MDP ctl registers and flush registers through ioctl. Changes are required to support calibration tool. Change-Id: Iabe6ae8d5214accf0dd61ff56b91270df4570af4 Signed-off-by: Arpita Banerjee <cabane@codeaurora.org>
* | msm: mdss: use default iommu page fault handlerUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | Currently MDSS driver use private iommu page fault handler, which is very primitive in terms of providing details about the page fault. So instead of using private page fault handler, switch back to default handler which provides plenty of debug details. Change-Id: I8ab77f558ba3bee561391b608ec3e6091367ff6e Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: Display: Add bus clocks to be part of DSI clock controlChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | Move the bus clock Enable/Disable calls to be part of the clock control logic so that they can be disabled when they are not used. Change-Id: I1a498db5ff132108134d356239fdc03721cac67b Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Support additional vreg fields in dtsiClarence Ip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for additonal vreg fields like sleeps for before and after vreg enable/disable. These changes are to support updated dtsi with these additional fields. Change-Id: Ib8cd9d870965ba1d20406d694e2c6ca6810b38d3 Signed-off-by: Arpita Banerjee <cabane@codeaurora.org> [cip@codeaurora.org: Replace regulator_set_optimum_mode with regulator_set_load] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: cleanup mdss command interface codeHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Remove unused or unnecessary variables and make sure each variable that tracks rdptr, mdp_clk, pingpong or vsync status has a single purpose. Slow fps, suspend/resume failure, unbalanced clk cnt and no vsync event issues get fixed, and fps deviation is improved. CRs-fixed: 486116 Change-Id: Id33945c0ce6cde368bd58df7e8755d7e9ff6add7 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: wake up cpu before vsync for command interfaceHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Waking up cpu before vsync time can reduce isr latency to avoid frame drops due to power collapse. This change adds the feature to command interface based on the same feature that was already implemented in video interface. CRs-fixed: 486116 Change-Id: Ia29df017a5d28f580f22c9a8fd62e22bcd78fa52 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: keep reference of rotator output bufferAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Change logic to free buffer for previous rotation call. This will make sure to keep a ref count on the buffer secure lock before it's picked up by MDP for displaying to panel. It will also allow for asynchronous calls to rotator to be supported by not freeing the source and destination buffers within same call. Change-Id: I389d6a4523bdc79a5dfe76e3603e43325d63b82c Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: refactor phase step scalingAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Move calculation of phase step to overlay parameters setup. This is done to detect early whether the calculation may lead to potential overflow in phase step. This can lead to interrupts not getting triggered for ping pong. By detecting early and failing parameters user app can use fallback solution. CRs-Fixed: 486751 Change-Id: Iae402d8e97a9ef1d882ffb3e7fee92982f8b65f6 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Update error loggingSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | Change pr_debug messages to pr_err for dsi error checks. Change-Id: Iccb2faaa4ec65132b4ffc68a6598dad3ae9ee6bf CRs-fixed: 498973 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Avoid enabling both decimation and BWCSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | Hardware doesn't support BWC decompression and decimation on the same pipe. Change-Id: Ie1aa60b104fdab0151def9c0dcd185f7cae7f29a Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: fix the ION memory leak on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | The memory flag is not initialized properly during ION map. Also, the memory is not free due to the incorrect validation at free time. Change-Id: I172cb0f68f4cdc131b70478e6c0123136075326d Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: fix the IO MMU page fault on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | During display suspend, the ION memory got free before MDP DMA stop. Make sure MDP DMA shut down properly and free the ION MMU after that. Change-Id: Iac39a1dc5a9e63328283f0821b93ad3a214b3f6d Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: free framebuffer pipes on suspendAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | When going to suspend, need to clear the frame buffer pipes allocated since these were allocated by driver. These will get reallocated automatically on resume. Change-Id: I3c5697277edfc8f976a0720f5f94f10314f5ebe6 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: change MDP writeback priorityAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Default priority for writeback is set to lowest, which can lead to other clients' requests to come before MDP writeback. Change the priority to P1 to match the rotator fetch QoS settings. Change-Id: Ia703d1688581a0811502ce00863d1c973d53e749 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: add histogram and lut support for 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Histogram control and collection, and look up table is used by content adaptive backlight algorithm (CABL). Display driver provides control API for CABL to start/stop histogram collection. It also provides the data API for CABL to collect histogram to analyze the display content. After analyzing the histogram, CABL updates the look up table. Change-Id: If4777e80d2b58ec0e3c55ee1ec748e281472f503 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org> Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Avoid null pointer dereferencesSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | Null check on mfd param in overlay api needs to be performed to avoid kernel panic. CRs-fixed: 498973 Change-Id: If37284ab83bc678714fd8eed20f6adcb689846fa Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | mdss: ppp: Release mutex when parse request failedTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | When there is a failure in parsing a ppp blit request, ppp is now properly handling the error. Change-Id: Ib0c4bb2843eb2433579fc48d1d5fe7cbecabe1c5 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: support DSI command mode interfaceXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | MDP3 supports both DSI video interface and DSI command interface. This is to support DSI command mode interface. Change-Id: If9cc403051f9b12769078db2f7a002192808f197 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Additional error handling in pipe_setupSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | copy from user failures in pipe setup should be handled gracefully before returning, mainly freeing resources allocated to the pipe. Change-Id: I53b9e72eb1a8139991fdef659e41937c9ec7a147 CRs-fixed: 492206 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Introduce timeout on wb task completeSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | Implement timeout on writeback kickoff for cases where interrupt is not received and avoid possible MDP hang. For such cases, even though they're not expected, ignore the error and continue in order to recover. Change-Id: I3d1b2443e3dbd7b6f7f93fe8026f8d22053414fa CRs-fixed: 495554 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: refactor ctl layer mixer programingSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | The layer mixer offset within ctl needs to map to the mixer allocated. Change-Id: I6caa9d2423f4bfd326ebb4ce1080444fcc40c384 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Change vsync dispatch mechanismNaseer Ahmed2016-03-23
| | | | | | | | | | | | | | | | | | Notify the userspace when to read vsync instead of userspace blocking on the vsync show event. Use a work queue to call sysfs_notify to accomplish this. Change-Id: I2d6ea6a6c4683cbd4c3ed9ca355546282e375194 Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
* | msm: mdss: unsecure buffer if map failsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | If iommu map fails, the buffer should be unsecured before freeing it. Change-Id: I372b0ad43d4938b79016b4e13a5aaad496ab55bf Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: support FB memory reservation removal on 8x10Radhika Ranjan Soni2016-03-23
| | | | | | | | | | | | | | | | | | User space is allocating its own ION memory for composition buffer, which makes the FB memory allocation in the driver redundant. Change-Id: I79d655bf0dac02fd2c6b9a40dfcc3cc5c6a4343a Signed-off-by: Radhika Ranjan Soni <rrsoni@codeaurora.org>
* | msm: mdss: parse the DSI command mode panel propertiesXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | Add the support to parse the device tree properites for DSI command mode panels. Change-Id: I313296531acba23de5fa0d13fa74c5f615ecbdb3 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: turn off DSI PHY DCDC regulator on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | DSI PHY includes 3 macros: PHY, PLL and DCDC regulator. Make sure DCDC regulator is turned off to avoid current leakage. Change-Id: I544f4537b42254a941adc3b76c02489f6d2751e6 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Fix for histogram update for dual display panelMukesh Jha2016-03-23
| | | | | | | | | | | | | | | | Change the array index of hist_concat to j to get the histogram updates for split-display. Change-Id: Ia5bef96bdd523aed7296017e88561f66e349acbb Signed-off-by: Mukesh Jha <cmjha@codeaurora.org>
* | msm: mdss: Reveal finer error details for Assertive DisplayCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Return more specific error conditions to userspace for better error handling. Change-Id: Icdd34c6bea48f384eef56f4b9aa93482b2679c56 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: display: Delay DSI PHY disable for DSI Broadcast modeChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | When DSI broadcast mode is enabled, DSI PHY need to be disabled only after all the DSI clocks are turned Off. This change fixes this race condition and avoids clock warnings during suspend for split display panels. Change-Id: I805b8b8a82b7c704cca5bf2c5ebf77cc7e2304ce Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Prevent non-zero backlight following display blankCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Force the backlight to zero before entering powerdown state to prevent backlight from staying on during blank/suspend. Change-Id: I2a078833c414d6b51d4e6eb64fd37b616164948a Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: fix the vsync event notification on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | When client is turning off the vsync event notification, use complete instead of complete_all, which will cause unwanted user thread wake-up. Change-Id: I70f7c6b877cb0df7ccd980437c7d12a6148bbe77 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: calculate performance requirements during pipe setupAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Update performance calculations to account for vertical decimation and tune this parameter during pipe setup when we find that current configuration won't lead to MDP underflow. If tuning cannot be done to avoid underflow then fail the use case in overlay set to allow use case to use a fallback solution. CRs-Fixed: 490341 Change-Id: I97fc300048be1df869681474a6e0ac53c32f67d2 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: use panel framerate for performance calculationsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Replace hard coded panel frame rate with proper calculations based on panel size and clock rate. Change-Id: I78ff239b989df15ef9b0559e02873292d7b2c3bb Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix BWC stride calculationsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | BWC stride should account for both chroma components for RAU size and subsequently the stride for the compressed stream. At the same time since the luma and chroma pixels are stored in same plane, update calculations to properly get plane size. CRs-Fixed: 493063 Change-Id: Ied618e9b4c1d82868a018531c8b2e3d4ea1df16d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm8974: mdss: dsi: uncached alloc for dsi bufferManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Use uncached allocation for DSI buffers to avoid cache inconsistency issues introduced with SLUB DEBUG option enabled. With SLUB_DEBUG, the entries in cache are somehow polluted which results in incorrect dsi command values sent to the panel. This change avoids cached allocation by using dma allocation instead. Change-Id: Ib769e91d411bf856e7d2e860cff7c1188ff0236e CRs-Fixed: 488236 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | mdss: display: turn off intr_callback with correct intf_numHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | Same intf_num is needed to register and un-register call back function. Make sure same intf_num is used at both register callback at cmd_start() and un-register at cmd_stop(). Change-Id: Id6de434d04a94b2467047962d04ca69e60477dc2 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | mdss: display: enable/disable VIDEO_DONE at wait4video_doneKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | For video mode panel, DSI_INTR_VIDEO_DONE irq only enabled when there is dcs command ready to be sent and disabled after dcs command had been sent. Change-Id: I76cf33ad16cf300df2b8ff29874f471d601cb95d Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | mdss: display: send multiple dcs commands with one transmissionKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Packing consecutive dcs commands into one single buffer if their dcs header's "last" flag byte is not set. The packing process will stop after packing first dcs command with "last" flag byte set. Therefore multiple dcs commands can be send to panel with one transmission. CRs-Fixed: 486748 Change-Id: I76d2a043788638579a62a7f949309f049fc999d7 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: Avoid null pointer deref in writeback terminateSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | Writeback terminate can be called without the allocation of ctl especially when a file descriptor needs to be closed for ioctl failures. CRs-fixed: 489296 Change-Id: I907d3f9ba1825829b3198f66c918071e59d37968 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | mdss: display: return proper value at wfd wait4compKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | Return 0 at wait4comp to indicate there is no timeout happen. Otherwise return non 0 to indicate error. Change-Id: Id801dc49df530830ab691e6b1746741236760d10 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: update bandwidth requests on clock switchesSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | Bandwidth requests to the bus need to be cleared when clock is turned off for command panel to save power. Change-Id: Id952bf191100ec817c7201e8948ce1eefd6cdc8d Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>