drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable
authorNikhil Devshatwar <nikhil.nd@ti.com>
Tue, 6 Jun 2023 08:21:42 +0000 (13:51 +0530)
committerJavier Martinez Canillas <javierm@redhat.com>
Mon, 10 Jul 2023 12:21:35 +0000 (14:21 +0200)
commit45a4ff624f155314b6188d7cb53e80f3861beb0b
tree511a964f54cfa26be39fdd57a8d1e889101451c1
parentc932ced6b58524eeb948ff252f6512cd6bcb9d9f
drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable

When removing the tidss driver, there is a warning reported by
kernel about an unhandled interrupt for mhdp driver.

[   43.238895] irq 31: nobody cared (try booting with the "irqpoll" option)
... [snipped backtrace]
[   43.330735] handlers:
[   43.333020] [<000000005367c4f9>] irq_default_primary_handler threaded [<000000007e02b601>]
cdns_mhdp_irq_handler [cdns_mhdp8546]
[   43.344607] Disabling IRQ #31

This happens because as part of cdns_mhdp_bridge_hpd_disable, driver tries
to disable the interrupts. While disabling the SW_EVENT interrupts,
it accidentally enables the MBOX interrupts, which are not handled by
the driver.

Fix this with a read-modify-write to update only required bits.
Use the enable / disable function as required in other places.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Reviewed-by: Swapnil Jakhade <sjakhade@cadence.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230606082142.23760-9-a-bhatia1@ti.com
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c