[PATCH v2 0/6] can: c_can: add support to 64 message objects

From: Dario Binacchi
Date: Thu Feb 25 2021 - 16:54:55 EST



The D_CAN controller supports up to 128 messages. Until now the driver
only managed 32 messages although Sitara processors and DRA7 SOC can
handle 64.

The series was tested on a beaglebone board.

Note:
I have not changed the type of tx_field (belonging to the c_can_priv
structure) to atomic64_t because I think the atomic_t type has size
of at least 32 bits on x86 and arm, which is enough to handle 64
messages.
http://marc.info/?l=linux-can&m=139746476821294&w=2 reports the results
of tests performed just on x86 and arm architectures.

Changes in v2:
- Fix compiling error reported by kernel test robot.
- Add Reported-by tag.
- Pass larger size to alloc_candev() routine to avoid an additional
memory allocation/deallocation.
- Add message objects number to PCI driver data.

Dario Binacchi (6):
can: c_can: remove unused code
can: c_can: fix indentation
can: c_can: fix control interface used by c_can_do_tx
can: c_can: use 32-bit write to set arbitration register
can: c_can: prepare to up the message objects number
can: c_can: add support to 64 message objects

drivers/net/can/c_can/c_can.c | 77 +++++++++++++++-----------
drivers/net/can/c_can/c_can.h | 32 +++++------
drivers/net/can/c_can/c_can_pci.c | 6 +-
drivers/net/can/c_can/c_can_platform.c | 6 +-
4 files changed, 68 insertions(+), 53 deletions(-)

--
2.17.1