|
@@ -1650,6 +1650,7 @@ static void _sde_cp_crtc_commit_feature(struct sde_cp_node *prop_node,
|
|
int i = 0, ret = 0;
|
|
int i = 0, ret = 0;
|
|
bool feature_enabled = false;
|
|
bool feature_enabled = false;
|
|
struct sde_mdss_cfg *catalog = NULL;
|
|
struct sde_mdss_cfg *catalog = NULL;
|
|
|
|
+ struct sde_crtc_state *sde_crtc_state;
|
|
|
|
|
|
memset(&hw_cfg, 0, sizeof(hw_cfg));
|
|
memset(&hw_cfg, 0, sizeof(hw_cfg));
|
|
_sde_cp_get_cached_payload(prop_node, &hw_cfg, &feature_enabled);
|
|
_sde_cp_get_cached_payload(prop_node, &hw_cfg, &feature_enabled);
|
|
@@ -1662,6 +1663,13 @@ static void _sde_cp_crtc_commit_feature(struct sde_cp_node *prop_node,
|
|
hw_cfg.skip_blend_plane_h = sde_crtc->skip_blend_plane_h;
|
|
hw_cfg.skip_blend_plane_h = sde_crtc->skip_blend_plane_h;
|
|
hw_cfg.skip_blend_plane_w = sde_crtc->skip_blend_plane_w;
|
|
hw_cfg.skip_blend_plane_w = sde_crtc->skip_blend_plane_w;
|
|
|
|
|
|
|
|
+ sde_crtc_state = to_sde_crtc_state(sde_crtc->base.state);
|
|
|
|
+ if (!sde_crtc_state) {
|
|
|
|
+ DRM_ERROR("invalid sde_crtc_state %pK\n", sde_crtc_state);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ hw_cfg.num_ds_enabled = sde_crtc_state->num_ds_enabled;
|
|
|
|
+
|
|
SDE_EVT32(hw_cfg.panel_width, hw_cfg.panel_height);
|
|
SDE_EVT32(hw_cfg.panel_width, hw_cfg.panel_height);
|
|
|
|
|
|
for (i = 0; i < num_mixers; i++) {
|
|
for (i = 0; i < num_mixers; i++) {
|