Re: Runtime warnings in powerpc code

2018-12-27 Thread Scott Wood
On Thu, 2018-12-27 at 11:05 -0800, Guenter Roeck wrote:
> ---
> CONFIG_DEBUG_ATOMIC_SLEEP
> 
> [ cut here ]
> do not call blocking ops when !TASK_RUNNING; state=2 set at [<(ptrval)>]
> prepare_to_wait+0x54/0xe4
> WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:6099 __might_sleep+0x94/0x9c
> Modules linked in:
> CPU: 0 PID: 1 Comm: init Not tainted 4.20.0-yocto-standard+ #1
> NIP:  c00667a0 LR: c00667a0 CTR: 
> REGS: cf8df8c0 TRAP: 0700   Not tainted  (4.20.0-yocto-standard+)
> MSR:  00029032   CR: 2822  XER: 2000
> 
> GPR00: c00667a0 cf8df970 cf8e 0062 c0af15c8 0007 fa1ae97e
> 757148e2 
> GPR08: cf8de000    1f386000  
> cfd83c8c 
> GPR16: 0004 0004 0004  060c 000a cf8dfdb8
> cf267804 
> GPR24: cf8dfd78 cf8dfd68 cfa88a20 cec70830 0001  01d3
> c0b444cc 
> NIP [c00667a0] __might_sleep+0x94/0x9c
> LR [c00667a0] __might_sleep+0x94/0x9c
> Call Trace:
> [cf8df970] [c00667a0] __might_sleep+0x94/0x9c (unreliable)
> [cf8df990] [c05beddc] do_ide_request+0x48/0x6bc
> [cf8dfa10] [c0492bcc] __blk_run_queue+0x80/0x10c
> [cf8dfa20] [c049a938] blk_flush_plug_list+0x23c/0x258
> [cf8dfa60] [c006b888] io_schedule_prepare+0x44/0x5c
> [cf8dfa70] [c006b8c0] io_schedule+0x20/0x48
> [cf8dfa80] [c095e1ac] bit_wait_io+0x24/0x74
> [cf8dfa90] [c095dd94] __wait_on_bit+0xac/0x104
> [cf8dfab0] [c095de74] out_of_line_wait_on_bit+0x88/0x98
> [cf8dfae0] [c0229094] bh_submit_read+0xf8/0x104
> [cf8dfaf0] [c028b9a8] ext4_get_branch+0xdc/0x168
> [cf8dfb20] [c028c7fc] ext4_ind_map_blocks+0x2b0/0xc08
> [cf8dfc30] [c029551c] ext4_map_blocks+0x2e0/0x65c
> [cf8dfc80] [c02b8c84] ext4_mpage_readpages+0x5e8/0x97c
> [cf8dfd60] [c016c3cc] read_pages+0x60/0x1a0
> [cf8dfdb0] [c016c6e8] __do_page_cache_readahead+0x1dc/0x208
> [cf8dfe10] [c0159768] filemap_fault+0x418/0x834
> [cf8dfe50] [c02a00fc] ext4_filemap_fault+0x40/0x64
> [cf8dfe60] [c0198d0c] __do_fault+0x34/0xb8
> [cf8dfe70] [c019e264] handle_mm_fault+0xc44/0xf88
> [cf8dfef0] [c001a218] __do_page_fault+0x158/0x7b4
> [cf8dff40] [c00143b4] handle_page_fault+0x14/0x40
> --- interrupt: 301 at 0xb7904a70
> LR = 0xb78ef0c8
> Instruction dump:
> 7fe3fb78 bba10014 7c0803a6 38210020 4bfffd20 808a 3c60c0b0 3941 
> 7cc53378 3863a558 99490001 4bfd03bd <0fe0> 4bc0 7c0802a6 90010004 
> irq event stamp: 126702
> hardirqs last  enabled at (126701): [] console_unlock+0x434/0x5d0
> hardirqs last disabled at (126702): [] reenable_mmu+0x30/0x88
> softirqs last  enabled at (126552): [] __do_softirq+0x42c/0x4a0
> softirqs last disabled at (126529): [] irq_exit+0x104/0x108
> ---[ end trace 4f6c84b7815474d9 ]---

