diff --git a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c index fa0e6b7106..f3ecf6477e 100644 --- a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c +++ b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c @@ -502,9 +502,6 @@ static void s32k1xx_setfreeze(uint32_t base, uint32_t freeze); static uint32_t s32k1xx_waitmcr_change(uint32_t base, uint32_t mask, uint32_t target_state); -static uint32_t s32k1xx_waitesr2_change(uint32_t base, - uint32_t mask, - uint32_t target_state); /* Interrupt handling */ @@ -1216,26 +1213,6 @@ static void s32k1xx_setenable(uint32_t base, uint32_t enable) s32k1xx_waitmcr_change(base, CAN_MCR_LPMACK, 1); } -static uint32_t s32k1xx_waitesr2_change(uint32_t base, uint32_t mask, - uint32_t target_state) -{ - const uint32_t timeout = 1000; - uint32_t wait_ack; - - for (wait_ack = 0; wait_ack < timeout; wait_ack++) - { - uint32_t state = (getreg32(base + S32K1XX_CAN_ESR2_OFFSET) & mask); - if (state == target_state) - { - return true; - } - - up_udelay(10); - } - - return false; -} - static void s32k1xx_setfreeze(uint32_t base, uint32_t freeze) { uint32_t regval; @@ -1395,9 +1372,7 @@ static void s32k1xx_txavail_work(void *arg) * packet. */ - if (s32k1xx_waitesr2_change(priv->base, - (CAN_ESR2_IMB | CAN_ESR2_VPS), - (CAN_ESR2_IMB | CAN_ESR2_VPS))) + if (!s32k1xx_txringfull(priv)) { /* No, there is space for another transfer. Poll the network for * new XMIT data. diff --git a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c index 3e17b52ee0..8b169af637 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c +++ b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c @@ -670,9 +670,6 @@ static void s32k3xx_setfreeze(uint32_t base, uint32_t freeze); static uint32_t s32k3xx_waitmcr_change(uint32_t base, uint32_t mask, uint32_t target_state); -static uint32_t s32k3xx_waitesr2_change(uint32_t base, - uint32_t mask, - uint32_t target_state); /* Interrupt handling */ @@ -1379,26 +1376,6 @@ static void s32k3xx_setenable(uint32_t base, uint32_t enable) s32k3xx_waitmcr_change(base, CAN_MCR_LPMACK, 1); } -static uint32_t s32k3xx_waitesr2_change(uint32_t base, uint32_t mask, - uint32_t target_state) -{ - const uint32_t timeout = 1000; - uint32_t wait_ack; - - for (wait_ack = 0; wait_ack < timeout; wait_ack++) - { - uint32_t state = (getreg32(base + S32K3XX_CAN_ESR2_OFFSET) & mask); - if (state == target_state) - { - return true; - } - - up_udelay(10); - } - - return false; -} - static void s32k3xx_setfreeze(uint32_t base, uint32_t freeze) { uint32_t regval; @@ -1590,9 +1567,7 @@ static void s32k3xx_txavail_work(void *arg) * packet. */ - if (s32k3xx_waitesr2_change(priv->base, - (CAN_ESR2_IMB | CAN_ESR2_VPS), - (CAN_ESR2_IMB | CAN_ESR2_VPS))) + if (!s32k3xx_txringfull(priv)) { /* No, there is space for another transfer. Poll the network for * new XMIT data.