From: "Alastair D'Silva" <alastair@d-silva.org> To: "'Dan Williams'" <dan.j.williams@intel.com> Cc: "'Aneesh Kumar K . V'" <aneesh.kumar@linux.ibm.com>, "'Benjamin Herrenschmidt'" <benh@kernel.crashing.org>, "'Paul Mackerras'" <paulus@samba.org>, "'Michael Ellerman'" <mpe@ellerman.id.au>, "'Frederic Barrat'" <fbarrat@linux.ibm.com>, "'Andrew Donnellan'" <ajd@linux.ibm.com>, "'Arnd Bergmann'" <arnd@arndb.de>, "'Greg Kroah-Hartman'" <gregkh@linuxfoundation.org>, "'Andrew Morton'" <akpm@linux-foundation.org>, "'Mauro Carvalho Chehab'" <mchehab+samsung@kernel.org>, "'David S. Miller'" <davem@davemloft.net>, "'Rob Herring'" <robh@kernel.org>, "'Anton Blanchard'" <anton@ozlabs.org>, "'Krzysztof Kozlowski'" <krzk@kernel.org>, "'Mahesh Salgaonkar'" <mahesh@linux.vnet.ibm.com>, "'Madhavan Srinivasan'" <maddy@linux.vnet.ibm.com>, "'Cédric Le Goater'" <clg@kaod.org>, "'Anju T Sudhakar'" <anju@linux.vnet.ibm.com>, "'Hari Bathini'" <hbathini@linux.ibm.com>, "'Thomas Gleixner'" <tglx@linutronix.de>, "'Greg Kurz'" <groug@kaod.org>, "'Nicholas Piggin'" <npiggin@gmail.com>, "'Masahiro Yamada'" <yamada.masahiro@socionex> Subject: RE: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI LPC memory Date: Thu, 2 Apr 2020 15:36:28 +1100 [thread overview] Message-ID: <2e7701d608a8$473a0140$d5ae03c0$@d-silva.org> (raw) In-Reply-To: <CAPcyv4iGEHJpZctEm+Do1-kOZBUDeKKcREr=BqcK4kCvLWhAQQ@mail.gmail.com> > -----Original Message----- > From: Dan Williams <dan.j.williams@intel.com> > Sent: Wednesday, 1 April 2020 7:49 PM > To: Alastair D'Silva <alastair@d-silva.org> > Cc: Aneesh Kumar K . V <aneesh.kumar@linux.ibm.com>; Oliver O'Halloran > <oohall@gmail.com>; Benjamin Herrenschmidt > <benh@kernel.crashing.org>; Paul Mackerras <paulus@samba.org>; Michael > Ellerman <mpe@ellerman.id.au>; Frederic Barrat <fbarrat@linux.ibm.com>; > Andrew Donnellan <ajd@linux.ibm.com>; Arnd Bergmann > <arnd@arndb.de>; Greg Kroah-Hartman <gregkh@linuxfoundation.org>; > Vishal Verma <vishal.l.verma@intel.com>; Dave Jiang > <dave.jiang@intel.com>; Ira Weiny <ira.weiny@intel.com>; Andrew Morton > <akpm@linux-foundation.org>; Mauro Carvalho Chehab > <mchehab+samsung@kernel.org>; David S. Miller <davem@davemloft.net>; > Rob Herring <robh@kernel.org>; Anton Blanchard <anton@ozlabs.org>; > Krzysztof Kozlowski <krzk@kernel.org>; Mahesh Salgaonkar > <mahesh@linux.vnet.ibm.com>; Madhavan Srinivasan > <maddy@linux.vnet.ibm.com>; Cédric Le Goater <clg@kaod.org>; Anju T > Sudhakar <anju@linux.vnet.ibm.com>; Hari Bathini > <hbathini@linux.ibm.com>; Thomas Gleixner <tglx@linutronix.de>; Greg > Kurz <groug@kaod.org>; Nicholas Piggin <npiggin@gmail.com>; Masahiro > Yamada <yamada.masahiro@socionext.com>; Alexey Kardashevskiy > <aik@ozlabs.ru>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; > linuxppc-dev <linuxppc-dev@lists.ozlabs.org>; linux-nvdimm <linux- > nvdimm@lists.01.org>; Linux MM <linux-mm@kvack.org> > Subject: Re: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI > LPC memory > > On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva <alastair@d-silva.org> > wrote: > > > > This patch adds OPAL calls to powernv so that the OpenCAPI driver can > > map & release LPC (Lowest Point of Coherency) memory. > > > > Signed-off-by: Alastair D'Silva <alastair@d-silva.org> > > Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com> > > --- > > arch/powerpc/include/asm/pnv-ocxl.h | 2 ++ > > arch/powerpc/platforms/powernv/ocxl.c | 43 > > +++++++++++++++++++++++++++ > > 2 files changed, 45 insertions(+) > > > > diff --git a/arch/powerpc/include/asm/pnv-ocxl.h > > b/arch/powerpc/include/asm/pnv-ocxl.h > > index 7de82647e761..560a19bb71b7 100644 > > --- a/arch/powerpc/include/asm/pnv-ocxl.h > > +++ b/arch/powerpc/include/asm/pnv-ocxl.h > > @@ -32,5 +32,7 @@ extern int > pnv_ocxl_spa_remove_pe_from_cache(void > > *platform_data, int pe_handle) > > > > extern int pnv_ocxl_alloc_xive_irq(u32 *irq, u64 *trigger_addr); > > extern void pnv_ocxl_free_xive_irq(u32 irq); > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size); void > > +pnv_ocxl_platform_lpc_release(struct pci_dev *pdev); > > > > #endif /* _ASM_PNV_OCXL_H */ > > diff --git a/arch/powerpc/platforms/powernv/ocxl.c > > b/arch/powerpc/platforms/powernv/ocxl.c > > index 8c65aacda9c8..f13119a7c026 100644 > > --- a/arch/powerpc/platforms/powernv/ocxl.c > > +++ b/arch/powerpc/platforms/powernv/ocxl.c > > @@ -475,6 +475,49 @@ void pnv_ocxl_spa_release(void *platform_data) > } > > EXPORT_SYMBOL_GPL(pnv_ocxl_spa_release); > > > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > Is calling the local variable 'hose' instead of 'host' on purpose? > Yes, this follows the convention used in other functions in this file. > > + u32 bdfn = pci_dev_id(pdev); > > + __be64 base_addr_be64; > > + u64 base_addr; > > + int rc; > > + > > + rc = opal_npu_mem_alloc(phb->opal_id, bdfn, size, > &base_addr_be64); > > + if (rc) { > > + dev_warn(&pdev->dev, > > + "OPAL could not allocate LPC memory, rc=%d\n", rc); > > + return 0; > > + } > > + > > + base_addr = be64_to_cpu(base_addr_be64); > > + > > +#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE > > With the proposed cleanup in patch2 the ifdef can be elided here. Ok > > > + rc = check_hotplug_memory_addressable(base_addr >> PAGE_SHIFT, > > + size >> PAGE_SHIFT); > > + if (rc) > > + return 0; > > Is this an error worth logging if someone is wondering why their device is not > showing up? > Yes, I'll add a message. > > > +#endif > > + > > + return base_addr; > > +} > > +EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_setup); > > + > > +void pnv_ocxl_platform_lpc_release(struct pci_dev *pdev) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > + u32 bdfn = pci_dev_id(pdev); > > + int rc; > > + > > + rc = opal_npu_mem_release(phb->opal_id, bdfn); > > + if (rc) > > + dev_warn(&pdev->dev, > > + "OPAL reported rc=%d when releasing LPC > > +memory\n", rc); } > EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_release); > > + > > int pnv_ocxl_spa_remove_pe_from_cache(void *platform_data, int > > pe_handle) { > > struct spa_data *data = (struct spa_data *) platform_data; > > -- > > 2.24.1 > > > > > -- > This email has been checked for viruses by AVG. > https://www.avg.com _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
WARNING: multiple messages have this Message-ID
From: "Alastair D'Silva" <alastair@d-silva.org> To: "'Dan Williams'" <dan.j.williams@intel.com> Cc: "'Aneesh Kumar K . V'" <aneesh.kumar@linux.ibm.com>, "'Oliver O'Halloran'" <oohall@gmail.com>, "'Benjamin Herrenschmidt'" <benh@kernel.crashing.org>, "'Paul Mackerras'" <paulus@samba.org>, "'Michael Ellerman'" <mpe@ellerman.id.au>, "'Frederic Barrat'" <fbarrat@linux.ibm.com>, "'Andrew Donnellan'" <ajd@linux.ibm.com>, "'Arnd Bergmann'" <arnd@arndb.de>, "'Greg Kroah-Hartman'" <gregkh@linuxfoundation.org>, "'Vishal Verma'" <vishal.l.verma@intel.com>, "'Dave Jiang'" <dave.jiang@intel.com>, "'Ira Weiny'" <ira.weiny@intel.com>, "'Andrew Morton'" <akpm@linux-foundation.org>, "'Mauro Carvalho Chehab'" <mchehab+samsung@kernel.org>, "'David S. Miller'" <davem@davemloft.net>, "'Rob Herring'" <robh@kernel.org>, "'Anton Blanchard'" <anton@ozlabs.org>, "'Krzysztof Kozlowski'" <krzk@kernel.org>, "'Mahesh Salgaonkar'" <mahesh@linux.vnet.ibm.com>, "'Madhavan Srinivasan'" <maddy@linux.vnet.ibm.com>, "'Cédric Le Goater'" <clg@kaod.org>, "'Anju T Sudhakar'" <anju@linux.vnet.ibm.com>, "'Hari Bathini'" <hbathini@linux.ibm.com>, "'Thomas Gleixner'" <tglx@linutronix.de>, "'Greg Kurz'" <groug@kaod.org>, "'Nicholas Piggin'" <npiggin@gmail.com>, "'Masahiro Yamada'" <yamada.masahiro@socionext.com>, "'Alexey Kardashevskiy'" <aik@ozlabs.ru>, "'Linux Kernel Mailing List'" <linux-kernel@vger.kernel.org>, 'linuxppc-dev' <linuxppc-dev@lists.ozlabs.org>, 'linux-nvdimm' <linux-nvdimm@lists.01.org>, "'Linux MM'" <linux-mm@kvack.org> Subject: RE: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI LPC memory Date: Thu, 2 Apr 2020 15:36:28 +1100 [thread overview] Message-ID: <2e7701d608a8$473a0140$d5ae03c0$@d-silva.org> (raw) In-Reply-To: <CAPcyv4iGEHJpZctEm+Do1-kOZBUDeKKcREr=BqcK4kCvLWhAQQ@mail.gmail.com> > -----Original Message----- > From: Dan Williams <dan.j.williams@intel.com> > Sent: Wednesday, 1 April 2020 7:49 PM > To: Alastair D'Silva <alastair@d-silva.org> > Cc: Aneesh Kumar K . V <aneesh.kumar@linux.ibm.com>; Oliver O'Halloran > <oohall@gmail.com>; Benjamin Herrenschmidt > <benh@kernel.crashing.org>; Paul Mackerras <paulus@samba.org>; Michael > Ellerman <mpe@ellerman.id.au>; Frederic Barrat <fbarrat@linux.ibm.com>; > Andrew Donnellan <ajd@linux.ibm.com>; Arnd Bergmann > <arnd@arndb.de>; Greg Kroah-Hartman <gregkh@linuxfoundation.org>; > Vishal Verma <vishal.l.verma@intel.com>; Dave Jiang > <dave.jiang@intel.com>; Ira Weiny <ira.weiny@intel.com>; Andrew Morton > <akpm@linux-foundation.org>; Mauro Carvalho Chehab > <mchehab+samsung@kernel.org>; David S. Miller <davem@davemloft.net>; > Rob Herring <robh@kernel.org>; Anton Blanchard <anton@ozlabs.org>; > Krzysztof Kozlowski <krzk@kernel.org>; Mahesh Salgaonkar > <mahesh@linux.vnet.ibm.com>; Madhavan Srinivasan > <maddy@linux.vnet.ibm.com>; Cédric Le Goater <clg@kaod.org>; Anju T > Sudhakar <anju@linux.vnet.ibm.com>; Hari Bathini > <hbathini@linux.ibm.com>; Thomas Gleixner <tglx@linutronix.de>; Greg > Kurz <groug@kaod.org>; Nicholas Piggin <npiggin@gmail.com>; Masahiro > Yamada <yamada.masahiro@socionext.com>; Alexey Kardashevskiy > <aik@ozlabs.ru>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; > linuxppc-dev <linuxppc-dev@lists.ozlabs.org>; linux-nvdimm <linux- > nvdimm@lists.01.org>; Linux MM <linux-mm@kvack.org> > Subject: Re: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI > LPC memory > > On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva <alastair@d-silva.org> > wrote: > > > > This patch adds OPAL calls to powernv so that the OpenCAPI driver can > > map & release LPC (Lowest Point of Coherency) memory. > > > > Signed-off-by: Alastair D'Silva <alastair@d-silva.org> > > Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com> > > --- > > arch/powerpc/include/asm/pnv-ocxl.h | 2 ++ > > arch/powerpc/platforms/powernv/ocxl.c | 43 > > +++++++++++++++++++++++++++ > > 2 files changed, 45 insertions(+) > > > > diff --git a/arch/powerpc/include/asm/pnv-ocxl.h > > b/arch/powerpc/include/asm/pnv-ocxl.h > > index 7de82647e761..560a19bb71b7 100644 > > --- a/arch/powerpc/include/asm/pnv-ocxl.h > > +++ b/arch/powerpc/include/asm/pnv-ocxl.h > > @@ -32,5 +32,7 @@ extern int > pnv_ocxl_spa_remove_pe_from_cache(void > > *platform_data, int pe_handle) > > > > extern int pnv_ocxl_alloc_xive_irq(u32 *irq, u64 *trigger_addr); > > extern void pnv_ocxl_free_xive_irq(u32 irq); > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size); void > > +pnv_ocxl_platform_lpc_release(struct pci_dev *pdev); > > > > #endif /* _ASM_PNV_OCXL_H */ > > diff --git a/arch/powerpc/platforms/powernv/ocxl.c > > b/arch/powerpc/platforms/powernv/ocxl.c > > index 8c65aacda9c8..f13119a7c026 100644 > > --- a/arch/powerpc/platforms/powernv/ocxl.c > > +++ b/arch/powerpc/platforms/powernv/ocxl.c > > @@ -475,6 +475,49 @@ void pnv_ocxl_spa_release(void *platform_data) > } > > EXPORT_SYMBOL_GPL(pnv_ocxl_spa_release); > > > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > Is calling the local variable 'hose' instead of 'host' on purpose? > Yes, this follows the convention used in other functions in this file. > > + u32 bdfn = pci_dev_id(pdev); > > + __be64 base_addr_be64; > > + u64 base_addr; > > + int rc; > > + > > + rc = opal_npu_mem_alloc(phb->opal_id, bdfn, size, > &base_addr_be64); > > + if (rc) { > > + dev_warn(&pdev->dev, > > + "OPAL could not allocate LPC memory, rc=%d\n", rc); > > + return 0; > > + } > > + > > + base_addr = be64_to_cpu(base_addr_be64); > > + > > +#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE > > With the proposed cleanup in patch2 the ifdef can be elided here. Ok > > > + rc = check_hotplug_memory_addressable(base_addr >> PAGE_SHIFT, > > + size >> PAGE_SHIFT); > > + if (rc) > > + return 0; > > Is this an error worth logging if someone is wondering why their device is not > showing up? > Yes, I'll add a message. > > > +#endif > > + > > + return base_addr; > > +} > > +EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_setup); > > + > > +void pnv_ocxl_platform_lpc_release(struct pci_dev *pdev) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > + u32 bdfn = pci_dev_id(pdev); > > + int rc; > > + > > + rc = opal_npu_mem_release(phb->opal_id, bdfn); > > + if (rc) > > + dev_warn(&pdev->dev, > > + "OPAL reported rc=%d when releasing LPC > > +memory\n", rc); } > EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_release); > > + > > int pnv_ocxl_spa_remove_pe_from_cache(void *platform_data, int > > pe_handle) { > > struct spa_data *data = (struct spa_data *) platform_data; > > -- > > 2.24.1 > > > > > -- > This email has been checked for viruses by AVG. > https://www.avg.com
WARNING: multiple messages have this Message-ID
From: "Alastair D'Silva" <alastair@d-silva.org> To: "'Dan Williams'" <dan.j.williams@intel.com> Cc: "'Madhavan Srinivasan'" <maddy@linux.vnet.ibm.com>, "'Alexey Kardashevskiy'" <aik@ozlabs.ru>, "'Masahiro Yamada'" <yamada.masahiro@socionext.com>, "'Oliver O'Halloran'" <oohall@gmail.com>, "'Mauro Carvalho Chehab'" <mchehab+samsung@kernel.org>, "'Ira Weiny'" <ira.weiny@intel.com>, "'Rob Herring'" <robh@kernel.org>, "'Dave Jiang'" <dave.jiang@intel.com>, 'linux-nvdimm' <linux-nvdimm@lists.01.org>, "'Aneesh Kumar K . V'" <aneesh.kumar@linux.ibm.com>, "'Krzysztof Kozlowski'" <krzk@kernel.org>, "'Anju T Sudhakar'" <anju@linux.vnet.ibm.com>, "'Mahesh Salgaonkar'" <mahesh@linux.vnet.ibm.com>, "'Andrew Donnellan'" <ajd@linux.ibm.com>, "'Arnd Bergmann'" <arnd@arndb.de>, "'Greg Kurz'" <groug@kaod.org>, "'Nicholas Piggin'" <npiggin@gmail.com>, "'Cédric Le Goater'" <clg@kaod.org>, "'Thomas Gleixner'" <tglx@linutronix.de>, "'Hari Bathini'" <hbathini@linux.ibm.com>, "'Linux MM'" <linux-mm@kvack.org>, "'Greg Kroah-Hartman'" <gregkh@linuxfoundation.org>, "'Linux Kernel Mailing List'" <linux-kernel@vger.kernel.org>, "'Vishal Verma'" <vishal.l.verma@intel.com>, "'Frederic Barrat'" <fbarrat@linux.ibm.com>, "'Paul Mackerras'" <paulus@samba.org>, "'Andrew Morton'" <akpm@linux-foundation.org>, 'linuxppc-dev' <linuxppc-dev@lists.ozlabs.org>, "'David S. Miller'" <davem@davemloft.net> Subject: RE: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI LPC memory Date: Thu, 2 Apr 2020 15:36:28 +1100 [thread overview] Message-ID: <2e7701d608a8$473a0140$d5ae03c0$@d-silva.org> (raw) In-Reply-To: <CAPcyv4iGEHJpZctEm+Do1-kOZBUDeKKcREr=BqcK4kCvLWhAQQ@mail.gmail.com> > -----Original Message----- > From: Dan Williams <dan.j.williams@intel.com> > Sent: Wednesday, 1 April 2020 7:49 PM > To: Alastair D'Silva <alastair@d-silva.org> > Cc: Aneesh Kumar K . V <aneesh.kumar@linux.ibm.com>; Oliver O'Halloran > <oohall@gmail.com>; Benjamin Herrenschmidt > <benh@kernel.crashing.org>; Paul Mackerras <paulus@samba.org>; Michael > Ellerman <mpe@ellerman.id.au>; Frederic Barrat <fbarrat@linux.ibm.com>; > Andrew Donnellan <ajd@linux.ibm.com>; Arnd Bergmann > <arnd@arndb.de>; Greg Kroah-Hartman <gregkh@linuxfoundation.org>; > Vishal Verma <vishal.l.verma@intel.com>; Dave Jiang > <dave.jiang@intel.com>; Ira Weiny <ira.weiny@intel.com>; Andrew Morton > <akpm@linux-foundation.org>; Mauro Carvalho Chehab > <mchehab+samsung@kernel.org>; David S. Miller <davem@davemloft.net>; > Rob Herring <robh@kernel.org>; Anton Blanchard <anton@ozlabs.org>; > Krzysztof Kozlowski <krzk@kernel.org>; Mahesh Salgaonkar > <mahesh@linux.vnet.ibm.com>; Madhavan Srinivasan > <maddy@linux.vnet.ibm.com>; Cédric Le Goater <clg@kaod.org>; Anju T > Sudhakar <anju@linux.vnet.ibm.com>; Hari Bathini > <hbathini@linux.ibm.com>; Thomas Gleixner <tglx@linutronix.de>; Greg > Kurz <groug@kaod.org>; Nicholas Piggin <npiggin@gmail.com>; Masahiro > Yamada <yamada.masahiro@socionext.com>; Alexey Kardashevskiy > <aik@ozlabs.ru>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; > linuxppc-dev <linuxppc-dev@lists.ozlabs.org>; linux-nvdimm <linux- > nvdimm@lists.01.org>; Linux MM <linux-mm@kvack.org> > Subject: Re: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI > LPC memory > > On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva <alastair@d-silva.org> > wrote: > > > > This patch adds OPAL calls to powernv so that the OpenCAPI driver can > > map & release LPC (Lowest Point of Coherency) memory. > > > > Signed-off-by: Alastair D'Silva <alastair@d-silva.org> > > Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com> > > --- > > arch/powerpc/include/asm/pnv-ocxl.h | 2 ++ > > arch/powerpc/platforms/powernv/ocxl.c | 43 > > +++++++++++++++++++++++++++ > > 2 files changed, 45 insertions(+) > > > > diff --git a/arch/powerpc/include/asm/pnv-ocxl.h > > b/arch/powerpc/include/asm/pnv-ocxl.h > > index 7de82647e761..560a19bb71b7 100644 > > --- a/arch/powerpc/include/asm/pnv-ocxl.h > > +++ b/arch/powerpc/include/asm/pnv-ocxl.h > > @@ -32,5 +32,7 @@ extern int > pnv_ocxl_spa_remove_pe_from_cache(void > > *platform_data, int pe_handle) > > > > extern int pnv_ocxl_alloc_xive_irq(u32 *irq, u64 *trigger_addr); > > extern void pnv_ocxl_free_xive_irq(u32 irq); > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size); void > > +pnv_ocxl_platform_lpc_release(struct pci_dev *pdev); > > > > #endif /* _ASM_PNV_OCXL_H */ > > diff --git a/arch/powerpc/platforms/powernv/ocxl.c > > b/arch/powerpc/platforms/powernv/ocxl.c > > index 8c65aacda9c8..f13119a7c026 100644 > > --- a/arch/powerpc/platforms/powernv/ocxl.c > > +++ b/arch/powerpc/platforms/powernv/ocxl.c > > @@ -475,6 +475,49 @@ void pnv_ocxl_spa_release(void *platform_data) > } > > EXPORT_SYMBOL_GPL(pnv_ocxl_spa_release); > > > > +u64 pnv_ocxl_platform_lpc_setup(struct pci_dev *pdev, u64 size) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > Is calling the local variable 'hose' instead of 'host' on purpose? > Yes, this follows the convention used in other functions in this file. > > + u32 bdfn = pci_dev_id(pdev); > > + __be64 base_addr_be64; > > + u64 base_addr; > > + int rc; > > + > > + rc = opal_npu_mem_alloc(phb->opal_id, bdfn, size, > &base_addr_be64); > > + if (rc) { > > + dev_warn(&pdev->dev, > > + "OPAL could not allocate LPC memory, rc=%d\n", rc); > > + return 0; > > + } > > + > > + base_addr = be64_to_cpu(base_addr_be64); > > + > > +#ifdef CONFIG_MEMORY_HOTPLUG_SPARSE > > With the proposed cleanup in patch2 the ifdef can be elided here. Ok > > > + rc = check_hotplug_memory_addressable(base_addr >> PAGE_SHIFT, > > + size >> PAGE_SHIFT); > > + if (rc) > > + return 0; > > Is this an error worth logging if someone is wondering why their device is not > showing up? > Yes, I'll add a message. > > > +#endif > > + > > + return base_addr; > > +} > > +EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_setup); > > + > > +void pnv_ocxl_platform_lpc_release(struct pci_dev *pdev) { > > + struct pci_controller *hose = pci_bus_to_host(pdev->bus); > > + struct pnv_phb *phb = hose->private_data; > > + u32 bdfn = pci_dev_id(pdev); > > + int rc; > > + > > + rc = opal_npu_mem_release(phb->opal_id, bdfn); > > + if (rc) > > + dev_warn(&pdev->dev, > > + "OPAL reported rc=%d when releasing LPC > > +memory\n", rc); } > EXPORT_SYMBOL_GPL(pnv_ocxl_platform_lpc_release); > > + > > int pnv_ocxl_spa_remove_pe_from_cache(void *platform_data, int > > pe_handle) { > > struct spa_data *data = (struct spa_data *) platform_data; > > -- > > 2.24.1 > > > > > -- > This email has been checked for viruses by AVG. > https://www.avg.com
next prev parent reply other threads:[~2020-04-02 4:36 UTC|newest] Thread overview: 179+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-27 7:11 [PATCH v4 00/25] Add support for OpenCAPI Persistent Memory devices Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 01/25] powerpc/powernv: Add OPAL calls for LPC memory alloc/release Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 22:51 ` Alastair D'Silva 2020-04-01 22:51 ` Alastair D'Silva 2020-04-01 22:51 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 02/25] mm/memory_hotplug: Allow check_hotplug_memory_addressable to be called from drivers Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-02 4:33 ` Alastair D'Silva 2020-04-02 4:33 ` Alastair D'Silva 2020-04-02 4:33 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI LPC memory Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-02 4:36 ` Alastair D'Silva [this message] 2020-04-02 4:36 ` Alastair D'Silva 2020-04-02 4:36 ` Alastair D'Silva 2020-04-02 10:41 ` Benjamin Herrenschmidt 2020-04-02 10:41 ` Benjamin Herrenschmidt 2020-04-03 4:27 ` Michael Ellerman 2020-04-03 4:27 ` Michael Ellerman 2020-04-03 4:27 ` Michael Ellerman 2020-03-27 7:11 ` [PATCH v4 04/25] ocxl: Remove unnecessary externs Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 05/25] ocxl: Address kernel doc errors & warnings Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 06/25] ocxl: Tally up the LPC memory on a link & allow it to be mapped Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-01 8:48 ` Dan Williams 2020-04-02 6:21 ` Andrew Donnellan 2020-04-02 6:21 ` Andrew Donnellan 2020-04-02 6:21 ` Andrew Donnellan 2020-03-27 7:11 ` [PATCH v4 07/25] ocxl: Add functions to map/unmap LPC memory Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-03 3:50 ` Alastair D'Silva 2020-04-03 3:50 ` Alastair D'Silva 2020-04-03 3:50 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 08/25] ocxl: Emit a log message showing how much LPC memory was detected Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-02 1:29 ` Joe Perches 2020-04-02 1:29 ` Joe Perches 2020-04-02 1:29 ` Joe Perches 2020-04-03 3:52 ` Alastair D'Silva 2020-04-03 3:52 ` Alastair D'Silva 2020-04-03 3:52 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 09/25] ocxl: Save the device serial number in ocxl_fn Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 10/25] nvdimm: Add driver for OpenCAPI Persistent Memory Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-29 2:56 ` Matthew Wilcox 2020-03-29 2:56 ` Matthew Wilcox 2020-03-29 2:56 ` Matthew Wilcox 2020-03-29 2:59 ` Matthew Wilcox 2020-03-29 2:59 ` Matthew Wilcox 2020-03-29 2:59 ` Matthew Wilcox 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-01 8:49 ` Dan Williams 2020-04-01 19:35 ` Dan Williams 2020-04-01 19:35 ` Dan Williams 2020-04-01 19:35 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 11/25] powerpc: Enable the OpenCAPI Persistent Memory driver for powernv_defconfig Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 20:26 ` Dan Williams 2020-04-01 20:26 ` Dan Williams 2020-04-01 20:26 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 12/25] nvdimm/ocxl: Add register addresses & status values to the header Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-01 20:27 ` Dan Williams 2020-04-01 20:27 ` Dan Williams 2020-04-01 20:27 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 13/25] nvdimm/ocxl: Read the capability registers & wait for device ready Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-02 0:20 ` Dan Williams 2020-04-02 0:20 ` Dan Williams 2020-04-02 0:20 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 14/25] nvdimm/ocxl: Add support for Admin commands Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-02 6:41 ` Dan Williams 2020-04-02 6:41 ` Dan Williams 2020-04-02 6:41 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 15/25] nvdimm/ocxl: Register a character device for userspace to interact with Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-02 0:27 ` Dan Williams 2020-04-02 0:27 ` Dan Williams 2020-04-02 0:27 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 16/25] nvdimm/ocxl: Implement the Read Error Log command Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-03 0:54 ` Dan Williams 2020-04-03 0:54 ` Dan Williams 2020-04-03 0:54 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 17/25] nvdimm/ocxl: Add controller dump IOCTLs Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 18/25] nvdimm/ocxl: Add an IOCTL to report controller statistics Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 19/25] nvdimm/ocxl: Forward events to userspace Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-04-02 2:08 ` Dan Williams 2020-04-02 2:08 ` Dan Williams 2020-04-02 2:08 ` Dan Williams 2020-03-27 7:11 ` [PATCH v4 20/25] nvdimm/ocxl: Add an IOCTL to request controller health & perf data Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 21/25] nvdimm/ocxl: Implement the heartbeat command Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` [PATCH v4 22/25] nvdimm/ocxl: Add debug IOCTLs Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:11 ` Alastair D'Silva 2020-03-27 7:12 ` [PATCH v4 23/25] nvdimm/ocxl: Expose SMART data via ndctl Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-03-27 7:12 ` [PATCH v4 24/25] nvdimm/ocxl: Expose the serial number & firmware version in sysfs Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-03-27 7:12 ` [PATCH v4 25/25] MAINTAINERS: Add myself & nvdimm/ocxl to ocxl Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-03-27 7:12 ` Alastair D'Silva 2020-04-01 8:47 ` [PATCH v4 00/25] Add support for OpenCAPI Persistent Memory devices Dan Williams 2020-04-01 8:47 ` Dan Williams 2020-04-01 8:47 ` Dan Williams 2020-04-01 22:44 ` Alastair D'Silva 2020-04-01 22:44 ` Alastair D'Silva 2020-04-01 22:44 ` Alastair D'Silva 2020-04-02 3:42 ` Michael Ellerman 2020-04-02 3:42 ` Michael Ellerman 2020-04-02 3:42 ` Michael Ellerman 2020-04-02 3:50 ` Oliver O'Halloran 2020-04-02 3:50 ` Oliver O'Halloran 2020-04-02 3:50 ` Oliver O'Halloran 2020-04-02 10:06 ` Michael Ellerman 2020-04-02 10:06 ` Michael Ellerman 2020-04-02 10:06 ` Michael Ellerman 2020-04-02 11:10 ` Greg Kurz 2020-04-02 11:10 ` Greg Kurz 2020-04-02 11:10 ` Greg Kurz
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='2e7701d608a8$473a0140$d5ae03c0$@d-silva.org' \ --to=alastair@d-silva.org \ --cc=ajd@linux.ibm.com \ --cc=akpm@linux-foundation.org \ --cc=aneesh.kumar@linux.ibm.com \ --cc=anju@linux.vnet.ibm.com \ --cc=anton@ozlabs.org \ --cc=arnd@arndb.de \ --cc=benh@kernel.crashing.org \ --cc=clg@kaod.org \ --cc=dan.j.williams@intel.com \ --cc=davem@davemloft.net \ --cc=fbarrat@linux.ibm.com \ --cc=gregkh@linuxfoundation.org \ --cc=groug@kaod.org \ --cc=hbathini@linux.ibm.com \ --cc=krzk@kernel.org \ --cc=maddy@linux.vnet.ibm.com \ --cc=mahesh@linux.vnet.ibm.com \ --cc=mchehab+samsung@kernel.org \ --cc=mpe@ellerman.id.au \ --cc=npiggin@gmail.com \ --cc=paulus@samba.org \ --cc=robh@kernel.org \ --cc=tglx@linutronix.de \ --cc=yamada.masahiro@socionex \ --subject='RE: [PATCH v4 03/25] powerpc/powernv: Map & release OpenCAPI LPC memory' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.