This doesn't look PPC-specific, but rather IDE-specific.  Here's a similar one
on x86:
https://lkml.org/lkml/2016/12/12/596

> ---
> #if defined(CONFIG_PROVE_LOCKING) && defined(CONFIG_DEBUG_LOCKDEP) && \
> defined(CONFIG_TRACE_IRQFLAGS)
> 
> [ cut here ]
> DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)
> WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3762

http://patchwork.ozlabs.org/patch/1016541/ should fix this.  It should also
only be showing up on 32-bit, not all platforms.

-Scott




[PATCH] fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address()

2018-12-27 Thread Scott Wood
These functions are called from atomic context:

[9.150239] BUG: sleeping function called from invalid context at 
/home/scott/git/linux/mm/slab.h:421
[9.158159] in_atomic(): 1, irqs_disabled(): 0, pid: 4432, name: ip
[9.163128] CPU: 8 PID: 4432 Comm: ip Not tainted 
4.20.0-rc2-00169-g63d86876f324 #29
[9.163130] Call Trace:
[9.170701] [c002e899a980] [c09c1068] .dump_stack+0xa8/0xec 
(unreliable)
[9.177140] [c002e899aa10] [c007a7b4] .___might_sleep+0x138/0x164
[9.184440] [c002e899aa80] [c01d5bac] 
.kmem_cache_alloc_trace+0x238/0x30c
[9.191216] [c002e899ab40] [c065ea1c] 
.memac_add_hash_mac_address+0x104/0x198
[9.199464] [c002e899abd0] [c065a788] .set_multi+0x1c8/0x218
[9.206242] [c002e899ac80] [c06615ec] 
.dpaa_set_rx_mode+0xdc/0x17c
[9.213544] [c002e899ad00] [c083d2b0] 
.__dev_set_rx_mode+0x80/0xd4
[9.219535] [c002e899ad90] [c083d334] .dev_set_rx_mode+0x30/0x54
[9.225271] [c002e899ae10] [c083d4a0] .__dev_open+0x148/0x1c8
[9.230751] [c002e899aeb0] [c083d934] 
.__dev_change_flags+0x19c/0x1e0
[9.230755] [c002e899af60] [c083d9a4] .dev_change_flags+0x2c/0x80
[9.242752] [c002e899aff0] [c08554ec] .do_setlink+0x350/0xf08
[9.248228] [c002e899b170] [c0857ad0] .rtnl_newlink+0x588/0x7e0
[9.253965] [c002e899b740] [c0852424] 
.rtnetlink_rcv_msg+0x3e0/0x498
[9.261440] [c002e899b820] [c0884790] 
.netlink_rcv_skb+0x134/0x14c
[9.267607] [c002e899b8e0] [c0851840] .rtnetlink_rcv+0x18/0x2c
[9.274558] [c002e899b950] [c0883c8c] 
.netlink_unicast+0x214/0x318
[9.281163] [c002e899ba00] [c0884220] 
.netlink_sendmsg+0x348/0x444
[9.287076] [c002e899bae0] [c080d13c] .sock_sendmsg+0x2c/0x54
[9.287080] [c002e899bb50] [c08106c0] .___sys_sendmsg+0x2d0/0x2d8
[9.298375] [c002e899bd30] [c0811a80] .__sys_sendmsg+0x5c/0xb0
[9.303939] [c002e899be20] [c6b0] system_call+0x60/0x6c

Signed-off-by: Scott Wood 
---
 drivers/net/ethernet/freescale/fman/fman_memac.c | 2 +-
 drivers/net/ethernet/freescale/fman/fman_tgec.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c 
b/drivers/net/ethernet/freescale/fman/fman_memac.c
index bc6eb30aa20f..41c6fa200e74 100644
--- a/drivers/net/ethernet/freescale/fman/fman_memac.c
+++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
@@ -928,7 +928,7 @@ int memac_add_hash_mac_address(struct fman_mac *memac, 
enet_addr_t *eth_addr)
hash = get_mac_addr_hash_code(addr) & HASH_CTRL_ADDR_MASK;
 
