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

Dan Williams dan.j.williams at intel.com
Wed Apr 1 19:48:03 AEDT 2020


On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva <alastair at d-silva.org> 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?


> Signed-off-by: Alastair D'Silva <alastair at d-silva.org>
> Acked-by: Andrew Donnellan <ajd at linux.ibm.com>
> Acked-by: Frederic Barrat <fbarrat at linux.ibm.com>
> ---
>  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
>


More information about the Linuxppc-dev mailing list