[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170224220059.GB29289@obsidianresearch.com>
Date: Fri, 24 Feb 2017 15:00:59 -0700
From: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
To: "Nadathur, Sundar" <sundar.nadathur@...el.com>
Cc: "Li, Yi" <yi1.li@...ux.intel.com>,
Moritz Fischer <moritz.fischer@...us.com>,
Alan Tull <atull@...nel.org>,
"linux-fpga@...r.kernel.org" <linux-fpga@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [RFC] Add a parser in fpga_region to decode the tlv meta data
suggested by Sundar
On Fri, Feb 24, 2017 at 09:41:12PM +0000, Nadathur, Sundar wrote:
> I have talked about the need for structs and arrays, potentially
> nested, without really explaining why we may need them
> eventually. I'll get to that in a moment. But, can we agree that, if
> nested structs, arrays and general extensibility is needed, FDT or
> TLVs would be the way to go? If we agree, it becomes a FDT vs. TLV
> discussion.
>
> Here's why I think we may need extensibility. (Pardon me for
> starting from the basics -- just trying to set the background.) A
> FPGA can be programmed as a whole, or can have Partial
> Reconfiguration (PR) regions, which can be programmed
> independently. The image programmed into a PR region may have
> components and sub-units in general. These components may have their
> own properties. For example, if the FPGA is exposed as a PCIe device
> to the host, the components may have their own registers in MMIO,
> DMA attributes and/or interrupts. They may also have identifiers
> describing their function. In general, we may want these attributes
> and properties, on a per-component basis, in the metadata. Even if
> we don't need them tomorrow, as data center and IOT needs grow, we
> are likely to need that going forward.
So, you are imagining that the FPGA header would include more than
just information relative to programming it, but also something to do
with operating it?
If that is sensible, then I would go with fdt - it is proven to be
able to handle such complex and open-ended needs and has supporting
tooling.
But.. it is crossing over into the DT overlay stuff, if a complex FPGA
like that is a DT overlay + bitfile then we do not need such data in
the bitfile header.
Jason
Powered by blists - more mailing lists