[QEMU][PATCH v6 0/4] Introduce Xilinx Versal CANFD

Vikram Garhwal posted 4 patches 11 months ago
Only 3 patches received!
MAINTAINERS                          |    2 +-
docs/system/arm/xlnx-versal-virt.rst |   31 +
hw/arm/xlnx-versal-virt.c            |   53 +
hw/arm/xlnx-versal.c                 |   37 +
hw/net/can/meson.build               |    1 +
hw/net/can/trace-events              |    7 +
hw/net/can/xlnx-versal-canfd.c       | 2107 ++++++++++++++++++++++++++
include/hw/arm/xlnx-versal.h         |   12 +
include/hw/net/xlnx-versal-canfd.h   |   87 ++
tests/qtest/meson.build              |    1 +
tests/qtest/xlnx-canfd-test.c        |  423 ++++++
11 files changed, 2760 insertions(+), 1 deletion(-)
create mode 100644 hw/net/can/xlnx-versal-canfd.c
create mode 100644 include/hw/net/xlnx-versal-canfd.h
create mode 100644 tests/qtest/xlnx-canfd-test.c
[QEMU][PATCH v6 0/4] Introduce Xilinx Versal CANFD
Posted by Vikram Garhwal 11 months ago
Hi,
This patch implements CANFD controller for xlnx-versal-virt machine. There are
two controllers CANFD0@0xFF06_0000 and CANFD1@0xFF07_0000 are connected to the
machine.

Also, added basic qtests for data exchange between both the controllers in
various supported configs.

Changelog:
v5->v6:
    Add formatting related comments from Francisco.
    Add "review-by" for all remaining patches.
v4->v5:
    Fix Linux dtb connections for CANFD.
    Address feedback from Francisco for xlnx-versal-canfd.c file.
v3->v4:
    Address formatting related feedback from Peter.
    Correct dlc byte data storing if dlc is not a multiple of 4.
    Remove unnecessary LOG_GUEST_ERROR.
    Remove instance_finalize(canfd_finalize) function.
    Remove unused member of struct XlnxVersalCANFDState.

v2->v3:
    Corrected reg2frame().
    Added assert to prevent out of bound cases.
    Replace tx_id link list with GSList and removed sorting function.
    Replaced PTIMER_POLICY_LEGACY with proper timer policies.
    Corrected minor code format issues.

v1->v2
    Update xlnx-versal-virt.rst with CANFD examples and add this in 03/05 patch.
    Addressed comments for patch 02/05 and 03/05.
    Add reviewed-by tags for patch 01/05, 04/05 and 05/05.
    Change commit message for patch 02/05.
    Add SPDX license for Qtest.

Regards,
Vikram

Vikram Garhwal (4):
  MAINTAINERS: Include canfd tests under Xilinx CAN
  hw/net/can: Introduce Xilinx Versal CANFD controller
  xlnx-versal: Connect Xilinx VERSAL CANFD controllers
  tests/qtest: Introduce tests for Xilinx VERSAL CANFD controller

 MAINTAINERS                          |    2 +-
 docs/system/arm/xlnx-versal-virt.rst |   31 +
 hw/arm/xlnx-versal-virt.c            |   53 +
 hw/arm/xlnx-versal.c                 |   37 +
 hw/net/can/meson.build               |    1 +
 hw/net/can/trace-events              |    7 +
 hw/net/can/xlnx-versal-canfd.c       | 2107 ++++++++++++++++++++++++++
 include/hw/arm/xlnx-versal.h         |   12 +
 include/hw/net/xlnx-versal-canfd.h   |   87 ++
 tests/qtest/meson.build              |    1 +
 tests/qtest/xlnx-canfd-test.c        |  423 ++++++
 11 files changed, 2760 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/can/xlnx-versal-canfd.c
 create mode 100644 include/hw/net/xlnx-versal-canfd.h
 create mode 100644 tests/qtest/xlnx-canfd-test.c

-- 
2.17.1
Re: [QEMU][PATCH v6 0/4] Introduce Xilinx Versal CANFD
Posted by Peter Maydell 11 months ago
On Tue, 30 May 2023 at 22:12, Vikram Garhwal <vikram.garhwal@amd.com> wrote:
>
> Hi,
> This patch implements CANFD controller for xlnx-versal-virt machine. There are
> two controllers CANFD0@0xFF06_0000 and CANFD1@0xFF07_0000 are connected to the
> machine.
>
> Also, added basic qtests for data exchange between both the controllers in
> various supported configs.

Applied to target-arm.next, thanks.

PS: something weird happened to the threading on this series: only
patches 1 to 3 were threaded under the cover letter:
https://lore.kernel.org/qemu-devel/20230530210703.6707-1-vikram.garhwal@amd.com/
Patch 4 arrived but not threaded correctly:
https://lore.kernel.org/qemu-devel/20230530212259.7111-1-vikram.garhwal@amd.com/

This meant that patchew and other tools didn't handle the patchset correctly.

-- PMM