From 5df608899cf3afc591e908042c91537963676016 Mon Sep 17 00:00:00 2001 From: Veera Sundaram Sankaran Date: Mon, 25 Jul 2022 11:26:47 -0700 Subject: [PATCH] disp: msm: sde: fix cwb output res with DS & demura tap point Add the missing concurrent writeback output resolution setting, when destination scaler is enabled with demura tap point. Additionally, move the dnsc_blur enabled check to the top as that takes precedence. Change-Id: Id0e851703ce6e1d8b7caffcdda69d7757222fc59 Signed-off-by: Veera Sundaram Sankaran --- msm/sde/sde_encoder_phys_wb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/msm/sde/sde_encoder_phys_wb.c b/msm/sde/sde_encoder_phys_wb.c index 4805ee93..396d9925 100644 --- a/msm/sde/sde_encoder_phys_wb.c +++ b/msm/sde/sde_encoder_phys_wb.c @@ -340,18 +340,21 @@ static void _sde_enc_phys_wb_get_out_resolution(struct drm_crtc_state *crtc_stat sde_crtc_get_ds_io_res(crtc_state, &ds_res); sde_connector_get_dnsc_blur_io_res(conn_state, &dnsc_blur_res); - if (ds_res.enabled) { + if (dnsc_blur_res.enabled) { + *out_width = dnsc_blur_res.dst_w; + *out_height = dnsc_blur_res.dst_h; + } else if (ds_res.enabled) { if (ds_tap_pt == CAPTURE_DSPP_OUT) { *out_width = ds_res.dst_w; *out_height = ds_res.dst_h; } else if (ds_tap_pt == CAPTURE_MIXER_OUT) { *out_width = ds_res.src_w; *out_height = ds_res.src_h; + } else { + *out_width = mode->hdisplay; + *out_height = mode->vdisplay; } - } else if (dnsc_blur_res.enabled) { - *out_width = dnsc_blur_res.dst_w; - *out_height = dnsc_blur_res.dst_h; - } else { + } else { *out_width = mode->hdisplay; *out_height = mode->vdisplay; }