[Freedreno] [PATCH 1/3] drm/msm/disp/dpu1: allow reservation even if dspps are not available.
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Tue Jan 17 16:40:11 UTC 2023
On 17/01/2023 18:35, Dmitry Baryshkov wrote:
> On 17/01/2023 18:21, Kalyan Thota wrote:
>> if any topology requests for dspps and catalogue doesn't have the
>> allocation, avoid failing the reservation.
>>
>> This can pave way to build logic allowing composer fallbacks
>> for all the color features that are handled in dspp.
>>
>> Signed-off-by: Kalyan Thota <quic_kalyant at quicinc.com>
>> ---
>> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
>> b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
>> index 73b3442..c8899ae 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
>> @@ -343,7 +343,13 @@ static bool
>> _dpu_rm_check_lm_and_get_connected_blks(struct dpu_rm *rm,
>> return true;
>> idx = lm_cfg->dspp - DSPP_0;
>> - if (idx < 0 || idx >= ARRAY_SIZE(rm->dspp_blks)) {
>> +
>> + if (idx < 0) {
>
> The change doesn't correspond to commit message.
>
>> + DPU_DEBUG("lm doesn't have dspp, ignoring the request %d\n",
>> lm_cfg->dspp);
>> + return true;
>> + }
>> +
>> + if (idx >= ARRAY_SIZE(rm->dspp_blks)) {
>> DPU_ERROR("failed to get dspp on lm %d\n", lm_cfg->dspp);
>> return false;
>> }
>
> If you'd like to remove duplicate for the (idx >= ARRAY_SIZE) check, I'd
> suggest dropping the second one
>
I've misread the patch. However I don't see, why would one request
DSPP_NONE while specifying topology->num_dspp. I think that you are
trying to put additional logic into a function that should just check
for the available resources.
--
With best wishes
Dmitry
More information about the Freedreno
mailing list