/* Create element to be added to the driver hash table */
-   hash_entry = kmalloc(sizeof(*hash_entry), GFP_KERNEL);
+   hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC);
if (!hash_entry)
return -ENOMEM;
hash_entry->addr = addr;
diff --git a/drivers/net/ethernet/freescale/fman/fman_tgec.c 
b/drivers/net/ethernet/freescale/fman/fman_tgec.c
index 40705938eecc..f75b9c11b2d2 100644
--- a/drivers/net/ethernet/freescale/fman/fman_tgec.c
+++ b/drivers/net/ethernet/freescale/fman/fman_tgec.c
@@ -553,7 +553,7 @@ int tgec_add_hash_mac_address(struct fman_mac *tgec, 
enet_addr_t *eth_addr)
hash = (crc >> TGEC_HASH_MCAST_SHIFT) & TGEC_HASH_ADR_MSK;
 
/* Create element to be added to the driver hash table */
-   hash_entry = kmalloc(sizeof(*hash_entry), GFP_KERNEL);
+   hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC);
if (!hash_entry)
return -ENOMEM;
hash_entry->addr = addr;
-- 
2.17.1


Re: [PATCH] net/wan/fsl_ucc_hdlc: Avoid double free in ucc_hdlc_probe()

2018-12-27 Thread David Miller
From: Peng Hao 
Date: Wed, 26 Dec 2018 16:28:30 +0800

> From: Wen Yang 
> 
> This patch fixes potential double frees if register_hdlc_device() fails.
> 
> Signed-off-by: Wen Yang 
> Reviewed-by: Peng Hao 

Applied.


Re: Pull request: scottwood/linux.git next

2018-12-27 Thread Scott Wood
On Thu, 2018-12-27 at 14:10 +0100, Christoph Hellwig wrote:
> On Sun, Dec 23, 2018 at 08:09:19PM -0600, Scott Wood wrote:
> > > > Christoph Hellwig (1):
> > > >   powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
> > > 
> > > This one breaks networking on my p5020ds.
> > > 
> > > dmesg is just full of:
> > > 
> > >   e1000e 2000:01:00.0: Tx DMA map failed
> > > 
> > > Haven't had time to dig any further.
> > 
> > OK, I'll revert.  My t4240rdb doesn't have PCI devices, so I wasn't able
> > to
> > test it.
> 
> How did this patch end up in your tree?  I don't think it has a chance
> to work Without the rest of the series.

It got dropped into my patchwork to-do and I didn't look closely enough at the
context -- sorry about that.

-Scott




Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.21-1 tag

2018-12-27 Thread pr-tracker-bot
The pull request you sent on Thu, 27 Dec 2018 22:58:06 +1100:

> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git 
> tags/powerpc-4.21-1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8d6973327ee84c2f40dd9efd8928d4a1186c96e2

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker


Re: [PATCH v2] PCI/MSI: Don't touch MSI bits when the PCI device is disconnected

2018-12-27 Thread Alex_Gagniuc
On 11/8/18 2:09 PM, Bjorn Helgaas wrote:
> 
> [EXTERNAL EMAIL]
> Please report any suspicious attachments, links, or requests for sensitive 
> information.
> 
> 
> [+cc Jonathan, Greg, Lukas, Russell, Sam, Oliver for discussion about
> PCI error recovery in general]
> 
> On Wed, Nov 07, 2018 at 05:42:57PM -0600, Bjorn Helgaas wrote:
>> On Tue, Sep 18, 2018 at 05:15:00PM -0500, Alexandru Gagniuc wrote:
>>> When a PCI device is gone, we don't want to send IO to it if we can
>>> avoid it. We expose functionality via the irq_chip structure. As
>>> users of that structure may not know about the underlying PCI device,
>>> it's our responsibility to guard against removed devices.
>>>
>>> .irq_write_msi_msg() is already guarded inside __pci_write_msi_msg().
>>> .irq_mask/unmask() are not. Guard them for completeness.
>>>
>>> For example, surprise removal of a PCIe device triggers teardown. This
>>> touches the irq_chips ops some point to disable the interrupts. I/O
>>> generated here can crash the system on firmware-first machines.
>>> Not triggering the IO in the first place greatly reduces the
>>> possibility of the problem occurring.
>>>
>>> Signed-off-by: Alexandru Gagniuc 
>>
>> Applied to pci/misc for v4.21, thanks!
> 
> I'm having second thoughts about this. 

