On 16/05/2021 04:21, Arnaud Vrac wrote:
Hi Dmitry,
Le dim. 16 mai 2021 à 00:58, Dmitry Baryshkov dmitry.baryshkov@linaro.org a écrit :
No code uses lm_max_width from resource manager, so drop it.
I have a pending patch which uses this value to properly determine the number of LMs to use in the topology. Currently the code uses a hardcoded value of MAX_HDISPLAY_SPLIT (1080), but in reality I believe it should be the lm max width (typically 2560). This will avoid using two LMs to render resolutions like 1280x720 or 1920x1080.
As a second thought, I think we better have this value in the hw_catalog itself rather than calculating it in the dpu_rm. WDYT?
I haven't managed to make hdmi work yet on DPU (testing on MSM8998) so I'm not ready to send the patch yet, but it doesn't seem to trigger any error.
-Arnaud
Signed-off-by: Dmitry Baryshkov dmitry.baryshkov@linaro.org
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 12 ------------ drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 4 ---- 2 files changed, 16 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c index c36700a06ff2..ec4387ad1182 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c @@ -88,18 +88,6 @@ int dpu_rm_init(struct dpu_rm *rm, goto fail; } rm->mixer_blks[lm->id - LM_0] = &hw->base;
if (!rm->lm_max_width) {
rm->lm_max_width = lm->sblk->maxwidth;
} else if (rm->lm_max_width != lm->sblk->maxwidth) {
/*
* Don't expect to have hw where lm max widths differ.
* If found, take the min.
*/
DPU_ERROR("unsupported: lm maxwidth differs\n");
if (rm->lm_max_width > lm->sblk->maxwidth)
rm->lm_max_width = lm->sblk->maxwidth;
} } for (i = 0; i < cat->ctl_count; i++) {
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h index ee90b1233430..0c9113581d71 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h @@ -17,14 +17,10 @@ struct dpu_global_state;
- struct dpu_rm - DPU dynamic hardware resource manager
- @mixer_blks: array of layer mixer hardware resources
- @ctl_blks: array of ctl hardware resources
- @lm_max_width: cached layer mixer maximum width
- @rm_lock: resource manager mutex
*/ struct dpu_rm { struct dpu_hw_blk *mixer_blks[LM_MAX - LM_0]; struct dpu_hw_blk *ctl_blks[CTL_MAX - CTL_0];
uint32_t lm_max_width;
};
struct dpu_kms;
-- 2.30.2
Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno