[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250829120312.GKaLGXAGPy4wdtsVac@fat_crate.local>
Date: Fri, 29 Aug 2025 14:03:12 +0200
From: Borislav Petkov <bp@...en8.de>
To: Shubhrajyoti Datta <shubhrajyoti.datta@....com>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-edac@...r.kernel.org, git@....com, ptsm@...ux.microsoft.com,
srivatsa@...il.mit.edu, shubhrajyoti.datta@...il.com,
Krzysztof Kozlowski <krzk@...nel.org>,
Rob Herring <robh@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Tony Luck <tony.luck@...el.com>, James Morse <james.morse@....com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Robert Richter <rric@...nel.org>, Nipun Gupta <nipun.gupta@....com>,
Nikhil Agarwal <nikhil.agarwal@....com>
Subject: Re: [PATCH v8 2/5] cdx: Export Symbols for MCDI RPC and
Initialization
On Tue, Aug 26, 2025 at 10:59:11AM +0530, Shubhrajyoti Datta wrote:
> diff --git a/drivers/cdx/controller/mcdi.c b/drivers/cdx/controller/mcdi.c
> index 90bf9f7c257b..6f52d8dac907 100644
> --- a/drivers/cdx/controller/mcdi.c
> +++ b/drivers/cdx/controller/mcdi.c
> @@ -100,6 +100,19 @@ static unsigned long cdx_mcdi_rpc_timeout(struct cdx_mcdi *cdx, unsigned int cmd
> return cdx->mcdi_ops->mcdi_rpc_timeout(cdx, cmd);
> }
>
> +/**
> + * cdx_mcdi_init - Initialize MCDI (Management Controller Driver Interface) state
> + * @cdx: NIC through which to issue the command
NIC?
/**
* struct cdx_mcdi - CDX MCDI Firmware interface, to interact
* with CDX controller.
Apparently there's a NIC behind this thing.
> + *
> + * This function allocates and initializes internal MCDI structures and resources
s/This function allocates/Allocate/
> + * for the CDX device, including the workqueue, locking primitives, and command
> + * tracking mechanisms. It sets the initial operating mode and prepares the device
> + * for MCDI operations.
> + *
> + * Return:
> + * * 0 - on success
> + * * -ENOMEM - if memory allocation or workqueue creation fails
> + */
> int cdx_mcdi_init(struct cdx_mcdi *cdx)
> {
> struct cdx_mcdi_iface *mcdi;
> @@ -129,6 +142,7 @@ int cdx_mcdi_init(struct cdx_mcdi *cdx)
> fail:
> return rc;
> }
> +EXPORT_SYMBOL_GPL(cdx_mcdi_init);
>
> void cdx_mcdi_finish(struct cdx_mcdi *cdx)
> {
> @@ -554,6 +568,19 @@ static void cdx_mcdi_start_or_queue(struct cdx_mcdi_iface *mcdi,
> cdx_mcdi_cmd_start_or_queue(mcdi, cmd);
> }
>
> +/**
> + * cdx_mcdi_process_cmd - Process an incoming MCDI response
> + * @cdx: NIC through which to issue the command
ditto. Also tabbing
> + * @outbuf: Pointer to the response buffer received from the management controller
> + * @len: Length of the response buffer in bytes
> + *
> + * This function handles a response from the management controller. It locates the
s/This function handles/Handle/
> + * corresponding command using the sequence number embedded in the header,
> + * completes the command if it is still pending, and initiates any necessary cleanup.
> + *
> + * The function assumes that the response buffer is well-formed and at least one
> + * dword in size.
> + */
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists