[PATCH v4 0/5] drm/msm/dpu: rework interrupt handling

Marijn Suijten marijn.suijten at somainline.org
Thu Jul 27 19:15:33 UTC 2023


On 2023-07-27 17:45:38, Dmitry Baryshkov wrote:
> Please exuse me for the spam, I missed the triggered WARN_ON because of
> the dropped patch.
> 
> Declaring the mask of supported interrupts proved to be error-prone. It
> is very easy to add a bit with no corresponding backing block or to miss
> the INTF TE bit. Replace this static configuration with the irq mask
> calculated from the HW catalog data.
> 
> Changes since v3:
>  - Rework INTF_TE handling. Stop depending on DPU_INTF_TE and enable the
>    relevant interrupt explicitly.

Yeah that seems like a good idea.  I had at some point considered, but
it would be much more messy, to collect all the `.intr_` members of
every cfg structure to accumulate the used flags instead.  But that's
more cumbersome especially since everything uses TOP0 etc anyway.

I do miss b4 inserting links to lore.kernel.org for earlier series
revisions though.

Finally I retested this whole series on sdm845 (PP TE) and sm6125 (INTF
TE) and both behave fine.

- Marijn

> Changes since v2:
>  - Rebased on top of msm-next-lumag to be able to use core_major_ver
>    instead of adding yet another flag.
>  - Dropped the DPU_INTF_TE movement patch, useless after rebasing.
> 
> Changes since v1:
>  - Enable dpu_caps::has_7xxx_intr for DPU >= 7.0 (Neil)
> 
> Dmitry Baryshkov (5):
>   drm/msm/dpu: inline __intr_offset
>   drm/msm/dpu: split interrupt address arrays
>   drm/msm/dpu: autodetect supported interrupts
>   drm/msm/dpu: drop now-unused mdss_irqs field from hw catalog
>   drm/msm/dpu: drop compatibility INTR defines
> 
>  .../msm/disp/dpu1/catalog/dpu_3_0_msm8998.h   |   8 --
>  .../msm/disp/dpu1/catalog/dpu_4_0_sdm845.h    |   9 --
>  .../msm/disp/dpu1/catalog/dpu_5_0_sm8150.h    |  11 --
>  .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h   |  13 ---
>  .../msm/disp/dpu1/catalog/dpu_5_4_sm6125.h    |   6 -
>  .../msm/disp/dpu1/catalog/dpu_6_0_sm8250.h    |  10 --
>  .../msm/disp/dpu1/catalog/dpu_6_2_sc7180.h    |   6 -
>  .../msm/disp/dpu1/catalog/dpu_6_3_sm6115.h    |   5 -
>  .../msm/disp/dpu1/catalog/dpu_6_4_sm6350.h    |   6 -
>  .../msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h   |   5 -
>  .../msm/disp/dpu1/catalog/dpu_6_9_sm6375.h    |   5 -
>  .../msm/disp/dpu1/catalog/dpu_7_0_sm8350.h    |  13 +--
>  .../msm/disp/dpu1/catalog/dpu_7_2_sc7280.h    |   9 +-
>  .../msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h  |  18 +--
>  .../msm/disp/dpu1/catalog/dpu_8_1_sm8450.h    |  13 +--
>  .../msm/disp/dpu1/catalog/dpu_9_0_sm8550.h    |  13 +--
>  .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h    |   3 -
>  .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 106 ++++++++++++------
>  .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h |  18 ++-
>  19 files changed, 87 insertions(+), 190 deletions(-)
> 
> -- 
> 2.39.2
> 


More information about the dri-devel mailing list