]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
vdpa/octeon_ep: handle device config change events
authorSatha Rao <skoteshwar@marvell.com>
Fri, 3 Jan 2025 15:31:35 +0000 (21:01 +0530)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 27 Jan 2025 14:39:25 +0000 (09:39 -0500)
The first interrupt of the device is used to notify the host about
device configuration changes, such as link status updates. The ISR
configuration area is updated to indicate a config change event when
triggered.

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Message-Id: <20250103153226.1933479-2-sthotton@marvell.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/octeon_ep/octep_vdpa_main.c

index e9c3e57b321f85583523c261a8406873f0cd8555..4d56be64ae56205d104831a86c716febed84faab 100644 (file)
@@ -71,6 +71,14 @@ static irqreturn_t octep_vdpa_intr_handler(int irq, void *data)
                }
        }
 
+       /* Check for config interrupt. Config uses the first interrupt */
+       if (unlikely(irq == oct_hw->irqs[0] && ioread8(oct_hw->isr))) {
+               iowrite8(0, oct_hw->isr);
+
+               if (oct_hw->config_cb.callback)
+                       oct_hw->config_cb.callback(oct_hw->config_cb.private);
+       }
+
        return IRQ_HANDLED;
 }