On 11/30/2023 11:45 PM, Dmitry Baryshkov wrote:
On Fri, 1 Dec 2023 at 03:41, Paloma Arellano <quic_parel...@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_parel...@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(-)

Reply via email to