Do we have a verdict on this? If you don't like this approach, then I'll 
have to fix the problem in some other way, but the problem still needs 
to be fixed.

Alex


Runtime warnings in powerpc code

2018-12-27 Thread Guenter Roeck
Hi,

I am getting the attached runtime warnings when enabling certain debug
options in powerpc code. The warnings are seen with pretty much all
platforms, and all active kernel releases.

Question: Is it worthwhile to keep building / testing powerpc builds
with the respective debug options enabled, and report it once in a while,
or should I just disable the options ?

Thanks,
Guenter

---
CONFIG_DEBUG_ATOMIC_SLEEP

[ cut here ]
do not call blocking ops when !TASK_RUNNING; state=2 set at [<(ptrval)>]
prepare_to_wait+0x54/0xe4
WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:6099 __might_sleep+0x94/0x9c
Modules linked in:
CPU: 0 PID: 1 Comm: init Not tainted 4.20.0-yocto-standard+ #1
NIP:  c00667a0 LR: c00667a0 CTR: 
REGS: cf8df8c0 TRAP: 0700   Not tainted  (4.20.0-yocto-standard+)
MSR:  00029032   CR: 2822  XER: 2000

GPR00: c00667a0 cf8df970 cf8e 0062 c0af15c8 0007 fa1ae97e 757148e2 
GPR08: cf8de000    1f386000   cfd83c8c 
GPR16: 0004 0004 0004  060c 000a cf8dfdb8 cf267804 
GPR24: cf8dfd78 cf8dfd68 cfa88a20 cec70830 0001  01d3 c0b444cc 
NIP [c00667a0] __might_sleep+0x94/0x9c
LR [c00667a0] __might_sleep+0x94/0x9c
Call Trace:
[cf8df970] [c00667a0] __might_sleep+0x94/0x9c (unreliable)
[cf8df990] [c05beddc] do_ide_request+0x48/0x6bc
[cf8dfa10] [c0492bcc] __blk_run_queue+0x80/0x10c
[cf8dfa20] [c049a938] blk_flush_plug_list+0x23c/0x258
[cf8dfa60] [c006b888] io_schedule_prepare+0x44/0x5c
[cf8dfa70] [c006b8c0] io_schedule+0x20/0x48
[cf8dfa80] [c095e1ac] bit_wait_io+0x24/0x74
[cf8dfa90] [c095dd94] __wait_on_bit+0xac/0x104
[cf8dfab0] [c095de74] out_of_line_wait_on_bit+0x88/0x98
[cf8dfae0] [c0229094] bh_submit_read+0xf8/0x104
[cf8dfaf0] [c028b9a8] ext4_get_branch+0xdc/0x168
[cf8dfb20] [c028c7fc] ext4_ind_map_blocks+0x2b0/0xc08
[cf8dfc30] [c029551c] ext4_map_blocks+0x2e0/0x65c
[cf8dfc80] [c02b8c84] ext4_mpage_readpages+0x5e8/0x97c
[cf8dfd60] [c016c3cc] read_pages+0x60/0x1a0
[cf8dfdb0] [c016c6e8] __do_page_cache_readahead+0x1dc/0x208
[cf8dfe10] [c0159768] filemap_fault+0x418/0x834
[cf8dfe50] [c02a00fc] ext4_filemap_fault+0x40/0x64
[cf8dfe60] [c0198d0c] __do_fault+0x34/0xb8
[cf8dfe70] [c019e264] handle_mm_fault+0xc44/0xf88
[cf8dfef0] [c001a218] __do_page_fault+0x158/0x7b4
[cf8dff40] [c00143b4] handle_page_fault+0x14/0x40
--- interrupt: 301 at 0xb7904a70
LR = 0xb78ef0c8
Instruction dump:
7fe3fb78 bba10014 7c0803a6 38210020 4bfffd20 808a 3c60c0b0 3941 
7cc53378 3863a558 99490001 4bfd03bd <0fe0> 4bc0 7c0802a6 90010004 
irq event stamp: 126702
hardirqs last  enabled at (126701): [] console_unlock+0x434/0x5d0
hardirqs last disabled at (126702): [] reenable_mmu+0x30/0x88
softirqs last  enabled at (126552): [] __do_softirq+0x42c/0x4a0
softirqs last disabled at (126529): [] irq_exit+0x104/0x108
---[ end trace 4f6c84b7815474d9 ]---

