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

@@ -618,6 +618,7 @@ struct sde_connector {
* @msm_mode: struct containing drm_mode and downstream private variables
* @old_topology_name: topology of previous atomic state. remove this in later
* kernel versions which provide drm_atomic_state old_state pointers
* @cont_splash_populated: State was populated as part of cont. splash
*/
struct sde_connector_state {
struct drm_connector_state base;
@@ -632,6 +633,8 @@ struct sde_connector_state {
struct sde_connector_dyn_hdr_metadata dyn_hdr_meta;
struct msm_display_mode msm_mode;
enum sde_rm_topology_name old_topology_name;
bool cont_splash_populated;
};
/**