Declare the continuous splash pipeline setup to userspace by filling
in the DRM states for all plane, crtc, encoder, and connector objects
in use. This information will be treated as an 'informative' state,
and will be cleared at the start of the first commit to maintain
the DRM methodology of DRM clients being the only controller of
the pipeline. This ensures any configuration provided by userspace
is accepted and applied, even if it may already align with the setup
done by continuous splash.
This DRM state configuration is done via manual modification of the
DRM object states. Modification via the exposed DRM UAPI functions
is not possible due to no drm_atomic_state object linking the DRM
pipeline objects together.
Change-Id: I67650e05aafbb4e799cf60939f0595bc3786fc6e
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
In order to assign a 'type' to the accumulated sde_splash_data,
the function _sde_kms_get_splash_data was extended to
receive the entire sde_kms object. This change is unnecessary
as the sde_splash_data structure to modify is already provided.
Update _sde_kms_get_splash_data to no longer receive
the sde_kms structure, and instead set the type on the provided
splash_data struct.
Change-Id: I6faf2c54c84a0157597d339c0123a2033e1dc632
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
As the number of cp features has continued to grow, the file
sde_color_processing has become increasingly harder to parse.
Update function and parameter names to better identify internal
functions and increase readability.
Change-Id: Ib82d6c9a45b36b932ab3a2d573b7cbe13a6c10bc
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Recent investigation shows that color processing properties are
incorrectly being cached in validate. This can result in unwanted
color processing properties being applied if a previous commit
failed or was validate only.
Add color processing properties to sde crtc state instead of marking
them dirty in color processing driver. When atomic commit is called
properties from state will be marked as dirty and applied.
Change-Id: If231a1f028e4cbd0b50eb0a947f4d58f94390a0c
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
The change reduces the log level if the thermal backlight device
registration fails. This is not a fatal use case and hence shouldn't
be an error log.
Change-Id: I08d4014a2629c5181bd7219c4836affb81da96ae
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This change adds UBWC_RGBA1010102 to the list of formats which inline
rotation supports.
Change-Id: I6e0374895dd27bf21f19d9b97e84a8f343777874
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Currently, power on and off are being triggered prematurely.
This changes moves both calls to the end of enable and disable
functions to better align with events. It also creates a common
function to simplify event notifications.
Change-Id: I0291747a84991deb139552b2bff476a6436d5409
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
PLL codes from devicetree are only required if dynamic clock is enabled
for video mode panels. This change ensures that unnecessary error logs are
not seen for all other panels, by parsing the data only if the panel property
is set.
Change-Id: I206520aab65b7a5613909c8ff527e88303533617
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This change avoids hardcoding the PLL_LOCKDET_RATE_1 register
value, rather using the variable with the same name that has
been initialized in dsi_pll_regs.
Change-Id: Ideb2c2b593156a4361feeb071df41f65e52c3beb
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
While recalculating VCO rate, currently the frac_bits value
is being hardcoded. The change instead uses the initialized
value from the 5nm PLL configuration.
Change-Id: I245574f4810a7b036d512ff1a347aa7e296702d1
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
The DMA buffer allocation for DSI happens during the first
command transfer. This change moves this allocation to happen during
bind.
Change-Id: I7969a019a8b84282e8a153f5393c9a3de5a28043
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Noise layer feature is not mandatory feature, if device tree entry is
missing or hardware doesn't support the feature print a info log instead
of error print. Change updates the driver to change print as info.
Change-Id: I73f82d9f0877bcc859096c9f86b722871574e736
The change updates DSI DPHY and CPHY programming for
PHY version 4_3.
Change-Id: Id6b5cfefdce9530891e1e0f5a34814606954d843
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Add support to the dump the DP register space and debugbus information.
Change-Id: I903471b07fdd1926b0fc505a980b2a5048387b69
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add a flag SDE_DBG_DUMP_IN_LOG_LIMITED based on which the debug bus
registers dumped in log can be limited. In memory logging will continue
to dump the full range of configured registers if that flag is set.
Currently the in-log limited support is enabled only for the sde/vbif
debugbus and both IN_LOG & IN_LOG_LIMITED will be treated the same way
for other blocks.
Change-Id: Ie85d3d16955cfa507bb3e02954d9b313851eef78
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add macros for logging the registers/debugbus, so all blocks
can use the same macros to keep the log format consistent.
Change-Id: Ie28ce83a742f24f3091bedab66c8cf1454bbb943
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Refactor the debugbus read/logging for sde/dsi/vbif/lutdma to use the
same helpers. Use function pointers to read/write specific hw block
operations. Remove the DBGBUS_FLAGS_DSPP and related checks as it is
not used. Increase the debugbus block/test-point ranges for all the
blocks to log all the test-points used by hardware.
Change-Id: I07b23d21f9c556eb7575b892f87ab94adfe41116
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Writeback cropping should only be enabled in concurrent writeback
usecases, and otherwise can lead to writeback failures. This change
adds a check for this before enabling the feature.
Change-Id: I587c1e755810c836fb64291ec3b0005bc28efdc2
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
With dedicated concurrent write back feature enabled, only one
cwb overflow irq is initialized. However, the table has not been
updated to reflect this. This can result in bad attempts to
register unavailable overflow irqs for different pingpongs.
This change creates a new dcwb irq table to be used when
dcwb is enabled.
Change-Id: Ib683b4cdaea2d2fe4f1131b92b1abaa096fa2cc0
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
The offset for DP pixel clock configuration registers in disp_cc has
changed in waipio. Currently the driver is using incorrect offsets to
read M/N values to calculate SW MVID/NVID during MSA programming. This
results in a blank screen as the sink is not able to restore the pixel
clock.
This change fixes this issue by selecting the correct base address
based on dp core version.
Change-Id: I44214ce52c1bc346715362df0a138f1f8cc011e1
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
This reverts commit 6886d03e4a.
It tries to memset the pstate from UI thread (crtc atomic check)
and crtc commit thread.
Change-Id: Ic9d3e5555d7085832df76025e53488d2b3365739
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>