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>
This commit is contained in:
Christopher Braga
2020-06-29 14:36:09 -04:00
committed by Gopikrishnaiah Anandan
parent 484abb02a1
commit db39b61a5f
7 changed files with 46 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
* Copyright (C) 2013 Red Hat
* Author: Rob Clark <robdclark@gmail.com>
*
@@ -110,6 +110,7 @@ enum sde_plane_sclcheck_state {
* @rotation: rotation cache state
* @static_cache_state: plane cache state for static image
* @cdp_cfg: CDP configuration
* @cont_splash_populated: State was populated as part of cont. splash
*/
struct sde_plane_state {
struct drm_plane_state base;
@@ -141,6 +142,8 @@ struct sde_plane_state {
uint32_t static_cache_state;
struct sde_hw_pipe_cdp_cfg cdp_cfg;
bool cont_splash_populated;
};
/**