lkml.org 
[lkml]   [2021]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v8 1/5] drivers: firmware: Add PDI load API support
Date
Hi Tom,

Please fix my response inline.

> -----Original Message-----
> From: Tom Rix <trix@redhat.com>
> Sent: Wednesday, July 7, 2021 2:34 AM
> To: Nava kishore Manne <navam@xilinx.com>; robh+dt@kernel.org; Michal
> Simek <michals@xilinx.com>; mdf@kernel.org; arnd@arndb.de; Rajan Vaja
> <RAJANV@xilinx.com>; gregkh@linuxfoundation.org; Amit Sunil Dhamne
> <amitsuni@xlnx.xilinx.com>; Tejas Patel <tejasp@xlnx.xilinx.com>;
> zou_wei@huawei.com; Sai Krishna Potthuri <lakshmis@xilinx.com>; Ravi
> Patel <ravipate@xlnx.xilinx.com>; iwamatsu@nigauri.org; Jiaying Liang
> <jliang@xilinx.com>; devicetree@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
> fpga@vger.kernel.org; git <git@xilinx.com>; chinnikishore369@gmail.com
> Subject: Re: [PATCH v8 1/5] drivers: firmware: Add PDI load API support
>
>
> On 6/26/21 8:52 AM, Nava kishore Manne wrote:
> > This patch adds load PDI API support to enable full/partial PDI
> > loading from linux. Programmable Device Image (PDI) is combination of
> > headers, images and bitstream files to be loaded.
> >
> > Signed-off-by: Nava kishore Manne <nava.manne@xilinx.com>
> > Reviewed-by: Moritz Fischer <mdf@kernel.org>
> > ---
> > Changes for v2:
> > -Updated API Doc and commit msg.
> > No functional changes.
> >
> > Changes for v3:
> > -None.
> >
> > Changes for v4:
> > -Rebased the changes on linux-next.
> > No functional changes
> >
> > Changes for v5:
> > -None.
> >
> > Changes for v6:
> > -None.
> >
> > Changes for v7:
> > -None.
> >
> > Changes for v8:
> > -None.
> >
> > drivers/firmware/xilinx/zynqmp.c | 17 +++++++++++++++++
> > include/linux/firmware/xlnx-zynqmp.h | 10 ++++++++++
> > 2 files changed, 27 insertions(+)
> >
> > diff --git a/drivers/firmware/xilinx/zynqmp.c
> > b/drivers/firmware/xilinx/zynqmp.c
> > index 15b138326ecc..2db571da9ad8 100644
> > --- a/drivers/firmware/xilinx/zynqmp.c
> > +++ b/drivers/firmware/xilinx/zynqmp.c
> > @@ -1011,6 +1011,23 @@ int zynqmp_pm_set_requirement(const u32
> node, const u32 capabilities,
> > }
> > EXPORT_SYMBOL_GPL(zynqmp_pm_set_requirement);
> >
> > +/**
> > + * zynqmp_pm_load_pdi - Load and process PDI
> > + * @src: Source device where PDI is located
> > + * @address: PDI src address
> > + *
> > + * This function provides support to load PDI from linux
> > + *
> > + * Return: Returns status, either success or error+reason */ int
> > +zynqmp_pm_load_pdi(const u32 src, const u64 address) {
> > + return zynqmp_pm_invoke_fn(PM_LOAD_PDI, src,
> > + lower_32_bits(address),
> > + upper_32_bits(address), 0, NULL); }
> > +EXPORT_SYMBOL_GPL(zynqmp_pm_load_pdi);
> > +
> > /**
> > * zynqmp_pm_aes - Access AES hardware to encrypt/decrypt the data
> using
> > * AES-GCM core.
> > diff --git a/include/linux/firmware/xlnx-zynqmp.h
> > b/include/linux/firmware/xlnx-zynqmp.h
> > index 9d1a5c175065..56b426fe020c 100644
> > --- a/include/linux/firmware/xlnx-zynqmp.h
> > +++ b/include/linux/firmware/xlnx-zynqmp.h
> > @@ -52,6 +52,10 @@
> > #define ZYNQMP_PM_CAPABILITY_WAKEUP 0x4U
> > #define ZYNQMP_PM_CAPABILITY_UNUSABLE 0x8U
> >
> > +/* Loader commands */
> > +#define PM_LOAD_PDI 0x701
> This should be defined in enum pm_api_id
> > +#define PDI_SRC_DDR 0xF
>
> This is only used by versal_fpga_ops_write(), consider moving the #define to
> versal-fpga.c
>

Yes, currently only versal_fpga_write() is using this #define but it’s a generic thing for Versal platform
That’s why we placed it here.

Regards,
Navakishore.

\
 
 \ /
  Last update: 2021-07-08 13:41    [W:0.149 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site