summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/msm (follow)
Commit message (Collapse)AuthorAge
...
* msm: mdss: hdmi: handle CEC interrupts if CEC feature is enabledTatenda Chipeperekwa2016-06-17
| | | | | | | | | | | | Handle CEC interrupts in the CEC hardware module only if the CEC feature is explicitly enabled by the CEC framework. This will prevent the CEC hardware module from unnecessarily processing interrupts that will not be handled by the CEC framework (if the feature is not explicity enabled). Change-Id: I5110f2c8277581f87da71f962560c33f65582176 Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org> CRs-Fixed: 1016853
* msm: mdss: hdmi: enable additional clocks for register accessTatenda Chipeperekwa2016-06-16
| | | | | | | | | | MMMS mnoc_ahb clock needs to be enabled prior to enabling the mdss_ahb clock on msmcobalt as there is a core fsm dependency between these clocks. CRs-Fixed: 1022772 Change-Id: I24f3b01ae40d1242e64bfc87177142b0d64ac123 Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* msm: mdss: enable ref count based PM_QOS request for DSISandeep Panda2016-06-16
| | | | | | | | | | | | | DSI controller requests for PM_QOS while sending DCS commands, so that CPU does not go to idle state until DCS command transfer is finished. But this request can come independently from multiple clients such as different DSI controllers. So this change adds ref count based PM_QOS request to avoid warning for multiple QOS add request and unwanted results, if one client removes the request while the other clients still need it. Change-Id: If3ca0161923fcd73fdde77984aa5d80bfaec79a1 Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
* msm: mdss: add validation for dest scaler countAbhijit Kulkarni2016-06-13
| | | | | | | | | | User space can send the commit message with the dest scaler structure populated and dest scaler count as 0, this would cause null pointer access, this change adds validation for both the fields. Change-Id: I7a4ad3188f7a19427c096a596a502debdc2aac55 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: hdmi: add deep color supportAjay Singh Parmar2016-06-09
| | | | | | | | | | | Get deep color support information from sink's EDID (Extended Data Identification Data). Enable deep color output in hdmi transmitter if the sink supports RGB 30bpp output format. CRs-Fixed: 1022772 Change-Id: If65ac051253b4e51f6af5cd60f98eaf908b3bcfd Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org> Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* msm: mdss: fix solidfill config for multi-rect pipesAbhijit Kulkarni2016-06-07
| | | | | | | | | | | In multi-rect configuration both the pipes should fetch or should be in solidfill configuration. The change ensures that when switching between multi-rect to normal configuration with solid fill enable/disable the multi-rect mode properly. CRs-Fixed:1025380 Change-Id: I02fc72583fcd9bc27156ce717b52ef17e16313d5 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Update the default PP bindingGopikrishnaiah Anandan2016-06-07
| | | | | | | | | | | | | | If mdss version is not part of get driver ops function currently we set the driver ops to NULL. When driver ops is NULL post processing driver will treat that msm is legacy target and program the post processing registers. For newer target if get driver ops function is not updated pp driver will assume it as legacy msm target and programme the registers incorrectly. Changing the default behaviour to stub function pointers will ensure that above use-case is gracefully handled. Change-Id: I03fdf88c741135f83d1939952e76b7460229a284 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Add support for IGC v3 featureGopikrishnaiah Anandan2016-06-07
| | | | | | | | | | IGC module is updated for mdss V3 version, which needs to be exposed to user-space. Change adds interface support to expose the IGC module to user-space clients. Change-Id: I159bca8278a1638286cc2392bb5b059e067dbb1b Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Add PA dither support for msmcobaltGopikrishnaiah Anandan2016-06-07
| | | | | | | | | | Picture adjustment block on msmcobalt mdss supports dithering module. Module can be programmed by driver clients for a logical display. Change adds support for enabling the PA dither block. Change-Id: I8ae05d0f98a33a8608a4caef93d50e4dabad05a1 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: fix pipe cleanup for multi-rect pipesIngrid Gallardo2016-06-03
| | | | | | | | | | | | | | | | | | For multi-rect pipes, driver tries to release the pipe only when both pipes for both rectangles are in the destroy list. Current code always detects that there are two pipes with the same number in the list, since the first iteration to look for the pipe in the list always correspond to the same pipe used as the initial index. This causes that driver unnecesary halt the dma pipe when still in use for the second rect that is still not freed. Fix this issue by making sure the same pipe objects are not used to check if there are two pipes with the same index in the release list. Change-Id: I19268009e76b8535fa4a7aa742a1cfc957f8aece Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: Fix NULL pointer dereferenceKrishna Srinivas2016-06-03
| | | | | | | | | A wrong pointer is freed and dereferenced leading to fatal exception. Fix this by correcting the pointer variable. Change-Id: Ic3d55d88c61ab215139de7fe0c53b8bb89bf85f8 Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
* Revert "msm: mdss: hdmi: check clk state before power on"Tatenda Chipeperekwa2016-06-01
| | | | | | | | | | | | | This reverts commit 05f3cbbe5cc481141434a90e606ff9fc92da5e0d ("msm: mdss: hdmi: check clk state before power on"). The check for clock state was required for earlier target's fast hot plug use cases, and uses the clock framework for check for clock rates. This approach does not work on msmcobalt and causes the power on sequence for HDMI to fail. CRs-Fixed: 1022772 Change-Id: I320427f810fd35b11335685bae95b3c5fb9c8fee Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* msm: mdss: fix to enable danger for msmcobaltIngrid Gallardo2016-05-31
| | | | | | | Add msmcobalt revision to enable danger. Change-Id: Ie02f67d00c8fe04bf90ded5d4a6ab85c86cf05ad Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: dsi: update DSI clamp configuration for msmcobaltAravind Venkateswaran2016-05-31
| | | | | | | | | | | | DSI clamps need not be configured for msmcobalt since the lanes will be maintained in ULPS or LP11 through the DSI PHY. As such, the only required programming is to disable the propagation of the reset signal from the ahb domain. Update the SW programming accordingly. CRs-Fixed: 1019289 Change-Id: I0ba4858015457c971a42233c5a5f3dec9ca25ea6 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* msm: mdss: dsi: enable additional clocks for register access on msmcobaltAravind Venkateswaran2016-05-31
| | | | | | | | | MMMS mnoc_ahb clock needs to be enabled prior to enabling the mdss_ahb clock on msmcobalt as there is a core fsm dependency between these clocks. Change-Id: I475b44619b68e731abc8b1a91a214c6cdf8cfc5e Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* msm: mdss: fix amortized prefill calculationsIngrid Gallardo2016-05-26
| | | | | | | | | | | Fix wrong calculation for the amortized prefill parameters to use destination coordiates as well as adjust ts_count denominators for the correct units, also make sure vsync clock is enabled. It was causing problem when feature was enabled. Change-Id: I62a3bd31997be05181de98307089e2a69d98ab7b Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: Fix qseed3 clk calculation overflowAbhijit Kulkarni2016-05-26
| | | | | | | | | Use u64 variables to store intermediate results while calculating mdp clock for qseed3 scaling scenarios, using u32, results in overflow and incorrect mdp clock setting. Change-Id: I4fbc9aa1f30d36d35a9ad181185761e697cbbef7 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Export rotator interrupt and share rotator smmuAlan Kwong2016-05-26
| | | | | | | | | | | | | | | | | | | Existing rotator block is serviced by fbdev rotator driver. This change enables usermode to use external v4l2 rotator driver by exporting rotator interrupts (WB0 & WB1) thru interrupt domain, and share smmu access for writeback and rotator. mdp_irq_export is only set if has_separate_rotator is specified in device tree and MDSS version is prior to 2.0. mdp_irq_export is set to zero otherwise, and will effectively disable mdp irq export and will introduce only minimal overhead to interrupt processing. This is the default behaviour for MDSS newer than 2.0. CRs-Fixed: 1017182 Signed-off-by: Alan Kwong <akwong@codeaurora.org> Change-Id: If634894768b02d124ceab071a9eca1c36f258600
* msm: mdss: fix possible out-of-bounds and overflow issue in mdp debugfsVeera Sundaram Sankaran2016-05-25
| | | | | | | | | | | There are few cases where the count argument passed by the user space is not validated, which can potentially lead to out of bounds or overflow issues. In some cases, kernel might copy more data than what is requested. Add necessary checks to avoid such cases. Change-Id: Ifa42fbd475665a0ca581c907ce5432584ea0e7ed [veeras@codeaurora.org: Resolve conflicts in mdss_debug.c] Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
* msm: mdss: Adding support for destination scalerNaseer Ahmed2016-05-25
| | | | | | | | | | | Destination scaling is a new hardware feature in MSM mdss 3xx hw. When user mode enabled the destination upscaling, framebuffer will get upscaled and then transmitted to the primary panel. CRs-Fixed: 988990 Change-Id: I19aa5983316bec4a87811c8aa8b54f770001c45f Signed-off-by: Benjamin Chan <bkchan@codeaurora.org> Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
* msm: mdss: Defer wb probe until mdss probe doneAbhijit Kulkarni2016-05-24
| | | | | | | | | | Defer wb driver probe until mdss probe is completed, this is required for supporting bin parts where multimedia hw is not functional. CRs-Fixed: 993024 Change-Id: Ic21c25a33a8b2430903e9c1f3d339022551d81d6 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Set dither matrix len to 0 for default configurationBenet Clark2016-05-24
| | | | | | | | | | When default dither is configured at boot, the default dither matrix should be used. In order to use the default dither matrix, the len parameter should be set to 0. CRs-Fixed: 1010839 Change-Id: I2ed58d3e61ca4c64cf72569541fc6ee7f6ba651f Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: dsi: add ulps support for DSI PHY v3Aravind Venkateswaran2016-05-24
| | | | | | | | Implement the recommended programming sequence for configuring the DSI lanes to Ultra-Low Power State (ULPS) for the DSI PHY v3. Change-Id: I5dc7d8ed4407df5baa94e069b00897086bd02ab8 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* msm: mdss: Fix elements ordering of all YUV interleaved formatsRamkumar Radhakrishnan2016-05-24
| | | | | | | | | Pack the elements of all YUV interleaved formats in the same order in which the elements are stored in the memory. CRs-Fixed: 1019201 Change-Id: I64472af6e9983929e0d3ea08601d17c7a2b7c4ef Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
* msm: mdss: Add remaining interleaved YUV format to definition tableBenet Clark2016-05-24
| | | | | | | | | One remaining supported format for YUV interleaved forats table. Adding format in this change. CRs-Fixed: 978785 Change-Id: I025a59d92aca2585335768c94f7a188c339aa788 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: Add newly supported writeback formats to MDP driverBenet Clark2016-05-20
| | | | | | | | | Writeback display now supports more MDP formats. This change adds the definitions for those formats. CRs-Fixed: 978785 Change-Id: I72fc29a8d7b286b0766c0483ba69d6e02d29b661 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* msm: mdss: Add support for concurrent writebackJeykumar Sankaran2016-05-18
| | | | | | | | | | This change adds support for concurrent writeback in supported targets. The client requests for concurrent writeback by selecting the data point in output buffer flags. Change-Id: Ic108ce94daef4f96d1fa27b4057e49c01b9e9b8e Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
* msm: mdss: account for multirect when enumerating pipe formatsAdrian Salido-Moreno2016-05-16
| | | | | | | | | The pipe format enumeration is not accounting for multi-rect on the pipe list. Update the loop enumerating formats to account for multiple rectangles per pipe. Change-Id: Ief1980e2888525434e876f7cec4357403ca20cb1 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: fix wb format enumerationAdrian Salido-Moreno2016-05-16
| | | | | | | | | | Enumeration for writeback is not properly done because not all information from device tree has been retrieved before setting up supported formats. Moved this call until all data has been retrieved from device tree and hw pre initialization. Change-Id: Id228bf7ec564669fa8e9e739e27052de0133cc4d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* msm: mdss: dsi: fix configuration for mode selection GPIOAravind Venkateswaran2016-05-12
| | | | | | | | Configure the mode selection GPIO as direction output in order to correctly configure the panel operating mode. Change-Id: Ic79850674c42f3c59512467dbb608942b98cf74a Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* msm: mdss: fix qseed3 op_mode register programmingAbhijit Kulkarni2016-05-11
| | | | | | | | | Initialize the op_mode register and program the direction_enable field in this register correctly CRs-Fixed: 1008505 Change-Id: I2dbcb8eb1ef5c6e0ebcbfb9f298a14344fbe7ce3 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Properly free memory in error casePing Li2016-05-11
| | | | | | | | | Free previously allocated memory in error return cases to avoid memory leak. CRs-Fixed: 1005989 Change-Id: I9676eb2c75e7be42b1b1901194ba5c2a206dbeb3 Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Add NULL check before de-allocating framebufferPing Li2016-05-11
| | | | | | | | | Add NULL check before de-allocating framebuffer to avoid NULL pointer de-reference. CRs-Fixed: 1003106 Change-Id: I0f3c44671d3ca1b665e91ad314513bb743f23d3c Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Fix memory leak in panel_debugfs_create_array funcPing Li2016-05-11
| | | | | | | | | Fix the potential memory leak in panel_debugfs_create_array func by freeing the allocated memory in error return case. CRs-Fixed: 1005536 Change-Id: If2bf7dbe7caedfa42337639fea739974f99960b4 Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Properly set the PP feature cfg_payload in layersPing Li2016-05-11
| | | | | | | | | Set the PP feature cfg_payload properly to avoid invalid pointer cases. CRs-Fixed: 1004933 Change-Id: I44314b49a6ebb5dedfdedfcddd88c12eabd1f125 Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: Correct block id check for mdss_mdp_misr_tablePing Li2016-05-11
| | | | | | | | | DISPLAY_MISR_LCDC block doesn't have corresponding mdss_mdp_misr_table, this change corrects the block id check for mdss_mdp_misr_table. CRs-Fixed: 1001224 Change-Id: I74b03c31542d4b239eb2ffdc4dc6345dff5eab86 Signed-off-by: Ping Li <pingli@codeaurora.org>
* msm: mdss: enable additonal clocksAbhijit Kulkarni2016-05-10
| | | | | | | | | Need to enable clk_mmss_mnoc_ahb_clk before turning on the ahb_clk, as there is a core fsm dependency between these clocks. CRs-Fixed: 1008505 Change-Id: I9c87fee27c6a6ef875100c9fc1b9d0cb7c14a2b5 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: update CSC 10 bit matrix table with appropriate valuesRamkumar Radhakrishnan2016-05-09
| | | | | | | | | Update CSC 10 bit YUV2RGB matrix table with appropriate values to avoid any color conversion issues. Change-Id: Iaf740873a6814cd9211acf4de4042c7cefecd64d CRs-Fixed: 997593 Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
* msm: mdss: align yuv bitstream plane size and stride appropriately.Ramkumar Radhakrishnan2016-05-09
| | | | | | | | | Add align function to align the values to non power of 2 and align yuv bitstream plane size and stride appropriately. Change-Id: I40695e9e7a99fe7c814d26fa7b5205370b7f9f64 CRs-Fixed: 997601 Signed-off-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
* msm: mdss: hdmi: separate out hdmi panel functionalitiesAjay Singh Parmar2016-05-09
| | | | | | | | | | | Create a new file for hdmi panel related functionalities for a cleaner approach. Move all the video, infoframe and timing related programming to hdmi panel. Expose its functionalities for other modules. Register the panel with hdmi transmitter core so that it can access and program it. Change-Id: Iff1cb13d7b42b6ecfe6fd1fc88a111875c3d6cfa Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: hdmi: refactor event handlerAjay Singh Parmar2016-05-05
| | | | | | | | | HDMI driver handles many MDP events. Currently all the events are handled in one function. Create different functions for each event for a cleaner approach. Change-Id: Ib48c02b2b89f7fdb347afd3a02d8b6b7c1c03e85 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: hdmi: refactor initialization of featuresAjay Singh Parmar2016-05-05
| | | | | | | | | | HDMI driver initializes many features like EDID (Extended Display Identification Data), CEC (Consumer Electronics Control), HDCP ( Hight-Bandwidth Digital Content Protection) and related sub-modules. Initialize them in separate functions for cleaner approach. Change-Id: I5b73d3b558af576b5114c42b63260bb688f2d8d1 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: hdmi: add dynamic fps supportAjay Singh Parmar2016-05-05
| | | | | | | | | | | Add dynamic fps support for hdmi to update the resolution timings on the interface by either changing the clock rate or by modifying the porch values or both. Dynamic fps feature can by used for hdmi to support different use cases like matching input stream fps with hdmi out. Change-Id: Ia305e1eb5d3da1dfbf868650e5ee84018255476b Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: fb: reconfigure panel if output format has changedAjay Singh Parmar2016-05-05
| | | | | | | | | User modules can switch to same resolution with different format like RGB or YUV. In cases where just the format is changing, reconfigure the panel to switch to new format. Change-Id: I52b11f19f576e13e197e8c576a9c5ada54416f5e Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: hdmi: check for scrambler overrideAjay Singh Parmar2016-05-05
| | | | | | | | | | In some cases, scrambling may need to be forced on or off based on sink requirements. To support such requirements, scrambler override may be imposed. If scrambler override has been enabled, use override value to enable or disable scrambler. Change-Id: I9556c6457258598e6b6758573bb0263d53e612da Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: hdmi: update switch node on hpd offAjay Singh Parmar2016-05-05
| | | | | | | | | During framework reboot, keep the switch nodes in sync with user modules to make sure hdmi cable notification mechanism works after reboot. Change-Id: I22696b17ec6ff11b1a378df9611eb8ab4be01358 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* msm: mdss: update bus scaling macroAbhijit Kulkarni2016-05-05
| | | | | | | | | msm_bus clients must use CONFIG_QCOM_BUS_SCALING as opposed to CONFIG_MSM_BUS_SCALING. Change-Id: Icc6ee5e2ba60d7f619393518b4f06aee6f784f3d Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org> Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Skip setting up Qseed3 for non-vig pipesAbhijit Kulkarni2016-05-03
| | | | | | | | | | Qseed3 is supported on VIG pipes only, driver should skip enabling it on non-VIG pipes. Changes adds support to skip programming Qseed3 on non-vig pipes. Change-Id: Ie3d3889cc6c35011f239468ddf465c553a6b1c97 Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org> Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* msm: mdss: Add mdp capability to expose writeback interface indexJeykumar Sankaran2016-05-03
| | | | | | | | Expose a separate MDP capability to expose index of the interface WB block. Change-Id: I757329e68af439701b8f065c99a6a4b0c390cba2 Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
* msm: mdss: update header file with DP audio APIsChandan Uddaraju2016-04-29
| | | | | | | | | | | The current header file supports hdmi and audio interaction using the exposed APIs. Update the common structures and the APIs to support display port and hdmi interaction with audio codec driver. CRs-Fixed: 1009284 Change-Id: I3962fd0cbc278c403584e767611f11d841e14d4e Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>