| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Add msmcobalt revision to enable danger.
Change-Id: Ie02f67d00c8fe04bf90ded5d4a6ab85c86cf05ad
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
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_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>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Expose a separate MDP capability to expose index of the interface
WB block.
Change-Id: I757329e68af439701b8f065c99a6a4b0c390cba2
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|