Thread (60 messages) 60 messages, 9 authors, 2020-04-03

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

From: Alastair D'Silva <hidden>
Date: 2020-04-01 22:51:55
Also in: linux-mm, lkml, nvdimm

-----Original Message-----
From: Dan Williams <redacted>
Sent: Wednesday, 1 April 2020 7:48 PM
To: Alastair D'Silva <redacted>
Cc: Aneesh Kumar K . V <redacted>; Oliver O'Halloran
[off-list ref]; Benjamin Herrenschmidt
[off-list ref]; Paul Mackerras [off-list ref]; Michael
Ellerman [off-list ref]; Frederic Barrat [off-list ref];
Andrew Donnellan [off-list ref]; Arnd Bergmann
[off-list ref]; Greg Kroah-Hartman [off-list ref];
Vishal Verma [off-list ref]; Dave Jiang
[off-list ref]; Ira Weiny [off-list ref]; Andrew Morton
[off-list ref]; Mauro Carvalho Chehab
[off-list ref]; David S. Miller [off-list ref];
Rob Herring [off-list ref]; Anton Blanchard [off-list ref];
Krzysztof Kozlowski [off-list ref]; Mahesh Salgaonkar
[off-list ref]; Madhavan Srinivasan
[off-list ref]; Cédric Le Goater [off-list ref]; Anju T
Sudhakar [off-list ref]; Hari Bathini
[off-list ref]; Thomas Gleixner [off-list ref]; Greg
Kurz [off-list ref]; Nicholas Piggin [off-list ref]; Masahiro
Yamada [off-list ref]; Alexey Kardashevskiy
[off-list ref]; Linux Kernel Mailing List [off-list ref];
linuxppc-dev [off-list ref]; linux-nvdimm <linux-
nvdimm@lists.01.org>; Linux MM [off-list ref]
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 [off-list ref]
wrote:
quoted
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.
quoted
Signed-off-by: Alastair D'Silva <redacted>
Acked-by: Andrew Donnellan <redacted>
Acked-by: Frederic Barrat <redacted>
---
 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,
quoted
                                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);
quoted
 OPAL_CALL(opal_sensor_read_u64,
OPAL_SENSOR_READ_U64);
quoted
 OPAL_CALL(opal_sensor_group_enable,
OPAL_SENSOR_GROUP_ENABLE);
quoted
 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);
quoted
 OPAL_CALL(opal_mpipl_update,                   OPAL_MPIPL_UPDATE);
 OPAL_CALL(opal_mpipl_register_tag,
OPAL_MPIPL_REGISTER_TAG);
quoted
 OPAL_CALL(opal_mpipl_query_tag,
OPAL_MPIPL_QUERY_TAG);
quoted
--
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@d-silva.org
blog: http://alastair.d-silva.org    Twitter: @EvilDeece
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help