[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <73aac6dc-6826-4558-a612-c571577a2e1d@amd.com>
Date: Fri, 30 May 2025 16:12:33 +0200
From: Michal Simek <michal.simek@....com>
To: Shubhrajyoti Datta <shubhrajyoti.datta@....com>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-edac@...r.kernel.org
Cc: git@....com, Krzysztof Kozlowski <krzk@...nel.org>,
Rob Herring <robh@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Borislav Petkov <bp@...en8.de>, 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 v7 0/5] EDAC/Versal NET: Add support for error
notification
On 5/29/25 09:00, Shubhrajyoti Datta wrote:
> Adds support for the error notification for the Versal NET EDAC driver.
> The driver receives error events via RPMsg instead of directly accessing
> hardware registers. The NMC((Network management controller), which has
> secure access to DDRMC registers, gathers the necessary information and
> transmits it through RPMsg.
>
> During probe, the driver registers with RPMsg and retrieves DDR
> configuration by scheduling a work item from the NMC.
> Once this is completed, it registers the EDAC controller.
> When an error occurs, the NMC sends an RPMsg, notifying the driver.
> The EDAC driver handles error reporting for all events.
> Also we register the EDAC once and it reports the errors for all the
> events including the 8 DDRMC controllers. So while registering we give
> the particulars of the 1st controller.
>
> Currently 20 errors has been tested.
>
>
> Changes in v7:
> - add a minimal header instead moving them
> - Add the kernel doc description
> - Add the prototype from first patch to export patch
> - Add the reviewed by tag
> - Update the header paths
> - merge edac_cdx_pcol.h
>
> Changes in v6:
> - Patch added
> - Update commit description
> - Update the commit message.
> - update to the chip name as xlnx,versal-net
> - Correct indentation
> - Update to xlnx,versal-net-ddrmc5
> - Update the kconfig message
> - Make the messages uniform
> - Add some more supported events
> - rename regval to reglo
> - combine/ reformat functions
> - remove trailing comments
> - Remove unneeded comments
> - make the amd_mcdi function void
> - rename versalnet_rpmsg_edac to versalnet_edac
> - Remove the column bit and use them directly
> - Update the comments
> - Update the mod_name to versalnet_edac
> - remove the global priv col and rows
> - rename edac_priv to mc_priv
> - Update the comment description for dwidth
> - Remove error_id enum
> - rename the variable par to parity
> - make get_ddr_config void
> - Fix memory leak of the mcdi structure
> - Update the spelling
> - Remove the workqueue
>
> Changes in v5:
> - Update the binding
> - Update the compatible
> - Update the handle_error documentation
>
> Changes in v4:
> - Update the compatible
> - align the example
> - Enhance the description for rproc
> - Update the compatible
>
> Changes in v3:
> - make remove void
>
> Changes in v2:
> - Export the symbols for module compilation
> - New patch addition
> - rename EDAC to memory controller
> - update the compatible name
> - Add remote proc handle
> - Read the data width from the registers
> - Remove the dwidth, rank and channel number the same is
> read from the RpMsg.
> - remove reset
> - Add the remote proc requests
> - remove probe_once
> - reorder the rpmsg registration
> - the data width , rank and number of channel is read from message.
>
> Shubhrajyoti Datta (5):
> cdx: add the headers to include/linux
> cdx: Export Symbols for MCDI RPC and Initialization
> ras: Export log_non_standard_event for External Usage
> dt-bindings: memory-controllers: Add support for Versal NET EDAC
> EDAC/VersalNET: Add support for error notification
>
> .../xlnx,versal-net-ddrmc5.yaml | 41 +
> drivers/cdx/controller/mcdi.c | 29 +
> drivers/edac/Kconfig | 11 +
> drivers/edac/Makefile | 1 +
> drivers/edac/versalnet_edac.c | 1108 +++++++++++++++++
> drivers/ras/ras.c | 1 +
> include/linux/cdx/bitfield.h | 78 ++
> include/linux/cdx/edac_cdx_pcol.h | 28 +
> include/linux/cdx/mcdi.h | 198 +++
> 9 files changed, 1495 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/memory-controllers/xlnx,versal-net-ddrmc5.yaml
> create mode 100644 drivers/edac/versalnet_edac.c
> create mode 100644 include/linux/cdx/bitfield.h
> create mode 100644 include/linux/cdx/edac_cdx_pcol.h
> create mode 100644 include/linux/cdx/mcdi.h
>
Acked-by: Michal Simek <michal.simek@....com>
Thanks,
Michal
Powered by blists - more mailing lists