Skip to contentSkip to conversation

85d2a31fe4d9 ("media: rkisp1: Drop IRQF_SHARED") breaks ISP1 on RK3399

bug? Mikhail Rudenko 3 participants 3 messages Dec 17, 2023 – Dec 18, 2023 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi!

Rockchip ISP1 is broken for me on a custom rk3399-based board in the latest media_stage. Relevant dmesg fragment:

rkisp1 ff910000.isp0: Adding to iommu group 2
genirq: Flags mismatch irq 42. 00000004 (rkisp1) vs. 00000084 (ff914000.iommu) rkisp1 ff910000.isp0: request irq failed: -16
rkisp1: probe of ff910000.isp0 failed with error -16
rkisp1 ff920000.isp1: Adding to iommu group 3
genirq: Flags mismatch irq 43. 00000004 (rkisp1) vs. 00000084 (ff924000.iommu) rkisp1 ff920000.isp1: request irq failed: -16
rkisp1: probe of ff920000.isp1 failed with error -16

According to rk3399.dtsi, isp interrupts are shared with correponding mmu interrupts (isp0 with isp0_mmu, isp1 with isp1_mmu), so the subject commit breaks devm_request_irq. Reverting it fixes the issue for me.

If I'm just missing something, sorry for the noise.

--
Best regards,
Mikhail Rudenko

#1 lore raw

Hi Mikhail,

Quoted 14 lines · Mikhail Rudenko

Hi!

Rockchip ISP1 is broken for me on a custom rk3399-based board in the latest media_stage. Relevant dmesg fragment:

rkisp1 ff910000.isp0: Adding to iommu group 2
genirq: Flags mismatch irq 42. 00000004 (rkisp1) vs. 00000084 (ff914000.iommu) rkisp1 ff910000.isp0: request irq failed: -16
rkisp1: probe of ff910000.isp0 failed with error -16
rkisp1 ff920000.isp1: Adding to iommu group 3
genirq: Flags mismatch irq 43. 00000004 (rkisp1) vs. 00000084 (ff924000.iommu) rkisp1 ff920000.isp1: request irq failed: -16
rkisp1: probe of ff920000.isp1 failed with error -16

Quoted 5 lines

According to rk3399.dtsi, isp interrupts are shared with correponding mmu interrupts (isp0 with isp0_mmu, isp1 with isp1_mmu), so the subject commit breaks devm_request_irq. Reverting it fixes the issue for me.

If I'm just missing something, sorry for the noise.

You seem to be right. I don't know how I managed to miss that.

Tomi, would a revert of the offending commit be enough, or are there other issues introduced by the other changes in the rkisp1 driver on top of the shared IRQ drop that will need to be handled too ?

Signature · 3 lines
Regards,

Laurent Pinchart
#2 lore raw

Hi Mikhail,

Quoted 21 lines · Laurent Pinchart

Hi Mikhail,

Quoted 18 lines · Mikhail Rudenko

Hi!

Rockchip ISP1 is broken for me on a custom rk3399-based board in the latest media_stage. Relevant dmesg fragment:

rkisp1 ff910000.isp0: Adding to iommu group 2
genirq: Flags mismatch irq 42. 00000004 (rkisp1) vs. 00000084 (ff914000.iommu) rkisp1 ff910000.isp0: request irq failed: -16
rkisp1: probe of ff910000.isp0 failed with error -16
rkisp1 ff920000.isp1: Adding to iommu group 3
genirq: Flags mismatch irq 43. 00000004 (rkisp1) vs. 00000084 (ff924000.iommu) rkisp1 ff920000.isp1: request irq failed: -16
rkisp1: probe of ff920000.isp1 failed with error -16

According to rk3399.dtsi, isp interrupts are shared with correponding mmu interrupts (isp0 with isp0_mmu, isp1 with isp1_mmu), so the subject commit breaks devm_request_irq. Reverting it fixes the issue for me.

Quoted 7 lines
Quoted 1 line

If I'm just missing something, sorry for the noise.

You seem to be right. I don't know how I managed to miss that.

Tomi, would a revert of the offending commit be enough, or are there other issues introduced by the other changes in the rkisp1 driver on top of the shared IRQ drop that will need to be handled too ?

Thanks for reporting this. I have sent a revert, and a fix for the shared irq handling.

Tomi