[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1f55ca18-a9b8-4d91-bea5-4ca690f52e07@amd.com>
Date: Mon, 4 Dec 2023 16:55:15 +0530
From: "Gupta, Nipun" <nipun.gupta@....com>
To: gregkh@...uxfoundation.org, maz@...nel.org, tglx@...utronix.de,
jgg@...pe.ca, linux-kernel@...r.kernel.org
Cc: git@....com, harpreet.anand@....com,
pieter.jansen-van-vuuren@....com, nikhil.agarwal@....com,
michal.simek@....com, abhijit.gangurde@....com,
srivatsa@...il.mit.edu
Subject: Re: [PATCH v6] cdx: add MSI support for CDX bus
On 11/16/2023 6:26 PM, Nipun Gupta wrote:
> Add CDX-MSI domain per CDX controller with gic-its domain as
> a parent, to support MSI for CDX devices. CDX devices allocate
> MSIs from the CDX domain. Also, introduce APIs to alloc and free
> IRQs for CDX domain.
>
> In CDX subsystem firmware is a controller for all devices and
> their configuration. CDX bus controller sends all the write_msi_msg
> commands to firmware running on RPU and the firmware interfaces with
> actual devices to pass this information to devices
>
> Since, CDX controller is the only way to communicate with the Firmware
> for MSI write info, CDX domain per controller required in contrast to
> having a CDX domain per device.
>
> Co-developed-by: Nikhil Agarwal <nikhil.agarwal@....com>
> Signed-off-by: Nikhil Agarwal <nikhil.agarwal@....com>
> Co-developed-by: Abhijit Gangurde <abhijit.gangurde@....com>
> Signed-off-by: Abhijit Gangurde <abhijit.gangurde@....com>
> Signed-off-by: Nipun Gupta <nipun.gupta@....com>
> Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@....com>
> Tested-by: Nikhil Agarwal <nikhil.agarwal@....com>
> ---
>
> Changes v5->v6:
> - Rebased on Linux 6.7-rc1
>
> Changes v4->v5:
> - Use GENERIC_MSI_IRQ instead of deprecated GENERIC_MSI_IRQ_DOMAIN config option.
> - Remove CDX bus dependency on MSI support (CDX can compile without MSI as well).
> - Remove un-necessary debug logs
> - Remove un-necessay initialization of dev_id in msi_prepare
> - Add required msi enable and disable APIs
>
> Changes v3->v4:
> - Rebased on Linux 6.6-rc1
>
> Changes v2->v3:
> - Rebased on Linux 6.5-rc1
> - Used FW provided 'msi_dev_id' as device ID for GIC instead of 'req_id'.
>
> Changes v1->v2:
> - fixed scenario where msi write was called asyncronously in
> an atomic context, by using irq_chip_(un)lock, and using sync
> MCDI API for write MSI message.
> - fixed broken Signed-off-by chain.
>
> drivers/cdx/Makefile | 4 +
> drivers/cdx/cdx.c | 9 +
> drivers/cdx/cdx.h | 14 +-
> drivers/cdx/cdx_msi.c | 215 ++++++++++++++++++++++++
> drivers/cdx/controller/Kconfig | 1 +
> drivers/cdx/controller/cdx_controller.c | 27 +++
> drivers/cdx/controller/mc_cdx_pcol.h | 64 +++++++
> drivers/cdx/controller/mcdi_functions.c | 33 +++-
> drivers/cdx/controller/mcdi_functions.h | 33 ++++
> include/linux/cdx/cdx_bus.h | 76 ++++++++-
> kernel/irq/msi.c | 1 +
> 11 files changed, 473 insertions(+), 4 deletions(-)
> create mode 100644 drivers/cdx/cdx_msi.c
Hi Thomas,
Can you kindly review this patch further?
We have incorporated all the earlier comments provided by you and Greg.
Regards,
Nipun
Powered by blists - more mailing lists