Message ID | 20231219115933.1480290-5-ioana.ciornei@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 77c42a3b0a3a68408976492d9e435a5adfeca5aa |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | dpaa2-switch: small improvements | expand |
On Tue, Dec 19, 2023 at 01:59:29PM +0200, Ioana Ciornei wrote: > Commit 84cba72956fd ("dpaa2-switch: integrate the MAC endpoint support") > added support for MAC endpoints in the dpaa2-switch driver but omitted > to add the ENDPOINT_CHANGED irq to the list of interrupt sources. Fix > this by extending the list of events which can raise an interrupt by > extending the mask passed to the dpsw_set_irq_mask() firmware API. > > There is no user visible impact even without this patch since whenever a > switch interface is connected/disconnected from an endpoint both events > are set (LINK_CHANGED and ENDPOINT_CHANGED) and, luckily, the > LINK_CHANGED event could actually raise the interrupt and thus get the > MAC/PHY SW configuration started. > > Even with this, it's better to just not rely on undocumented firmware > behavior which can change. > > Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> > --- > Changes in v3: > - removed the fixes tag > Changes in v2: > - add a bit more info in the commit message Thanks for the updates. Reviewed-by: Simon Horman <horms@kernel.org>
diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c index 0f9103b13438..a355295468bd 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c @@ -1550,9 +1550,9 @@ static irqreturn_t dpaa2_switch_irq0_handler_thread(int irq_num, void *arg) static int dpaa2_switch_setup_irqs(struct fsl_mc_device *sw_dev) { + u32 mask = DPSW_IRQ_EVENT_LINK_CHANGED | DPSW_IRQ_EVENT_ENDPOINT_CHANGED; struct device *dev = &sw_dev->dev; struct ethsw_core *ethsw = dev_get_drvdata(dev); - u32 mask = DPSW_IRQ_EVENT_LINK_CHANGED; struct fsl_mc_device_irq *irq; int err;
Commit 84cba72956fd ("dpaa2-switch: integrate the MAC endpoint support") added support for MAC endpoints in the dpaa2-switch driver but omitted to add the ENDPOINT_CHANGED irq to the list of interrupt sources. Fix this by extending the list of events which can raise an interrupt by extending the mask passed to the dpsw_set_irq_mask() firmware API. There is no user visible impact even without this patch since whenever a switch interface is connected/disconnected from an endpoint both events are set (LINK_CHANGED and ENDPOINT_CHANGED) and, luckily, the LINK_CHANGED event could actually raise the interrupt and thus get the MAC/PHY SW configuration started. Even with this, it's better to just not rely on undocumented firmware behavior which can change. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> --- Changes in v3: - removed the fixes tag Changes in v2: - add a bit more info in the commit message drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)