---
#if defined(CONFIG_PROVE_LOCKING) && defined(CONFIG_DEBUG_LOCKDEP) && \
defined(CONFIG_TRACE_IRQFLAGS)

[ cut here ]
DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)
WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3762
check_flags.part.25+0x1a0/0x1c4
Modules linked in:
CPU: 0 PID: 1 Comm: init Tainted: GW 4.20.0-yocto-standard+ #1
NIP:  c00839f0 LR: c00839f0 CTR: 
REGS: cf8dfe00 TRAP: 0700   Tainted: GW
(4.20.0-yocto-standard+)
MSR:  00021032   CR: 2828  XER: 2000

GPR00: c00839f0 cf8dfeb0 cf8e 002f 0001 c00938f4 c1425b76 002f 
GPR08: 1032  0001 0004 28282828   b7927688 
GPR16:  bfe20a5c bfe20a58 0fe5fff8 1b38 10002178  b7929c20 
GPR24: c095d81c 7c9319ee   b7929ae0 cf8e 9032 c0d2 
NIP [c00839f0] check_flags.part.25+0x1a0/0x1c4
LR [c00839f0] check_flags.part.25+0x1a0/0x1c4
Call Trace:
[cf8dfeb0] [c00839f0] check_flags.part.25+0x1a0/0x1c4 (unreliable)
[cf8dfec0] [c0085f6c] lock_is_held_type+0x78/0xb4
[cf8dfee0] [c095d35c] __schedule+0x6cc/0xb44
[cf8dff30] [c095d81c] schedule+0x48/0xb8
[cf8dff40] [c0014694] recheck+0x0/0x20
--- interrupt: 501 at 0xb78f2850
LR = 0xb78f2a24
Instruction dump:
3c80c0b0 3c60c0af 3884d684 38635f94 4bfb3189 0fe0 4bfffec8 3c80c0b0 
3c60c0af 3884d668 38635f94 4bfb316d <0fe0> 4bfffefc 3c80c0b0 3c60c0af 
irq event stamp: 127630
hardirqs last  enabled at (127629): []
_raw_spin_unlock_irq+0x3c/0x94
hardirqs last disabled at (127630): [] reenable_mmu+0x30/0x88
softirqs last  enabled at (127402): [] __do_softirq+0x42c/0x4a0
softirqs last disabled at (127393): [] irq_exit+0x104/0x108
---[ end trace 4f6c84b7815474da ]---
possible reason: unannotated irqs-on.
irq event stamp: 127630
hardirqs last  enabled at (127629): [] _raw_spin_unlock_irq+0x3c/0x94
hardirqs last disabled at (127630): [] reenable_mmu+0x30/0x88
softirqs last  enabled at (127402): [] __do_softirq+0x42c/0x4a0
softirqs last disabled at (127393): [] irq_exit+0x104/0x108

