summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/msm (follow)
Commit message (Collapse)AuthorAge
...
* msm: mdss: debug: add additional debug bus probe points for 8996Ujwal Patel2016-03-23
| | | | | | | | Add additional debug bus probe points for 8996 to aid in the critical debugging involving MDP related crashes. Change-Id: I6e72062d7bc5fc25e44358363326e3192705511b Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* msm: mdss: double check WB done statusKrishna Chaitanya Devarakonda2016-03-23
| | | | | | | | | There are cases when WB done might be set in MDP HW but the irq trigger is delayed. Add an additional check in case of WB timeout, to check if the WB done is set. Change-Id: I1cdb2c85157d4c66718deae8e49778b9f3962f5d Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
* msm: mdss: allow get_metadata when the panel is in suspend modeVeera Sundaram Sankaran2016-03-23
| | | | | | | | | | There are scenarios when HAL retrieves information through get_metadata when the panel is in suspend mode. Allow the get_metadata ioctl to go through, even when the panel is in suspend state. CRs-fixed: 873962 Change-Id: I8d8bd14134f73cb3628e016668e766b818b8d89e Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
* msm: mdss: avoid check for MDP line count during fps updatePadmanabhan Komanduru2016-03-23
| | | | | | | | | | On latest MDP revisions where there is support for double buffering of timing generator registers, it is not needed to check for MDP line count while updating the fps. Add check for this. Change-Id: I4b722fb53f856f289e145d0369f1823ff215ab06 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* msm: mdss: fix error checking for dma_map_sg_lazyVeera Sundaram Sankaran2016-03-23
| | | | | | | | | dma_map_sg_lazy returns the nents value, ie the number of entries in sglist which is passed on success. Error checking should be done based on nents value and not on non-zero return value. Change-Id: I341990fcd4eb123306fb8d1c3b08be85f0b7764b Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
* msm: mdss: dsi: add support for multiple panel timing settingsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | Some DSI panels support more than one resolution or panel timing. Add support to parse and configure different panel timing settings and ability to switch between them dynamically if possible. CRs-fixed: 873962 Change-Id: I532587eaa763499c9d51909937339093cd74a8cf Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [veeras@codeaurora.org: Resolve merge conflicts in mdss-dsi-panel.txt, mdss_dsi.c, mdss_dsi_host.c, mdss_dsi_panel.c] Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
* msm: mdss: add support dynamic resolution switchAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | Provide support for panel drivers to expose multiple panel timings supported and expose this through existing fb sysfs mode nodes. When switching between resolutions allow seamless transition between the modes. CRs-fixed: 873962 Change-Id: Iad660a47ea0a63ca0d2332339727b8fcd005dac6 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> [veeras@codeaurora.org: Resolve merge conflicts in few files] Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
* msm: mdss: restructure tearcheck configAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | Since we have a separate function for tear check enable. Tearcheck config with enable flag is not required, and redundant. Remove enable flag and improper usage of the function. CRs-fixed: 873962 Change-Id: I0835f858cc63a41e01a669069677322da408f245 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: Power collapse mdss vbif before going to suspendSiddhartha Agrawal2016-03-23
| | | | | | | | Correctly collapse the mdss vbif ports before going to suspend mode. The vbif will be active only after the mdss gdsc is turned on. Change-Id: Ic8c8898f603dc14400fe7aacd3c155523104b144 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* msm: mdss: dump vbif debug bus information in ramDhaval Patel2016-03-23
| | | | | | | | | | | New test points in vbif debug bus floods the log buffer with print messages. This overwrites the necessary logs from ring buffer. This change dumps vbif debug bus information only in ram by default. User can update the setting from debugfs if print messages are intended. Change-Id: I745c8e9c67a946f73a012095cf080d1161e453e7 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: update xin client test points for rt/nrt vbifDhaval Patel2016-03-23
| | | | | | | | Update xin client test points on debug bus for rt and nrt vbif based on updated programming recommendation. Change-Id: I152b485d45bd610fe281c1c81a1efe73949abe5d Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: remove duplicated aquiring of cmd_mutexRay Zhang2016-03-23
| | | | | | | | | It is incorrect to acquire the same mutex twice in case of ESD read check because this mutex will be acquired in nested function, so remove it in order to avoid dead lock. Change-Id: I48c18195e0ac30b271bfc041a99547049ee6b04a Signed-off-by: Ray Zhang <rayz@codeaurora.org>
* mdss: mdp: add debugfs node for danger/safe on mdssClarence Ip2016-03-23
| | | | | | | | | | Add debugfs node to get the danger/safe status of mdp and source pipes on MDSS. Change-Id: I0c93d42b144cda932d80ba18221ae814bed3d3d4 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Resolved merge conflict] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: clear the pipe's dirty flag after sspp configurationJeevan Shriram2016-03-23
| | | | | | | | | | | In the current implementation, pipe's dirty flag is not cleared when there is pipe reuse. This change clears the pipe's dirty flag if the pipe is being reused with no configuration changes but only buffer handle. CRs-Fixed: 884773 Change-Id: I8d62e944110cd887f341dd8b33a642a679473ff7 Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
* msm: mdss: Change PP loggings from warning to debugPing Li2016-03-23
| | | | | | | | | | Some of the post-processing features might not be available for external displays. PP driver was printing them as pr_warn which floods the kernel logs. This change updates these logs from warning to debug to remove unnecessary logging. Change-Id: Ic1dde42ccc84e13f06db33ddbf679a211726ff80 Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: specify HFlip and VFlip per pipe BW limitAnusha Koduru2016-03-23
| | | | | | | | Apply per pipe BW limit check based on HFlip/VFlip. Some targets have different limits for BW based on usecase. Change-Id: Ie23dba396b47ffb3fb910e746e4a992fe6d78ab9 Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
* msm: mdss: capture vbif dump with mdss dump when panic happenDhaval Patel2016-03-23
| | | | | | | | Capture real time vbif and non-real time vbif dump with mdss dump when mdp related fatal error occur. Change-Id: Ia44402a0272938862569d1ed43871e6ecca17965 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: fix the input layer and layer list array indexJeevan Shriram2016-03-23
| | | | | | | | | | In the current implementation, wrong memory is being referenced while copying to user. Correct the input layer and layer list array index to avoid invalid memory access. CRs-Fixed: 882379 Change-Id: I47790d1c5419c099ce32727c28e5e6e7e742f18f Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
* msm: mdss: use usleep_range instead of msleep in mdss utilClarence Ip2016-03-23
| | | | | | | | | | | | | msleep API runs in atomic context and can add extra delay after sleep timeout. This can add extra delays for panel regulator turn on/off sequence which affects device suspend/resume timing. Moving to usleep_range enables the delay backed by hrtimers. Change-Id: Id9e50ab02c0166de41316eeb948e93cdce432e15 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Resolved merge conflicts] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: Add check for enabled regulators to avoid delaysJie Cheng2016-03-23
| | | | | | | | | | If the regulator is already enabled, driver doesn't need to wait till post on delay is complete. This change fixes to avoid delays during regulator enable. Change-Id: If7c7d1f2895abaa12b94e9f5c78ba61f28b87758 Signed-off-by: Jie Cheng <rockiec@codeaurora.org> Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
* qcom: msm: event-timer: Add eventimer migration frameworkMurali Nalajala2016-03-23
| | | | | | | | | | | | | | | Currently, all the event timers are associated to CPU0. These event timers are not bind to any of the IRQs and always handled(hrtimer) by CPU0. This event timers framework make sure event timers are bound to clients IRQs and when the IRQ affinity has changed event timer framework will make sure to move associated event timer to a new CPU based on IRQ affinity. CRs-fixed: 719258 Change-Id: Idbce3d5195655f558f74c208216f75515d235b8e Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org> [cip@codeaurora.org: Remove drivers/soc/qcom/event_timer.c changes] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: rotator: make work queue high priorityTerence Hampson2016-03-23
| | | | | | | | | Janks in display are occurring due to delayed scheduling of rotator work. Making it high priority would prevent such occurrences. Change-Id: I85a7e4ca46596cfad56b29256ede30f1a13f0123 Signed-off-by: Terence Hampson <thampson@codeaurora.org> Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* msm: mdss: add vbif debug bus support in xlogDhaval Patel2016-03-23
| | | | | | | | | | | | VBIF debug bus test points provides the ARB/XIN client status. These test points information is required when MDSS core has requested some transaction but they are not returning back. This change adds the support for common code dump/log the test points and adds the offset for msm8996 configuration. Change-Id: I376a9e50aaaedb170bf4904551450206a85e4a1c Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: fb: remove check for allocated during resolution switchAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | While switching resolution the fb memory requirement may increase and the current memory may not be able to support the new resolution. However since we can still go through overlay path, this requirement shouldn't be mandatory. Allow it to go through, there are enough checks during mmap to fail if trying to use this memory. Change-Id: I76aafecd568763c456ea75234582b8a7aa9f83f4 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: fix concurrency between add vsync handler and stopAdrian Salido-Moreno2016-03-23
| | | | | | | | | | If command mode interface is being stopped, adding vsync handler can cause the clocks to go on and cause improper state after. There are checks for panel off inside add_vsync_handler however, there needs to be synchronization while the stop is in progress. Change-Id: I99bfca53a18bc818eecc94007357abdf4a251e50 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: fix six zone saturation maskBenet Clark2016-03-23
| | | | | | | | | The mask for setting the six zone LUT is incorrect. This change fixes the mask to make sure all data is written to the hardware. Change-Id: Ic8cb82cbf9d34d857c71c03decc8b64f3a3e9699 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: rotator: validate if output format is ubwcTerence Hampson2016-03-23
| | | | | | | | Use the output format instead of the input format when validating X and Y offset Change-Id: I0a41c5f2d3f17b720da35cecb8d5c1def76b2d0c Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* msm: mdss: Prevent mixer GC programming if it is currently enabledBenet Clark2016-03-23
| | | | | | | | | | | The layer mixer GC hardware is meant to be programmed and enabled only once. In cases where we want to reprogram the values in the hardware, there is the possibility of corruption. This change forces the mixer setup to skip GC programming if it is currently enabled. The user should disable the feature before enabling it with different values. Change-Id: I3c049d87a230be6f65ffa354099a2f1f1096f78b Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: dump mdp debug bus infoIngrid Gallardo2016-03-23
| | | | | | | add support to dump debug bus information Change-Id: I2a542592c1ee54f739f1ef383b005c8fc0beb762 Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: protect iommu refcount with mutex for mdp3Shivaraj Shetty2016-03-23
| | | | | | | | | | | On mdp3 targets iommu refcount is not properly protected by mutex lock. This is causing iommu to be detached while hardware is fetching the data from the iommu mapped address leading to SNOC errors. Add mutex lock while using the iommu refcounts to fix the issue. Change-Id: Ife59791b08b123f6b60d3ffa6d8061839244934c Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* msm: mdss: add scaling error check on DMA and CURSOR pipesJeevan Shriram2016-03-23
| | | | | | | | Scaling is not supported on DMA and CURSOR pipes. This change fails layer validation when there is a scaling on any of these pipes. Change-Id: I54428a6bf5516fcb66b41825a1d156d8052c5d84 Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
* msm: mdss: prevent slow path error during DSI underflow recoveryUjwal Patel2016-03-23
| | | | | | | | | | When DSI underflow is reported, ctl reset is preformed which requires certain critical regions to be protected by mutex. However this reset itself doesn't need to be protected by koff_lock spinlock and thus move it out of spinlock to prevent mutex locking while holding spinlocks. Change-Id: I9a5da66c3db5c3839fa45a25898a5d610134594e Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* msm: mdss: fix crash when enabling autorefreshIngrid Gallardo2016-03-23
| | | | | | | | | | Autorefresh feature does not need to issue a manual flush in order to start processing the frames. Remove the manual flush and make sure that we wait for one vsync before suspend. Change-Id: I557a1a67017d9f0171915c209479e22bd908db36 Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: ad: detect changes in resolution within ad configAdrian Salido-Moreno2016-03-23
| | | | | | | | | Whenever resolution switch happens, ad needs to be reconfigured with new resolution. Detect these changes and program frame size accordingly. Change-Id: Iac4e36c19d55d56de99318e13fd7435bdfac3a84 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: rotator: configure pipe pixel extensionTerence Hampson2016-03-23
| | | | | | | | Prior to programming the pipe for rotation, rotator needs to calculate valid pixel extension so that it is properly configured Change-Id: Idd92905d46d79f8feddbaf2d03653668360b7c10 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* msm: mdss: dsi: use right mask to confirm dma transfer doneAdrian Salido-Moreno2016-03-23
| | | | | | | | | When dma tx timeout happens, the internal check to verify state of hardware is actually checking for DMA interrupt enabled bit instead of the actual state of DMA done. Change-Id: I2c03e3e405289c223358b82e37e49203d0d0978b Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: fix solid fill programming on pipeDhaval Patel2016-03-23
| | | | | | | | | | | | | | Format on pipe is changed to solid fill when it is un-staged from mixer and put in cleanup list. This is not required because HW is not going to pick up this pipe when it is not present on any stage. This change removes the unnecessary programming during cleanup and updates the sw pixel extension configuration for solid fill pipe. Change-Id: Idabd264dc9a3e93ef94e347e7f48fd6f88bd987b Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Resolved merge conflicts] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* mdss: mdp: fix pipe/mixer stage information during freeDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | MDSS driver stages the pipe on certain mixer but does not update the stage index to unused after un-stagging the pipe from kickoff. It is better that pipe free api checks the mixer stage before setting pipe mixer null. This helps to catch the bugs where pipe is getting staged without commit call. This change tries to update the pipe free API with proper error checks. It also avoids mixer free twice from ctl destroy to avoid error messages at each suspend/resume. Change-Id: I6facef86b0816378d79fd17737b0f335c59ebfa6 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: protect mdp registers from race conditionTerence Hampson2016-03-23
| | | | | | | | | | During the pipe configuration process it was possible for multiple thread contexts to read and write common register data, resulting in a race condition. In order to prevent a race condition, we are now protecting access to common registers are with reg_lock mutex. Change-Id: I724e7870e856b3303448edbdf00f334ad38483f6 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* msm: mdss: serialize overlay_vsync_ctrl with ov_lockKuogee Hsieh2016-03-23
| | | | | | | | | There is a race condition between mdss_mdp_idle_pc_restore and mdss_mdp_display_commit. Use ov_lock to serialize execution of these two threads to fix race condition. Change-Id: I6454e3d0edf2f3655e442d591fb3cac48f88a712 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* msm: mdss: add support to override dual DSI properties in kernelPadmanabhan Komanduru2016-03-23
| | | | | | | | | | | In the current implementation, the DSI h/w configuration and DSI PLL source are configured based on the MDSS DSI DT properties. These can be changed dynamically based on the panel that is being configured in LK. Add support to override these properties based on the display command line string that is passed from LK to kernel. Change-Id: I7ba5a2d16b3527537c91c79e7977a55d8b2e23c3 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* msm: mdss: fix extra refcount in the mdp clock during clock gateIngrid Gallardo2016-03-23
| | | | | | | | | There is a race condition between kickoff and early wakeup events; add mutex to protect the state of the resources and prevent race condition. Change-Id: Ibf3284f1d1fce26b88ea0a1f56f42a4682b16c77 Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: Notify backlight events for AD and regular BL togetherBenet Clark2016-03-23
| | | | | | | | | | | Postprocessing userspace is a client of backlight notifications from driver. There are two notifications exposed, one for AD BL attenuation and one for regular backlight updates. Previously, the notification would be for one type or the other. This change makes the notifications occur together if both notifications are needed. Change-Id: Ia5bc520a183106e1f9a876583cb3a17435be08ed Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: dsi: fix post clk off callback in clk managerDhaval Patel2016-03-23
| | | | | | | | | | | | DSI clock manager is registering the post clk on twice but does not register the post clk off. CORE/CTRL/PHY power modules were never turned off because post clk off callback is not registered. Change-Id: I324e416241d9ec72e0aef8c4742849c14cffc37e Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Resolved merge conflicts] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* msm: mdss: add valid data checks in ctl restoreDhaval Patel2016-03-23
| | | | | | | | | | | | | Idle power collapse API calls ctl restore for each control which is powered on. This check will pass for rotator ctls also. They have valid mixer but mfd/panel_data null. Only mixer check is invalid to call pp_resume for such ctls. It should check the mfd/panel_data before restoring post processing and compression block. Change-Id: I09d599aae392e30d9ffae3cfd0e92bbda9aaa5e5 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* msm: mdss: rotator: switch context between active-only and active+sleepTerence Hampson2016-03-23
| | | | | | | | | Modify the rotator bw vote to go to Active-Only in early stages when bw is not needed, update the vote to Active+Sleep when bw must be guaranteed. Change-Id: I6a808831718426d93700fdf0c61b1eec1c0b2c1f Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* msm: mdss: fix backlight issue on blank-unblankShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | In charging mode if charging code is not updating the backlight then backlight will be turned off in blank call and will not be turned on again on unblank. Same is seen during ESD recovery. Set the unset backlight level to the current backlight level during blank so that after unblank, on first commit the backlight value is restored. Also initialize the brightness level to half of the max brightness. Change-Id: Iee29b00a5e0fbbd4fee9d2c0dae1a40222b43939 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* msm: mdss: Tune the mdss event timer wakeup timeSiddhartha Agrawal2016-03-23
| | | | | | | | | Adjust the mdss event timer to wakeup before the readpointer to help with latency issues. Crs-Fixed: 840497 Change-Id: I384d7e13af1e4893aa200240c6a057ebc2bf92c6 Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
* msm: mdss: rotator: Add debug logs to failed rotator requestTerence Hampson2016-03-23
| | | | | | | | When rotator fails on a request it would be helpful if information about the request item was logged. Change-Id: Ida8b3c9cd312a5142586323b1f9af613a44e40f3 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* msm: mdss: mdp: adapt frame idle timeout to input eventsVinu Deokaran2016-03-23
| | | | | | | | | Add input event handler logic for video mode panels. In case of an event, the idle notification should be prevented in anticipation of a frame update. Change-Id: I28c7b142b3b14375937d45f00fb552679db8f109 Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>