value of VRSAVE is used to determine if altivec is being used
in several code paths.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 82
value of VRSAVE is used to determine if altivec is being used
in several code paths.
Signed-off-by: Oliver O'Halloran
Signed-off-by: Anton Blanchard
Fixes: 152d523e6307 ("powerpc: Create context switch helpers save_sprs() and
restore_sprs()")
Cc: sta...@vger.kernel.org
---
ar
property
is not supplied then the traditional decrementer width of 32 bits is
assumed and LD mode is disabled.
This patch was based on inital work by Jack Miller.
Signed-off-by: Oliver O'Halloran
Cc: Jack Miller
---
arch/powerpc/include/asm/reg.h | 1 +
arch/powerpc/include/asm/time.h
decrementer registers. These macros will return the current
decrementer value as a 64 bit quantity regardless of the Host CPU or
guest decrementer operating mode. Additionally this patch corrects several
uses of decrementer values that assume a 32 bit register width.
Signed-off-by: Oliver O'Hallora
I think this bug can only be triggered if the instruction to
simulate is malformed. The switch in the else case only handles
the zero and one case, but it extracts bits 4:1 from the
instruction word so it may be other values. It's pretty minor, but
a bug is a bug.
Signed-off-by: Oliver O
-by: Oliver O'Halloran
---
arch/powerpc/lib/sstep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index dc885b3..e25f73c 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -925,6 +925,7 @@ int __kprobes analyse_
-by: Oliver O'Halloran
---
arch/powerpc/lib/sstep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index dc885b3..e25f73c 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -925,6 +925,7 @@ int __kprobes analyse_
The PowerNV platform depends on CONFIG_PPC64 so this #ifdef in the middle
of platforms/powernv/pci.c really doesn't need to be there.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/powerpc/platfor
On Wed, 2019-03-20 at 13:58 +1100, Sam Bobroff wrote:
> The PHB flag, PNV_PHB_FLAG_EEH, is set (on PowerNV) individually on
> each PHB once the EEH subsystem is ready. It is the only use of the
> flags member of the phb struct.
>
> However there is no need to store this separately on each PHB, so
On Wed, 2019-03-20 at 13:58 +1100, Sam Bobroff wrote:
> Move the EEH enabled message into it's own function so that future
> work can call it from multiple places.
>
> Signed-off-by: Sam Bobroff
> ---
> arch/powerpc/include/asm/eeh.h | 3 +++
> arch/powerpc/kernel/eeh.c | 16 +++---
On Wed, 2019-03-20 at 13:58 +1100, Sam Bobroff wrote:
> The EEH address cache is currently initialized and populated by a
> single function: eeh_addr_cache_build(). While the initial population
> of the cache can only be done once resources are allocated,
> initialization (just setting up a spinlo
On Fri, Feb 28, 2020 at 2:09 PM Nicholas Piggin wrote:
>
> These calls can be used by Linux to annotate BUG addresses with symbols,
> look up symbol addresses in xmon, etc.
>
> This is preferable over having Linux parse the OPAL symbol map itself,
> because OPAL's parsing code already exists for i
off
Signed-off-by: Oliver O'Halloran
---
v2: Reworded commit message based on Sam Bobroff's comments. About the
current behaviour being broken.
---
arch/powerpc/include/asm/eeh.h | 3 ---
arch/powerpc/kernel/eeh.c| 24 +---
arch/p
On pseries and PowerNV pcibios_bus_add_device() calls eeh_add_device_late()
so there's no need to do a separate tree traversal to bind the eeh_dev and
pci_dev together setting up the PHB at boot. As a result we can remove
eeh_add_device_tree_late().
Reviewed-by: Sam Bobroff
Signed-off-by: O
making the early EEH probe pseries specific.
Reviewed-by: Sam Bobroff
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/pci-hotplug.c | 2 --
drivers/pci/hotplug/rpaphp_core.c | 2 ++
drivers/pci/hotplug/rpaphp_pci.c | 4 +++-
3 files changed, 5 insertions(+), 3 deletions(-)
di
pci_dn structures for DT nodes that correspond to PCI devices so
there's not much point in doing this check in the eeh_probe path.
Reviewed-by: Sam Bobroff
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/eeh.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/arch/powe
ies specific
data structure since there's no real requirement for them on PowerNV. To
help both goals move the early probe into the pseries containment zone
so the platform depedence is more explicit.
Reviewed-by: Sam Bobroff
Signed-off-by: Oliver O'Halloran
---
v2: s/set set/we set/ in the c
g) an
eeh_dev for a given pci_dev which also removes a use of pci_dn in
generic EEH code.
This patch also renames eeh_device_add_late() to eeh_device_probe(). This
better reflects what it does does and removes the last vestiges of the
early/late EEH probe split.
Reviewed-by: Sam Bobroff
Signed-o
ough a dynamic added property "bound-addr" in
> dt node 'ibm,pmemory'.
>
> Signed-off-by: Pingfan Liu
> To: linuxppc-dev@lists.ozlabs.org
> Cc: Benjamin Herrenschmidt
> Cc: Paul Mackerras
> Cc: Michael Ellerman
> Cc: Hari Bathini
> Cc: Aneesh K
On Mon, Mar 23, 2020 at 8:28 PM Cédric Le Goater wrote:
>
> On 3/23/20 10:06 AM, Cédric Le Goater wrote:
> > On 3/19/20 7:14 AM, Haren Myneni wrote:
> >>
> >> Alloc IRQ and get trigger port address for each VAS instance. Kernel
> >> register this IRQ per VAS instance and sets this port for each se
On Thu, Apr 2, 2020 at 2:42 PM Michael Ellerman wrote:
>
> "Alastair D'Silva" writes:
> >> -Original Message-
> >> From: Dan Williams
> >>
> >> On Sun, Mar 29, 2020 at 10:23 PM Alastair D'Silva
> >> wrote:
> >> >
> >> > *snip*
> >> Are OPAL calls similar to ACPI DSMs? I.e. methods for t
On Fri, Apr 3, 2020 at 6:55 AM Leonardo Bras wrote:
>
> While providing guests, it's desirable to resize it's memory on demand.
>
> By now, it's possible to do so by creating a guest with a small base
> memory, hot-plugging all the rest, and using 'movable_node' kernel
> command-line parameter, wh
On Fri, Apr 3, 2020 at 10:07 AM Leonardo Bras wrote:
>
> Hello Oliver, thank you for the feedback.
> Comments inline:
>
> On Fri, 2020-04-03 at 09:46 +1100, Oliver O'Halloran wrote:
> >
> > I don't really understand why the flag is needed at all. Accordi
this leads to an infinite loop.
>
> Fix this by correctly bailing out on negative values.
>
This should probably be a standalone patch. Looks fine otherwise.
Reviewed-by: Oliver O'Halloran
> Signed-off-by: Sam Bobroff
> ---
> arch/powerpc/platforms/pseries/eeh_pseries
switch (action) {
> + case BUS_NOTIFY_DEL_DEVICE:
> + eeh_remove_device(to_pci_dev(dev));
> + break;
> + default:
> + break;
> + }
A comment briefly explaining why we're not doing anything in the add
case might be nice.
Reviewed-by:
On Mon, 2020-03-30 at 15:56 +1100, Sam Bobroff wrote:
> Because the bus notifier calls eeh_rmv_from_parent_pe() (via
> eeh_remove_device()) when a VF is removed, the call in
> remove_sriov_vf_pdns() is redundant.
eeh_rmv_from_parent_pe() won't actually remove the device if the
recovering flag is s
On Mon, 2020-03-30 at 15:56 +1100, Sam Bobroff wrote:
> When EEH device state was released asynchronously by the device
> release handler, it was possible for an outstanding reference to
> prevent it's release and it was necessary to work around that if a
> device was re-discovered at the same PCI
range.
Cc: Alexey Kardashevskiy
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c | 46 +++-
1 file changed, 21 insertions(+), 25 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/npu-dma.c
b/arch/powerpc/platforms/powernv/npu-dma.c
ind
Currently on PowerNV the IOMMU group of a device is initialised in
boot-time fixup which runs after devices are probed. Because this is
only run at boot time hotplugged devices do not recieve an iommu group
assignment which prevents them from being passed through to a guest.
This series fixes that
In pnv_ioda_setup_vf_PE() we register an iommu group for the VF PE
then call pnv_ioda_setup_bus_iommu_group() to add devices to that group.
However, this function is called before the VFs are scanned so there's
no devices to add.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc
he PE that contains it. We need to ensure that group is
removed before we add the PE to the compound group that's used to keep
the translations see by the PCIe and NVLink buses the same.
No functional changes. Probably.
Cc: Alexey Kardashevskiy
Cc: Reza Arbab
Cc: Alistair Popple
Signed-off-
getting their iommu
group via a common path rather than relying on the bus notifier hack
in pnv_tce_iommu_bus_notifier() to handle the adding VFs and
hotplugged devices to their group.
Cc: Alexey Kardashevskiy
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c | 8
No longer used.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 32 ---
1 file changed, 32 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 9198b7882b57..8b45b8e
Move it in with the rest of the TCE wrangling rather than carting around
a static prototype in pci-ioda.c
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda-tce.c | 28 +
arch/powerpc/platforms/powernv/pci-ioda.c | 30 ---
The NVlink IOMMU group setup is only relevant to NVLink devices so move
it into the NPU containment zone. This let us remove some prototypes in
pci.h and staticfy some function definitions.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c
he point of a changelog is to tell a
reader doing git archeology why a change happened and this is
sufficent for that.
Reviewed-by: Oliver O'Halloran
Image.
Cc: sta...@vger.kernel.org
Cc: Alexey Kardashevskiy
Signed-off-by: Oliver O'Halloran
---
First noticed here:
https://unix.stackexchange.com/questions/547023/linux-kernel-on-ppc64le-vmlinux-equivalent-in-arch-powerpc-boot
---
arch/powerpc/boot/devtree.c | 21 +
ar
On Wed, Oct 23, 2019 at 10:21 PM Segher Boessenkool
wrote:
>
> On Wed, Oct 23, 2019 at 12:36:35PM +1100, Oliver O'Halloran wrote:
> > When booting under OF the zImage expects the initrd address and size to be
> > passed to it using registers r3 and r4. SLOF (gues
On Fri, Oct 25, 2019 at 3:51 PM Alastair D'Silva wrote:
>
> From: Alastair D'Silva
>
> Enable OpenCAPI Storage Class Memory driver on bare metal
>
> Signed-off-by: Alastair D'Silva
> ---
> arch/powerpc/configs/powernv_defconfig | 4
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/p
ity. Both bugs can be fixed by just deleting the code.
Tested-by: Alexey Kardashevskiy
Reviewed-by: Alexey Kardashevskiy
Signed-off-by: Oliver O'Halloran
---
v2: Re-wrote commit message, got very depressed about the state of things.
The real fix here is to move the IOMMU group
From: Shawn Anastasio
Move PCI device setup from pcibios_add_device() and pcibios_fixup_bus() to
pcibios_bus_add_device(). This ensures that platform-specific DMA and IOMMU
setup occurs after the device has been registered in sysfs, which is a
requirement for IOMMU group assignment to work
This
be run multiple times on a device, once before the device is added
to the bus and once after.
There's no need to run the setup in the early case any more so just
remove it entirely.
Signed-off-by: Oliver O'Halloran
Tested-by: Alexey Kardashevskiy
Reviewed-by: Alexey Kardashevskiy
Long before we had a generic way for firmware to export memory ranges of
interest we added a special case for the skiboot symbol map. The code is
pretty much identical to the generic export so re-use the code.
Signed-off-by: Oliver O'Halloran
---
v2: Actually compile.
---
arch/powerpc/plat
d-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/opal.c | 114 +-
1 file changed, 72 insertions(+), 42 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c
b/arch/powerpc/platforms/powernv/opal.c
index 38e9027..0373da5 100644
--- a/ar
On PowerNV a few different kinds of reboot are supported. We'd like to be
able to exercise these from xmon so allow 'zr' to take an argument, and
pass that to the ppc_md.restart() function.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/xmon/xmon.c | 11 +++---
to be able to trigger one of these resets directly, so add a way to do
that.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/setup.c | 4
1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/setup.c
b/arch/powerpc/platforms/powernv/setup.c
ind
On Sun, Nov 3, 2019 at 11:31 PM Markus Elfring wrote:
>
> From: Markus Elfring
> Date: Sun, 3 Nov 2019 13:23:13 +0100
>
> The field “owner” is set by the core.
> Thus delete an unneeded initialisation.
Acked-by: Oliver O'Halloran
>
> Generat
On Sat, Nov 2, 2019 at 5:46 AM Jeffrin Thalakkottoor
wrote:
>
> hello ,
>
> i found a error message as the output of "sudo dmesg -l err"
> i have attached related to that in this email.
> i think i found this in 5.3.8 kernel
Use "uname -a" to get the current kernel version, architecture.
> But
eeh_pe_get() to eeh_pe_find()
> because it performs a search.
>
> Signed-off-by: Sam Bobroff
Good idea.
Reviewed-by: Oliver O'Halloran
e can fix these problems by setting the "pcie_ports_disabled" flag during
platform initialisation. The flag indicates the platform owns the PCIe
ports which stops the portbus driver being registered.
Cc: Sergey Miroshnichenko
Fixes: 66725152fb9f ("PCI/hotplug: PowerPC PowerNV PCI hotplug
On Thu, Nov 14, 2019 at 6:19 PM Madhavan Srinivasan
wrote:
>
> When a root user or a user with CAP_SYS_ADMIN
> privilege use trace_imc performance monitoring
> unit events, to monitor application or KVM threads,
> may result in a checkstop (System crash). Reason
> being frequent switch of the "tra
On Thu, Nov 14, 2019 at 1:31 AM Bjorn Helgaas wrote:
>
> This is fine, but it feels like sort of a blunt instrument. Is there
> any practical way to clear pci_host_bridge.native_pcie_hotplug (and
> native_aer if appropriate) for the PHBs in question? That would also
> prevent pciehp from binding.
On Thu, Nov 14, 2019 at 7:39 AM Tyrel Datwyler wrote:
>
> Nothing but pedantic spelling and grammar nits of the commit log follow.
>
> -Tyrel
Thanks. My speeling is bad even on a good day and it was not a good day.
On Mon, Nov 18, 2019 at 12:06 PM Alistair Popple wrote:
>
> On Wednesday, 13 November 2019 4:38:21 AM AEDT Frederic Barrat wrote:
> >
> > However, one question is whether this patch breaks nvlink and if nvlink
> > assumes the devices won’t go away because we explicitly take a reference
> > forever
ices drivers
that is: AER, PME, BW notifications, hotplug, and DPC. However, this is
not a huge disadvantage on PowerNV since these services are either unused
or handled through other means.
Cc: Sergey Miroshnichenko
Fixes: 66725152fb9f ("PCI/hotplug: PowerPC PowerNV PCI hotplug drive
On Tue, Nov 19, 2019 at 11:57 PM Frederic Barrat wrote:
>
> > Do the other accessors of ioda.pe_list also need mutex protection?
> > pnv_ioda_setup_bus_PE()
> > pnv_pci_dma_bus_setup()
> > pnv_pci_init_ioda_phb()
> > pnv_pci_ioda_setup_PEs()
>
>
> I think we could also use it there, it wouldn't hu
This series does a few things and probably needs to be split into two or
three smaller ones. I figured I'd post it as-is since I'm sick of sitting
on it and some people wanted people to take a look at it. There's three
parts:
1) Reworking EEH to move the "pseudo-generic" into the platform backend.
,
and it's getting in the way of doing useful cleanups.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/eeh.c| 59
arch/powerpc/platforms/powernv/eeh-powernv.c | 39 +++--
arch/powerpc/platforms/pseries/eeh_pseries.c | 26 +
3
sts.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 10 ++
arch/powerpc/platforms/powernv/pci.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda
The pnv_pci_dma_dev_setup() only does something when:
1) There PHB contains VFs, or
2) The PHB defines a dma_dev_setup() callback in the pnv_phb structure.
Neither is true for NPU PHBs, so don't set the callback in the
pci_controller_ops.
Signed-off-by: Oliver O'Halloran
---
ar
These functions are only used from pci-ioda.c. Move them in there and remove
the prototypes from the header files.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 43 +++
arch/powerpc/platforms/powernv/pci.c
This is only ever set for IODA PHBs. The only call site is in
pnv_pci_dma_dev_setup(), which is also only used by normal IODA PHBs, so remove
the callback in favour of a direct call.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 4 +---
arch/powerpc/plat
ical
place to do the fixup and it makes dma_dev_setup a bit simpler.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 35 +++
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/
on a per-device basis so we have some symmetry between the setup and
teardown paths. Moving the PE assignments to here should also allow us to
converge how PE assignment works on all PHB types so it's always done in
one place.
Signed-off-by: Oliver O'Halloran
---
arch/powe
nctions to remove a VF are slightly
different to those which remove a physical PCI device.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/eeh_driver.c | 44 +++-
1 file changed, 37 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/kernel/eeh_
Switch the eeh_ops->{read|write}_config methods to take an eeh_dev structure
rather than a pci_dn structure to specify the target device. This removes a
lot of the uses of pci_dn in both the EEH core and in the platform EEH
support.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/inc
Remove another pdn usage.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/include/asm/eeh.h | 2 +-
arch/powerpc/kernel/eeh.c| 5 ++---
arch/powerpc/kernel/eeh_pe.c | 6 ++
arch/powerpc/platforms/powernv/eeh-powernv.c
We use the pci_dn to retrieve the domain, bus, device, and function numbers for
an EEH device. We now have that in the eeh_dev so covert the various printk()s
we have around the place to source that information from the eeh_dev.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/kernel/
entations always return NULL so there's
not much point to it.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/include/asm/eeh.h | 3 +-
arch/powerpc/kernel/eeh.c| 6 ++--
arch/powerpc/platforms/powernv/eeh-powernv.c | 29 ++--
arc
rom using pci_dn on PowerNV and moving the eeh_dev
lookup into probe_pdev() allows the EEH core to be oblivious of how the
mapping is actually done.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/include/asm/eeh.h | 16 +++--
arch/powerpc/kernel/eeh.c
to squash
another pci_dn usage.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c
b/arch/powerpc/platforms/powernv/eeh-powernv.c
ind
Use the pnv_eeh_{read|write}_config() functions that take an edev rather
than a pci_dn. This allows us to remove most of the explict uses of pci_dn
in the PowerNV EEH backend and localises them into a few functions which we
can fix later.
Signed-off-by: Oliver O'Halloran
---
arch/po
Neaten things up a bit and remove a pci_dn use.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c
b/arch/powerpc/platforms/powern
sting "traverse the
pdn tree" method? Probably not.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 31
arch/powerpc/platforms/powernv/pci.h | 2 ++
2 files changed, 33 insertions(+)
diff --git a/arch/powerpc/platforms/p
_controller inside the function. This is
hard to read since it requires you to memorise the contents of the
private data fields and kind of error prone since it involves blindly
assigning a void pointer. Add a helper to make it more concise and
explict.
Signed-off-by: Oliver O'Halloran
-
problem if an EEH event occured while probing the device,
but I'm pretty sure that's going to be broken anyway.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 67 ++--
1 file changed, 4 insertions(+), 63 deletions(-)
diff --git
Most of what we fetch from the pci_dn is also in the pci_dev structure. Convert
the pnv_eeh_probe_pdev() to use the pdev fields rather than the pci_dn so we can
get rid of pci_dn eventually.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c
Use the pnv_eeh_find_edev() helper to look up the eeh_dev for a device
rather than doing it via the pci_dn.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 44 ++--
1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/arch/po
Have the PowerNV EEH backend allocate the eeh_dev if needed rather than using
the one attached to the pci_dn. This gets us most of the way towards decoupling
pci_dn from the PowerNV EEH code.
Signed-off-by: Oliver O'Halloran
---
We should probably be free()ing the eeh_dev somewhere. The pc
sting lookup method moves into the pseries platform and PowerNV
can choose the PE based on the bus heirachy instead.
Signed-off-by: Oliver O'Halloran
---
"parent" meaning "parent of the PE that actually contains this edev"
is stupid, but it's stupid consistent with wh
Squash another usage in preperation for making the config accessors pci_dn.
Signed-off-by: Oliver O'Halloran
---
We might want to move this into eeh-powernv.c
---
arch/powerpc/platforms/powernv/pci.c | 37 +---
1 file changed, 17 insertions(+), 20 deletions(-)
Despite the name this function is generic PowerNV PCI code rather than anything
EEH specific. Convert to take a phb and bdfn rather than a pci_dn.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci.c | 32 ++--
1 file changed, 21 insertions(+
Remove the use of pci_dn from the low-level config space access functions.
These are used by the eeh's config ops and the bus config ops that we
provide to the PCI core.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/eeh-powernv.c | 14 +++
arch/powerpc
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/pci.c
b/arch/powerpc/platforms/powernv/pci.c
index 36eea4bb514c..5b1f4677cdce 100644
--- a/arch/powerpc/platforms/powe
werNV specific
structure helps to clarify the role of pci_dn and ensures that the platform
specifics stay that way.
This will make the code easier to understand and modify since we don't need
to so much aboute PowerNV changes breaking pseries and EEH, and vis-a-vis.
Signed-off-by: Oliver O'Hal
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 32 +--
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 1c90feed233d..5bd7c1b
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 5bd7c1b058da..d4b5ee926222 100644
Use the helper to look up the pnv_ioda_pe for the device we're configuring DMA
for. In the VF case there's no need set pdn->pe_number since nothing looks at
it any more.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 3 +--
1 file changed,
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 98d858999a2d..7e88de18ead6 100644
--- a
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci.c
b/arch/powerpc/platforms/powernv/pci.c
index 5b1f4677cdce..0eeea8652426 100644
--- a/arch/powerpc/plat
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 7e88de18ead6..4f38652c7cd7 100644
--- a
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 4f38652c7cd7..8525642b1256 100644
--- a
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c | 13 ++---
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/npu-dma.c
b/arch/powerpc/platforms/powernv/npu-dma.c
index b95b9e3c4c98..68bfaef44862 100644
--- a
g a DMA so this gets us a bit closer to the model used
by the HW, which is comprensible by mortals, rather than... whatever
the hell is going on currently.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(
cause in a PCIe
environment the first downstream child will be at devfn 00.0.
In any case it's completely broken when no pci_dn is available. Remove
the PCI_DN checking and scan each of the device number that might be on
the downstream bus.
Cc: Benjamin Herrenschmidt
Signed-off-by: Oliver O'Hall
There's no need to use the pci_dn to find a device_node from a pci_dev.
Just search for the node pointed to by the pci_dev's of_node pointer.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c | 8
1 file changed, 4 insertions(+), 4 deletions(-
ction from being called.
In other words, the desired behaviour here appears to be leaking a ref.
Nice!
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/npu-dma.c | 11 +++
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/arch/powerpc/platforms/powernv
We don't need a pci_dn for the VF any more, so we can skip adding them.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 16
1 file changed, 16 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platfor
Nothing looks at it anymore.
Signed-off-by: Oliver O'Halloran
---
arch/powerpc/platforms/powernv/pci-ioda.c | 12
1 file changed, 12 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c
b/arch/powerpc/platforms/powernv/pci-ioda.c
index d3e375d71cdc..45d9407
The only thing we need the pdn for in this function is setting the pe_number
field, which we don't use anymore. Fix the weird refcounting behaviour while
we're here.
Signed-off-by: Oliver O'Halloran
---
Either Fred, or Reza also fixed this in some patch lately and that'll
1 - 100 of 692 matches
Mail list logo