mbox series

[v3,0/6] drm/msm/dpu: simplify IRQ helpers

Message ID 20220217043148.480898-1-dmitry.baryshkov@linaro.org
Headers show
Series drm/msm/dpu: simplify IRQ helpers | expand

Message

Dmitry Baryshkov Feb. 17, 2022, 4:31 a.m. UTC
This is the second part of
https://patchwork.freedesktop.org/series/91631/ reworked and cleaned up.

Changes since v1:
 - Fix warning ins dpu_trace.h related to
   dpu_core_irq_unregister_callback event
Changes since v1:
 - Use ARRAY_SIZE() rather INTR_IDX_MAX when clearing irq arrays.

Changes since the original pull request:
 - Split applied patches
 - Add unlikely and WARN_ON in dpu_core_irq_register_callback()
 - Remove extra checks in dpu_core_irq_unregister_callback()
 - Remove unused arguments of dpu_core_irq_unregister_callback()
 - Clean the cb and arg in dpu_core_irq_unregister_callback()
 - Split the last patch. Leave enum dpu_intr_idx intact. Pass irq index,
   callback and data directly to dpu_encoder helpers.


Dmitry Baryshkov (6):
  drm/msm/dpu: remove extra wrappers around dpu_core_irq
  drm/msm/dpu: remove always-true argument of dpu_core_irq_read()
  drm/msm/dpu: allow just single IRQ callback
  drm/msm/dpu: get rid of dpu_encoder_helper_(un)register_irq
  drm/msm/dpu: remove struct dpu_encoder_irq
  drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq()

 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h  |  32 ++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 112 +++----------
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h  |  43 +----
 .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  |  92 +++++-----
 .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c  |  51 +++---
 .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 157 +++++++-----------
 .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h |  12 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  27 +--
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |  12 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h     |  67 ++++----
 10 files changed, 202 insertions(+), 403 deletions(-)

Comments

Stephen Boyd March 3, 2022, 9:22 p.m. UTC | #1
Quoting Dmitry Baryshkov (2022-02-16 20:31:42)
> This is the second part of
> https://patchwork.freedesktop.org/series/91631/ reworked and cleaned up.
>
> Changes since v1:

v2?

>  - Fix warning ins dpu_trace.h related to
>    dpu_core_irq_unregister_callback event

Any plans to migrate to hierarchical irqchip in here?
Bjorn Andersson March 3, 2022, 9:47 p.m. UTC | #2
On Thu 03 Mar 13:22 PST 2022, Stephen Boyd wrote:

> Quoting Dmitry Baryshkov (2022-02-16 20:31:42)
> > This is the second part of
> > https://patchwork.freedesktop.org/series/91631/ reworked and cleaned up.
> >
> > Changes since v1:
> 
> v2?
> 
> >  - Fix warning ins dpu_trace.h related to
> >    dpu_core_irq_unregister_callback event
> 
> Any plans to migrate to hierarchical irqchip in here?

I like this idea, since it would give us some more visibility, both in
form of /proc/interrupts and the standard irq tracepoints.

Regards,
Bjorn
Dmitry Baryshkov March 3, 2022, 9:52 p.m. UTC | #3
On Fri, 4 Mar 2022 at 00:23, Stephen Boyd <swboyd@chromium.org> wrote:
>
> Quoting Dmitry Baryshkov (2022-02-16 20:31:42)
> > This is the second part of
> > https://patchwork.freedesktop.org/series/91631/ reworked and cleaned up.
> >
> > Changes since v1:
>
> v2?

And the series should have been v3. Thanks for pointing it out!

>
> >  - Fix warning ins dpu_trace.h related to
> >    dpu_core_irq_unregister_callback event
>
> Any plans to migrate to hierarchical irqchip in here?

I haven't thought about it. I think that using Linux irq framework for
the DPU driver internals might be an overkill.
I'd say that it's not at the top of my todo list. However the point is noted.