disp: msm: sde: populate DRM pipeline setup during cont-splash

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>
このコミットが含まれているのは:
Christopher Braga
2020-06-29 14:36:09 -04:00
committed by Gopikrishnaiah Anandan
コミット db39b61a5f
7個のファイルの変更46行の追加2行の削除

ファイルの表示

@@ -431,6 +431,7 @@ enum sde_crtc_dirty_flags {
* @cp_prop_values: array of cp property values
* @cp_dirty_list: array tracking features that are dirty
* @cp_range_payload: array storing state user_data passed via range props
* @cont_splash_populated: State was populated as part of cont. splash
*/
struct sde_crtc_state {
struct drm_crtc_state base;
@@ -468,6 +469,7 @@ struct sde_crtc_state {
uint32_t cp_dirty_list[SDE_CP_CRTC_MAX_FEATURES];
struct sde_cp_crtc_range_prop_payload
cp_range_payload[SDE_CP_CRTC_MAX_FEATURES];
bool cont_splash_populated;
};
enum sde_crtc_irq_state {