History log of /src/sys/arch/arm/sunxi/sunxi_can.c |
Revision | | Date | Author | Comments |
1.13 |
| 19-Nov-2022 |
yamt | sunxi_can.c: fix build with MBUFTRACE
|
1.12 |
| 27-Sep-2022 |
skrll | malloc -> kmem
|
1.11 |
| 21-Sep-2022 |
bouyer | Just skipping sunxi_can_rx_intr() if the DATA_OR flag is set isn't enough to properly recover from overrrun in all case. So go the linux way and reset the hardware.
Don't write SUNXI_CAN_INT_RX_FLAG to SUNXI_CAN_INT_REG, this could race with hardware and clear the interrupt while there are new packets received. SUNXI_CAN_INT_RX_FLAG clears automatically when all pending packets have been read, so when no more packets are pending just read SUNXI_CAN_INT_REG again and process other interrupts, if any (or RX if there are new packets pending). With this change it seems I get overruns less often in my use case.
|
1.10 |
| 19-Sep-2022 |
bouyer | Don't process RX if SUNXI_CAN_INT_DATA_OR is pending. Seems to fix occasional RX stalls
|
1.9 |
| 18-Sep-2022 |
thorpej | Eliminate use of IFF_OACTIVE.
|
1.8 |
| 27-Jan-2021 |
thorpej | Rename of_match_compat_data() to of_compatible_match(). Similarly, rename of_search_compatible() to of_compatible_lookup().
Standardize on of_compatible_match() for driver matching, and adapt all call sites.
|
1.7 |
| 27-Jan-2021 |
thorpej | Use DEVICE_COMPAT_EOL.
|
1.6 |
| 25-Jan-2021 |
thorpej | Since we're using designated initialisers for compat data, we should use a completely empty initializer for the sentinel.
|
1.5 |
| 18-Jan-2021 |
thorpej | Remove "struct of_compat_data" and replace its usage with "struct device_compatible_entry"; they are ABI-compatible.
Fix several "loses const qualifier" bugs encountered during this conversion.
|
1.4 |
| 15-Jan-2021 |
jmcneill | use fdtbus_intr_establish_xname
|
1.3 |
| 29-Jan-2020 |
thorpej | branches: 1.3.6; Adopt <net/if_stats.h>.
|
1.2 |
| 21-Oct-2019 |
msaitoh | branches: 1.2.2; if_ipackets is incremented in can_input(), so don't increment it in sunxi_can_rx_intr to prevent double count. OK'd by bouyer@.
|
1.1 |
| 07-Mar-2018 |
bouyer | branches: 1.1.2; 1.1.4; 1.1.8; fdt-ise the allwinner can and lradc drivers.
|
1.1.8.2 |
| 24-Sep-2022 |
martin | Pull up following revision(s) (requested by bouyer in ticket #1533):
sys/arch/arm/sunxi/sunxi_can.c: revision 1.10,1.11 (via patch)
Don't process RX if SUNXI_CAN_INT_DATA_OR is pending. Seems to fix occasional RX stalls
Just skipping sunxi_can_rx_intr() if the DATA_OR flag is set isn't enough to properly recover from overrrun in all case. So go the linux way and reset the hardware.
Don't write SUNXI_CAN_INT_RX_FLAG to SUNXI_CAN_INT_REG, this could race with hardware and clear the interrupt while there are new packets received. SUNXI_CAN_INT_RX_FLAG clears automatically when all pending packets have been read, so when no more packets are pending just read SUNXI_CAN_INT_REG again and process other interrupts, if any (or RX if there are new packets pending).
With this change it seems I get overruns less often in my use case.
|
1.1.8.1 |
| 23-Oct-2019 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #371):
sys/dev/ic/i82586.c: revision 1.86 sys/arch/arm/ep93xx/epe.c: revision 1.45 sys/dev/pcmcia/if_cnw.c: revision 1.66 sys/arch/mac68k/nubus/if_netdock_nubus.c: revision 1.31 sys/arch/arm/sunxi/sunxi_can.c: revision 1.2 sys/dev/qbus/if_il.c: revision 1.36 sys/dev/pcmcia/if_ray.c: revision 1.95 sys/dev/qbus/if_qt.c: revision 1.24
if_ipackets is incremented in can_input(), so don't increment it in sunxi_can_rx_intr to prevent double count. OK'd by bouyer@.
if_percpuq(9) automatically increments if_ipackets, so don't increment it in the driver itself to prevent double count.
|
1.1.4.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.1.2.2 |
| 15-Mar-2018 |
pgoyette | Synch with HEAD
|
1.1.2.1 |
| 07-Mar-2018 |
pgoyette | file sunxi_can.c was added on branch pgoyette-compat on 2018-03-15 09:12:02 +0000
|
1.2.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.3.6.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|