Message ID | 20211109155326.2608822-1-stefan.maetje@esd.eu (mailing list archive) |
---|---|
Headers | show |
Series | can: esd: add support for esd GmbH PCIe/402 CAN interface | expand |
Hello Marc, there has been no feedback for the patch version v5 since a week. I had the hope that the patch would be included in the upcoming 5.16 kernel. The patch v5 is basically only a version v4 rebased to the linux-can-next tree as of 2021-10-25. The v4 version was published on the linux-can mailing list on 2021-09-16 about 8 weeks ago. Since then I had no feedback on both of these patches. I'm not quite sure what I can do to make the inclusion process go forward. Any information on how to proceed is appreciated. Best regards, Stefan Mätje Am Dienstag, den 09.11.2021, 16:53 +0100 schrieb Stefan Mätje: > The purpose of this patch is to introduce a new CAN driver to support > the esd GmbH 402 family of CAN interface boards. The hardware design > is based on a CAN controller implemented in a FPGA attached to a > PCIe link. > > More information on these boards can be found following the links > included in the commit message. > > This patch supports all boards but will operate the CAN-FD capable > boards only in Classic-CAN mode. The CAN-FD support will be added > when the initial patch has stabilized. > > The patch is based on the previous work of my former colleague: > Link: https://lore.kernel.org/linux-can/1426592308-23817-1-git-send-email-thomas.koerper@esd.eu/ > > *Note*: scripts/checkpatch.pl still emits the following warnings: > - esd_402_pci-core.c:270: Possible unnecessary 'out of memory' message > This error message is there to tell the user that the DMA allocation > failed and not an allocation for normal kernel memory. > - esdacc.h:255: The irq_cnt pointer is still declared volatile and > this has a reason and is explained in detail in the header > referencing the exception noted in volatile-considered-harmful.rst. > > @Marc: Since v4 I've had no feedback on this patch proposal. Does this mean > that there are no objections left and the driver now is ready for inclusion > in the 5.16 main line kernel? > > Changes in v5: > - Added the initialization for netdev::dev_port as it is implemented > for another CAN driver. See > https://lore.kernel.org/linux-can/20211026180553.1953189-1-mailhol.vincent@wanadoo.fr/ > > Changes in v4: > - Fixed the build failure on ARCH=arm64 that was found by the Intel > kernel test robot. See > https://lore.kernel.org/linux-can/202109120608.7ZbQXkRh-lkp@intel.com/ > > Removed error monitoring code that used GCC's built-in compiler > functions for atomic access (__sync_* functions). GCC versions > after 9 (tested with "gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04)") > don't implement the intrinsic atomic as in-line code but call > "__aarch64_ldadd4_acq_rel" on arm64. This GCC support function > is not exported by the kernel and therefore the module build > post-processing fails. > > Removed that code because the error monitoring never showed a > problem during the development this year. > > > Changes in v3: > - Rework the bus-off restart logic in acc_set_mode() and > handle_core_msg_errstatechange() to call netif_wake_queue() from the > error active event. > - Changed pci402_init_card() to allocate a variable sized array of > struct acc_core using devm_kcalloc() instead of using a fixed size > array in struct pci402_card. > - Changed handle_core_msg_txabort() to release aborted TX frames in > TX FIFO order. > - Fixed the acc_close() function to abort all pending TX request in > esdACC controller. > - Fixed counting of transmit aborts in handle_core_msg_txabort(). > It is now done like in can_flush_echo_skb(). > - Fixed handle_core_msg_buserr() to create error frames including the > CAN RX and TX error counters that were missing. > - Fixed acc_set_bittiming() neither to touch LOM mode setting of > esdACC controller nor to enter or leave RESET mode. > The esdACC controller is going active on the CAN bus in acc_open() > and is going inactive (RESET mode) again in acc_close(). > - Rely on the automatic release of memory fetched by devm_kzalloc(). > But still use devm_irq_free() explicitely to make sure that the > interrupt handler is disconnected at that point. > This avoids a possible crash in non-MSI mode due to the IRQ > triggered by another device on the same PCI IRQ line. > - Changed to use DMA map API instead of pci_*_consistent compatibility > wrappers. > - Fixed stale email references and updated copyright information. > - Removed any traces of future CAN-FD support. > > > Changes in v2: > - Avoid warning triggered by -Wshift-count-overflow on architectures > with 32-bit dma_addr_t. > - Fixed Makefile not to build the kernel module always. Doing this > renamed esd402_pci.c to esd_402_pci-core.c as recommended by Marc. > > Stefan Mätje (2): > MAINTAINERS: add Stefan Mätje as maintainer for the esd electronics > GmbH CAN drivers > can: esd: add support for esd GmbH PCIe/402 CAN interface family > > MAINTAINERS | 8 + > drivers/net/can/Kconfig | 1 + > drivers/net/can/Makefile | 1 + > drivers/net/can/esd/Kconfig | 12 + > drivers/net/can/esd/Makefile | 7 + > drivers/net/can/esd/esd_402_pci-core.c | 502 ++++++++++++++++ > drivers/net/can/esd/esdacc.c | 777 +++++++++++++++++++++++++ > drivers/net/can/esd/esdacc.h | 380 ++++++++++++ > 8 files changed, 1688 insertions(+) > create mode 100644 drivers/net/can/esd/Kconfig > create mode 100644 drivers/net/can/esd/Makefile > create mode 100644 drivers/net/can/esd/esd_402_pci-core.c > create mode 100644 drivers/net/can/esd/esdacc.c > create mode 100644 drivers/net/can/esd/esdacc.h > > > base-commit: f659c5c7de7982018bb961cf1f9960e60f526bdf