[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<BYAPR12MB30158345E1327BD4FFECC8C6A9F8A@BYAPR12MB3015.namprd12.prod.outlook.com>
Date: Fri, 31 Oct 2025 13:07:17 +0000
From: Ron Li <xiangrongl@...dia.com>
To: "hdegoede@...hat.com" <hdegoede@...hat.com>,
"ilpo.jarvinen@...ux.intel.com" <ilpo.jarvinen@...ux.intel.com>, Vadim
Pasternak <vadimp@...dia.com>, "alok.a.tiwari@...cle.com"
<alok.a.tiwari@...cle.com>, Khalil Blaiech <kblaiech@...dia.com>, David
Thompson <davthompson@...dia.com>
CC: "platform-driver-x86@...r.kernel.org"
<platform-driver-x86@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-crypto@...r.kernel.org"
<linux-crypto@...r.kernel.org>
Subject: RE: [PATCH v3 0/3] platform/mellanox: Add mlxbf_pka driver for
BlueField DPU
Gentle reminder.
Thanks
Ron
> -----Original Message-----
> From: Ron Li <xiangrongl@...dia.com>
> Sent: Friday, September 19, 2025 3:51 PM
> To: hdegoede@...hat.com; ilpo.jarvinen@...ux.intel.com; Vadim Pasternak
> <vadimp@...dia.com>; alok.a.tiwari@...cle.com; Khalil Blaiech
> <kblaiech@...dia.com>; David Thompson <davthompson@...dia.com>
> Cc: platform-driver-x86@...r.kernel.org; linux-kernel@...r.kernel.org; linux-
> crypto@...r.kernel.org; Ron Li <xiangrongl@...dia.com>
> Subject: [PATCH v3 0/3] platform/mellanox: Add mlxbf_pka driver for
> BlueField DPU
>
> This patch series adds the mlxbf_pka driver to support the BlueField DPU
> Public Key Acceleration (PKA) hardware. The three patches in this series are:
>
> Patch 1: Base implementation that wires up the platform driver and the
> device/shim layer:
>
> Patch 2: Add userspace PKA ring device interface.
>
> Patch 3: Add True Random Number Generator support to the BlueField PKA
> driver
> and wire it into the HWRNG core to feed kernel entropy (/dev/hwrng).
>
> Testing:
> - Kernel builds for ARM64
> - Tested ARM64 build on several Mellanox BlueField 2 and 3 SoC boards that
> include the PKA hardware.
> - PKA shim devices probe and remove successfully
> - The PKA ring devices presented at /dev/mlxbf_pka/.
> - The PKA device validation test passed.
> - /dev/hwrng present; rng_available lists mlxbf_pka
> - Generating random numbers succeeds on BlueField platforms
>
> Signed-off-by: Ron Li <xiangrongl@...dia.com>
> ---
> v2->v3:
> - Split the source code into three patches to improve the readability. Each
> patch introduces new device features and functions.
> - The latest kernel APIs are used for each patch in the series.
> - Updated some variable names to improve the readability.
> - Fixed the logic in the mlxbf_pka_ring_mem_addr() function.
> - Update all the pr_xxx() to dev_xxx(). Except for one pr_xxx() print when
> the PKA device is not available yet.
>
> v1->v2:
> For patch 0001:
> - Move ioctl related definition to include/uapi/linux/mlxbf-pka.h.
> - Changed the ioctl number from 0xB7 to 0xBF, to avoid conflict with other
> drivers.
> - Remove interrupt related code, since the PKA driver uses polling instread
> of interrupt.
> - Use devm_kcalloc() to allocate memory with calculated length.
> - Use read_poll_timeout() to handle infinite loop checking.
> - Use lockdep_assert_held() to enforce serialization.
> - Create mlxbf_pka_drv_verify_bootup_status() to handle duplicated code.
> - Remove error handling in ***_remove_device functions since nothing useful
> can be done.
> - Fix the rollbacks in some functions by adding proper goto rollback path.
> - Updated all comments to under 80 characters per line.
> - Upgrade some constant with kernel definitions.
> - Include missing kernel libraries.
> - Update some pr_xxx() to dev_xxx().
> - Use FIELD_PREP and GENMASK to handle mask and offset of register access.
> - Refactor some code snippet to improve readability.
> - Update the comments of some functions and type definitions.
> - The FRO in the source code stands for Free Running Oscillator.
> - Fix typos.
> ---
>
> Ron Li (3):
> platform/mellanox/mlxbf_pka: Add core BlueField PKA platform driver
> platform/mellanox/mlxbf_pka: Add userspace PKA ring device interface
> platform/mellanox/mlxbf_pka: Add TRNG support and hwrng integration
>
> .../ABI/testing/sysfs-platform-mellanox-pka | 35 +
> .../userspace-api/ioctl/ioctl-number.rst | 2 +
> MAINTAINERS | 8 +
> drivers/platform/mellanox/Kconfig | 10 +
> drivers/platform/mellanox/Makefile | 1 +
> drivers/platform/mellanox/mlxbf_pka/Makefile | 12 +
> .../mellanox/mlxbf_pka/mlxbf_pka_dev.c | 481 ++++++++
> .../mellanox/mlxbf_pka/mlxbf_pka_dev.h | 327 ++++++
> .../mellanox/mlxbf_pka/mlxbf_pka_drv.c | 1016 +++++++++++++++++
> .../mellanox/mlxbf_pka/mlxbf_pka_ring.c | 563 +++++++++
> .../mellanox/mlxbf_pka/mlxbf_pka_ring.h | 255 +++++
> .../mellanox/mlxbf_pka/mlxbf_pka_trng.c | 874 ++++++++++++++
> .../mellanox/mlxbf_pka/mlxbf_pka_trng.h | 152 +++
> include/uapi/linux/mlxbf-pka.h | 112 ++
> 14 files changed, 3848 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-platform-mellanox-
> pka
> create mode 100644 drivers/platform/mellanox/mlxbf_pka/Makefile
> create mode 100644 drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.c
> create mode 100644 drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_dev.h
> create mode 100644 drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_drv.c
> create mode 100644 drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_ring.c
> create mode 100644
> drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_ring.h
> create mode 100644
> drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_trng.c
> create mode 100644
> drivers/platform/mellanox/mlxbf_pka/mlxbf_pka_trng.h
> create mode 100644 include/uapi/linux/mlxbf-pka.h
>
> --
> 2.34.1
Powered by blists - more mailing lists