[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190325214731.GT12016@zn.tnic>
Date: Mon, 25 Mar 2019 22:47:31 +0100
From: Borislav Petkov <bp@...en8.de>
To: Paul Walmsley <paul.walmsley@...ive.com>
Cc: Yash Shah <yash.shah@...ive.com>, linux-riscv@...ts.infradead.org,
linux-edac@...r.kernel.org, palmer@...ive.com,
linux-kernel@...r.kernel.org, robh+dt@...nel.org,
mark.rutland@....com, aou@...s.berkeley.edu, mchehab@...nel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH 2/2] sifive: edac: Add EDAC driver for Sifive l2 Cache
Controller
On Mon, Mar 25, 2019 at 02:18:39PM -0700, Paul Walmsley wrote:
> All of these drivers are for single IP blocks. Mostly DRAM controllers.
> There's no "platform EDAC manager" IP block in these cases.
Maybe because they have RAS functionality in one single IP block. Others
like altera_edac, for example, have added support for more IP blocks
with time.
> So the EDAC "platform," if there is one, would be Xilinx Zynq, not
> Synopsys.
We have IP blocks sharing between drivers, see fsl_ddr_edac and
skx_common, for example.
> 2. We could create a platform driver for the "SiFive FU540-C000 EDAC"
> reporting platform that wouldn't map to any hardware block, but
> would call functions exported by other sources of EDAC data - most
> likely drivers living in separate directories. If, for example, we
> wind up using a Synopsys memory controller in a future product, we
> move the Synopsys code into a separate library, and move the Xilinx
> Zynq-specific code into a zynq_edac driver, etc.
Yes, librarizing is something we do already. So if you wanna share IP
blocks with other vendors, you can abstract it out into compilation
units like in the examples above. And then those compilation units can
be linked into a platform driver.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
Powered by blists - more mailing lists