DEBUG_LOCKS_WARN_ON(

Re: Pull request: scottwood/linux.git next

2018-12-27 Thread Christoph Hellwig
On Sun, Dec 23, 2018 at 08:09:19PM -0600, Scott Wood wrote:
> > > Christoph Hellwig (1):
> > >   powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
> > 
> > This one breaks networking on my p5020ds.
> > 
> > dmesg is just full of:
> > 
> >   e1000e 2000:01:00.0: Tx DMA map failed
> > 
> > Haven't had time to dig any further.
> 
> OK, I'll revert.  My t4240rdb doesn't have PCI devices, so I wasn't able to
> test it.

How did this patch end up in your tree?  I don't think it has a chance
to work Without the rest of the series.


[GIT PULL] Please pull powerpc/linux.git powerpc-4.21-1 tag

2018-12-27 Thread Michael Ellerman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Linus,

Please pull powerpc updates for 4.21:

The following changes since commit ccda4af0f4b92f7b4c308d3acc262f4a7e3affad:

  Linux 4.20-rc2 (2018-11-11 17:12:31 -0600)

are available in the git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git 
tags/powerpc-4.21-1

for you to fetch changes up to 12526b0d6c580df860b31e59d68e5696e16c6e5b:

  Merge branch 'next' of 
https://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next 
(2018-12-24 14:14:45 +1100)


There are two conflicts I'm aware of.

The first is in arch/powerpc/mm/fault.c, the resolution is to add the 0xe00 case
to the switch and use the pr_alert() version of the printk.

The other is in arch/powerpc/kernel/iommu.c, where we deleted some code that was
modified in the iommu tree to use a new accessor.

cheers

- --
powerpc updates for 4.21

Notable changes:

 - Mitigations for Spectre v2 on some Freescale (NXP) CPUs.

 - A large series adding support for pass-through of Nvidia V100 GPUs to guests
   on Power9.

 - Another large series to enable hardware assistance for TLB table walk on
   MPC8xx CPUs.

 - Some preparatory changes to our DMA code, to make way for further cleanups
   from Christoph.

 - Several fixes for our Transactional Memory handling discovered by fuzzing the
   signal return path.

 - Support for generating our system call table(s) from a text file like other
   architectures.

 - A fix to our page fault handler so that instead of generating a WARN_ON_ONCE,
   user accesses of kernel addresses instead print a ratelimited and
   appropriately scary warning.

 - A cosmetic change to make our unhandled page fault messages more similar to
   other arches and also more compact and informative.

 - Freescale updates from Scott:
   "Highlights include elimination of legacy clock bindings use from dts
files, an 83xx watchdog handler, fixes to old dts interrupt errors, and
some minor cleanup."

And many clean-ups, reworks and minor fixes etc.

Thanks to:
 Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V,
 Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao, Christian Lamparter,
 Christophe Leroy, Christoph Hellwig, Daniel Axtens, Darren Stevens, David
 Gibson, Diana Craciun, Dmitry V. Levin, Firoz Khan, Geert Uytterhoeven, Greg
 Kurz, Gustavo Romero, Hari Bathini, Joel Stanley, Kees Cook, Madhavan
 Srinivasan, Mahesh Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal
 Suchánek, Naveen N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras,
 Ram Pai, Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam
 Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen Rothwell,
 Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian Tang, Yue Haibing.

- --
Alexandre Belloni (2):
  powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"
  powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"

Alexey Kardashevskiy (26):
  powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace 
addresses on demand
  powerpc/powernv/npu: Remove unused headers and a macro.
  vfio/spapr_tce: Get rid of possible infinite loop
  powerpc/powernv/ioda1: Remove dead code for a single device PE
  powerpc/powernv/ioda: Reduce a number of hooks in pnv_phb
  powerpc/powernv/eeh/npu: Fix uninitialized variables in 
opal_pci_eeh_freeze_status
  powerpc/ioda/npu: Call skiboot's hot reset hook when disabling NPU2
  powerpc/mm/iommu/vfio_spapr_tce: Change mm_iommu_get to reference a region
  powerpc/vfio/iommu/kvm: Do not pin device memory
  powerpc/powernv: Move npu struct from pnv_phb to pci_controller
  powerpc/powernv/npu: Move OPAL calls away from context manipulation
  powerpc/pseries/iommu: Use memory@ nodes in max RAM address calculation
  powerpc/pseries/npu: Enable platform support
  powerpc/pseries: Remove IOMMU API support for non-LPAR systems
  powerpc/powernv/pseries: Rework device adding to IOMMU groups
  powerpc/iommu_api: Move IOMMU groups setup to a single place
  powerpc/powernv: Reference iommu_table while it is linked to a group
  powerpc/powernv/npu: Move single TVE handling to NPU PE
  powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops
  powerpc/powernv/npu: Add compound IOMMU groups
  powerpc/powernv/npu: Add release_ownership hook
  powerpc/powernv/npu: Check mmio_atsd array bounds when populating
  powerpc/powernv/npu: Fault user page into the hypervisor's pagetable
  vfio_pci: Allow mapping extra regions
  vfio_pci: Allow regions to add own capabilities
  vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver

Aneesh Kumar K.V (1):
  powerpc/mm/hash: Handle user access of kernel address gracef