[PATCH v3 1/2] drm/msm/dpu: Modify vblank_refcount if error in callback
Abhinav Kumar
quic_abhinavk at quicinc.com
Fri Dec 1 19:14:27 UTC 2023
On 11/30/2023 11:45 PM, Dmitry Baryshkov wrote:
> On Fri, 1 Dec 2023 at 03:41, Paloma Arellano <quic_parellan at quicinc.com> wrote:
>>
>> When the irq callback returns a value other than zero,
>> modify vblank_refcount by performing the inverse
>> operation of its corresponding if-else condition.
>
> I think it might be better to follow Bjorn's suggestion: once we have
> the lock, we don't need atomics at all.
> Then you rearrange the code to set the new value after getting return
> code from dpu_core_irq_register_callback() /
> dpu_core_irq_unregister_callback().
>
Even if we drop the atomics, we will have to replace it with a simple
refcount. The refcount checks will be before calling
dpu_core_irq_register_callback() / dpu_core_irq_unregister_callback().
So we will still need the corresponding inverse refcount when either of
those calls fail but just that they wont be atomics.
Am I missing something here?
>>
>> Signed-off-by: Paloma Arellano <quic_parellan at quicinc.com>
>> ---
>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 9 +++++++--
>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 9 +++++++--
>> 2 files changed, 14 insertions(+), 4 deletions(-)
>
More information about the dri-devel
mailing list