RE: [PATCH v4 01/25] powerpc/powernv: Add OPAL calls for LPC memory alloc/release

From: Alastair D'Silva
Date: Wed Apr 01 2020 - 18:51:55 EST


> -----Original Message-----
> From: Dan Williams <dan.j.williams@xxxxxxxxx>
> Sent: Wednesday, 1 April 2020 7:48 PM
> To: Alastair D'Silva <alastair@xxxxxxxxxxx>
> Cc: Aneesh Kumar K . V <aneesh.kumar@xxxxxxxxxxxxx>; Oliver O'Halloran
> <oohall@xxxxxxxxx>; Benjamin Herrenschmidt
> <benh@xxxxxxxxxxxxxxxxxxx>; Paul Mackerras <paulus@xxxxxxxxx>; Michael
> Ellerman <mpe@xxxxxxxxxxxxxx>; Frederic Barrat <fbarrat@xxxxxxxxxxxxx>;
> Andrew Donnellan <ajd@xxxxxxxxxxxxx>; Arnd Bergmann
> <arnd@xxxxxxxx>; Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>;
> Vishal Verma <vishal.l.verma@xxxxxxxxx>; Dave Jiang
> <dave.jiang@xxxxxxxxx>; Ira Weiny <ira.weiny@xxxxxxxxx>; Andrew Morton
> <akpm@xxxxxxxxxxxxxxxxxxxx>; Mauro Carvalho Chehab
> <mchehab+samsung@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>;
> Rob Herring <robh@xxxxxxxxxx>; Anton Blanchard <anton@xxxxxxxxxx>;
> Krzysztof Kozlowski <krzk@xxxxxxxxxx>; Mahesh Salgaonkar
> <mahesh@xxxxxxxxxxxxxxxxxx>; Madhavan Srinivasan
> <maddy@xxxxxxxxxxxxxxxxxx>; CÃdric Le Goater <clg@xxxxxxxx>; Anju T
> Sudhakar <anju@xxxxxxxxxxxxxxxxxx>; Hari Bathini
> <hbathini@xxxxxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Greg
> Kurz <groug@xxxxxxxx>; Nicholas Piggin <npiggin@xxxxxxxxx>; Masahiro
> Yamada <yamada.masahiro@xxxxxxxxxxxxx>; Alexey Kardashevskiy
> <aik@xxxxxxxxx>; Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>;
> linuxppc-dev <linuxppc-dev@xxxxxxxxxxxxxxxx>; linux-nvdimm <linux-
> nvdimm@xxxxxxxxxxxx>; Linux MM <linux-mm@xxxxxxxxx>
> Subject: Re: [PATCH v4 01/25] powerpc/powernv: Add OPAL calls for LPC
> memory alloc/release
>
> On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva <alastair@xxxxxxxxxxx>
> wrote:
> >
> > Add OPAL calls for LPC memory alloc/release
> >
>
> This seems to be referencing an existing api definition, can you include a
> pointer to the spec in case someone wanted to understand what these
> routines do? I suspect this is not allocating memory in the traditional sense as
> much as it's allocating physical address space for a device to be mapped?
>

These API calls were introduced in the following skiboot commit:
https://github.com/open-power/skiboot/commit/1a548857ce1f02f43585b326a891eed18a7b43b3

I'll add it to the description.

>
> > Signed-off-by: Alastair D'Silva <alastair@xxxxxxxxxxx>
> > Acked-by: Andrew Donnellan <ajd@xxxxxxxxxxxxx>
> > Acked-by: Frederic Barrat <fbarrat@xxxxxxxxxxxxx>
> > ---
> > arch/powerpc/include/asm/opal-api.h | 2 ++
> > arch/powerpc/include/asm/opal.h | 2 ++
> > arch/powerpc/platforms/powernv/opal-call.c | 2 ++
> > 3 files changed, 6 insertions(+)
> >
> > diff --git a/arch/powerpc/include/asm/opal-api.h
> > b/arch/powerpc/include/asm/opal-api.h
> > index c1f25a760eb1..9298e603001b 100644
> > --- a/arch/powerpc/include/asm/opal-api.h
> > +++ b/arch/powerpc/include/asm/opal-api.h
> > @@ -208,6 +208,8 @@
> > #define OPAL_HANDLE_HMI2 166
> > #define OPAL_NX_COPROC_INIT 167
> > #define OPAL_XIVE_GET_VP_STATE 170
> > +#define OPAL_NPU_MEM_ALLOC 171
> > +#define OPAL_NPU_MEM_RELEASE 172
> > #define OPAL_MPIPL_UPDATE 173
> > #define OPAL_MPIPL_REGISTER_TAG 174
> > #define OPAL_MPIPL_QUERY_TAG 175
> > diff --git a/arch/powerpc/include/asm/opal.h
> > b/arch/powerpc/include/asm/opal.h index 9986ac34b8e2..301fea46c7ca
> > 100644
> > --- a/arch/powerpc/include/asm/opal.h
> > +++ b/arch/powerpc/include/asm/opal.h
> > @@ -39,6 +39,8 @@ int64_t opal_npu_spa_clear_cache(uint64_t phb_id,
> uint32_t bdfn,
> > uint64_t PE_handle); int64_t
> > opal_npu_tl_set(uint64_t phb_id, uint32_t bdfn, long cap,
> > uint64_t rate_phys, uint32_t size);
> > +int64_t opal_npu_mem_alloc(u64 phb_id, u32 bdfn, u64 size, __be64
> > +*bar); int64_t opal_npu_mem_release(u64 phb_id, u32 bdfn);
> >
> > int64_t opal_console_write(int64_t term_number, __be64 *length,
> > const uint8_t *buffer); diff --git
> > a/arch/powerpc/platforms/powernv/opal-call.c
> > b/arch/powerpc/platforms/powernv/opal-call.c
> > index 5cd0f52d258f..f26e58b72c04 100644
> > --- a/arch/powerpc/platforms/powernv/opal-call.c
> > +++ b/arch/powerpc/platforms/powernv/opal-call.c
> > @@ -287,6 +287,8 @@ OPAL_CALL(opal_pci_set_pbcq_tunnel_bar,
> OPAL_PCI_SET_PBCQ_TUNNEL_BAR);
> > OPAL_CALL(opal_sensor_read_u64,
> OPAL_SENSOR_READ_U64);
> > OPAL_CALL(opal_sensor_group_enable,
> OPAL_SENSOR_GROUP_ENABLE);
> > OPAL_CALL(opal_nx_coproc_init, OPAL_NX_COPROC_INIT);
> > +OPAL_CALL(opal_npu_mem_alloc, OPAL_NPU_MEM_ALLOC);
> > +OPAL_CALL(opal_npu_mem_release,
> OPAL_NPU_MEM_RELEASE);
> > OPAL_CALL(opal_mpipl_update, OPAL_MPIPL_UPDATE);
> > OPAL_CALL(opal_mpipl_register_tag,
> OPAL_MPIPL_REGISTER_TAG);
> > OPAL_CALL(opal_mpipl_query_tag,
> OPAL_MPIPL_QUERY_TAG);
> > --
> > 2.24.1
> >
>
>
> --
> This email has been checked for viruses by AVG.
> https://www.avg.com


--
Alastair D'Silva mob: 0423 762 819
skype: alastair_dsilva msn: alastair@xxxxxxxxxxx
blog: http://alastair.d-silva.org Twitter: @EvilDeece