This change adds allowed_dsc_reservation_switch to determine if
dsc seamless switch is supported for DP. Also, based on the
flag, it determines and populates the required number of
available resources for DP.
Change-Id: I9cd7219a50d352369c5bc8386ce7dc25c30b80b6
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
Mode information apart from the fields in
drm_mode_modeinfo that can trigger a modeset like
dsc-nondsc, video-cmd are defined in sub mode.
For each mode in connector->modes there can be
multiple submodes.
Change-Id: Ib8697d3fa4ea5261d9ac4943b1a4149e22c4da2f
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
This change adds logic to determine dsc switch based on
the connector property "CONNECTOR_PROP_DSC_MODE" and
performs seamless DSC switch if there is any change in
DSC configuration. The connector property is populated
in msm_sub_mode based on which suitable mode is selected.
Change-Id: Ifc4931f16dfb814781bc1d72b103e09103e6bfee
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
While releasing continuous splash resource, place IB vote
with value populated from device tree. If device tree has
not specified a value, use default IB enable value.
Change-Id: I08f7ddc56ab580887cd4f31c93d7b8c358fb3d13
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
During modeset, private mode changed is detected from
msm_display_mode which is present in sde_connector_state.
In the current code, sde_connector_state is found from the
drm_connector variable which will not be valid
during atomic check phase and new connector state is
required here. To handle this, drm_connector_state is passed
along with the drm_crtc_state while detecting
msm_atomic_needs_modeset condition.
Change-Id: I62c162eff6e1c091cb05b3f049a40a0f25b710ba
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Linear formats have an increased width of 5k on waipio
target however this excludes YUV and only applies to
RGB linear formats. This change reduces the max linewidth for
YUV format to 4k.
Change-Id: I51cfc272ea14e10cde87098e879ef7dfbd9f117a
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
This change sets a flag to true if a mixer is a virtual mixer.
Virtual mixers will skip setting up mixer ops and debug register
dumps as their range is not valid. Since mixer ops are no longer
guaranteed to be set, add null checks before using these ops.
Change-Id: Idfe7e1e2b893dadbbe6756d69d0c4ca4fa6ae4ce
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Fix qos lut offset calculation based on the refresh rate index.
Current calculation is not accounting qos lut size for qseed and non
qseed lut types.
Change-Id: I281fa7b3a245ad9f4a3d2ba45bb5957c3900abd6
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Use panel width variable to compare against RC region size instead
of the ROI size which can change based on the LM configuration.
Change-Id: Ia1d5f88893a55778172e6da10bb235e9c483cd38
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
This change fixes the continuos splash logic that identifies the
pipes staged by bootloader. The same code flow is used in trusted ui
handover as well. Existing logic was counting the pipes twice if the pipe
is staged on both the layer mixers. This change simplifies the pipes
already staged before handover by using the pipe index to convey if
it is staged or not.
Change-Id: Idb255f2077161dc3553114ac5d04e0ef743bb5ea
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change prevents entering into idle pc during ESD
recovery. In the event of a panel dead scenario, the panel
TE is no longer valid until display is enabled again. Until
the time display is enabled, idle pc will be blocked so
that display does not fall into then exit idle pc and
attempt to set the vsync source to this invalid panel TE.
Change-Id: Ibdc71b803d50923832f08b238a96aa28854aaea0
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Change adds more panel and display information during the DSI
display bind.
Change-Id: I3571244501149a95ea4f6ab0e496112199f7bbde
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
When LTM is switching on/off, merge_mode bit value gets toggled between
0x1 (dual pipe merge configuration) and 0x0 (single pipe configuration).
It is illegal to reconfigure LTM to/from dual-pipe merge mode before
both LTM instances have completed their current workloads. This change
adds support to disable merge_mode one frame after histogram is disabled
to make sure both hardware instances are completely idle and avoid
corrupted histogram data collection.
Change-Id: I9a6b5cbfb69e8af7936749e57fe7c8f7c2703b95
Signed-off-by: Ping Li <pingli@codeaurora.org>
Panel operating mode switch will not change topology and it will
not trigger atomic_check for encoder to reconfigure topology.
So add this change to avoid reset topology when mode set is triggered
by POMS or non-seamless display mode switch.
Change-Id: If1afb30a97bf2695dd8849f025c20b5561fa4b82
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
Currently RC CRTC blob property is not getting cleared when
driver file descriptor is closed.
This change adds RC propety id to list of properties to
clear in last close code path
Change-Id: Iae1355a6bb51d58f119a209fbfcd8e59e470d46e
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Currently the top/bottom pixel extension overfetch value for
component 3 is misprogrammed with left/right value.
This change corrects the programming sequence.
Change-Id: I2e7accb48840a976645c92cb57b48c6663ae20a0
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
For simulation panels read commands need to be avoided. The change
also adds and substitues sim panel check with a new is_sim_panel API.
Change-Id: Idafdad8a852cad87d97bbc64e9c7cb82460e25b7
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Currently, driver expects usermode to set RC blob flags based on
the RC PU use case, which causes issue when commits are staggered
and is unnecessarily reprogramming RC mask data on every PU frame.
This change uses existing driver logic to internally determine the
RC PU use case and programs the RC region enable bits accordingly.
It also adds essential logging in RC functions to help debugging.
Change-Id: I19ae59a79dbee20f357b384c12acd7d2a6a93fb4
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
In case of back to back atomic check only commit with modeset
handling, enable client to retry same commit and increase
timeout value used in polling for clear of rsvp-next.
Change-Id: Ied7acfbf0fe1f68282cfc36cdadf2d6aec6db40a
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
In recovery mode, display module needs to be loaded
to enable recovery mode options on display panel. Add
display dlkm to be part of RAMDISK_KERNEL_MODULES and
RAMDISK_RECOVERY_KERNEL_MODULES so that it gets
added to existing recovery modules list.
Change-Id: I7811b81808e934c0f542c46f4f2211c02e267adc
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Avoid registering for te interrupts to check te status
for ESD detection during commit failure path.
Change-Id: I447473f7c32a396f72d838c68287bed0eda64b20
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Update the dump_mem pointer offset while storing the debugbus
data for the second DSI to avoid overwriting to same memory.
As part of the change, register the DSI ctrl with sde_dbg from
ctrl_init directly, instead of debugfs_init to avoid code replication.
Change-Id: I4089f3038ffa89136eaea956d27270f638a99043
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>