Having an explicit init of interrupt fields to -1 for not existing IRQs makes it easier to forget and/or miss such initialisation, resulting in a wrong interrupt definition. Instead shift all IRQ indices to turn '0' to be the non-existing IRQ. Dependencies: [1] [1] https://patchwork.freedesktop.org/series/118088/ Changes since v4: - Really add a fix for writeback code (got missing in the previous series) - Reworked several printk formats strings to always use IRQ=[%d, %d] (Marijn) Changes since v3: - Added a fix for writeback code - Fixed articles in commit message (Marijn) - Dropped dpu_hw_intr argument of dpu_core_irq_is_valid() (Marijn) - Reworked REG_IRQ_BIT / REG_IRQ_MASK / REG_IRQ_IDX (Marijn) - Fixed irq format strings (Marijn) - Also updated all trace points to use reg/bit pairs instead of raw index Changes since v2: - Added the dpu_core_irq_is_valid() helper - Replaced irq_idx with reg/big pairs in kernel output - Readded -1 when accessing the IRQ structure. Changes since v1: - Rebased on top of msm-next-lumag and updated IRQ rework series. Dmitry Baryshkov (8): drm/msm/dpu: fix the irq index in dpu_encoder_phys_wb_wait_for_commit_done drm/msm/dpu: remove irq_idx argument from IRQ callbacks drm/msm/dpu: extract dpu_core_irq_is_valid() helper drm/msm/dpu: add helper to get IRQ-related data drm/msm/dpu: make the irq table size static drm/msm/dpu: stop using raw IRQ indices in the kernel output drm/msm/dpu: stop using raw IRQ indices in the kernel traces drm/msm/dpu: shift IRQ indices by 1 .../msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 4 - .../msm/disp/dpu1/catalog/dpu_4_0_sdm845.h | 4 - .../msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 8 - .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 10 -- .../msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 3 - .../msm/disp/dpu1/catalog/dpu_6_0_sm8250.h | 8 - .../msm/disp/dpu1/catalog/dpu_6_2_sc7180.h | 3 - .../msm/disp/dpu1/catalog/dpu_6_3_sm6115.h | 1 - .../msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 3 - .../msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h | 1 - .../msm/disp/dpu1/catalog/dpu_6_9_sm6375.h | 1 - .../msm/disp/dpu1/catalog/dpu_7_0_sm8350.h | 8 - .../msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 6 - .../msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h | 13 -- .../msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 12 -- .../msm/disp/dpu1/catalog/dpu_9_0_sm8550.h | 12 -- drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h | 8 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 41 +++-- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 6 +- .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 8 +- .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 4 +- .../drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 19 +-- .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 14 +- .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 160 +++++++++++------- .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h | 20 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 72 ++++---- 26 files changed, 195 insertions(+), 254 deletions(-) -- 2.39.2