[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210302215435.18286-1-dariobin@libero.it>
Date: Tue, 2 Mar 2021 22:54:29 +0100
From: Dario Binacchi <dariobin@...ero.it>
To: linux-kernel@...r.kernel.org
Cc: Alexander Stein <alexander.stein@...tec-electronic.com>,
Federico Vaga <federico.vaga@...il.com>,
Dario Binacchi <dariobin@...ero.it>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Marc Kleine-Budde <mkl@...gutronix.de>,
Oliver Hartkopp <socketcan@...tkopp.net>,
Vincent Mailhol <mailhol.vincent@...adoo.fr>,
Wolfgang Grandegger <wg@...ndegger.com>,
YueHaibing <yuehaibing@...wei.com>,
Zhang Qilong <zhangqilong3@...wei.com>,
linux-can@...r.kernel.org, netdev@...r.kernel.org
Subject: [PATCH v4 0/6] can: c_can: add support to 64 message objects
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 v4:
- Restore IF_RX interface.
- Add a comment to clarify why IF_RX interface is used instead of IF_TX.
- Use GENMASK() for setting msg_obj_rx_mask.
- Use BIT() for setting single bits and GENMASK() for setting masks.
Changes in v3:
- Use unsigned int instead of int as type of the msg_obj_* fields
in the c_can_priv structure.
- Replace (u64)1 with 1UL in msg_obj_rx_mask setting.
- Use unsigned int instead of int as type of the msg_obj_num field
in c_can_driver_data and c_can_pci_data structures.
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: add a comment about IF_RX interface's use
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 | 90 ++++++++++++++++----------
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, 78 insertions(+), 56 deletions(-)
--
2.17.1
Powered by blists - more mailing lists