can: m_can: Disable unused interrupts
There are a number of interrupts that are not used by the driver at the moment. Disable all of these. Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Link: https://lore.kernel.org/all/20230315110546.2518305-5-msp@baylibre.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
committed by
Marc Kleine-Budde
parent
71725bfdbb
commit
897e663218
@@ -1261,6 +1261,7 @@ static int m_can_set_bittiming(struct net_device *dev)
|
||||
static int m_can_chip_config(struct net_device *dev)
|
||||
{
|
||||
struct m_can_classdev *cdev = netdev_priv(dev);
|
||||
u32 interrupts = IR_ALL_INT;
|
||||
u32 cccr, test;
|
||||
int err;
|
||||
|
||||
@@ -1270,6 +1271,11 @@ static int m_can_chip_config(struct net_device *dev)
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Disable unused interrupts */
|
||||
interrupts &= ~(IR_ARA | IR_ELO | IR_DRX | IR_TEFF | IR_TEFW | IR_TFE |
|
||||
IR_TCF | IR_HPM | IR_RF1F | IR_RF1W | IR_RF1N |
|
||||
IR_RF0F | IR_RF0W);
|
||||
|
||||
m_can_config_endisable(cdev, true);
|
||||
|
||||
/* RX Buffer/FIFO Element Size 64 bytes data field */
|
||||
@@ -1364,15 +1370,13 @@ static int m_can_chip_config(struct net_device *dev)
|
||||
m_can_write(cdev, M_CAN_TEST, test);
|
||||
|
||||
/* Enable interrupts */
|
||||
if (!(cdev->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING))
|
||||
if (!(cdev->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) {
|
||||
if (cdev->version == 30)
|
||||
m_can_write(cdev, M_CAN_IE, IR_ALL_INT &
|
||||
~(IR_ERR_LEC_30X));
|
||||
interrupts &= ~(IR_ERR_LEC_30X);
|
||||
else
|
||||
m_can_write(cdev, M_CAN_IE, IR_ALL_INT &
|
||||
~(IR_ERR_LEC_31X));
|
||||
else
|
||||
m_can_write(cdev, M_CAN_IE, IR_ALL_INT);
|
||||
interrupts &= ~(IR_ERR_LEC_31X);
|
||||
}
|
||||
m_can_write(cdev, M_CAN_IE, interrupts);
|
||||
|
||||
/* route all interrupts to INT0 */
|
||||
m_can_write(cdev, M_CAN_ILS, ILS_ALL_INT0);
|
||||
|
||||
Reference in New Issue
Block a user