linux-next

GIT 5319f37db5f63a4d94f48a17a26573a22ff0dfd1

commit ecd55e367f3d706788632e176ec6b94e1a72a07c
Author: Chuhong Yuan <hslester96@gmail.com>
Date:   Mon Sep 2 09:43:23 2019 +0800

    usb: chipidea: msm: Use device-managed registration API
    
    Use devm_reset_controller_register to get rid
    of manual unregistration.
    
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
    Signed-off-by: Peter Chen <peter.chen@nxp.com>

commit 345f0254e5b2f4090e4a00ebc996e07e9bdcd070
Author: Maya Nakamura <m.maya.nakamura@gmail.com>
Date:   Fri Jul 12 08:27:38 2019 +0000

    HID: hv: Remove dependencies on PAGE_SIZE for ring buffer
    
    Define the ring buffer size as a constant expression because it should
    not depend on the guest page size.
    
    Signed-off-by: Maya Nakamura <m.maya.nakamura@gmail.com>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    Acked-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 039b1f4f24ecc8493b6bb9d70b4b78750d1b35c2
Author: Fernando Fernandez Mancera <ffmancera@riseup.net>
Date:   Sun Sep 1 11:48:08 2019 +0200

    netfilter: nft_socket: fix erroneous socket assignment
    
    The socket assignment is wrong, see skb_orphan():
    When skb->destructor callback is not set, but skb->sk is set, this hits BUG().
    
    Link: https://bugzilla.redhat.com/show_bug.cgi?id=1651813
    Fixes: 554ced0a6e29 ("netfilter: nf_tables: add support for native socket matching")
    Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 48bd0d68cd4b849c0bb99dc1fb01b013ad4aa942
Author: Leonardo Bras <leonardo@linux.ibm.com>
Date:   Sat Aug 31 01:40:33 2019 -0300

    netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded
    
    A kernel panic can happen if a host has disabled IPv6 on boot and have to
    process guest packets (coming from a bridge) using it's ip6tables.
    
    IPv6 packets need to be dropped if the IPv6 module is not loaded, and the
    host ip6tables will be used.
    
    Signed-off-by: Leonardo Bras <leonardo@linux.ibm.com>
    Acked-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 7f7378618b4103c083db7de5017df958f8ada070
Author: Tony Lindgren <tony@atomide.com>
Date:   Fri Aug 30 16:23:16 2019 -0700

    power: supply: cpcap-charger: Enable vbus boost voltage
    
    We are currently not enabling VBUS boost for cpcap when in host mode.
    This means the VBUS is fed at the battery voltage level, which can cause
    flakeyness enumerating devices.
    
    Looks like the boost control for VBUS is CPCAP_BIT_VBUS_SWITCH that we
    must enable in the charger for nice 4.92 V VBUS output. And looks like
    we must not use the STBY pin enabling but must instead use manual VBUS
    control in phy-cpcap-usb.
    
    We want to do this in cpcap_charger_vbus_work() and also set a flag for
    feeding_vbus to avoid races between USB detection and charger detection,
    and disable charging if feeding_vbus is set.
    
    Cc: Jacopo Mondi <jacopo@jmondi.org>
    Cc: Kishon Vijay Abraham I <kishon@ti.com>
    Cc: Marcel Partap <mpartap@gmx.net>
    Cc: Merlijn Wajer <merlijn@wizzup.org>
    Cc: Michael Scott <hashcode0f@gmail.com>
    Cc: NeKit <nekit1000@gmail.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Sebastian Reichel <sre@kernel.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 7cfd33d997a4c320b6bbce5e9592230dae1e73d2
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:28 2019 +0800

    power: supply: sc27xx: Add POWER_SUPPLY_PROP_CALIBRATE attribute
    
    Add the 'POWER_SUPPLY_PROP_CALIBRATE' attribute to allow chareger manager
    to calibrate the battery capacity.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 580665279fb6a16eb119ec80a5be1b3ec7a641a0
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:26 2019 +0800

    power: supply: sc27xx: Optimize the battery capacity calibration
    
    This patch factors out the capacity calibration into one single function
    to calibrate the battery capacity, and adding more abnormal cases to
    calibrate the capacity when the OCV value is not matchable with current
    capacity.
    
    Moreover we also allow to calibrate the capacity when charger magager
    tries to get current capacity to make sure we give a correct capacity
    for userspace.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit ff062d06948c012cbfd6f5947b599be5ea1c3799
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:27 2019 +0800

    power: supply: sc27xx: Make sure the alarm capacity is larger than 0
    
    We must make sure the alarm capacity is larger than 0, to help to
    calibrate the low battery capacity.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 7384b0e7668f722fcf7abe56f61a7212debd0180
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:25 2019 +0800

    power: supply: sc27xx: Fix the the accuracy issue of coulomb calculation
    
    The Spreadtrum fuel gauge will multiply by 2 for counting the coulomb
    counter to improve the accuracy, which means the value saved in fuel
    gauge is: coulomb counter * 2 * 1000ma_adc. Thus fix the conversion
    formular to improve the accuracy of calculating the battery capacity.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 168e68d072756d631a210342d0429c969501b7cf
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:24 2019 +0800

    power: supply: sc27xx: Fix conditon to enable the FGU interrupt
    
    We should allow to enable FGU interrupt to adjust the battery capacity,
    when charging status is POWER_SUPPLY_STATUS_DISCHARGING.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 7cff19b9a8ff1fdc61655dad4e2009bb44099d70
Author: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
Date:   Wed Jul 31 18:00:23 2019 +0800

    power: supply: sc27xx: Add POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN attribute
    
    Add POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN attribute to provide the battery's
    design capacity for charger manager to calculate the charging counter.
    
    Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 46058b2f01c2d274d7d315acf994e8cc93d6a3f9
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 31 09:43:43 2019 +0200

    configfs: provide exclusion between IO and removals
    
    Make sure that attribute methods are not called after the item
    has been removed from the tree.  To do so, we
            * at the point of no return in removals, grab ->frag_sem
    exclusive and mark the fragment dead.
            * call the methods of attributes with ->frag_sem taken
    shared and only after having verified that the fragment is still
    alive.
    
            The main benefit is for method instances - they are
    guaranteed that the objects they are accessing *and* all ancestors
    are still there.  Another win is that we don't need to bother
    with extra refcount on config_item when opening a file -
    the item will be alive for as long as it stays in the tree, and
    we won't touch it/attributes/any associated data after it's
    been removed from the tree.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Christoph Hellwig <hch@lst.de>

commit 47320fbe11a6059ae502c9c16b668022fdb4cf76
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sun Aug 25 19:56:13 2019 -0400

    configfs: new object reprsenting tree fragments
    
    Refcounted, hangs of configfs_dirent, created by operations that add
    fragments to configfs tree (mkdir and configfs_register_{subsystem,group}).
    Will be used in the next commit to provide exclusion between fragment
    removal and ->show/->store calls.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Christoph Hellwig <hch@lst.de>

commit f19e4ed1e1edbfa3c9ccb9fed17759b7d6db24c6
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Thu Aug 29 23:13:30 2019 -0400

    configfs_register_group() shouldn't be (and isn't) called in rmdirable parts
    
    revert cc57c07343bd "configfs: fix registered group removal"
    It was an attempt to handle something that fundamentally doesn't
    work - configfs_register_group() should never be done in a part
    of tree that can be rmdir'ed.  And in mainline it never had been,
    so let's not borrow trouble; the fix was racy anyway, it would take
    a lot more to make that work and desired semantics is not clear.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Christoph Hellwig <hch@lst.de>

commit ff4dd081977da56566a848f071aed8fa92d604a1
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Fri Aug 30 11:30:03 2019 -0400

    configfs: stash the data we need into configfs_buffer at open time
    
    simplifies the ->read()/->write()/->release() instances nicely
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Christoph Hellwig <hch@lst.de>

commit f25a9f638c3f9694cfb47d6e561cd6c712149230
Author: Steve French <stfrench@microsoft.com>
Date:   Fri Aug 30 02:12:41 2019 -0500

    smb3: add mount option to allow RW caching of share accessed by only 1 client
    
    If a share is known to be only to be accessed by one client, we
    can aggressively cache writes not just reads to it.
    
    Add "cache=" option (cache=singleclient) for mounting read write shares
    (that will not be read or written to from other clients while we have
    it mounted) in order to improve performance.
    
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 79436eb4eb39fbb7e40fbd4dfb5a7edfd6280146
Author: Steve French <stfrench@microsoft.com>
Date:   Thu Aug 29 22:33:38 2019 -0500

    smb3: add some more descriptive messages about share when mounting cache=ro
    
    Add some additional logging so the user can see if the share they
    mounted with cache=ro is considered read only by the server
    
    CIFS: Attempting to mount //localhost/test
    CIFS VFS: mounting share with read only caching. Ensure that the share will not be modified while in use.
    CIFS VFS: read only mount of RW share
    
    CIFS: Attempting to mount //localhost/test-ro
    CIFS VFS: mounting share with read only caching. Ensure that the share will not be modified while in use.
    CIFS VFS: mounted to read only share
    
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>

commit 42297d0a58d178b704a987ba065c9e5a1c39a6e1
Author: Colin Ian King <colin.king@canonical.com>
Date:   Mon Sep 2 16:10:59 2019 +0100

    cifs: fix dereference on ses before it is null checked
    
    The assignment of pointer server dereferences pointer ses, however,
    this dereference occurs before ses is null checked and hence we
    have a potential null pointer dereference.  Fix this by only
    dereferencing ses after it has been null checked.
    
    Addresses-Coverity: ("Dereference before null check")
    Fixes: 2808c6639104 ("cifs: add new debugging macro cifs_server_dbg")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 0c588ab0b883ddfe2dfe1074069e861c16ad0f15
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Wed Aug 28 17:15:35 2019 +1000

    cifs: add new debugging macro cifs_server_dbg
    
    which can be used from contexts where we have a TCP_Server_Info *server.
    This new macro will prepend the debugging string with "Server:<servername> "
    which will help when debugging issues on hosts with many cifs connections
    to several different servers.
    
    Convert a bunch of cifs_dbg(VFS) calls to cifs_server_dbg(VFS)
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit d0e5899489d83463c2d5229b26336058c435e745
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Fri Aug 30 09:53:56 2019 +1000

    cifs: use existing handle for compound_op(OP_SET_INFO) when possible
    
    If we already have a writable handle for a path we want to set the
    attributes for then use that instead of a create/set-info/close compound.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit d93cbd0d4430aed9066b9ebedb5840075c53f1f8
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Fri Aug 30 08:25:46 2019 +1000

    cifs: create a helper to find a writeable handle by path name
    
    rename() takes a path for old_file and in SMB2 we used to just create
    a compound for create(old_path)/rename/close().
    If we already have a writable handle we can avoid the create() and close()
    altogether and just use the existing handle.
    
    For this situation, as we avoid doing the create()
    we also avoid triggering an oplock break for the existing handle.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit e8870aa07894300ec91e0f99dea738e90fbc0df8
Author: Steve French <stfrench@microsoft.com>
Date:   Tue Aug 27 23:58:54 2019 -0500

    smb3: add mount option to allow forced caching of read only share
    
    If a share is immutable (at least for the period that it will
    be mounted) it would be helpful to not have to revalidate
    dentries repeatedly that we know can not be changed remotely.
    
    Add "cache=" option (cache=ro) for mounting read only shares
    in order to improve performance in cases in which we know that
    the share will not be changing while it is in use.
    
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 436be5557dcb06bfad91f8456450a5e371001da8
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Aug 23 20:15:35 2019 +0800

    cifs: remove set but not used variables
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    fs/cifs/file.c: In function cifs_lock:
    fs/cifs/file.c:1696:24: warning: variable cinode set but not used [-Wunused-but-set-variable]
    fs/cifs/file.c: In function cifs_write:
    fs/cifs/file.c:1765:23: warning: variable cifs_sb set but not used [-Wunused-but-set-variable]
    fs/cifs/file.c: In function collect_uncached_read_data:
    fs/cifs/file.c:3578:20: warning: variable tcon set but not used [-Wunused-but-set-variable]
    
    'cinode' is never used since introduced by
    commit 03776f4516bc ("CIFS: Simplify byte range locking code")
    'cifs_sb' is not used since commit cb7e9eabb2b5 ("CIFS: Use
    multicredits for SMB 2.1/3 writes").
    'tcon' is not used since commit d26e2903fc10 ("smb3: fix bytes_read statistics")
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit ba940bacb93e9e5c9068c0e57f4fd9c4c6615fba
Author: Steve French <stfrench@microsoft.com>
Date:   Mon Aug 5 17:07:26 2019 -0500

    smb3: Incorrect size for netname negotiate context
    
    It is not null terminated (length was off by two).
    
    Also see similar change to Samba:
    
    https://gitlab.com/samba-team/samba/merge_requests/666
    
    Reported-by: Stefan Metzmacher <metze@samba.org>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 442606bd677b35af6b1a3d42dca360040353456d
Author: zhengbin <zhengbin13@huawei.com>
Date:   Tue Aug 20 22:00:47 2019 +0800

    cifs: remove unused variable
    
    In smb3_punch_hole, variable cifsi set but not used, remove it.
    In cifs_lock, variable netfid set but not used, remove it.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit c12189c51e2664dc6df334d1d021df7d72614329
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Jul 31 10:05:26 2019 +0100

    cifs: remove redundant assignment to variable rc
    
    Variable rc is being initialized with a value that is never read
    and rc is being re-assigned a little later on. The assignment is
    redundant and hence can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 7b88cd70b0d0f26f1246eff3e56b50ee691459e0
Author: Steve French <stfrench@microsoft.com>
Date:   Thu Jul 25 18:19:42 2019 -0500

    smb3: add missing flag definitions
    
    SMB3 and 3.1.1 added two additional flags including
    the priority mask.  Add them to our protocol definitions
    in smb2pdu.h.  See MS-SMB2 2.2.1.2
    
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>

commit b52cb401d6444a5c562fe1d4ec8cc969693937e0
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Thu Jul 25 13:08:43 2019 +1000

    cifs: add passthrough for smb2 setinfo
    
    Add support to send smb2 set-info commands from userspace.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Paulo Alcantara <palcantara@suse.de>

commit ba44b62016c8527d8ad4524c1104ee654eee9e7b
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Tue Jul 16 15:07:08 2019 +1000

    cifs: prepare SMB2_Flush to be usable in compounds
    
    Create smb2_flush_init() and smb2_flush_free() so we can use the flush command
    in compounds.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit f5229c319282c26007632d6ce11c479462a62cba
Author: Steve French <stfrench@microsoft.com>
Date:   Fri Jul 19 08:15:55 2019 +0000

    cifs: allow chmod to set mode bits using special sid
    
        When mounting with "modefromsid" set mode bits (chmod) by
        adding ACE with special SID (S-1-5-88-3-<mode>) to the ACL.
        Subsequent patch will fix setting default mode on file
        create and mkdir.
    
        See See e.g.
            https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/hh509017(v=ws.10)
    
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit a2b8f333a3fc6f1b7c59fc907ad35ce713b73ed3
Author: Steve French <stfrench@microsoft.com>
Date:   Fri Jul 19 06:30:07 2019 +0000

    cifs: get mode bits from special sid on stat
    
    When mounting with "modefromsid" retrieve mode bits from
    special SID (S-1-5-88-3) on stat.  Subsequent patch will fix
    setattr (chmod) to save mode bits in S-1-5-88-3-<mode>
    
    Note that when an ACE matching S-1-5-88-3 is not found, we
    default the mode to an approximation based on the owner, group
    and everyone permissions (as with the "cifsacl" mount option).
    
    See See e.g.
        https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/hh509017(v=ws.10)
    
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 0387ad783b17c70145cff7f9a1a78e786506fdd2
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Jul 23 16:09:19 2019 +0100

    fs: cifs: cifsssmb: remove redundant assignment to variable ret
    
    The variable ret is being initialized however this is never read
    and later it is being reassigned to a new value. The initialization
    is redundant and hence can be removed.
    
    Addresses-Coverity: ("Unused Value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit a48ffa319dd172a39f5c5f804e71126077941948
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Wed Jul 24 11:43:49 2019 +1000

    cifs: fix a comment for the timeouts when sending echos
    
    Clarify a trivial comment
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 343160e98cff359d9fc96f3efc95d90f5a9c2d35
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Wed Jul 3 10:48:10 2019 +0200

    power: supply: max77650: add MODULE_ALIAS()
    
    Define a MODULE_ALIAS() in the charger sub-driver for max77650 so that
    the appropriate module gets loaded together with the core mfd driver.
    
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit a2ea3cd78abd0dfdc0b39decb4a74870a2a47dbf
Author: Jason Gunthorpe <jgg@mellanox.com>
Date:   Mon Sep 2 03:01:03 2019 -0300

    drm/radeon: guard against calling an unpaired radeon_mn_unregister()
    
    This check was accidently deleted in the below commit. There are cases
    where the driver will call unregister even though it hasn't registered
    anything.
    
     CPU 0 Unable to handle kernel paging request at virtual address 0000001c, epc == 808de6d4, ra == 804d32ec
     Call Trace:
     [<808de6d4>] mutex_lock+0x8/0x44
     [<804d32ec>] radeon_mn_unregister+0x3c/0xb0
     [<8041583c>] radeon_gem_object_free+0x18/0x2c
     [<803a451c>] drm_gem_object_release_handle+0x74/0xac
     [<803a45d0>] drm_gem_handle_delete+0x7c/0x128
     [<803a5bf4>] drm_ioctl_kernel+0xb0/0x108
     [<803a5e74>] drm_ioctl+0x200/0x3a8
     [<803e07b4>] radeon_drm_ioctl+0x54/0xc0
     [<801214dc>] do_vfs_ioctl+0x4e8/0x81c
     [<80121864>] ksys_ioctl+0x54/0xb0
     [<8001100c>] syscall_common+0x34/0x58
    
    Link: https://lore.kernel.org/r/2fc7ef14-e89a-1f2d-381d-1c9b05da02d3@gmail.com
    Fixes: 534e5f84b7a9 ("drm/radeon: use mmu_notifier_get/put for struct radeon_mn")
    Reported-by: Petr Cvek <petrcvekcz@gmail.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 3ad1aab70acb410e711b3917bba422e4c1d7343b
Author: Jason Gunthorpe <jgg@mellanox.com>
Date:   Mon Sep 2 02:47:05 2019 -0300

    csky: add missing brackets in a macro for tlb.h
    
    As an earlier patch made the macro argument more complicated, compilation
    now fails with:
    
     In file included from mm/madvise.c:30:
     mm/madvise.c: In function 'madvise_free_single_vma':
     arch/csky/include/asm/tlb.h:11:11: error:
         invalid type argument of '->' (have 'struct mmu_gather')
    
    Link: https://lore.kernel.org/r/20190901193601.GB5208@mellanox.com
    Fixes: 923bfc561e75 ("pagewalk: separate function pointers from iterator data")
    Reported-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 72e538f6ee883dde0925c89d288d16070f3286e4
Author: Colin Ian King <colin.king@canonical.com>
Date:   Fri Jul 5 10:36:12 2019 +0100

    power: supply: isp1704: remove redundant assignment to variable ret
    
    The variable ret is being assigned with a value that is never
    read and it is being updated later with a new value. The
    assignment is redundant and can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 5c35ba9b4743ac82613e8ff306287c8837f21f24
Author: Angus Ainslie (Purism) <angus@akkea.ca>
Date:   Fri Jul 5 05:37:51 2019 -0600

    power: supply: bq25890_charger: Add the BQ25895 part
    
    The BQ25895 is almost identical to the BQ25890.
    
    Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca>
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 204205836f4d9a44c3e8825a9c14704fc5b2cdfd
Author: Fuqian Huang <huangfq.daxian@gmail.com>
Date:   Mon Jul 8 20:32:59 2019 +0800

    power: supply: sc27xx: Replace devm_add_action() followed by failure action with devm_add_action_or_reset()
    
    devm_add_action_or_reset() is introduced as a helper function which
    internally calls devm_add_action(). If devm_add_action() fails
    then it will execute the action mentioned and return the error code.
    This reduce source code size (avoid writing the action twice)
    and reduce the likelyhood of bugs.
    
    Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
    Reviewed-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 08614b407d8dffd9136c79ce6fd579be42173cc3
Author: Fuqian Huang <huangfq.daxian@gmail.com>
Date:   Mon Jul 8 20:32:51 2019 +0800

    power: supply: sc27xx: Introduce local variable 'struct device *dev'
    
    Introduce local variable 'struct device *dev' and use it instead of
    dereferencing it repeatly.
    
    Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
    Reviewed-by: Baolin Wang <baolin.wang@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 7d04b0b13b1175ce0c4bdc77f1278c1f120f874f
Author: Matteo Croce <mcroce@redhat.com>
Date:   Mon Sep 2 12:21:37 2019 +0200

    mvpp2: percpu buffers
    
    Every mvpp2 unit can use up to 8 buffers mapped by the BM (the HW buffer
    manager). The HW will place the frames in the buffer pool depending on the
    frame size: short (< 128 bytes), long (< 1664) or jumbo (up to 9856).
    
    As any unit can have up to 4 ports, the driver allocates only 2 pools,
    one for small and one long frames, and share them between ports.
    When the first port MTU is set higher than 1664 bytes, a third pool is
    allocated for jumbo frames.
    
    This shared allocation makes impossible to use percpu allocators,
    and creates contention between HW queues.
    
    If possible, i.e. if the number of possible CPU are less than 8 and jumbo
    frames are not used, switch to a new scheme: allocate 8 per-cpu pools for
    short and long frames and bind every pool to an RXQ.
    
    When the first port MTU is set higher than 1664 bytes, the allocation
    scheme is reverted to the old behaviour (3 shared pools), and when all
    ports MTU are lowered, the per-cpu buffers are allocated again.
    
    Signed-off-by: Matteo Croce <mcroce@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 136163618e3a9db403ef832ac32ab0b173ef503e
Author: Matteo Croce <mcroce@redhat.com>
Date:   Mon Sep 2 12:21:36 2019 +0200

    mvpp2: refactor BM pool functions
    
    Refactor mvpp2_bm_pool_create(), mvpp2_bm_pool_destroy() and
    mvpp2_bm_pools_init() so that they accept a struct device instead
    of a struct platform_device, as they just need platform_device->dev.
    
    Removing such dependency makes the BM code more reusable in context
    where we don't have a pointer to the platform_device.
    
    Signed-off-by: Matteo Croce <mcroce@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 59857e9eadceb4002b2bd601d526091e4524d610
Author: Matwey V. Kornilov <matwey@sai.msu.ru>
Date:   Sat Jul 13 18:42:48 2019 +0300

    power: reset: reboot-mode: Fix author email format
    
    Closing angle bracket was missing.
    
    Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 9eab9a5b4c53df850c5a7f4f48b783fac3bbffe8
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Jul 17 22:18:48 2019 +0800

    power: supply: ab8500: remove set but not used variables 'vbup33_vrtcn' and 'bup_vch_range'
    
    Fixes gcc '-Wunused-but-set-variable' warnings:
    
    drivers/power/supply/ab8500_charger.c:
     In function ab8500_charger_init_hw_registers:
    drivers/power/supply/ab8500_charger.c:3013:24: warning:
     variable vbup33_vrtcn set but not used [-Wunused-but-set-variable]
    drivers/power/supply/ab8500_charger.c:3013:5: warning:
     variable bup_vch_range set but not used [-Wunused-but-set-variable]
    
    Fixes: 4c4268dc97c4 ("power: supply: ab8500: Drop AB8540/9540 support")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 40badfa396093fe85d83a5a57711b4830e85a9e0
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Sun Jul 21 18:03:28 2019 +0200

    power: supply: max17042_battery: Fix a typo in function names
    
    It is likely that 'max10742_[un]lock_model()' functions should be
    'max17042_[un]lock_model()'
    (0 and 7 switched in 10742)
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 4ba0ebbc6cdecb9fad7c551a3d97b172ebc7b2fa
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Sat Aug 31 15:46:19 2019 +0300

    net: dsa: Fix off-by-one number of calls to devlink_port_unregister
    
    When a function such as dsa_slave_create fails, currently the following
    stack trace can be seen:
    
    [    2.038342] sja1105 spi0.1: Probed switch chip: SJA1105T
    [    2.054556] sja1105 spi0.1: Reset switch and programmed static config
    [    2.063837] sja1105 spi0.1: Enabled switch tagging
    [    2.068706] fsl-gianfar soc:ethernet@2d90000 eth2: error -19 setting up slave phy
    [    2.076371] ------------[ cut here ]------------
    [    2.080973] WARNING: CPU: 1 PID: 21 at net/core/devlink.c:6184 devlink_free+0x1b4/0x1c0
    [    2.088954] Modules linked in:
    [    2.092005] CPU: 1 PID: 21 Comm: kworker/1:1 Not tainted 5.3.0-rc6-01360-g41b52e38d2b6-dirty #1746
    [    2.100912] Hardware name: Freescale LS1021A
    [    2.105162] Workqueue: events deferred_probe_work_func
    [    2.110287] [<c03133a4>] (unwind_backtrace) from [<c030d8cc>] (show_stack+0x10/0x14)
    [    2.117992] [<c030d8cc>] (show_stack) from [<c10b08d8>] (dump_stack+0xb4/0xc8)
    [    2.125180] [<c10b08d8>] (dump_stack) from [<c0349d04>] (__warn+0xe0/0xf8)
    [    2.132018] [<c0349d04>] (__warn) from [<c0349e34>] (warn_slowpath_null+0x40/0x48)
    [    2.139549] [<c0349e34>] (warn_slowpath_null) from [<c0f19d74>] (devlink_free+0x1b4/0x1c0)
    [    2.147772] [<c0f19d74>] (devlink_free) from [<c1064fc0>] (dsa_switch_teardown+0x60/0x6c)
    [    2.155907] [<c1064fc0>] (dsa_switch_teardown) from [<c1065950>] (dsa_register_switch+0x8e4/0xaa8)
    [    2.164821] [<c1065950>] (dsa_register_switch) from [<c0ba7fe4>] (sja1105_probe+0x21c/0x2ec)
    [    2.173216] [<c0ba7fe4>] (sja1105_probe) from [<c0b35948>] (spi_drv_probe+0x80/0xa4)
    [    2.180920] [<c0b35948>] (spi_drv_probe) from [<c0a4c1cc>] (really_probe+0x108/0x400)
    [    2.188711] [<c0a4c1cc>] (really_probe) from [<c0a4c694>] (driver_probe_device+0x78/0x1bc)
    [    2.196933] [<c0a4c694>] (driver_probe_device) from [<c0a4a3dc>] (bus_for_each_drv+0x58/0xb8)
    [    2.205414] [<c0a4a3dc>] (bus_for_each_drv) from [<c0a4c024>] (__device_attach+0xd0/0x168)
    [    2.213637] [<c0a4c024>] (__device_attach) from [<c0a4b1d0>] (bus_probe_device+0x84/0x8c)
    [    2.221772] [<c0a4b1d0>] (bus_probe_device) from [<c0a4b72c>] (deferred_probe_work_func+0x84/0xc4)
    [    2.230686] [<c0a4b72c>] (deferred_probe_work_func) from [<c03650a4>] (process_one_work+0x218/0x510)
    [    2.239772] [<c03650a4>] (process_one_work) from [<c03660d8>] (worker_thread+0x2a8/0x5c0)
    [    2.247908] [<c03660d8>] (worker_thread) from [<c036b348>] (kthread+0x148/0x150)
    [    2.255265] [<c036b348>] (kthread) from [<c03010e8>] (ret_from_fork+0x14/0x2c)
    [    2.262444] Exception stack(0xea965fb0 to 0xea965ff8)
    [    2.267466] 5fa0:                                     00000000 00000000 00000000 00000000
    [    2.275598] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    2.283729] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    2.290333] ---[ end trace ca5d506728a0581a ]---
    
    devlink_free is complaining right here:
    
            WARN_ON(!list_empty(&devlink->port_list));
    
    This happens because devlink_port_unregister is no longer done right
    away in dsa_port_setup when a DSA_PORT_TYPE_USER has failed.
    Vivien said about this change that:
    
        Also no need to call devlink_port_unregister from within dsa_port_setup
        as this step is inconditionally handled by dsa_port_teardown on error.
    
    which is not really true. The devlink_port_unregister function _is_
    being called unconditionally from within dsa_port_setup, but not for
    this port that just failed, just for the previous ones which were set
    up.
    
    ports_teardown:
            for (i = 0; i < port; i++)
                    dsa_port_teardown(&ds->ports[i]);
    
    Initially I was tempted to fix this by extending the "for" loop to also
    cover the port that failed during setup. But this could have potentially
    unforeseen consequences unrelated to devlink_port or even other types of
    ports than user ports, which I can't really test for. For example, if
    for some reason devlink_port_register itself would fail, then
    unconditionally unregistering it in dsa_port_teardown would not be a
    smart idea. The list might go on.
    
    So just make dsa_port_setup undo the setup it had done upon failure, and
    let the for loop undo the work of setting up the previous ports, which
    are guaranteed to be brought up to a consistent state.
    
    Fixes: 955222ca5281 ("net: dsa: use a single switch statement for port setup")
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Reviewed-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e33b4325e60e146c2317a8b548cbd633239ff83b
Author: Yizhuo <yzhai003@ucr.edu>
Date:   Fri Aug 30 19:00:48 2019 -0700

    net: stmmac: dwmac-sun8i: Variable "val" in function sun8i_dwmac_set_syscon() could be uninitialized
    
    In function sun8i_dwmac_set_syscon(), local variable "val" could
    be uninitialized if function regmap_field_read() returns -EINVAL.
    However, it will be used directly in the if statement, which
    is potentially unsafe.
    
    Signed-off-by: Yizhuo <yzhai003@ucr.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a21cf11bc57fca136f98e81ebc6a6eaf52952b8f
Author: Jiri Pirko <jiri@mellanox.com>
Date:   Fri Aug 30 10:25:30 2019 +0200

    mlx5: Add missing init_net check in FIB notifier
    
    Take only FIB events that are happening in init_net into account. No other
    namespaces are supported.
    
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    Acked-by: Roi Dayan <roid@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0e063317d579d0a7fca957461332b6832da69850
Author: Michal Simek <michal.simek@xilinx.com>
Date:   Mon Sep 2 15:00:40 2019 +0200

    power: reset: gpio-restart: Fix typo when gpio reset is not found
    
    Trivial patch which just corrects error message.
    
    Fixes: 371bb20d6927 ("power: Add simple gpio-restart driver")
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 544b3e7fd2d39b571298c64000423df21b912a3b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Sep 2 19:45:06 2019 +0200

    staging: exfat: make exfat depend on BLOCK
    
    This should fix a build error in some configurations when CONFIG_BLOCK
    is not selected.  Also properly set the dependancy for no FAT support at
    the same time.
    
    Reported-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Valdis Kletnieks <valdis.kletnieks@vt.edu>
    Link: https://lore.kernel.org/r/20190902174631.GB31445@kroah.com
    Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cd80c707791f26f413c8464fe66f2606c430352
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Thu Aug 29 14:41:04 2019 +0100

    virtio-fs: add Documentation/filesystems/virtiofs.rst
    
    Add information about the new "virtiofs" file system.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 26125580e9223c9cf8d1ad6523abe3ffd0d7a024
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Tue Jun 12 09:41:17 2018 +0100

    virtio-fs: add virtiofs filesystem
    
    Add a basic file system module for virtio-fs.  This does not yet contain
    shared data support between host and guest or metadata coherency speedups.
    However it is already significantly faster than virtio-9p.
    
    Design Overview
    ===============
    
    With the goal of designing something with better performance and local file
    system semantics, a bunch of ideas were proposed.
    
     - Use fuse protocol (instead of 9p) for communication between guest and
       host.  Guest kernel will be fuse client and a fuse server will run on
       host to serve the requests.
    
     - For data access inside guest, mmap portion of file in QEMU address space
       and guest accesses this memory using dax.  That way guest page cache is
       bypassed and there is only one copy of data (on host).  This will also
       enable mmap(MAP_SHARED) between guests.
    
     - For metadata coherency, there is a shared memory region which contains
       version number associated with metadata and any guest changing metadata
       updates version number and other guests refresh metadata on next access.
       This is yet to be implemented.
    
    How virtio-fs differs from existing approaches
    ==============================================
    
    The unique idea behind virtio-fs is to take advantage of the co-location of
    the virtual machine and hypervisor to avoid communication (vmexits).
    
    DAX allows file contents to be accessed without communication with the
    hypervisor.  The shared memory region for metadata avoids communication in
    the common case where metadata is unchanged.
    
    By replacing expensive communication with cheaper shared memory accesses,
    we expect to achieve better performance than approaches based on network
    file system protocols.  In addition, this also makes it easier to achieve
    local file system semantics (coherency).
    
    These techniques are not applicable to network file system protocols since
    the communications channel is bypassed by taking advantage of shared memory
    on a local machine.  This is why we decided to build virtio-fs rather than
    focus on 9P or NFS.
    
    Caching Modes
    =============
    
    Like virtio-9p, different caching modes are supported which determine the
    coherency level as well.  The “cache=FOO” and “writeback” options control
    the level of coherence between the guest and host filesystems.
    
     - cache=none
       metadata, data and pathname lookup are not cached in guest.  They are
       always fetched from host and any changes are immediately pushed to host.
    
     - cache=always
       metadata, data and pathname lookup are cached in guest and never expire.
    
     - cache=auto
       metadata and pathname lookup cache expires after a configured amount of
       time (default is 1 second).  Data is cached while the file is open
       (close to open consistency).
    
     - writeback/no_writeback
       These options control the writeback strategy.  If writeback is disabled,
       then normal writes will immediately be synchronized with the host fs.
       If writeback is enabled, then writes may be cached in the guest until
       the file is closed or an fsync(2) performed.  This option has no effect
       on mmap-ed writes or writes going through the DAX mechanism.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit eb3d8f42231aec65b64b079dd17bd6c008a3fe29
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Wed Aug 28 11:26:13 2019 -0400

    NFS: Fix inode fileid checks in attribute revalidation code
    
    We want to throw out the attrbute if it refers to the mounted on fileid,
    and not the real fileid. However we do not want to block cache consistency
    updates from NFSv4 writes.
    
    Reported-by: Murphy Zhou <jencce.kernel@gmail.com>
    Fixes: 7e10cc25bfa0 ("NFS: Don't refresh attributes with mounted-on-file...")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>

commit 9c551fac9ea9629cdc6deb205292c2bbe7b38917
Author: amy.shih <amy.shih@advantech.com.tw>
Date:   Mon Jun 18 15:57:19 2085 +0000

    hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD.
    
    According to kernel hwmon sysfs-interface documentation, temperature
    critical max value, typically greater than corresponding temp_max values.
    Thus, reads the LTD_HV_HL (LTD HIGH VALUE HIGH LIMITATION) and LTD_LV_HL
    (LTD LOW VALUE HIGH LIMITATION) for case hwmon_temp_crit and
    hwmon_temp_crit_hyst. Reads the LTD_HV_LL (HIGH VALUE LOW LIMITATION)
    and LTD_LV_LL (LOW VALUE LOW LIMITATION) for case hwmon_temp_max
    and hwmon_temp_max_hyst.
    
    Signed-off-by: amy.shih <amy.shih@advantech.com.tw>
    Link: https://lore.kernel.org/r/20850618155720.24857-1-Amy.Shih@advantech.com.tw
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 4b6253fa736494346bab381114611e358afae545
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Aug 9 12:50:15 2019 -0700

    Input: bu21013_ts - switch to using standard touchscreen properties
    
    This switches the driver over to the standard touchscreen properties for
    coordinate transformation, while keeping old bindings working as well.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 307ec663f6c3e9a0a80c7092a1dea6e09debc127
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Aug 9 12:08:14 2019 -0700

    Input: bu21013_ts - switch to using MT-B (slotted) protocol
    
    MT-B protocol is more efficient and everyone expects it. We use in-kernel
    tracking to identify contacts.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 18aa4d6b67483b4dac08a537f6c4fc943eea5386
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 17:41:12 2019 -0700

    Input: bu21013_ts - fix suspend when wake source
    
    If the touchscreen is configured as wakeup source we should not be cutting
    off power to it.
    
    Also, now that the driver relies on I2C client to supply IRQ, we do not
    need to explicitly enable and disable IRQ for wakeup: if device is created
    as wakeup source, I2C core will mark interrupt as wakeup one.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit db3e34d4036db59cbacc1bff1c622b23d85b766b
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Aug 9 10:07:06 2019 -0700

    Input: bu21013_ts - use interrupt from I2C client
    
    Instead of trying to map INT GPIO to interrupt, let's use one supplied by
    I2C client. If there is none - bail. This will also allow us to treat INT
    GPIO as optional, as per the binding.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 1eb7b4cacc01771ae42fcbc5ae9a4bc1d13c1dbc
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 12:09:43 2019 -0700

    Input: bu21013_ts - remove support for platform data
    
    There are no current users of the platform data in the tree, and
    any new users should either use device tree, or static device
    properties to describe the device.
    
    This change drop the platform data definition and handling and moves the
    driver over to generic device properties API. We also drop support for the
    external clock. If it is needed we will have to extend the bindings to
    supply the clock reference and handle it properly in the driver.
    
    Also, wakeup setting should be coming from I2C client.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit caeb1aae283f9b93d92400b1cb0395bdfd0d586c
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 14:28:48 2019 -0700

    Input: bu21013_ts - convert to using managed resources
    
    This allows trimming error unwinding and device removal handling.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit a5ee351d5bc7c9e0abdbc3d345a503cc07d0623f
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 16:02:43 2019 -0700

    Input: bu21013_ts - remove useless comments
    
    The comments for individual functions in the driver do not provide any
    additional information beyond what function names indicate.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 0570bab054106f68533dcb0de2e64c48b15d7b9f
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 15:53:43 2019 -0700

    Input: bu21013_ts - annotate supend/resume methods as __maybe_unused
    
    Instead if #ifdef-ing out suspend and resume methods, let's mark
    them as __maybe_unused to get better compile time coverage.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit a866781e84dd022dde5d307093555e65c31277de
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 8 14:19:36 2019 -0700

    Input: bu21013_ts - rename some variables
    
    "bu21013_data" and "struct bu21013_ts_data" are a tad long, let's call them
    "ts" and "struct bu21013_ts".
    
    Also rename retval to error in bu21013_init_chip() and adjust formatting;
    i2c_smbus_write_byte_data() returns negative on error and 0 on success, so
    we simply test if whether erro is 0 or not.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit a1b70a44b80af641a441937803cb8251e8e6d8e3
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Thu Aug 8 11:03:59 2019 -0700

    Input: bu21013_ts - convert to use GPIO descriptors
    
    This driver can use GPIO descriptors rather than GPIO numbers
    without any problems, convert it. Name the field variables after
    the actual pins on the chip rather than the "reset" and "touch"
    names from the devicetree bindings that are vaguely inaccurate.
    
    No in-tree users pass GPIO numbers in platform data so drop
    this. Descriptor tables can be used to get these GPIOs from a board
    file if need be.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 5dc15dcf39c40fcc420e41b43e31ab260c3feec3
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Aug 9 09:48:51 2019 -0700

    ARM: ux500: improve BU21013 touchpad bindings
    
    In preparation to update to bu21013_tp driver properly annotate GPIOs
    property (the INT GPIOs are active low, not open drain), and also define
    interrupt lines so we do not have to have special conversion in the driver.
    
    Tested-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 27c8bac145ef7f2662d8696e49d627b6b4ca256a
Author: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Date:   Tue Aug 27 03:44:57 2019 +0000

    hwmon: (as370-hwmon) Add DT bindings for Synaptics AS370 PVT
    
    Add device tree bindings for Synaptics AS370 PVT sensors.
    
    Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20190827113337.384457f6@xhacker.debian
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 658e687b4218b42d03a5b0b79a292c9c48f1ddaf
Author: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Date:   Tue Aug 27 03:44:15 2019 +0000

    hwmon: Add Synaptics AS370 PVT sensor driver
    
    Add a new driver for Synaptics AS370 PVT sensors. Currently, only
    temperature is supported.
    
    Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20190827113259.4fb64a17@xhacker.debian
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 0f459556cd18db192a2a5dd6e5fd9d545f058bb6
Author: Eddie James <eajames@linux.ibm.com>
Date:   Fri Aug 30 14:11:03 2019 -0500

    pmbus: (ibm-cffps) Add support for version 2 of the PSU
    
    Version 2 of the PSU supports a second page of data and changes the
    format of the FW version. Use the devicetree binding to differentiate
    between the version the driver should use.
    
    Signed-off-by: Eddie James <eajames@linux.ibm.com>
    Link: https://lore.kernel.org/r/1567192263-15065-4-git-send-email-eajames@linux.ibm.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 2e091fac4871d9e6a22895cef507850b90749257
Author: Eddie James <eajames@linux.ibm.com>
Date:   Fri Aug 30 14:11:01 2019 -0500

    dt-bindings: hwmon: Document ibm,cffps2 compatible string
    
    Document the compatible string for version 2 of the IBM CFFPS PSU.
    
    Signed-off-by: Eddie James <eajames@linux.ibm.com>
    Link: https://lore.kernel.org/r/1567192263-15065-2-git-send-email-eajames@linux.ibm.com
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 9e362992ff34cab695e669ef1e3f4f65463087e5
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Aug 28 21:34:24 2019 +0300

    drm/i915: Clean up HDMI deep color handling a bit
    
    Reogranize the HDMI deep color state computation to just
    loop over possible bpc values. Avoids having to maintain
    so many variants of the clock etc.
    
    The current code also looks confused w.r.t. port_clock vs.
    bw_constrained. It would happily update port_clock for
    deep color but then not actually enable deep color due to
    bw_constrained being set. The new logic handles that case
    correctly.
    
    v2: Pull stuff into separate funcs (Jani)
    
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828183424.7856-1-ville.syrjala@linux.intel.com

commit 66a990dd0c49b534b2396934c1659b3fef34233d
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Fri Aug 30 21:27:19 2019 +0300

    drm/i915: Prefer encoder->name over port_name()
    
    enum port is a mess now because it no longer matches the spec
    at all. Let's start to dig ourselves out of this hole by
    reducing our reliance on port_name(). This should at least make
    a bunch of debug messages a bit more sensible while we think how
    to fill the the hole properly.
    
    Based on the following cocci script with a lot of manual cleanup
    (all the format strings etc.):
    @@
    expression E;
    @@
    (
    - port_name(E->port)
    + E->base.base.id, E->base.name
    |
    - port_name(E.port)
    + E.base.base.id, E.base.name
    )
    
    @@
    enum port P;
    expression E;
    @@
      P = E->port
    <...
    - port_name(P)
    + E->base.base.id, E->base.name
    ...>
    
    @@
    enum port P;
    expression E;
    @@
      P = E.port
    <...
    - port_name(P)
    + E.base.base.id, E.base.name
    ...>
    
    @@
    expression E;
    @@
    {
    - enum port P = E;
    ... when != P
    }
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830182719.32608-1-ville.syrjala@linux.intel.com
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 75427b2a2bffc083d51dec389c235722a9c69b05
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Aug 28 13:20:59 2019 +0300

    drm/i915: Limit MST to <= 8bpc once again
    
    My attempt at allowing MST to use the higher color depths has
    regressed some configurations. Apparently people have setups
    where all MST streams will fit into the DP link with 8bpc but
    won't fit with higher color depths.
    
    What we really should be doing is reducing the bpc for all the
    streams on the same link until they start to fit. But that requires
    a bit more work, so in the meantime let's revert back closer to
    the old behavior and limit MST to at most 8bpc.
    
    Cc: stable@vger.kernel.org
    Cc: Lyude Paul <lyude@redhat.com>
    Tested-by: Geoffrey Bennett <gmux22@gmail.com>
    Fixes: f1477219869c ("drm/i915: Remove the 8bpc shackles from DP MST")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111505
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828102059.2512-1-ville.syrjala@linux.intel.com
    Reviewed-by: Lyude Paul <lyude@redhat.com>

commit 86759eeb32f70193ca7ebd50cc9b70ccb73d3d89
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Fri Aug 30 15:04:16 2019 +0200

    ARM: multi_v7_defconfig: Make MAX77802 regulator driver built-in
    
    Maxim 77802 PMIC is a main PMIC for the following Exynos5 based boards:
    Odroid XU, Chromebook Pit and Chromebook Pi. Driver for its voltage
    regulator is needed very early during boot to properly instantiate SD/MMC
    devices and mount rootfs, so change that driver to be compiled-in.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 60cb036dbda7b37d52e1803ac3c5127e3d741313
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:32 2019 +0000

    vfs: Convert ceph to use the new mount API
    
    Convert the ceph filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
    cc: Ilya Dryomov <idryomov@gmail.com>
    cc: Sage Weil <sage@redhat.com>
    cc: ceph-devel@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 348140124f0949d773e13ee9a191243f4e9abf00
Author: Andrew Price <anprice@redhat.com>
Date:   Wed Mar 27 14:46:00 2019 +0000

    gfs2: Convert gfs2 to fs_context
    
    Convert gfs2 and gfs2meta to fs_context. Removes the duplicated vfs code
    from gfs2_mount and instead uses the new vfs_get_block_super() before
    switching the ->root to the appropriate dentry.
    
    The mount option parsing has been converted to the new API and error
    reporting for invalid options has been made more precise at the same
    time.
    
    All of the mount/remount code has been moved into ops_fstype.c
    
    Signed-off-by: Andrew Price <anprice@redhat.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: cluster-devel@redhat.com
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 529803dce39b44d3772bb2049f06edcde55376aa
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 11:09:39 2019 +0000

    vfs: Kill mount_single()
    
    Kill mount_single() as nothing now uses it.  It has been replaced by
    vfs_get_super() keyed with vfs_get_single_super or
    vfs_get_single_reconf_super.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 514b423fe4e80aaddd58d21e8652122e8db191d5
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 10:34:14 2019 +0000

    vfs: Convert spufs to use the new mount API
    
    Convert the spufs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Jeremy Kerr <jk@ozlabs.org>
    cc: Arnd Bergmann <arnd@arndb.de>
    cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 75231fb6e1965a8a148a297e882afd71d2420606
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 09:35:44 2019 +0000

    vfs: Convert hypfs to use the new mount API
    
    Convert the hypfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    cc: linux-s390@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 0a421fe37c0a4b35d62cffb0b29ff5ec1f206079
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 10:08:08 2019 +0000

    hypfs: Fix error number left in struct pointer member
    
    In hypfs_fill_super(), if hypfs_create_update_file() fails,
    sbi->update_file is left holding an error number.  This is passed to
    hypfs_kill_super() which doesn't check for this.
    
    Fix this by not setting sbi->update_value until after we've checked for
    error.
    
    Fixes: 24bbb1faf3f0 ("[PATCH] s390_hypfs filesystem")
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    cc: linux-s390@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit fab3d3fd23ce74e0eb6271d375348db25f7c276d
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 08:42:49 2019 +0000

    vfs: Convert pstore to use the new mount API
    
    Convert the pstore filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Kees Cook <keescook@chromium.org>
    cc: Anton Vorontsov <anton@enomsg.org>
    cc: Colin Cross <ccross@android.com>
    cc: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 97dae379269bb26bc28833578b6f979a7aa4b91a
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 08:27:55 2019 +0000

    vfs: Convert tracefs to use the new mount API
    
    Convert the tracefs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Steven Rostedt <rostedt@goodmis.org>
    cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 2fa9d3c7b604e580aab3ecafd9241fc7c66aa758
Author: David Howells <dhowells@redhat.com>
Date:   Mon Jan 21 14:04:22 2019 +0000

    vfs: Convert debugfs to use the new mount API
    
    Convert the debugfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d3c317e89f57ca9a719bc7a60e5cfbb08b6120bd
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 09:22:36 2019 +0000

    vfs: Add a single-or-reconfig keying to vfs_get_super()
    
    Add an additional keying mode to vfs_get_super() to indicate that only a
    single superblock should exist in the system, and that, if it does, further
    mounts should invoke reconfiguration upon it.
    
    This allows mount_single() to be replaced.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 03a09e7dcee9f232362ce1448fedecb31c000290
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:32 2019 +0000

    vfs: Convert squashfs to use the new mount API
    
    Convert the squashfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Phillip Lougher <phillip@squashfs.org.uk>
    cc: squashfs-devel@lists.sourceforge.net
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit f5299d87ac2afac82ee0763c8997b6291a70d35e
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:32 2019 +0000

    mtd: Kill mount_mtd()
    
    Kill mount_mtd() as it has now been replaced by vfs_get_mtd_super() in the
    new mount API and nothing now uses it.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: David Woodhouse <dwmw2@infradead.org>
    cc: Brian Norris <computersforpeace@gmail.com>
    cc: Boris Brezillon <bbrezillon@kernel.org>
    cc: Marek Vasut <marek.vasut@gmail.com>
    cc: Richard Weinberger <richard@nod.at>
    cc: linux-mtd@lists.infradead.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d1f8b99efc6cd71125f716f10771169c0abb891b
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:32 2019 +0000

    vfs: Convert jffs2 to use the new mount API
    
    Convert the jffs2 filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: David Woodhouse <dwmw2@infradead.org>
    cc: linux-mtd@lists.infradead.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d74503eed1b5d422979eff2aaa6270853d4cc666
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:32 2019 +0000

    vfs: Convert cramfs to use the new mount API
    
    Convert the cramfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Tested-by: Nicolas Pitre <nico@fluxnic.net>
    Acked-by: Nicolas Pitre <nico@fluxnic.net>
    cc: linux-mtd@lists.infradead.org
    cc: linux-block@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit f6dc88cfeb11499f2259b5477bb4e965e1525c9b
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: Convert romfs to use the new mount API
    
    Convert the romfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: linux-mtd@lists.infradead.org
    cc: linux-block@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 51eab38291868a7360a67a9ed95588e4a0c8e8a1
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    mtd: Provide fs_context-aware mount_mtd() replacement
    
    Provide a function, vfs_get_mtd_super(), to replace mount_mtd(), using an
    fs_context struct to hold the parameters.  The mtd device pointer is cached
    in the struct, along with a destructor pointer as the mtd core may be in a
    module and, as such, unreachable by the core code that would release the
    fs_context.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: David Woodhouse <dwmw2@infradead.org>
    cc: Brian Norris <computersforpeace@gmail.com>
    cc: Boris Brezillon <bbrezillon@kernel.org>
    cc: Marek Vasut <marek.vasut@gmail.com>
    cc: Richard Weinberger <richard@nod.at>
    cc: linux-mtd@lists.infradead.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 8965e019cc96e89a0080b170885bba469a6761e9
Author: Guillaume Gardet <guillaume.gardet@arm.com>
Date:   Fri Aug 30 12:45:01 2019 +0200

    ARM: dts: exynos: Enable GPU/Mali T604 on Arndale board
    
    Tested with kmscube and some glmark2* tests on arndale board.
    
    Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 124e0f4a39f7218f858586e06d9ece3dff757662
Author: Guillaume Gardet <guillaume.gardet@arm.com>
Date:   Fri Aug 30 12:45:00 2019 +0200

    ARM: dts: exynos: Enable GPU/Mali T604 on Chromebook Snow
    
    Tested with kmscube and some glmark2* tests on Chromebook snow.
    Frequency adapts with load.
    
    Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 137cae0b7af72bda284a58ab69dbef0a0245579f
Author: Guillaume Gardet <guillaume.gardet@arm.com>
Date:   Fri Aug 30 12:44:59 2019 +0200

    ARM: dts: exynos: Add GPU/Mali T604 node to Exynos5250
    
    Add nodes for GPU (Mali T604) to Exynos5250.
    
    Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 4c43ad9e9d41d2bf9f98ee45a2ad134d4edd9ea9
Author: Guillaume Gardet <guillaume.gardet@arm.com>
Date:   Fri Aug 30 12:45:02 2019 +0200

    ARM: dts: exynos: Fix min/max buck4 for GPU on Arndale board
    
    Required to have GPU voltage scaling working properly.
    
    Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit d33cd42d86671bed870827aa399aeb9f1da74119
Author: Sam Bazley <sambazley@fastmail.com>
Date:   Sun Sep 1 03:31:30 2019 +0100

    ALSA: hda/realtek - Add quirk for HP Pavilion 15
    
    HP Pavilion 15 (AMD Ryzen-based model) with 103c:84e7 needs the same
    quirk like HP Envy/Spectre x360 for enabling the mute LED over Mic3 pin.
    
    [ rearranged in the SSID number order by tiwai ]
    
    Signed-off-by: Sam Bazley <sambazley@fastmail.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 5833f5a5daf37f54ff7cc15f03ac0df201ccff92
Author: Guillaume Gardet <guillaume.gardet@arm.com>
Date:   Fri Aug 30 12:44:58 2019 +0200

    dt-bindings: gpu: mali: Add Samsung exynos5250 compatible
    
    Add "samsung,exynos5250-mali" binding.
    
    Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 33385da8d2189e9e43f8c32bfdbf6972b4eea699
Author: Sibi Sankar <sibis@codeaurora.org>
Date:   Sun Sep 1 23:14:07 2019 +0530

    dt-bindings: reset: pdc: Convert PDC Global bindings to yaml
    
    Convert PDC Global bindings to yaml and add SC7180 PDC global to the list
    of possible bindings.
    
    Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>

commit 68d5ecf727051605577b4c7a10b133687e7facf1
Author: Sibi Sankar <sibis@codeaurora.org>
Date:   Sun Sep 1 23:14:06 2019 +0530

    dt-bindings: reset: aoss: Convert AOSS reset bindings to yaml
    
    Convert AOSS reset bindings to yaml and add SC7180 AOSS reset to the list
    of possible bindings.
    
    Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>

commit 5b0eeeaa37615df37a9a30929b73e9defe61ca84
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Fri Aug 30 14:52:42 2019 +0200

    ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks
    
    Commit aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply
    for Peach boards") assigned LDO10 to Exynos Thermal Measurement Unit,
    but it turned out that it supplies also some other critical parts and
    board freezes/crashes when it is turned off.
    
    The mentioned commit made Exynos TMU a consumer of that regulator and in
    typical case Exynos TMU driver keeps it enabled from early boot. However
    there are such configurations (example is multi_v7_defconfig), in which
    some of the regulators are compiled as modules and are not available
    from early boot. In such case it may happen that LDO10 is turned off by
    regulator core, because it has no consumers yet (in this case consumer
    drivers cannot get it, because the supply regulators for it are not yet
    available). This in turn causes the board to crash. This patch restores
    'always-on' property for the LDO10 regulator.
    
    Fixes: aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply for Peach boards")
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 2cf842ba2f4172a47c03c24d1c450f2c4fc95c19
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Fri Aug 23 16:53:56 2019 +0200

    ARM: dts: exynos: Remove not accurate secondary ADC compatible
    
    The Exynos3250 ADC has its own compatible because of differences from
    other Exynos SoCs.  Therefore it is not entirely compatible with
    samsung,exynos-adc-v2.  Remove the samsung,exynos-adc-v2.
    
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

commit 6369512541e7be367cb6a8fb73336e55bea26138
Author: Vivek Goyal <vgoyal@redhat.com>
Date:   Mon May 6 15:35:43 2019 -0400

    fuse: allow skipping control interface and forced unmount
    
    virtio-fs does not support aborting requests which are being
    processed. That is requests which have been sent to fuse daemon on host.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit aeec95daeac1f97570ac881a707938667b861af5
Author: Miklos Szeredi <mszeredi@redhat.com>
Date:   Thu Aug 29 11:01:20 2019 +0200

    fuse: dissociate DESTROY from fuseblk
    
    Allow virtio-fs to also send DESTROY request.
    
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit bf518e8f8083487eab75a34dc585fc1ab4565cf9
Author: Miklos Szeredi <mszeredi@redhat.com>
Date:   Wed Aug 15 17:42:34 2018 +0200

    fuse: delete dentry if timeout is zero
    
    Don't hold onto dentry in lru list if need to re-lookup it anyway at next
    access.  Only do this if explicitly enabled, otherwise it could result in
    performance regression.
    
    More advanced version of this patch would periodically flush out dentries
    from the lru which have gone stale.
    
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 86a303ea9bdee647700ea81689cfffa21d349e4d
Author: Vivek Goyal <vgoyal@redhat.com>
Date:   Wed Mar 6 16:51:40 2019 -0500

    fuse: separate fuse device allocation and installation in fuse_conn
    
    As of now fuse_dev_alloc() both allocates a fuse device and installs it in
    fuse_conn list.  fuse_dev_alloc() can fail if fuse_device allocation fails.
    
    virtio-fs needs to initialize multiple fuse devices (one per virtio queue).
    It initializes one fuse device as part of call to fuse_fill_super_common()
    and rest of the devices are allocated and installed after that.
    
    But, we can't afford to fail after calling fuse_fill_super_common() as we
    don't have a way to undo all the actions done by fuse_fill_super_common().
    So to avoid failures after the call to fuse_fill_super_common(),
    pre-allocate all fuse devices early and install them into fuse connection
    later.
    
    This patch provides two separate helpers for fuse device allocation and
    fuse device installation in fuse_conn.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit c86d5d8e82e08fada8a8fbddbcc2b46543a126da
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Mon Jun 18 15:53:19 2018 +0100

    fuse: add fuse_iqueue_ops callbacks
    
    The /dev/fuse device uses fiq->waitq and fasync to signal that requests are
    available.  These mechanisms do not apply to virtio-fs.  This patch
    introduces callbacks so alternative behavior can be used.
    
    Note that queue_interrupt() changes along these lines:
    
      spin_lock(&fiq->waitq.lock);
      wake_up_locked(&fiq->waitq);
    + kill_fasync(&fiq->fasync, SIGIO, POLL_IN);
      spin_unlock(&fiq->waitq.lock);
    - kill_fasync(&fiq->fasync, SIGIO, POLL_IN);
    
    Since queue_request() and queue_forget() also call kill_fasync() inside
    the spinlock this should be safe.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 226a46262cdb1d0e7a1af0aab5e51bf01ef9b592
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Wed Jun 13 10:23:04 2018 +0100

    fuse: extract fuse_fill_super_common()
    
    fuse_fill_super() includes code to process the fd= option and link the
    struct fuse_dev to the fd's struct file.  In virtio-fs there is no file
    descriptor because /dev/fuse is not used.
    
    This patch extracts fuse_fill_super_common() so that both classic fuse and
    virtio-fs can share the code to initialize a mount.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit c0b64faf0fe6ca2574a00faed1ae833130db4e08
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Tue Jul 9 12:00:07 2019 -0700

    backlight: pwm_bl: Set scale type for brightness curves specified in the DT
    
    Check if a brightness curve specified in the device tree is linear or
    not and set the corresponding property accordingly. This makes the
    scale type available to userspace via the 'scale' sysfs attribute.
    
    To determine if a curve is linear it is compared to a interpolated linear
    curve between min and max brightness. The curve is considered linear if
    no value deviates more than +/-5% of ${brightness_range} from their
    interpolated value.
    
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 511a204638d7d750f859c332635d09f38273b4f0
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Tue Jul 9 12:00:06 2019 -0700

    backlight: pwm_bl: Set scale type for CIE 1931 curves
    
    For backlight curves calculated with the CIE 1931 algorithm set
    the brightness scale type to non-linear. This makes the scale type
    available to userspace via the 'scale' sysfs attribute.
    
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit d55c028f8b25bdaaba9ae08026052b5b44d031b0
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Tue Jul 9 12:00:05 2019 -0700

    backlight: Expose brightness curve type through sysfs
    
    Backlight brightness curves can have different shapes. The two main
    types are linear and non-linear curves. The human eye doesn't
    perceive linearly increasing/decreasing brightness as linear (see
    also 88ba95bedb79 "backlight: pwm_bl: Compute brightness of LED
    linearly to human eye"), hence many backlights use non-linear (often
    logarithmic) brightness curves. The type of curve currently is opaque
    to userspace, so userspace often uses more or less reliable heuristics
    (like the number of brightness levels) to decide whether to treat a
    backlight device as linear or non-linear.
    
    Export the type of the brightness curve via the new sysfs attribute
    'scale'. The value of the attribute can be 'linear', 'non-linear' or
    'unknown'. For devices that don't provide information about the scale
    of their brightness curve the value of the 'scale' attribute is 'unknown'.
    
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 6451e123dec34e295cb0affcd48f671275bdb671
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Tue Jul 9 12:00:04 2019 -0700

    MAINTAINERS: Add entry for stable backlight sysfs ABI documentation
    
    Add an entry for the stable backlight sysfs ABI to the MAINTAINERS
    file.
    
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit ec665b756e6f79c60078b00dbdabea3aa8a4b787
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Wed Jul 31 11:40:18 2019 +0300

    backlight: gpio-backlight: Correct initial power state handling
    
    The default-on property - or the def_value via legacy pdata) should be
    handled as:
    if it is 1, the backlight must be enabled (kept enabled)
    if it is 0, the backlight must be disabled (kept disabled)
    
    This only works for the case when default-on is set. If it is not set then
    the brightness of the backlight is set to 0. Now if the backlight is
    enabled by external driver (graphics) the backlight will stay disabled since
    the brightness is configured as 0. The backlight will not turn on.
    
    In order to minimize screen flickering during device boot:
    
    The initial brightness should be set to 1.
    
    If booted in non DT mode or no phandle link to the backlight node:
    follow the def_value/default-on to select UNBLANK or POWERDOWN
    
    If in DT boot we have phandle link then leave the GPIO in a state which the
    bootloader left it and let the user of the backlight to configure it
    further.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 28a1d72a221ecdf8f63205d40cb654c81a2b2da7
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Tue Aug 20 17:34:39 2019 +0200

    video: backlight: tosa_lcd: drop check because i2c_unregister_device() is NULL safe
    
    No need to check the argument of i2c_unregister_device() because the
    function itself does it.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit bcd69da98e36afccb4cb5fbdbd2b7bb78c07184d
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Tue Aug 13 13:58:53 2019 +0200

    video: backlight: Drop default m for {LCD,BACKLIGHT_CLASS_DEVICE}
    
    When running "make oldconfig" on a .config where
    CONFIG_BACKLIGHT_LCD_SUPPORT is not set, two new config options
    ("Lowlevel LCD controls" and "Lowlevel Backlight controls") appear, both
    defaulting to "m".
    
    Drop the "default m", as options should default to disabled, and because
    several driver config options already select LCD_CLASS_DEVICE or
    BACKLIGHT_CLASS_DEVICE when needed.
    
    Fixes: 8c5dc8d9f19c7992 ("video: backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel symbol")
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit b0f76676ed4145ad94f518789710e0b1c5b12208
Author: Vivek Goyal <vgoyal@redhat.com>
Date:   Wed Jun 5 15:50:43 2019 -0400

    fuse: export fuse_dequeue_forget() function
    
    File systems like virtio-fs need to do not have to play directly with
    forget list data structures. There is a helper function use that instead.
    
    Rename dequeue_forget() to fuse_dequeue_forget() and export it so that
    stacked filesystems can use it.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit ad69ac5bc8157188faf225898ef4ce8e160a87ed
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Fri Jun 22 13:48:30 2018 +0100

    fuse: export fuse_get_unique()
    
    virtio-fs will need unique IDs for FORGET requests from outside
    fs/fuse/dev.c.  Make the symbol visible.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 294acb6399dea6c5afeab6fb60c3f518a792f036
Author: Vivek Goyal <vgoyal@redhat.com>
Date:   Wed Mar 6 16:51:39 2019 -0500

    fuse: export fuse_send_init_request()
    
    This will be used by virtio-fs to send init request to fuse server after
    initialization of virt queues.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 6f25ee765c7cfa03152cd99384ed4731bdba0136
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Thu Jun 21 09:34:25 2018 +0100

    fuse: export fuse_len_args()
    
    virtio-fs will need to query the length of fuse_arg lists.  Make the symbol
    visible.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit b4c19acbe00715b01d6d9a89c2c36008152be8c3
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Thu Jun 21 09:33:40 2018 +0100

    fuse: export fuse_end_request()
    
    virtio-fs will need to complete requests from outside fs/fuse/dev.c.  Make
    the symbol visible.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit e4ad40d4dd0bb0592889ccb02546652edd3edade
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: subtype handling moved to fuse
    
    The unused vfs code can be removed.  Don't pass empty subtype (same as if
    ->parse callback isn't called).
    
    The bits that are left involve determining whether it's permitted to split the
    filesystem type string passed in to mount(2).  Consequently, this means that we
    cannot get rid of the FS_HAS_SUBTYPE flag unless we define that a type string
    with a dot in it always indicates a subtype specification.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 5eae593422daee92b354bb36685018e16d0da7f6
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: Convert fuse to use the new mount API
    
    Convert the fuse filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit c709bf455d60662377a47686180c0ac5c65f4d07
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Aug 30 18:12:36 2019 +0200

    microblaze: remove ioremap_fullcache
    
    No callers of this function.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

commit e8bd417aab0c72bfb54465596b16085702ba0405
Author: Sasha Levin <sashal@kernel.org>
Date:   Fri Jul 5 16:47:46 2019 -0400

    tpm/tpm_ftpm_tee: Document fTPM TEE driver
    
    Documentation briefly the new fTPM driver running inside TEE.
    
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 09e574831b277a3f77d78ceadd08a3859a84fdb3
Author: Sasha Levin <sashal@kernel.org>
Date:   Fri Jul 5 16:47:45 2019 -0400

    tpm/tpm_ftpm_tee: A driver for firmware TPM running inside TEE
    
    Add a driver for a firmware TPM running inside TEE.
    
    Documentation of the firmware TPM:
    https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ .
    
    Implementation of the firmware TPM:
    https://github.com/Microsoft/ms-tpm-20-ref/tree/master/Samples/ARM32-FirmwareTPM
    
    Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Tested-by: Thirupathaiah Annapureddy <thiruan@microsoft.com>
    Signed-off-by: Thirupathaiah Annapureddy <thiruan@microsoft.com>
    Co-authored-by: Sasha Levin <sashal@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 28eba2fddd5a4292bf9e3dc55193728f3055b782
Author: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Date:   Mon Jul 8 17:56:39 2019 +0300

    tpm: Remove a deprecated comments about implicit sysfs locking
    
    Remove all comments about implicit locking tpm-sysfs.c as the file was
    updated in Linux v5.1 to use explicit locking.
    
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 1ea32c83c699df32689d329b2415796b7bfc2f6e
Author: Stefan Berger <stefanb@linux.ibm.com>
Date:   Thu Aug 29 20:09:06 2019 -0400

    tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts
    
    The tpm_tis_core has to set the TPM_CHIP_FLAG_IRQ before probing for
    interrupts since there is no other place in the code that would set
    it.
    
    Cc: linux-stable@vger.kernel.org
    Fixes: 570a36097f30 ("tpm: drop 'irq' from struct tpm_vendor_specific")
    Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 5b359c7c43727e624eac3efc7ad21bd2defea161
Author: Stefan Berger <stefanb@linux.ibm.com>
Date:   Tue Aug 20 08:25:17 2019 -0400

    tpm_tis_core: Turn on the TPM before probing IRQ's
    
    The interrupt probing sequence in tpm_tis_core cannot obviously run with
    the TPM power gated. Power on the TPM with tpm_chip_start() before
    probing IRQ's. Turn it off once the probing is complete.
    
    Cc: linux-stable@vger.kernel.org
    Fixes: a3fbfae82b4c ("tpm: take TPM chip power gating out of tpm_transmit()")
    Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
    Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 14591e2351ef36a5b7509ad19043bd8c4b9f241f
Author: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Date:   Sun Aug 25 19:00:15 2019 +0200

    MAINTAINERS: fix style in KEYS-TRUSTED entry
    
    Mimi Zohar used spaces instead of a tab when adding Jarkko Sakkinen as
    further maintainer to the KEYS-TRUSTED section entry.
    
    In fact, ./scripts/checkpatch.pl -f MAINTAINERS complains:
    
      WARNING: MAINTAINERS entries use one tab after TYPE:
      #8581: FILE: MAINTAINERS:8581:
      +M:      Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    
    The issue was detected when writing a script that parses MAINTAINERS.
    
    Fixes: 34bccd61b139 ("MAINTAINERS: add Jarkko as maintainer for trusted keys")
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Acked-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>

commit 9a8892922547da193d0cf81fc8053c642f90d2b4
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Aug 19 13:52:52 2019 +0300

    reset: Remove copy'n'paste redundancy in the comments
    
    It seems the commit bb475230b8e5
    ("reset: make optional functions really optional")
    brought couple of redundant lines in the comments.
    
    Drop them here.
    
    Cc: Ramiro Oliveira <Ramiro.Oliveira@synopsys.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>

commit faf08e4cb7eaa6bc82a3877e4a1f873c51de295c
Author: David Howells <dhowells@redhat.com>
Date:   Thu Aug 29 17:52:24 2019 +0100

    smack: Implement the watch_key and post_notification hooks [untested]
    
    Implement the watch_key security hook in Smack to make sure that a key
    grants the caller Read permission in order to set a watch on a key.
    
    Also implement the post_notification security hook to make sure that the
    notification source is granted Write permission by the watch queue.
    
    For the moment, the watch_devices security hook is left unimplemented as
    it's not obvious what the object should be since the queue is global and
    didn't previously exist.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 6fb035502956ad1f338ca61c057653d5372ffd8c
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Fri Aug 23 09:58:58 2019 +0900

    ASoC: soc-core: move soc_probe_link_components() position
    
    It is easy to read code if it is cleanly using paired function/naming,
    like start <-> stop, register <-> unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.
    
    soc_probe_link_components() has paired soc_remove_link_components(),
    but, these are implemented at different place.
    So it is difficult to confirm code.
    This patch moves soc_probe_link_components() next to
    soc_remove_link_components().
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87o90g7lbd.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 95c267dd20431f0eb54ca204bd73a7d85c532a37
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Fri Aug 23 09:58:52 2019 +0900

    ASoC: soc-core: add snd_soc_dapm_init()
    
    It is easy to read code if it is cleanly using paired function/naming,
    like start <-> stop, register <-> unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.
    
    soc-dapm has snd_soc_dapm_free() which cleanups debugfs, widgets, list.
    But, there is no paired initialize function.
    This patch adds snd_soc_dapm_init() and initilaizing dapm
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87pnkw7lbj.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit b614beafa495c7f6fbc15cb6977e3fe48beea1e5
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Fri Aug 23 09:58:47 2019 +0900

    ASoC: soc-core: dapm related setup at one place
    
    Current ASoC setups some dapm related member at
    snd_soc_component_initialize() which is called when component was
    registered, and setups remaining member at soc_probe_component()
    which is called when component was probed.
    This kind of setup separation is no meanings, and it is very
    difficult to read and confusable.
    This patch setups all dapm settings at one place.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87r25c7lbo.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit ffd60fba19d9752f553aac367cd40362011ab6c9
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Fri Aug 23 09:58:42 2019 +0900

    ASoC: soc-core: move soc_probe_component() position
    
    It is easy to read code if it is cleanly using paired function/naming,
    like start <-> stop, register <-> unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.
    
    soc_probe_comonent() has paired soc_remove_comonent(),
    but, these are implemented at different place.
    So it is difficult to confirm code.
    This patch moves soc_probe_component() next to
    soc_remove_component().
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87sgps7lbt.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 9a7c9fe1203eb360b3a01b65a18bcd0de6670c53
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Fri Aug 23 09:58:37 2019 +0900

    ASoC: soc-core: add soc_rtd_free()
    
    It is easy to read code if it is cleanly using paired function/naming,
    like start <-> stop, register <-> unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.
    
    soc_rtd_init() was soc_post_component_init(), but there was no
    its paired soc_post_component_free(), but it is done at
    soc_remove_link_dais().
    This means it is difficult to find related code.
    
    This patch adds soc_rtd_free() which is paired soc_rtd_init().
    soc_rtd_xxx() will be more cleanuped in the future.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87tva87lby.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 4fbc485324d2975c54201091dfad0a7dd4902324
Author: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Date:   Sat Aug 31 20:04:02 2019 +0200

    spi: ep93xx: Repair SPI CS lookup tables
    
    The actual device name of the SPI controller being registered on EP93xx is
    "spi0" (as seen by gpiod_find_lookup_table()). This patch fixes all
    relevant lookup tables and the following failure (seen on EDB9302):
    
    ep93xx-spi ep93xx-spi.0: failed to register SPI master
    ep93xx-spi: probe of ep93xx-spi.0 failed with error -22
    
    Fixes: 1dfbf334f1236 ("spi: ep93xx: Convert to use CS GPIO descriptors")
    Cc: stable@vger.kernel.org
    Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Lukasz Majewski <lukma@denx.de>
    Link: https://lore.kernel.org/r/20190831180402.10008-1-alexander.sverdlin@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit d0087e72710ca7d1b309bf427286da58418ea89e
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Fri Aug 30 09:17:37 2019 +0200

    regulator: provide regulator_bulk_set_supply_names()
    
    There are many regulator consumers who - before using the regulator
    bulk functions - set the supply names in regulator_bulk_data using
    a for loop.
    
    Let's provide a simple helper in the consumer API that allows users
    to do the same with a single function call.
    
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Link: https://lore.kernel.org/r/20190830071740.4267-2-brgl@bgdev.pl
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit dbcc574a4bfad810ce6e118f3cf327c7b6e7c897
Author: Wei Yongjun <weiyongjun1@huawei.com>
Date:   Mon Aug 19 06:17:33 2019 +0000

    drm/etnaviv: fix missing unlock on error in etnaviv_iommuv1_context_alloc()
    
    Add the missing unlock before return from function etnaviv_iommuv1_context_alloc()
    in the error handling case.
    
    Fixes: 27b67278e007 ("drm/etnaviv: rework MMU handling")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

commit a0753c29004f4983e303abce019f29e183b1ee48
Author: David Howells <dhowells@redhat.com>
Date:   Mon May 20 08:48:46 2019 +0100

    afs: Support RCU pathwalk
    
    Make afs_permission() and afs_d_revalidate() do initial checks in RCU-mode
    pathwalk to reduce latency in pathwalk elements that get done multiple
    times.  We don't need to query the server unless we've received a
    notification from it that something has changed or the callback has
    expired.
    
    This requires that we can request a key and check permits under RCU
    conditions if we need to.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 8b6a666a97544bf307190a05947742b8357aa962
Author: David Howells <dhowells@redhat.com>
Date:   Mon May 20 08:48:46 2019 +0100

    afs: Provide an RCU-capable key lookup
    
    Provide an RCU-capable key lookup function.  We don't want to call
    afs_request_key() in RCU-mode pathwalk as request_key() might sleep, even if
    we don't ask it to construct anything as it might find a key that is currently
    undergoing construction.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 23a289137ab82daeea826eeb9556c6f89b1fcd67
Author: David Howells <dhowells@redhat.com>
Date:   Tue Aug 20 09:22:38 2019 +0100

    afs: Use afs_extract_discard() rather than iov_iter_discard()
    
    Use afs_extract_discard() rather than iov_iter_discard() as the former is a
    wrapper for the latter, providing a place to put tracepoints.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 52c9c130780095fdf72fbf6920a6a1c936fb5e6f
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Aug 9 16:42:31 2019 +0800

    afs: remove unused variable 'afs_zero_fid'
    
    fs/afs/fsclient.c:18:29: warning:
     afs_zero_fid defined but not used [-Wunused-const-variable=]
    
    It is never used since commit 025db80c9e42 ("afs: Trace
    the initiation and completion of client calls")
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David Howells <dhowells@redhat.com>

commit cacf2d7dcf966a57e30f66c0598c88e2b64865a3
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Aug 9 16:40:37 2019 +0800

    afs: remove unused variable 'afs_voltypes'
    
    fs/afs/volume.c:15:26: warning:
     afs_voltypes defined but not used [-Wunused-const-variable=]
    
    It is not used since commit d2ddc776a458 ("afs: Overhaul
    volume and server record caching and fileserver rotation")
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 28e6fcc871bcff640c8960448034ea3a7c7fdfa3
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:09 2019 +0200

    mfd: cros_ec: Use mfd_add_hotplug_devices() helper
    
    Use mfd_add_hotplug_devices() helper to register the subdevices. The
    helper allows us to reduce the boiler plate and also registers the
    subdevices in the same way as used in other functions used in this
    files.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 832a636f6afe16aa95cb7281c4eb2194b402515d
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:08 2019 +0200

    mfd: cros_ec: Add convenience struct to define autodetectable CrOS EC subdevices
    
    The CrOS EC is gaining lots of subdevices that are autodetectable by
    sending the EC_FEATURE_GET_CMD, it takes fair amount of boiler plate
    code to add those devices. So, add a struct that can be used to quickly
    add new subdevices without having to duplicate code.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit b027dcf7c4c3e0d22b9ce84011eaf02cf0adf559
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:07 2019 +0200

    mfd: cros_ec: Add convenience struct to define dedicated CrOS EC MCUs
    
    With the increasing use of dedicated CrOS EC MCUs, it takes a fair amount
    of boiler plate code to add those devices, add a struct that can be used
    to specify a dedicated CrOS EC MCU so we can just add a new item to it to
    define a new dedicated MCU.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 5156fb75ead1dad9cdd250db898011e92c6ecb22
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:06 2019 +0200

    mfd: cros_ec: Use kzalloc and cros_ec_cmd_xfer_status helper
    
    This patch makes use of cros_ec_cmd_xfer_status() instead of
    cros_ec_cmd_xfer() so we can remove some redundant code. It also uses
    kzalloc instead of kmalloc so we can remove more redundant code.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 840d9f131f65b021e0a73f3371f3194897dba6ad
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:05 2019 +0200

    mfd / platform: cros_ec: Reorganize platform and mfd includes
    
    There is a bit of mess between cros-ec mfd includes and platform
    includes. For example, we have a linux/mfd/cros_ec.h include that
    exports the interface implemented in platform/chrome/cros_ec_proto.c. Or
    we have a linux/mfd/cros_ec_commands.h file that is non related to the
    multifunction device (in the sense that is not exporting any function of
    the mfd device). This causes crossed includes between mfd and
    platform/chrome subsystems and makes the code difficult to read, apart
    from creating 'curious' situations where a platform/chrome driver includes
    a linux/mfd/cros_ec.h file just to get the exported functions that are
    implemented in another platform/chrome driver.
    
    In order to have a better separation on what the cros-ec multifunction
    driver does and what the cros-ec core provides move and rework the
    affected includes doing:
    
     - Move cros_ec_commands.h to include/linux/platform_data/cros_ec_commands.h
     - Get rid of the parts that are implemented in the platform/chrome/cros_ec_proto.c
       driver from include/linux/mfd/cros_ec.h to a new file
       include/linux/platform_data/cros_ec_proto.h
     - Update all the drivers with the new includes, so
       - Drivers that only need to know about the protocol include
         - linux/platform_data/cros_ec_proto.h
         - linux/platform_data/cros_ec_commands.h
       - Drivers that need to know about the cros-ec mfd device also include
         - linux/mfd/cros_ec.h
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Mark Brown <broonie@kernel.org>
    Acked-by: Wolfram Sang <wsa@the-dreams.de>
    Acked-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Series changes: 3
    - Fix dereferencing pointer to incomplete type 'struct cros_ec_dev' (lkp)
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 2fa2b980e3fe187a0b916bfe6bd5822889b44d5e
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:04 2019 +0200

    mfd / platform: cros_ec: Rename config to a better name
    
    The cros-ec-dev is a multifunction device that now doesn't implement any
    chardev communication interface. MFD_CROS_EC_CHARDEV doesn't look
    a good name to describe that device and can cause confusion. Hence
    rename it to CROS_EC_DEV.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 459aedb9a5d4b92e4aee343ee8ee5aeca8e1d93a
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:03 2019 +0200

    mfd: cros_ec: Switch to use the new cros-ec-chardev driver
    
    With the purpose of remove the things that far extends the bounds of
    what a MFD was designed to do, instantiate the new platform misc
    cros-ec-chardev driver and get rid of all the unneeded code. After this
    patch the misc chardev driver is a sub-device of the MFD, and all the
    new file operations should be implemented there.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit eda2e30c6684d67288edb841c6125d48c608a242
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:02 2019 +0200

    mfd / platform: cros_ec: Miscellaneous character device to talk with the EC
    
    That's a driver to talk with the ChromeOS Embedded Controller via a
    miscellaneous character device, it creates an entry in /dev for every
    instance and implements basic file operations for communicating with the
    Embedded Controller with an userspace application. The API is moved to
    the uapi folder, which is supposed to contain the user space API of the
    kernel.
    
    Note that this will replace current character device interface
    implemented in the cros-ec-dev driver in the MFD subsystem. The idea is
    to move all the functionality that extends the bounds of what MFD was
    designed to platform/chrome subsystem.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 47f11e0b40e97f373da4efbacee0a9526c816ed5
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:01 2019 +0200

    mfd / platform: cros_ec: Move cros-ec core driver out from MFD
    
    Now, the ChromeOS EC core driver has nothing related to an MFD device, so
    move that driver from the MFD subsystem to the platform/chrome subsystem.
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Thierry Reding <thierry.reding@gmail.com>
    Acked-by: Mark Brown <broonie@kernel.org>
    Acked-by: Wolfram Sang <wsa@the-dreams.de>
    Acked-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 7aa703bb8824384baad732043a925b46a4f3efa8
Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Date:   Mon Sep 2 11:53:00 2019 +0200

    mfd / platform: cros_ec: Handle chained ECs as platform devices
    
    An MFD is a device that contains several sub-devices (cells). For instance,
    the ChromeOS EC fits in this description as usually contains a charger and
    can have other devices with different functions like a Real-Time Clock,
    an Audio codec, a Real-Time Clock, ...
    
    If you look at the driver, though, we're doing something odd. We have
    two MFD cros-ec drivers where one of them (cros-ec-core) instantiates
    another MFD driver as sub-driver (cros-ec-dev), and the latest
    instantiates the different sub-devices (Real-Time Clock, Audio codec,
    etc).
    
                      MFD
    ------------------------------------------
       cros-ec-core
           |___ mfd-cellA (cros-ec-dev)
           |       |__ mfd-cell0
           |       |__ mfd-cell1
           |       |__ ...
           |
           |___ mfd-cellB (cros-ec-dev)
                   |__ mfd-cell0
                   |__ mfd-cell1
                   |__ ...
    
    The problem that was trying to solve is to describe some kind of topology for
    the case where we have an EC (cros-ec) chained with another EC
    (cros-pd). Apart from that this extends the bounds of what MFD was
    designed to do we might be interested on have other kinds of topology that
    can't be implemented in that way.
    
    Let's prepare the code to move the cros-ec-core part from MFD to
    platform/chrome as this is clearly a platform specific thing non-related
    to a MFD device.
    
      platform/chrome  |         MFD
    ------------------------------------------
                       |
       cros-ec ________|___ cros-ec-dev
                       |       |__ mfd-cell0
                       |       |__ mfd-cell1
                       |       |__ ...
                       |
       cros-pd ________|___ cros-ec-dev
                       |        |__ mfd-cell0
                       |        |__ mfd-cell1
                       |        |__ ...
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
    Tested-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 38f6a046f02331e7efd513c73dbfe9d7eb9cd0a4
Author: Lukasz Luba <l.luba@partner.samsung.com>
Date:   Wed Jun 5 11:12:32 2019 +0200

    include: dt-bindings: add Performance Monitoring Unit for Exynos
    
    This patch add support of a new feature which can be used in DT:
    Performance Monitoring Unit with defined event data type.
    In this patch the event data types are defined for Exynos PPMU.
    The patch also updates the MAINTAINERS file accordingly and
    adds the header file to devfreq event subsystem.
    
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Lukasz Luba <l.luba@partner.samsung.com>
    Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>

commit 8391c6cb2414d9a75bbe247a838d28cb0cee77ee
Author: Josef Friedl <josef.friedl@speed.at>
Date:   Sun Aug 18 15:56:08 2019 +0200

    mfd: mt6323: Add MT6323 RTC and PWRC
    
    Add entry for RTC and Power Controller to MT6323.
    
    Signed-off-by: Josef Friedl <josef.friedl@speed.at>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 7c3f7cd5a0c96ab40baaaf08968249fcb96c4057
Author: Josef Friedl <josef.friedl@speed.at>
Date:   Sun Aug 18 15:56:06 2019 +0200

    mfd: mt6323: Replace boilerplate resource code with DEFINE_RES_* macros
    
    Simplifies and reduces LoC.
    
    Signed-off-by: Josef Friedl <josef.friedl@speed.at>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 09c1dec470029f812e86aa92908abfd9132c2fab
Author: Josef Friedl <josef.friedl@speed.at>
Date:   Sun Aug 18 15:56:04 2019 +0200

    mfd: mt6397: Add mutex include
    
    Add missing mutex.h.
    
    Signed-off-by: Josef Friedl <josef.friedl@speed.at>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 8ab1267ff73dc372d63dffc7736058d456b8c75b
Author: Josef Friedl <josef.friedl@speed.at>
Date:   Sun Aug 18 15:56:01 2019 +0200

    dt-bindings: mfd: mediatek: Add MT6323 Power Controller
    
    - Add Power Controller section to existing binding document.
    - Add MT6323 PWRC bindings document with example.
    
    Suggested-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Josef Friedl <josef.friedl@speed.at>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 7051919d17512f51e21d91b6564882b0476f2a2c
Author: Josef Friedl <josef.friedl@speed.at>
Date:   Sun Aug 18 15:56:00 2019 +0200

    dt-bindings: mfd: mediatek: Update RTC to include MT6323
    
    Add MT6323 to RTC bindings.
    
    Signed-off-by: Josef Friedl <josef.friedl@speed.at>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit b788d111e6760602a097cd774e09d0f427de707c
Author: Frank Wunderlich <frank-w@public-files.de>
Date:   Sun Aug 18 15:55:59 2019 +0200

    dt-bindings: mfd: mediatek: mt6397: Change to relative paths
    
    Paths in dt-bindings should be relative as suggested by Lee Jones.
    
    Suggested-By: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit fea3ac55e112ee52feba03c48c182ab6d0ad8e92
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Thu Aug 29 13:25:01 2019 +0200

    mfd: db8500-prcmu: Support the higher DB8520 ARMSS
    
    The DB8520 used in a lot of Samsung phones has a slightly higher
    maximum ARMSS frequency than the DB8500. In order to not confuse
    the OPP framework and cpufreq, make sure the PRCMU driver
    returns the correct frequency.
    
    Cc: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 569fac74627cc332a2097a7a4bfdc654b8e7f273
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Wed Aug 21 11:37:12 2019 +0300

    mfd: intel-lpss: Use MODULE_SOFTDEP() instead of implicit request
    
    There is no need to handle optional module request in the driver
    when user space tools has that feature for ages.
    
    Replace custom code by MODULE_SOFTDEP() macro to let user space know
    that we would like to have the DMA driver loaded first, if any.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit 1094422253db01ac3a12bde010c75e5135021d2d
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Tue Aug 20 17:34:43 2019 +0200

    mfd: htc-i2cpld: Drop check because i2c_unregister_device() is NULL safe
    
    No need to check the argument of i2c_unregister_device() because the
    function itself does it.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit f68c0a873ef28637a201ec37e1bafdf040813454
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Tue Aug 20 12:37:15 2019 +0200

    mfd: sm501: Include the GPIO driver header
    
    This driver creates a gpio chip so it needs to include the
    appropriate header <linux/gpio/driver.h> explicitly rather
    than implicitly.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit c5b90cb26e83ad89cb18e5ec97a992f02d8f750d
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Aug 16 20:56:02 2019 +0300

    mfd: intel-lpss: Add Intel Skylake ACPI IDs
    
    Some of the laptops, like ASUS U306UA, may expose LPSS devices via ACPI.
    
    Add their IDs to the list.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit cbd1c5c4d443c4a83c9c7eecc0561b9aeafddf50
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Aug 16 20:33:42 2019 +0300

    mfd: intel-lpss: Consistently use GENMASK()
    
    Since we already are using BIT() macro, use GENMASK() as well for sake of
    consistency.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit b9a801dfa59163dc2db8147a98af406eb79e51de
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Thu Aug 1 22:03:35 2019 +0300

    mfd: Add support for Merrifield Basin Cove PMIC
    
    Add an MFD driver for Intel Merrifield Basin Cove PMIC.
    
    Firmware on the platforms which are using Basin Cove PMIC is "smarter"
    than on the rest supported by vanilla kernel. It handles first level
    of interrupt itself, while others do it on OS level.
    
    The driver is done in the same way as the rest of Intel PMIC MFD drivers
    in the kernel to support the initial design. The design allows to use
    one driver among few PMICs without knowing implementation details of
    the each hardware version or generation.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit b65dc4f6b339ff57321fd95f2f7b6197a3c24ba4
Author: Fuqian Huang <huangfq.daxian@gmail.com>
Date:   Tue Aug 13 18:31:33 2019 +0800

    mfd: ezx-pcap: Replace mutex_lock with spin_lock
    
    As mutex_lock might sleep. Function pcap_adc_irq is an interrupt handler.
    The use of mutex_lock in pcap_adc_irq may cause sleep in IRQ context.
    Replace mutex_lock with spin_lock to avoid this.
    
    Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>

commit c08428c528bc7827b29e112ed5a2c5efe053a1e9
Author: David Howells <dhowells@redhat.com>
Date:   Wed Mar 27 14:15:16 2019 +0000

    vfs: Create fs_context-aware mount_bdev() replacement
    
    Create a function, vfs_get_block_super(), that is fs_context-aware and a
    replacement for mount_bdev().  It caches the block device pointer and file
    open mode in the fs_context struct so that this information can be passed
    into sget_fc()'s test and set functions.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Jens Axboe <axboe@kernel.dk>
    cc: linux-block@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 56d250ef9650edce600c96e2f918b9b9bafda85e
Author: Miklos Szeredi <mszeredi@redhat.com>
Date:   Thu Aug 29 11:01:18 2019 +0200

    cuse: fix broken release
    
    The inode parameter in cuse_release() is likely *not* a fuse inode.  It's a
    small wonder it didn't blow up until now.
    
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 17b2cbe294922ec2b78e29b93ed602b56cd75a4e
Author: Maxim Patlasov <mpatlasov@virtuozzo.com>
Date:   Mon Jul 22 10:17:17 2019 +0300

    fuse: cleanup fuse_wait_on_page_writeback
    
    fuse_wait_on_page_writeback() always returns zero and nobody cares.
    Let's make it void.
    
    Signed-off-by: Maxim Patlasov <mpatlasov@virtuozzo.com>
    Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 1fb027d7596464d3fad3ed59f70f43807ef926c6
Author: Kirill Smelkov <kirr@nexedi.com>
Date:   Mon Jul 8 17:03:31 2019 +0000

    fuse: require /dev/fuse reads to have enough buffer capacity (take 2)
    
    [ This retries commit d4b13963f217 ("fuse: require /dev/fuse reads to have
    enough buffer capacity"), which was reverted.  In this version we require
    only `sizeof(fuse_in_header) + sizeof(fuse_write_in)` instead of 4K for
    FUSE request header room, because, contrary to libfuse and kernel client
    behaviour, GlusterFS actually provides only so much room for request
    header. ]
    
    A FUSE filesystem server queues /dev/fuse sys_read calls to get filesystem
    requests to handle. It does not know in advance what would be that request
    as it can be anything that client issues - LOOKUP, READ, WRITE, ... Many
    requests are short and retrieve data from the filesystem. However WRITE and
    NOTIFY_REPLY write data into filesystem.
    
    Before getting into operation phase, FUSE filesystem server and kernel
    client negotiate what should be the maximum write size the client will ever
    issue. After negotiation the contract in between server/client is that the
    filesystem server then should queue /dev/fuse sys_read calls with enough
    buffer capacity to receive any client request - WRITE in particular, while
    FUSE client should not, in particular, send WRITE requests with >
    negotiated max_write payload. FUSE client in kernel and libfuse
    historically reserve 4K for request header. However an existing filesystem
    server - GlusterFS - was found which reserves only 80 bytes for header room
    (= `sizeof(fuse_in_header) + sizeof(fuse_write_in)`).
    
    Since
    
            `sizeof(fuse_in_header) + sizeof(fuse_write_in)` ==
            `sizeof(fuse_in_header) + sizeof(fuse_read_in)`  ==
            `sizeof(fuse_in_header) + sizeof(fuse_notify_retrieve_in)`
    
    is the absolute minimum any sane filesystem should be using for header
    room, the contract is that filesystem server should queue sys_reads with
    `sizeof(fuse_in_header) + sizeof(fuse_write_in)` + max_write buffer.
    
    If the filesystem server does not follow this contract, what can happen
    is that fuse_dev_do_read will see that request size is > buffer size,
    and then it will return EIO to client who issued the request but won't
    indicate in any way that there is a problem to filesystem server.
    This can be hard to diagnose because for some requests, e.g. for
    NOTIFY_REPLY which mimics WRITE, there is no client thread that is
    waiting for request completion and that EIO goes nowhere, while on
    filesystem server side things look like the kernel is not replying back
    after successful NOTIFY_RETRIEVE request made by the server.
    
    We can make the problem easy to diagnose if we indicate via error return to
    filesystem server when it is violating the contract.  This should not
    practically cause problems because if a filesystem server is using shorter
    buffer, writes to it were already very likely to cause EIO, and if the
    filesystem is read-only it should be too following FUSE_MIN_READ_BUFFER
    minimum buffer size.
    
    Please see [1] for context where the problem of stuck filesystem was hit
    for real (because kernel client was incorrectly sending more than
    max_write data with NOTIFY_REPLY; see also previous patch), how the
    situation was traced and for more involving patch that did not make it
    into the tree.
    
    [1] https://marc.info/?l=linux-fsdevel&m=155057023600853&w=2
    
    Signed-off-by: Kirill Smelkov <kirr@nexedi.com>
    Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
    Cc: Han-Wen Nienhuys <hanwen@google.com>
    Cc: Jakob Unterwurzacher <jakobunt@gmail.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

commit 58985a9d2d03e977db93bf574a16162766a318fe
Author: Valdis Klētnieks <valdis.kletnieks@vt.edu>
Date:   Fri Aug 30 12:42:39 2019 -0400

    drivers/staging/exfat - by default, prohibit mount of fat/vfat
    
    Concerns have been raised about the exfat driver accidentally mounting
    fat/vfat file systems.  Add an extra configure option to help prevent that.
    
    Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
    Link: https://lore.kernel.org/r/245727.1567183359@turing-police
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8288022284859acbcc3cf1a073a1e2692d6c2543
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Thu Aug 1 14:33:30 2019 -0700

    power: supply: Init device wakeup after device_add()
    
    We may want to use the device pointer in device_init_wakeup() with
    functions that expect the device to already be added with device_add().
    For example, if we were to link the device initializing wakeup to
    something in sysfs such as a class for wakeups we'll run into an error.
    It looks like this code was written with the assumption that the device
    would be added before initializing wakeup due to the order of operations
    in power_supply_unregister().
    
    Let's change the order of operations so we don't run into problems here.
    
    Fixes: 948dcf966228 ("power_supply: Prevent suspend until power supply events are processed")
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Tri Vo <trong@android.com>
    Cc: Kalesh Singh <kaleshsingh@google.com>
    Cc: Ravi Chandra Sadineni <ravisadineni@chromium.org>
    Cc: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 10948061162a4bd9c54086e04dc8cd11faaf5bb5
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Mon Aug 5 14:44:18 2019 -0500

    power: supply: ab8500_charger: Mark expected switch fall-through
    
    Mark switch cases where we are expecting to fall through.
    
    This patch fixes the following warning (Building: allmodconfig arm):
    
    drivers/power/supply/ab8500_charger.c:738:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit fe55e770327363304c4111423e6f7ff3c650136d
Author: Michael Nosthoff <committed@heine.so>
Date:   Fri Aug 16 09:58:42 2019 +0200

    power: supply: sbs-battery: only return health when battery present
    
    when the battery is set to sbs-mode and  no gpio detection is enabled
    "health" is always returning a value even when the battery is not present.
    All other fields return "not present".
    This leads to a scenario where the driver is constantly switching between
    "present" and "not present" state. This generates a lot of constant
    traffic on the i2c.
    
    This commit changes the response of "health" to an error when the battery
    is not responding leading to a consistent "not present" state.
    
    Fixes: 76b16f4cdfb8 ("power: supply: sbs-battery: don't assume MANUFACTURER_DATA formats")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Michael Nosthoff <committed@heine.so>
    Reviewed-by: Brian Norris <briannorris@chromium.org>
    Tested-by: Brian Norris <briannorris@chromium.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 47c169e17bbd97a0dce44676ac10cbd317c35a11
Author: Denis Efremov <efremov@linux.com>
Date:   Tue Aug 13 09:13:58 2019 +0300

    MAINTAINERS: N900: Remove isp1704_charger.h record
    
    Update MAINTAINERS to reflect that isp1704_charger.h file was removed.
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: linux-pm@vger.kernel.org
    Fixes: f5d782d46aa5 ("power: supply: isp1704: switch to gpiod API")
    Signed-off-by: Denis Efremov <efremov@linux.com>
    Reviewed-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 99956a9e08251a1234434b492875b1eaff502a12
Author: Michael Nosthoff <committed@heine.so>
Date:   Fri Aug 16 09:37:42 2019 +0200

    power: supply: sbs-battery: use correct flags field
    
    the type flag is stored in the chip->flags field not in the
    client->flags field. This currently leads to never using the ti
    specific health function as client->flags doesn't use that bit.
    So it's always falling back to the general one.
    
    Fixes: 76b16f4cdfb8 ("power: supply: sbs-battery: don't assume MANUFACTURER_DATA formats")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Michael Nosthoff <committed@heine.so>
    Reviewed-by: Brian Norris <briannorris@chromium.org>
    Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 0f1979b402df5f0dd86425830ddaa191d70f3655
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Aug 30 18:12:35 2019 +0200

    m68k: Remove ioremap_fullcache()
    
    No callers of this function.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20190830161237.23033-2-hch@lst.de
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

commit 2cecd1f11ca4a7d402bee4bb12198e5283a4fb81
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 17 09:32:35 2019 +0200

    m68k: Simplify ioremap_nocache()
    
    Just define ioremap_nocache to ioremap instead of duplicating the
    inline.  Also define ioremap_uc in terms of ioremap instead of
    using a double indirection.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20190817073253.27819-9-hch@lst.de
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

commit 29d9a0b50736768f042752070e5cdf4e4d4c00df
Author: John S. Gruber <JohnSGruber@gmail.com>
Date:   Mon Sep 2 00:00:54 2019 +0200

    x86/boot: Preserve boot_params.secure_boot from sanitizing
    
    Commit
    
      a90118c445cc ("x86/boot: Save fields explicitly, zero out everything else")
    
    now zeroes the secure boot setting information (enabled/disabled/...)
    passed by the boot loader or by the kernel's EFI handover mechanism.
    
    The problem manifests itself with signed kernels using the EFI handoff
    protocol with grub and the kernel loses the information whether secure
    boot is enabled in the firmware, i.e., the log message "Secure boot
    enabled" becomes "Secure boot could not be determined".
    
    efi_main() arch/x86/boot/compressed/eboot.c sets this field early but it
    is subsequently zeroed by the above referenced commit.
    
    Include boot_params.secure_boot in the preserve field list.
    
     [ bp: restructure commit message and massage. ]
    
    Fixes: a90118c445cc ("x86/boot: Save fields explicitly, zero out everything else")
    Signed-off-by: John S. Gruber <JohnSGruber@gmail.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: stable <stable@vger.kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/CAPotdmSPExAuQcy9iAHqX3js_fc4mMLQOTr5RBGvizyCOPcTQQ@mail.gmail.com

commit fc603294267f890b34684588f6980ea8c7b72ecf
Author: Mark Bloch <markb@mellanox.com>
Date:   Thu Aug 29 23:42:38 2019 +0000

    net/mlx5: Set only stag for match untagged packets
    
    cvlan_tag enabled in match criteria and disabled in
    match value means both S & C tags don't exist (untagged of both).
    
    Signed-off-by: Mark Bloch <markb@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit f813cb506b8c9abc106314e1f95c9f2ebf260988
Author: Maor Gottlieb <maorg@mellanox.com>
Date:   Thu Aug 29 23:42:36 2019 +0000

    net/mlx5: Add stub for mlx5_eswitch_mode
    
    Return MLX5_ESWITCH_NONE when CONFIG_MLX5_ESWITCH
    is not selected.
    
    Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
    Reviewed-by: Mark Bloch <markb@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 3a6ef5158d4a01a2ddd88c3c978e6de0d10ee759
Author: Maor Gottlieb <maorg@mellanox.com>
Date:   Thu Aug 29 23:42:34 2019 +0000

    net/mlx5: Avoid disabling RoCE when uninitialized
    
    Move the check if RoCE steering is initialized to the
    disable RoCE function, it will ensure that we disable
    RoCE only if we succeeded in enabling it before.
    
    Fixes: 80f09dfc237f ("net/mlx5: Eswitch, enable RoCE loopback traffic")
    Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
    Reviewed-by: Mark Bloch <markb@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 97b5484ed608605dca9e461c0289d1195ba9608d
Author: Alex Vesker <valex@mellanox.com>
Date:   Thu Aug 29 23:42:32 2019 +0000

    net/mlx5: Add HW bits and definitions required for SW steering
    
    Add the required Software Steering hardware definitions and
    bits to mlx5_ifc.
    
    Signed-off-by: Alex Vesker <valex@mellanox.com>
    Signed-off-by: Yevgeny Klitenik <kliten@mellanox.com>
    Reviewed-by: Mark Bloch <markb@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit c9b9dcb430b3cd0ad2b04c360c4e528d73430481
Author: Ariel Levkovich <lariel@mellanox.com>
Date:   Thu Aug 29 23:42:30 2019 +0000

    net/mlx5: Move device memory management to mlx5_core
    
    Move the device memory allocation and deallocation commands
    SW ICM memory to mlx5_core to expose this API for all
    mlx5_core users.
    
    This comes as preparation for supporting SW steering in kernel
    where it will be required to allocate and register device
    memory for direct rule insertion.
    
    In addition, an API to register this device memory for future
    remote access operations is introduced using the create_mkey
    commands.
    
    Signed-off-by: Ariel Levkovich <lariel@mellanox.com>
    Reviewed-by: Mark Bloch <markb@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 65efb20db59e797d7401f8adcb6d34ff06c5b7cd
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jul 27 16:29:22 2019 -0400

    devpts_pty_kill(): don't bother with d_delete()
    
    we are not retaining dentries there anyway (simple_dentry_operations),
    so d_delete()+dput() == d_drop()+dput()
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 28cd4af104d6a9ff7ad380b79a8e39e165a25398
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jul 27 16:14:37 2019 -0400

    infiniband: don't bother with d_delete()
    
    Dentries are never retained there; d_delete() + dput() is no
    different from d_drop() + dput().
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 1916c61779fb05aaac92261863136ce6c20d16a0
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jul 27 16:10:56 2019 -0400

    hypfs: don't bother with d_delete()
    
    If that's not the last reference, d_delete() will do d_drop().
    If it is, dput() immediately after it will unhash the sucker
    anyway, since ->d_delete() the method is always_delete_dentry().
    
    IOW, there's no point trying to turn it into a negative hashed
    dentry - it won't stick around anyway.  Just d_drop() it and be
    done with that.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit dc7857ad37119fd3b4e50e6b371bc856557976f0
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Jul 16 21:20:17 2019 -0400

    fs/namei.c: keep track of nd->root refcount status
    
    The rules for nd->root are messy:
            * if we have LOOKUP_ROOT, it doesn't contribute to refcounts
            * if we have LOOKUP_RCU, it doesn't contribute to refcounts
            * if nd->root.mnt is NULL, it doesn't contribute to refcounts
            * otherwise it does contribute
    
    terminate_walk() needs to drop the references if they are contributing.
    So everything else should be careful not to confuse it, leading to
    rather convoluted code.
    
    It's easier to keep track of whether we'd grabbed the reference(s)
    explicitly.  Use a new flag for that.  Don't bother with zeroing
    nd->root.mnt on unlazy failures and in terminate_walk - it's not
    needed anymore (terminate_walk() won't care and the next path_init()
    will zero nd->root in !LOOKUP_ROOT case anyway).
    
    Resulting rules for nd->root refcounts are much simpler: they are
    contributing iff LOOKUP_ROOT_GRABBED is set in nd->flags.

commit 9b87647c665dbf93173ca2f43986902b59dfbbba
Author: Denis Efremov <efremov@linux.com>
Date:   Thu Aug 29 00:09:34 2019 +0300

    asm-generic: add unlikely to default BUG_ON(x)
    
    Add unlikely to default BUG_ON(x) in !CONFIG_BUG. It makes
    the define consistent with BUG_ON(x) in CONFIG_BUG.
    
    Signed-off-by: Denis Efremov <efremov@linux.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: <linux-arch@vger.kernel.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit 602828c1aade576ac5f3fbd59b4eb014c5fc2414
Author: Nicolas Pitre <nico@fluxnic.net>
Date:   Tue Aug 20 23:05:42 2019 -0400

    __div64_const32(): improve the generic C version
    
    Let's rework that code to avoid large immediate values and convert some
    64-bit variables to 32-bit ones when possible. This allows gcc to
    produce smaller and better code. This even produces optimal code on
    RISC-V.
    
    Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit fa7da7449eb3172e9ef56ae69a1db237cb26c8df
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sun Aug 25 17:41:52 2019 +0200

    power: supply: axp288_fuel_gauge: Add Minix Neo Z83-4 to the blacklist
    
    The Minix Neo Z83-4 is another mini PC using the AXP288 PMIC where the
    EFI code does not disable the charger part of the PMIC causing us to report
    battery readings (of always 100%) to userspace even though there is no
    battery in this wall-outlet powered device.
    
    Add it to the blacklist to avoid the bogus battery status reporting.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 6f3ed834717b9fcfb4993afea231937422b8ad10
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sun Aug 25 17:41:51 2019 +0200

    power: supply: axp288_fuel_gauge: Sort the DMI blacklist alphabetically
    
    The blacklist is getting big enough that it is good to have some sort
    of fixed order for it, sort it alphabetically.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit f1b937cc86bedf94dbc3478c2c0dc79471081fff
Author: Romain Izard <romain.izard.pro@gmail.com>
Date:   Fri Aug 30 15:15:56 2019 +0200

    power: supply: register HWMON devices with valid names
    
    With the introduction of the HWMON compatibility layer to the power
    supply framework in Linux 5.3, all power supply devices' names can be
    used directly to create HWMON devices with the same names.
    
    But HWMON has rules on allowable names that are different from those
    used in the power supply framework. The dash character is forbidden, as
    it is used by the libsensors library in userspace as a separator,
    whereas this character is used in the device names in more than half of
    the existing power supply drivers. This last case is consistent with the
    typical naming usage with MFD and Device Tree.
    
    This leads to warnings in the kernel log, with the format:
    
    power_supply gpio-charger: hwmon: \
            'gpio-charger' is not a valid name attribute, please fix
    
    Add a protection to power_supply_add_hwmon_sysfs() that replaces any
    dash in the device name with an underscore when registering with the
    HWMON framework. Other forbidden characters (star, slash, space, tab,
    newline) are not replaced, as they are not in common use.
    
    Fixes: e67d4dfc9ff1 ("power: supply: Add HWMON compatibility layer")
    Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

commit 45de77ff8286156f78ac2beef03f6088bb3e451b
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:36 2019 -0400

    net: dsa: mv88e6xxx: centralize SERDES IRQ handling
    
    The .serdes_irq_setup are all following the same steps: get the SERDES
    lane, get the IRQ mapping, request the IRQ, then enable it. So do
    the .serdes_irq_free implementations: get the SERDES lane, disable
    the IRQ, then free it.
    
    This patch removes these operations in favor of generic functions.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 907b9b9fcaef7fb193105d9d61cd795b38ee2530
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:35 2019 -0400

    net: dsa: mv88e6xxx: introduce .serdes_irq_status
    
    Introduce a new .serdes_irq_status operation to prepare the abstraction
    of IRQ thread from the SERDES IRQ setup code.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 61a46b4147b2767728eb0486be31e2e4b65dd3de
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:34 2019 -0400

    net: dsa: mv88e6xxx: introduce .serdes_irq_enable
    
    Introduce a new .serdes_irq_enable operation to prepare the abstraction
    of IRQ enabling from the SERDES IRQ setup code.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dc272f600eb3c3453c1289b095c6749d3241ae81
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:33 2019 -0400

    net: dsa: mv88e6xxx: pass lane to .serdes_power
    
    Now the first step of all .serdes_power implementations is getting
    the lane mapping. Since we have an operation for that, call it in
    the wrapper and pass the lane down to the .serdes_power operation.
    
    This also allows to avoid querying the SERDES lane twice in
    mv88e6xxx_port_set_cmode.
    
    At the same time provide mv88e6xxx_serdes_power_{up,down} helpers
    and prefer up/down instead of on/off as in the documentation.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6600d8e5822d9b3f98c82db3e96df6895b1e87d8
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:32 2019 -0400

    net: dsa: mv88e6xxx: merge mv88e6352_serdes_power_set
    
    The mv88e6352_serdes_power_set helper is only used at one place, in
    mv88e6352_serdes_power. Keep it simple and merge the two functions
    together.
    
    Use mv88e6xxx_serdes_get_lane instead of mv88e6352_port_has_serdes
    to avoid moving code. No functional changes.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9db4a7257e601491cf8e0b7e7e1461f7cde294bb
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:31 2019 -0400

    net: dsa: mv88e6xxx: implement mv88e6352_serdes_get_lane
    
    Even though 88E6352 has no dedicated lane for SERDES interfaces, it
    uses a similar code as the other .serdes_get_lane implementations to
    check the port's CMODE and ensure that SERDES operations are doable.
    
    For consistency, implement mv88e6352_serdes_get_lane for the 88E6352
    and similar switches which simply returns an unused 0xff lane address.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5122d4ec9e8053a5944bf77db6bd6c89143531d7
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:30 2019 -0400

    net: dsa: mv88e6xxx: simplify .serdes_get_lane
    
    Because the mapping between a SERDES interface and its lane is static,
    we don't need to stick with negative error codes actually and we can
    simply return 0 if there is no lane, just like the IRQ mapping.
    
    This way we can keep a simple and intuitive API using unsigned lane
    numbers while simplifying the implementations with single return
    statements. Last but not least, fix the reverse chrismas tree in
    mv88e6390x_serdes_get_lane.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4241ef52372ebee93f4ed67e08c9316ccb20bdd7
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:29 2019 -0400

    net: dsa: mv88e6xxx: introduce .serdes_irq_mapping
    
    Introduce a new .serdes_irq_mapping operation to prepare the
    abstraction of IRQ mapping from the SERDES IRQ setup code.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f441ed0f4c89c14dd68ce477f513bae43509237e
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:28 2019 -0400

    net: dsa: mv88e6xxx: fix SERDES IRQ mapping
    
    The current mv88e6xxx SERDES code checks for negative error code from
    irq_find_mapping, while this function returns an unsigned integer. This
    patch removes this dead code and simply returns 0 is no IRQ is found.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 946bc2509eb88ff0c64dd727a11c5a29b6bc2574
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Sat Aug 31 16:18:27 2019 -0400

    net: dsa: mv88e6xxx: check errors in mv88e6352_serdes_irq_link
    
    The mv88e6352_serdes_irq_link helper is not checking for any error that
    may occur during hardware accesses. Worst, the "up" boolean is set from
    the potentially unused "status" variable, if read operations failed.
    
    As done in mv88e6390_serdes_irq_link_sgmii, return right away and do
    not call dsa_port_phylink_mac_change if an error occurred.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b943e03341e69cfd384ceabbb4efc28a82f69e0c
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Sat Aug 31 12:29:11 2019 +0000

    net: hns3: remove set but not used variable 'qos'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c: In function 'hclge_restore_vlan_table':
    drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:8016:18: warning:
     variable 'qos' set but not used [-Wunused-but-set-variable]
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 70a214903da9 ("net: hns3: reduce the parameters of some functions")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit bdad7529ee4eca42c7034f34d2fe96de121aae34
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Aug 31 08:29:49 2019 +0100

    net: hns3: remove redundant assignment to pointer reg_info
    
    Pointer reg_info is being initialized with a value that is never read and
    is being re-assigned a little later on. The assignment is redundant
    and hence can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 56fcd40f8a51db475389856f31685a1b87a3cc9c
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sun Sep 1 16:52:05 2019 +0100

    netlabel: remove redundant assignment to pointer iter
    
    Pointer iter is being initialized with a value that is never read and
    is being re-assigned a little later on. The assignment is redundant
    and hence can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Acked-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dc161162e42ca51daff50e86a4a4bb8395d60501
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Sun Sep 1 10:42:44 2019 +0200

    r8169: don't set bit RxVlan on RTL8125
    
    RTL8125 uses a different register for VLAN offloading config,
    therefore don't set bit RxVlan.
    
    Fixes: f1bce4ad2f1c ("r8169: add support for RTL8125")
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7981dc1262f5e74cd0a5d5fe1abea3facff984e0
Author: Jordan Crouse <jcrouse@codeaurora.org>
Date:   Tue Aug 13 08:46:24 2019 -0600

    drm/msm: Remove Kconfig default
    
    Remove the default for CONFIG_DRM_MSM and let the user select the driver
    manually as one does.
    
    Additionally select QCOM_COMMAND_DB for ARCH_QCOM targets to make sure
    it doesn't get missed when we need it for a6xx targets.
    
    v2: Move from default 'm' to no default
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit f49475f07a067f8ddd6e744c9bb9953e53ce6c6b
Author: Rob Clark <robdclark@chromium.org>
Date:   Tue Aug 27 14:10:09 2019 -0700

    drm/msm/dpu: remove stray "\n"
    
    The extra line-break in traces was annoying me.
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Reviewed-by: Sean Paul <sean@poorly.run>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 846e5a322bfbc106b4425e5baa9ca11ae90eb907
Author: Rob Clark <robdclark@chromium.org>
Date:   Tue Aug 20 16:12:28 2019 -0700

    drm/msm/dpu: fix "frame done" timeouts
    
    Previously, dpu_crtc_frame_event_work() would try to aquire all the
    modeset locks in order to check whether it can release bandwidth.  (If
    we only have cmd-mode display, bandwidth can be released at frame-done
    time.)
    
    The problem with this is that it is also responsible for signalling
    frame_done_comp, which dpu_crtc_commit_kickoff() waits on if there is
    already a frame pending.  This is called in the msm_atomic_commit_tail()
    path.. which means that for non-nonblock commits, at least some of the
    modeset locks are already held.
    
    Re-work this scheme to use a reference count to track our need to have
    clocks enabled.  It is incremented for each atomic commit, and
    decremented in the corresponding frame-done.  Additionally, any crtc
    used in video mode hold an extra reference while they are enabled.  The
    net effect is that we can determine in frame-done whether it is safe to
    drop bandwidth without needing to aquire any modeset locks.
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Reviewed-by: Sean Paul <sean@chromium.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit fb0f209861652f9fc687a055a695e349bd40cd57
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Mon Aug 5 18:49:28 2019 -0500

    drm/msm: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct msm_gem_submit {
            ...
            struct {
                    ...
            } bos[0];
    };
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following form:
    
    sizeof(*submit) + ((u64)nr_bos * sizeof(submit->bos[0]))
    
    with:
    
    struct_size(submit, bos, nr_bos)
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 653c3c73ce6445822b09a2db1981410a64c1d57c
Author: Jordan Crouse <jcrouse@codeaurora.org>
Date:   Thu Jul 25 10:53:55 2019 -0600

    drm/msm: Use generic bulk clock function
    
    Remove the homebrewed bulk clock get function and replace it with
    devm_clk_bulk_get_all().
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 27cfa9de20d93ae3fff8985c3e6aca38f9bf092d
Author: Jordan Crouse <jcrouse@codeaurora.org>
Date:   Thu Jul 25 10:53:08 2019 -0600

    drm/msm: Annotate intentional switch statement fall throughs
    
    Explicitly mark intentional fall throughs in switch statements to keep
    -Wimplicit-fallthrough from complaining.
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 6a3549ac2abed878f718e02066d5da46b9eaf3ff
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Mon Jul 8 08:12:24 2019 -0700

    drm/msm/mdp5: Find correct node for creating gem address space
    
    Creating the msm gem address space requires a reference to the dev where
    the iommu is located.  The driver currently assumes this is the same as
    the platform device, which breaks when the iommu is outside of the
    platform device (ie in the parent).  Default to using the platform device,
    but check to see if that has an iommu reference, and if not, use the parent
    device instead.  This should handle all the various iommu designs for
    mdp5 supported systems.
    
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit ef7d1ded86c51d078cc222c7eb55eb64396f14bf
Author: Brian Masney <masneyb@onstation.org>
Date:   Sat Jul 6 07:11:38 2019 -0400

    drm/msm/phy/dsi_phy: silence -EPROBE_DEFER warnings
    
    The following errors show up when booting the Nexus 5:
    
    msm_dsi_phy fd922a00.dsi-phy: [drm:dsi_phy_driver_probe] *ERROR*
     dsi_phy_regulator_init: failed to init regulator, ret=-517
    msm_dsi_phy fd922a00.dsi-phy: [drm:dsi_phy_driver_probe] *ERROR*
     dsi_phy_driver_probe: failed to init regulator
    
    dsi_phy_regulator_init() already logs the error, so no need to log
    the same error a second time in dsi_phy_driver_probe(). This patch
    also changes dsi_phy_regulator_init() to not log the error if the
    error code is -EPROBE_DEFER to reduce noise in dmesg.
    
    Signed-off-by: Brian Masney <masneyb@onstation.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    [add some {}'s]
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 3fa63b8e6f5364fa7c4765fc0b3ded8eeb73ee26
Author: Rob Clark <robdclark@chromium.org>
Date:   Wed Jul 3 07:00:35 2019 -0700

    drm/msm/a6xx: add missing MODULE_FIRMWARE()
    
    For platforms that require the "zap shader" to take the GPU out of
    secure mode at boot, we also need the zap fw to end up in the initrd.
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 6b0c4d2539da4f87004073c3bddb843d6334570e
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Mon Jul 1 10:45:06 2019 -0700

    drm/msm/mdp5: Add msm8998 support
    
    Add support for MDP5 version v3.0 found on msm8998.
    
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    [silence unitialized variable warnings]
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 57bd739ffe7a89aaaf1e33e01e2e9f0f559e8679
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Tue Aug 20 20:33:37 2019 -0500

    usb: udc: lpc32xx: Silence fall-through warning
    
    Silence the following fall-through warning by adding a break statement:
    
    drivers/usb/gadget/udc/lpc32xx_udc.c:2230:3: warning: this statement may
    fall through [-Wimplicit-fallthrough=]
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>

commit 35de8ef771145e06118299ee311793fd02ebc404
Author: Rob Clark <robdclark@chromium.org>
Date:   Sun Jun 30 06:14:42 2019 -0700

    drm/msm/dpu: remove dpu_mdss:hwversion
    
    Unused and the extra rpm get/put interferes with handover from
    bootloader (ie. happens before we have a chance to check if
    things are already enabled).
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 82e969d12c61995374ff753924aee50e698f3a2a
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Wed Jun 26 11:00:15 2019 -0700

    drm: msm: Fix add_gpu_components
    
    add_gpu_components() adds found GPU nodes from the DT to the match list,
    regardless of the status of the nodes.  This is a problem, because if the
    nodes are disabled, they should not be on the match list because they will
    not be matched.  This prevents display from initing if a GPU node is
    defined, but it's status is disabled.
    
    Fix this by checking the node's status before adding it to the match list.
    
    Fixes: dc3ea265b856 ("drm/msm: Drop the gpu binding")
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 82237df9cb40db4dd5bd6c549c48cce8862827d1
Author: Brian Masney <masneyb@onstation.org>
Date:   Wed Jun 26 22:05:15 2019 -0400

    drm/msm: correct NULL pointer dereference in context_init
    
    Correct attempted NULL pointer dereference in context_init() when
    running without an IOMMU.
    
    Signed-off-by: Brian Masney <masneyb@onstation.org>
    Fixes: 295b22ae596c ("drm/msm: Pass the MMU domain index in struct msm_file_private")
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 1d1ad57393cdb58a0f960fcc53170bfe23fdb643
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Fri Jun 28 09:28:31 2019 -0700

    drm/msm: Transition console to msm framebuffer
    
    If booting a device using EFI, efifb will likely come up and claim the
    console.  When the msm display stack finally comes up, we want the
    console to move over to the msm fb, so add support to kick out any
    firmware based framebuffers to accomplish the console transition.
    
    Suggested-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Tested-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 219310a50a2690df96f4823bff2957a1c7e24385
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Sat Jun 29 14:59:31 2019 +0200

    drm/msm/hdmi: Convert to use GPIO descriptors
    
    This switches the MSM HDMI code to use GPIO descriptors.
    Normally we would fetch the GPIOs from the device with the
    flags GPIOD_IN or GPIOD_OUT_[LOW|HIGH] to set up the lines
    immediately, but since the code seems eager to actively
    drive the lines high/low when turning HDMI on and off, we
    just fetch the GPIOs as-is and keep the code explicitly
    driving them.
    
    The old code would try legacy bindings (GPIOs without any
    "-gpios" suffix) but this has been moved to the gpiolib
    as a quirk by the previous patch.
    
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: freedreno@lists.freedesktop.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 9a31616d8e43e617ec77830a88b026a471cd0fbe
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Sat Jun 29 14:59:29 2019 +0200

    drm/msm/dpu: Drop unused GPIO code
    
    The DPU has some kind of idea that it wants to be able to
    bring up power using GPIO lines. The struct dss_gpio is however
    completely unused and should this be done, it should be done
    using the GPIO descriptor framework rather than this API
    which relies on the global GPIO numberspace. Delete this
    code before anyone hurt themselves.
    
    The inclusion of <linux/gpio.h> was abused to get some OF
    and IRQ headers implicitly included into the DPU utilities,
    make these includes explicit and push them down into the actual
    implementation.
    
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: freedreno@lists.freedesktop.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 8c0a2af8d564f36fd2964998962963bb0261f421
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Sat Jun 29 14:59:28 2019 +0200

    drm/msm/dsi: Drop unused GPIO includes
    
    This DSI driver uses the new descriptor API so these old
    GPIO API includes are surplus.
    
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: freedreno@lists.freedesktop.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit f10bbfe6a470f74593ebdcb4008cb7d32b5394b4
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Sat Jun 29 14:59:27 2019 +0200

    drm/msm/mdp4: Drop unused GPIO include
    
    This file is not using any symbols from <linux/gpio.h> so just
    drop this include.
    
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: freedreno@lists.freedesktop.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Brian Masney <masneyb@onstation.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 079674a0a34502f96cd0c26f9439ecdd8474a78c
Author: Shubhashree Dhar <dhar@codeaurora.org>
Date:   Mon Jun 24 11:57:12 2019 +0530

    drm/msm/dpu: Correct dpu encoder spinlock initialization
    
    dpu encoder spinlock should be initialized during dpu encoder
    init instead of dpu encoder setup which is part of commit.
    There are chances that vblank control uses the uninitialized
    spinlock if not initialized during encoder init.
    
    Change-Id: I5a18b95fa47397c834a266b22abf33a517b03a4e
    Signed-off-by: Shubhashree Dhar <dhar@codeaurora.org>
    Reviewed-by: Jeykumar Sankaran <jsanka@codeaurora.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>

commit 4e4210402639f16dfbfa5ba277aeb88fff401cec
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Aug 30 18:08:19 2019 +0300

    leds: trigger: gpio: GPIO 0 is valid
    
    Allow all valid GPIOs to be used in the driver.
    
    Fixes: 17354bfe8527 ("leds: Add gpio-led trigger")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit d4b02200ae7cc5886be01c0d7f1d335f4b6966a7
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Thu Aug 29 19:53:20 2019 -0500

    leds: pwm: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct led_pwm_priv {
            ...
            struct led_pwm_data leds[0];
    };
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following function:
    
    static inline size_t sizeof_pwm_leds_priv(int num_leds)
    {
           return sizeof(struct led_pwm_priv) +
                         (sizeof(struct led_pwm_data) * num_leds);
    }
    
    with:
    
    struct_size(priv, leds, count)
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 1669ec78b87c0f04c963a5fc0885505d97468c7a
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Fri Aug 30 13:14:48 2019 -0500

    leds: is31fl32xx: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct is31fl32xx_priv {
            ...
            struct is31fl32xx_led_data leds[0];
    };
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following function:
    
    static inline size_t sizeof_is31fl32xx_priv(int num_leds)
    {
           return sizeof(struct is31fl32xx_priv) +
                         (sizeof(struct is31fl32xx_led_data) * num_leds);
    }
    
    with:
    
    struct_size(priv, leds, count)
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 2637fd436c60c599e0967faee1903cce58c4a7f9
Author: Dan Murphy <dmurphy@ti.com>
Date:   Wed Aug 28 10:22:19 2019 -0500

    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    
    Fix the coccinelle issues found in the TI LMU common code
    
    drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned expression compared with zero: ramp_down < 0
    drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned expression compared with zero: ramp_up < 0
    
    Fixes: 3fce8e1eb994 ("leds: TI LMU: Add common code for TI LMU devices")
    Signed-off-by: Dan Murphy <dmurphy@ti.com>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 070a0eed7580a976b397dce981db9746df714327
Author: Tony Lindgren <tony@atomide.com>
Date:   Tue Aug 27 14:52:05 2019 -0700

    leds: lm3532: Avoid potentially unpaired regulator calls
    
    We may currently get unpaired regulator calls when configuring the LED
    brightness via sysfs in case of regulator calls producing errors. Let's
    fix this by maintaining local state for enabled.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 68bfcf6debd72121758d6e0fbf75f506126d7b9a
Author: Alexander Dahl <ada@thorsis.com>
Date:   Tue Aug 27 15:00:27 2019 +0200

    leds: syscon: Use resource managed variant of device register
    
    We have a MFD driver compiled as module instantiating this driver. When
    unloading that module, those LED devices are not removed, which produces
    conflicts, when that module is inserted again.
    
    Signed-off-by: Alexander Dahl <ada@thorsis.com>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 7c322056e3564da1b5bdc3f3cb79229582955eb2
Author: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Date:   Mon Aug 26 22:34:42 2019 +0200

    leds: Replace {devm_}led_classdev_register() macros with inlines
    
    Replace preprocessor macro aliases for legacy LED registration helpers
    with inline functions. It will allow to avoid misleading compiler error
    messages about missing symbol that actually wasn't explicitly used
    in the code. It used to occur when CONFIG_LEDS_CLASS was undefined
    and legacy (non-ext) function had been used in the code.
    
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    Acked-by: Pavel Machek <pavel@ucw.cz>

commit 4a9eb8154ffd26a56121a4a531b04cf32942a49b
Author: Bastian Krause <bst@pengutronix.de>
Date:   Fri Aug 30 15:47:55 2019 +0200

    dt-bindings: rtc: ds1307: add rx8130 compatible
    
    The required OF entries were added with commit 47dd47292828
    ("rtc: ds1307: add OF and ACPI entries for Epson RX8130").
    
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Bastian Krause <bst@pengutronix.de>
    Link: https://lore.kernel.org/r/20190830134755.1121-1-bst@pengutronix.de
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit d76a81d0c262154ed5ec0307bdd195f2758ccc70
Author: Alejandro González <alejandro.gonzalez.correo@gmail.com>
Date:   Wed Aug 21 23:00:56 2019 +0200

    rtc: sun6i: Allow using as wakeup source from suspend
    
    This patch allows userspace to set up wakeup alarms on any RTC handled by the
    sun6i driver, and adds the necessary PM operations to allow resuming from
    suspend when the configured wakeup alarm fires a IRQ. Of course, that the
    device actually resumes depends on the suspend state and how a particular
    hardware reacts to it, but that is out of scope for this patch.
    
    I've tested these changes on a Pine H64 model B, which contains a
    Allwinner H6 SoC, with the help of CONFIG_PM_TEST_SUSPEND kernel option.
    These are the interesting outputs from the kernel and commands which
    show that it works. As every RTC handled by this driver is largely the
    same, I think that it shouldn't introduce any regression on other SoCs,
    but I may be wrong.
    
    [    1.092705] PM: test RTC wakeup from 'freeze' suspend
    [    1.098230] PM: suspend entry (s2idle)
    [    1.212907] PM: suspend devices took 0.080 seconds
    (The SoC freezes for some seconds)
    [    3.197604] PM: resume devices took 0.104 seconds
    [    3.215937] PM: suspend exit
    
    [    1.092812] PM: test RTC wakeup from 'mem' suspend
    [    1.098089] PM: suspend entry (deep)
    [    1.102033] PM: suspend exit
    [    1.105205] PM: suspend test failed, error -22
    
    In any case, the RTC alarm interrupt gets fired as exptected:
    
    $ echo +5 > /sys/class/rtc/rtc0/wakealarm && sleep 5 && grep rtc /proc/interrupts
     29:          1          0          0          0     GICv2 133 Level     7000000.rtc
    
    Signed-off-by: Alejandro González <alejandro.gonzalez.correo@gmail.com>
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Link: https://lore.kernel.org/r/20190821210056.11995-1-alejandro.gonzalez.correo@gmail.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit f648d40b99ba7363bf4a1bbca5cc93904725dceb
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Thu Aug 29 23:25:47 2019 +0200

    rtc: pcf8563: let the core handle range offsetting
    
    Set the RTC range properly and use the core windowing and offsetting to
    (unfortunately) map back to a 1970-2069 range.
    
    Link: https://lore.kernel.org/r/20190829212547.19185-5-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 497dd8f203e6d5384f5d2bab0508db112f7e3665
Author: Chao Yu <yuchao0@huawei.com>
Date:   Tue Aug 27 18:17:55 2019 +0800

    f2fs: add missing documents of reserve_root/resuid/resgid
    
    Add missing documents.
    
    Fixes: 7e65be49ed94f ("f2fs: add reserved blocks for root user")
    Fixes: 7c2e59632b846 ("f2fs: add resgid and resuid to reserve root blocks")
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit 48aeaa459579d28ac4791a55c31ea1c8477d9259
Author: Jaegeuk Kim <jaegeuk@kernel.org>
Date:   Tue Aug 27 17:02:03 2019 -0700

    f2fs: convert inline_data in prior to i_size_write
    
    This can guarantee inline_data has smaller i_size.
    
    Reviewed-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit 9530ba093d8de200e1edbd09a436e8f1b17639b2
Author: Jaegeuk Kim <jaegeuk@kernel.org>
Date:   Wed Aug 28 19:58:26 2019 -0700

    f2fs: fix flushing node pages when checkpoint is disabled
    
    This patch fixes skipping node page writes when checkpoint is disabled.
    In this period, we can't rely on checkpoint to flush node pages.
    
    Fixes: fd8c8caf7e7c ("f2fs: let checkpoint flush dnode page of regular")
    Fixes: 4354994f097d ("f2fs: checkpoint disabling")
    Reviewed-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit ba4aa6103c448bedab3eb061d788106f9d8e713b
Author: Chao Yu <yuchao0@huawei.com>
Date:   Tue Aug 20 22:34:22 2019 +0800

    f2fs: fix to avoid corruption during inline conversion
    
    - f2fs_setattr
     - truncate_setsize (expand i_size)
      - f2fs_convert_inline_inode
       - f2fs_convert_inline_page
        - f2fs_reserve_block
        - f2fs_get_node_info failed
    
    Once we fail in above path, inline flag will remain, however
    - we've reserved one block at inode.i_addr[0]
    - i_size has expanded
    
    Fix error path to avoid inode corruption.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit 0e762d7154bd903a0a97b20e56d1d582f76eb76c
Author: Chao Yu <yuchao0@huawei.com>
Date:   Fri Aug 23 17:58:36 2019 +0800

    f2fs: enhance f2fs_is_checkpoint_ready()'s readability
    
    This patch changes sematics of f2fs_is_checkpoint_ready()'s return
    value as: return true when checkpoint is ready, other return false,
    it can improve readability of below conditions.
    
    f2fs_submit_page_write()
    ...
            if (is_sbi_flag_set(sbi, SBI_IS_SHUTDOWN) ||
                                    !f2fs_is_checkpoint_ready(sbi))
                    __submit_merged_bio(io);
    
    f2fs_balance_fs()
    ...
            if (!f2fs_is_checkpoint_ready(sbi))
                    return;
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit 56bc729da35441569664be89b8f5cdf732f23db0
Author: Chao Yu <yuchao0@huawei.com>
Date:   Fri Aug 23 17:58:35 2019 +0800

    f2fs: clean up __bio_alloc()'s parameter
    
    Just cleanup, no logic change.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit f88c760df45a9ae5466b4fb2b9aaf9be4444be65
Author: Chao Yu <yuchao0@huawei.com>
Date:   Fri Aug 23 17:58:34 2019 +0800

    f2fs: fix wrong error injection path in inc_valid_block_count()
    
    If FAULT_BLOCK type error injection is on, in inc_valid_block_count()
    we may decrease sbi->alloc_valid_block_count percpu stat count
    incorrectly, fix it.
    
    Fixes: 36b877af7992 ("f2fs: Keep alloc_valid_block_count in sync")
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit 5ba6c6f19f6efd349145199950b68ea154cf37a1
Author: Chao Yu <yuchao0@huawei.com>
Date:   Thu Aug 22 20:17:56 2019 +0800

    f2fs: fix to writeout dirty inode during node flush
    
    As Eric reported:
    
    On xfstest generic/204 on f2fs, I'm getting a kernel BUG.
    
     allocate_segment_by_default+0x9d/0x100 [f2fs]
     f2fs_allocate_data_block+0x3c0/0x5c0 [f2fs]
     do_write_page+0x62/0x110 [f2fs]
     f2fs_do_write_node_page+0x2b/0xa0 [f2fs]
     __write_node_page+0x2ec/0x590 [f2fs]
     f2fs_sync_node_pages+0x756/0x7e0 [f2fs]
     block_operations+0x25b/0x350 [f2fs]
     f2fs_write_checkpoint+0x104/0x1150 [f2fs]
     f2fs_sync_fs+0xa2/0x120 [f2fs]
     f2fs_balance_fs_bg+0x33c/0x390 [f2fs]
     f2fs_write_node_pages+0x4c/0x1f0 [f2fs]
     do_writepages+0x1c/0x70
     __writeback_single_inode+0x45/0x320
     writeback_sb_inodes+0x273/0x5c0
     wb_writeback+0xff/0x2e0
     wb_workfn+0xa1/0x370
     process_one_work+0x138/0x350
     worker_thread+0x4d/0x3d0
     kthread+0x109/0x140
    
    The root cause of this issue is, in a very small partition, e.g.
    in generic/204 testcase of fstest suit, filesystem's free space
    is 50MB, so at most we can write 12800 inline inode with command:
    `echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > $SCRATCH_MNT/$i`,
    then filesystem will have:
    - 12800 dirty inline data page
    - 12800 dirty inode page
    - and 12800 dirty imeta (dirty inode)
    
    When we flush node-inode's page cache, we can also flush inline
    data with each inode page, however it will run out-of-free-space
    in device, then once it triggers checkpoint, there is no room for
    huge number of imeta, at this time, GC is useless, as there is no
    dirty segment at all.
    
    In order to fix this, we try to recognize inode page during
    node_inode's page flushing, and update inode page from dirty inode,
    so that later another imeta (dirty inode) flush can be avoided.
    
    Reported-and-tested-by: Eric Biggers <ebiggers@kernel.org>
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit fbce5d4ab3abc8033ea869771ce9306b144e7c3d
Author: Chao Yu <yuchao0@huawei.com>
Date:   Wed Aug 21 23:13:35 2019 +0800

    f2fs: optimize case-insensitive lookups
    
    This patch ports below casefold enhancement patch from ext4 to f2fs
    
    commit 3ae72562ad91 ("ext4: optimize case-insensitive lookups")
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

commit c7d5f6dbd9f9a68374f3d24c63a99691d792fd29
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Thu Aug 29 23:25:46 2019 +0200

    rtc: pcf8563: remove useless indirection
    
    pcf8563_rtc_read_time and pcf8563_set_datetime are only used after casting
    dev to an i2c_client. Remove that useless indirection.
    
    Link: https://lore.kernel.org/r/20190829212547.19185-4-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 8d3f805e6896798a1a40173d3734463363431b8e
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Thu Aug 29 23:25:45 2019 +0200

    rtc: pcf8563: convert to devm_rtc_allocate_device
    
    This allows further improvement of the driver.
    
    Link: https://lore.kernel.org/r/20190829212547.19185-3-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit deaa3ff4984f85fd8957841c314b94bbf81c9cd7
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Thu Aug 29 23:25:44 2019 +0200

    rtc: pcf8563: add Microcrystal RV8564 compatible
    
    Add a compatible string for the Microcrystal RV8564.
    
    Link: https://lore.kernel.org/r/20190829212547.19185-2-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit cd646ec003c5a24b1d86d1ba032d2f4eb3aa8e49
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Thu Aug 29 23:25:43 2019 +0200

    rtc: pcf8563: add Epson RTC8564 compatible
    
    Add a compatible string for the Epson RTC8564.
    
    Link: https://lore.kernel.org/r/20190829212547.19185-1-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 4053e74996b81902b2dd538717b4fd2fc1426d8b
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Fri Aug 30 15:31:24 2019 +0200

    rtc: s35390a: convert to devm_i2c_new_dummy_device()
    
    I was about to simplify the call to i2c_unregister_device() when I
    realized that converting to devm_i2c_new_dummy_device() will simplify
    the driver a lot. So I took this approach.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20190830133124.21633-3-wsa+renesas@sang-engineering.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 59a7f24fceb3aef6bd16f5aeb852c823dddab04d
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Fri Aug 30 15:31:23 2019 +0200

    rtc: max77686: convert to devm_i2c_new_dummy_device()
    
    I was about to simplify the call to i2c_unregister_device() when I
    realized that converting to devm_i2c_new_dummy_device() will simplify
    the driver a lot. So I took this approach.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20190830133124.21633-2-wsa+renesas@sang-engineering.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 6f671045b642b726f50124439235b6870c2d13ae
Author: Ben Wei <benwei@fb.com>
Date:   Fri Aug 30 20:50:51 2019 +0000

    net/ncsi: add response handlers for PLDM over NC-SI
    
    This patch adds handlers for PLDM over NC-SI command response.
    
    This enables NC-SI driver recognizes the packet type so the responses
    don't get dropped as unknown packet type.
    
    PLDM over NC-SI are not handled in kernel driver for now, but can be
    passed back to user space via Netlink for further handling.
    
    Signed-off-by: Ben Wei <benwei@fb.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7ef66122bdb3b839e9f51b76d7e600b6e21ef648
Author: Biwen Li <biwen.li@nxp.com>
Date:   Thu Aug 29 10:14:18 2019 +0800

    rtc: pcf85363/pcf85263: fix regmap error in set_time
    
    Issue:
        - # hwclock -w
          hwclock: RTC_SET_TIME: Invalid argument
    
    Why:
        - Relative commit: 8b9f9d4dc511 ("regmap: verify if register is
          writeable before writing operations"), this patch
          will always check for unwritable registers, it will compare reg
          with max_register in regmap_writeable.
    
        - The pcf85363/pcf85263 has the capability of address wrapping
          which means if you access an address outside the allowed range
          (0x00-0x2f) hardware actually wraps the access to a lower address.
          The rtc-pcf85363 driver will use this feature to configure the time
          and execute 2 actions in the same i2c write operation (stopping the
          clock and configure the time). However the driver has also
          configured the `regmap maxregister` protection mechanism that will
          block accessing addresses outside valid range (0x00-0x2f).
    
    How:
        - Split of writing regs to two parts, first part writes control
          registers about stop_enable and resets, second part writes
          RTC time and date registers.
    
    Signed-off-by: Biwen Li <biwen.li@nxp.com>
    Link: https://lore.kernel.org/r/20190829021418.4607-1-biwen.li@nxp.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit c59a9fc7272e56ba0575b9fcc346c5e4bf16b39d
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Wed Aug 28 22:50:56 2019 +0200

    rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64
    
    Call the 64bit versions of rtc_tm time conversion now that the range is
    enforced by the core.
    
    Link: https://lore.kernel.org/r/20190828205056.31321-2-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 79610340cac8840ad67572ca13afae03265edae6
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Wed Aug 28 22:50:55 2019 +0200

    rtc: snvs: set range
    
    The SNVS is a 47-bit counter incremented at 32768Hz, it is then a 32-bit
    second counter.
    
    Link: https://lore.kernel.org/r/20190828205056.31321-1-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit 58b6be4175a4b4a58210bf171ac90886244da98c
Author: Parav Pandit <parav@mellanox.com>
Date:   Fri Aug 30 05:39:45 2019 -0500

    devlink: Use switch-case instead of if-else
    
    Make core more readable with switch-case for various port flavours.
    
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c7282b501f22a21ac8dfb6d3856aa1a92a7df5d5
Author: Parav Pandit <parav@mellanox.com>
Date:   Fri Aug 30 05:39:44 2019 -0500

    devlink: Make port index data type as unsigned int
    
    Devlink port index attribute is returned to users as u32 through
    netlink response.
    Change index data type from 'unsigned' to 'unsigned int' to avoid
    below checkpatch.pl warning.
    
    WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
    81: FILE: include/net/devlink.h:81:
    +       unsigned index;
    
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 26811cc9f55acf835f7fdadc5ff2bbd6f06bc3ac
Author: Davide Caratti <dcaratti@redhat.com>
Date:   Fri Aug 30 12:25:49 2019 +0200

    net: tls: export protocol version, cipher, tx_conf/rx_conf to socket diag
    
    When an application configures kernel TLS on top of a TCP socket, it's
    now possible for inet_diag_handler() to collect information regarding the
    protocol version, the cipher type and TX / RX configuration, in case
    INET_DIAG_INFO is requested.
    
    Signed-off-by: Davide Caratti <dcaratti@redhat.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 61723b393292f1e4ea27f8d123384d50b176c29d
Author: Davide Caratti <dcaratti@redhat.com>
Date:   Fri Aug 30 12:25:48 2019 +0200

    tcp: ulp: add functions to dump ulp-specific information
    
    currently, only getsockopt(TCP_ULP) can be invoked to know if a ULP is on
    top of a TCP socket. Extend idiag_get_aux() and idiag_get_aux_size(),
    introduced by commit b37e88407c1d ("inet_diag: allow protocols to provide
    additional data"), to report the ULP name and other information that can
    be made available by the ULP through optional functions.
    
    Users having CAP_NET_ADMIN privileges will then be able to retrieve this
    information through inet_diag_handler, if they specify INET_DIAG_INFO in
    the request.
    
    Signed-off-by: Davide Caratti <dcaratti@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 15a7dea750e0162f273c6e61a94f96944b75b31e
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Fri Aug 30 12:25:47 2019 +0200

    net/tls: use RCU protection on icsk->icsk_ulp_data
    
    We need to make sure context does not get freed while diag
    code is interrogating it. Free struct tls_context with
    kfree_rcu().
    
    We add the __rcu annotation directly in icsk, and cast it
    away in the datapath accessor. Presumably all ULPs will
    do a similar thing.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fcee7de608a2e4cb3481fd224b11242427d8ec28
Author: Marc Gonzalez <marc.w.gonzalez@free.fr>
Date:   Mon Jun 24 15:26:05 2019 +0200

    arm64: defconfig: Enable CPU clock drivers for Qualcomm msm8916
    
    QCOM_A53PLL and QCOM_CLK_APCS_MSM8916 used to be enabled by default in
    drivers/clk/qcom/Kconfig. A recent patch changed that by dropping the
    'default ARCH_QCOM' directive.
    
    Add the two options explicitly in the arm64 defconfig, to avoid
    functional regressions.
    
    Acked-by: Amit Kucheria <amit.kucheria@linaro.org>
    Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
    [bjorn: Rewrote subject]
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

commit 6377910c5c149f12874a0489963e7158c378917b
Author: Jordan Crouse <jcrouse@codeaurora.org>
Date:   Tue Aug 13 08:46:25 2019 -0600

    arm64: defconfig: Add DRM_MSM to defconfigs with ARCH_QCOM
    
    Now that CONFIG_DRM_MSM is no longer default 'y' add it as a module to all
    ARCH_QCOM enabled defconfigs to restore the previous expected build
    behavior.
    
    I split this off from the original patch to separate out the ARM64 portions.
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Andy Gross <agross@kernel.org>

commit 1cd3e52a07b86cf03079e05968d1a2641b6261c4
Author: Andy Gross <agross@kernel.org>
Date:   Sun Sep 1 00:37:54 2019 -0500

    ARM: multi_v7_defconfig: Add DRM_MSM to defconfigs with ARCH_QCOM
    
    Now that CONFIG_DRM_MSM is no longer default 'y' add it as a module to all
    ARCH_QCOM enabled defconfigs to restore the previous expected build
    behavior.
    
    I split this off from the original patch to make this change unique to
    the multi_v7_defconfig
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Andy Gross <agross@kernel.org>

commit 162eeae200e02ce8cc76a4d3cc8928da8145b20a
Author: Jordan Crouse <jcrouse@codeaurora.org>
Date:   Tue Aug 13 08:46:25 2019 -0600

    ARM: qcom_defconfig: Add DRM_MSM to defconfigs with ARCH_QCOM
    
    Now that CONFIG_DRM_MSM is no longer default 'y' add it as a module to all
    ARCH_QCOM enabled defconfigs to restore the previous expected build
    behavior.
    
    Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

commit ae31a514a134d9e4ca1d7b0f0a19b5934747d79f
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Sat Aug 31 17:35:53 2019 -0300

    objtool: Ignore intentional differences for the x86 insn decoder
    
    Since we need to build this in !x86, we need to explicitely use the x86
    files, not things like asm/insn.h, so we intentionally differ from the
    master copy in the kernel sources, add -I diff directives to ignore just
    these differences when checking for drift.
    
    Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Link: http://lore.kernel.org/lkml/20190830193109.p7jagidsrahoa4pn@treble
    Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/n/tip-j965m9b7xtdc83em3twfkh9o@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 2ffd84ae973b5ad16be96840574bb1142fda268a
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Sat Aug 31 17:29:47 2019 -0300

    objtool: Update sync-check.sh from perf's check-headers.sh
    
    To allow using the -I trick that will be needed for checking the x86
    insn decoder files.
    
    Without the specific -I lines we still get the same warnings as before:
    
      $ make -C tools/objtool/ clean ; make -C tools/objtool/
      make: Entering directory '/home/acme/git/perf/tools/objtool'
        CLEAN    objtool
      find  -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
      rm -f arch/x86/inat-tables.c fixdep
      <SNIP>
        LD       objtool-in.o
      make[1]: Leaving directory '/home/acme/git/perf/tools/objtool'
      Warning: Kernel ABI header at 'tools/arch/x86/include/asm/inat.h' differs from latest version at 'arch/x86/include/asm/inat.h'
      diff -u tools/arch/x86/include/asm/inat.h arch/x86/include/asm/inat.h
      Warning: Kernel ABI header at 'tools/arch/x86/include/asm/insn.h' differs from latest version at 'arch/x86/include/asm/insn.h'
      diff -u tools/arch/x86/include/asm/insn.h arch/x86/include/asm/insn.h
      Warning: Kernel ABI header at 'tools/arch/x86/lib/inat.c' differs from latest version at 'arch/x86/lib/inat.c'
      diff -u tools/arch/x86/lib/inat.c arch/x86/lib/inat.c
      Warning: Kernel ABI header at 'tools/arch/x86/lib/insn.c' differs from latest version at 'arch/x86/lib/insn.c'
      diff -u tools/arch/x86/lib/insn.c arch/x86/lib/insn.c
      /home/acme/git/perf/tools/objtool
        LINK     objtool
      make: Leaving directory '/home/acme/git/perf/tools/objtool'
      $
    
    The next patch will add the -I lines for those files.
    
    Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Link: http://lore.kernel.org/lkml/20190830193109.p7jagidsrahoa4pn@treble
    Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/n/tip-vu3p38mnxlwd80rlsnjkqcf2@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 87a682a7c4e719d238d1839098375470b55e2097
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Sat Aug 31 17:14:19 2019 -0300

    perf build: Ignore intentional differences for the x86 insn decoder
    
    Since we need to build this in !x86, we need to explicitely use the x86
    files, not things like asm/insn.h, so we intentionally differ from the
    master copy in the kernel sources, add -I diff directives to ignore just
    these differences when checking for drift.
    
    Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/n/tip-9qziqjjt120mmz6kyepka9p7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 00a263902ac3da886cf275663a938f503a853f68
Author: Josh Poimboeuf <jpoimboe@redhat.com>
Date:   Thu Aug 29 17:41:21 2019 -0500

    perf intel-pt: Use shared x86 insn decoder
    
    Now that there's a common version of the decoder for all tools, use it
    instead of the local copy.
    
    Also use perf's check-headers.sh script to diff the decoder files to
    make sure they remain in sync with the kernel version.  Objtool has a
    similar check.
    
    Committer notes:
    
    Had to keep this all pointing explicitely to x86 headers/files, i.e.
    instead of asm/isnn.h we had to use ../include/asm/insn.h when the files
    were in differemt dirs, or just replace "<asm/foo.h>" with "foo.h".
    
    This way we continue to be able to process perf.data files with Intel PT
    traces in distros other than x86.
    
    Also fixed up the awk script paths to use $(srcdir)/tools/arch instead
    or relative directories so that we keep detached tarballs (make help |
    grep perf) working.
    
    For now the include lines in these headers are being ignored so as not
    to flag false reports of kernel/tools out of sync.
    
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: x86@kernel.org
    Link: http://lore.kernel.org/lkml/8a37e615d2880f039505d693d1e068a009358a2b.1567118001.git.jpoimboe@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f1da0a6c136542b9571b30af27bc1e84254f7a47
Author: Josh Poimboeuf <jpoimboe@redhat.com>
Date:   Thu Aug 29 17:41:20 2019 -0500

    perf intel-pt: Remove inat.c from build dependency list
    
    intel-pt-insn-decoder.c includes inat.c directly, so it already has an
    implicit dependency on inat.c.  The Build file dependency is redundant.
    
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: x86@kernel.org
    Link: http://lore.kernel.org/lkml/53776d6d29bc9eceb571d52df8fa32250c58a0f3.1567118001.git.jpoimboe@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 58993fb2c5115e93c52058e25f9b2ff289374870
Author: Josh Poimboeuf <jpoimboe@redhat.com>
Date:   Thu Aug 29 17:41:19 2019 -0500

    perf: Update .gitignore file
    
    After a "make tools/perf", git reports the following untracked files:
    
      tools/perf/feature/
      tools/perf/fixdep
      tools/perf/libtraceevent-dynamic-list
    
    Add these generated files to perf's .gitignore file.
    
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: x86@kernel.org
    Link: http://lore.kernel.org/lkml/03acbc6c2fbc72054861f6c301875db75db33030.1567118001.git.jpoimboe@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit d046b725487a97a3a3b35a00e84ca093963b8b4e
Author: Josh Poimboeuf <jpoimboe@redhat.com>
Date:   Thu Aug 29 17:41:18 2019 -0500

    objtool: Move x86 insn decoder to a common location
    
    The kernel tree has three identical copies of the x86 instruction
    decoder.  Two of them are in the tools subdir.
    
    The tools subdir is supposed to be completely standalone and separate
    from the kernel.  So having at least one copy of the kernel decoder in
    the tools subdir is unavoidable.  However, we don't need *two* of them.
    
    Move objtool's copy of the decoder to a shared location, so that perf
    will also be able to use it.
    
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: x86@kernel.org
    Link: http://lore.kernel.org/lkml/55b486b88f6bcd0c9a2a04b34f964860c8390ca8.1567118001.git.jpoimboe@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f01642e4912bb80a01d693f4cc6fb0897207a090
Author: Jin Yao <yao.jin@linux.intel.com>
Date:   Wed Aug 28 13:59:32 2019 +0800

    perf metricgroup: Support multiple events for metricgroup
    
    Some uncore metrics don't work as expected. For example, on
    cascadelakex:
    
      root@lkp-csl-2sp2:~# perf stat -M UNC_M_PMM_BANDWIDTH.TOTAL -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
               1841092      unc_m_pmm_rpq_inserts
               3680816      unc_m_pmm_wpq_inserts
    
           1.001775055 seconds time elapsed
    
      root@lkp-csl-2sp2:~# perf stat -M UNC_M_PMM_READ_LATENCY -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
             860649746      unc_m_pmm_rpq_occupancy.all
               1840557      unc_m_pmm_rpq_inserts
           12790627455      unc_m_clockticks
    
           1.001773348 seconds time elapsed
    
    No metrics 'UNC_M_PMM_BANDWIDTH.TOTAL' or 'UNC_M_PMM_READ_LATENCY' are
    reported.
    
    The issue is, the case of an alias expanding to mulitple events is not
    supported, typically the uncore events.  (see comments in
    find_evsel_group()).
    
    For UNC_M_PMM_BANDWIDTH.TOTAL in above example, the expanded event group
    is '{unc_m_pmm_rpq_inserts,unc_m_pmm_wpq_inserts}:W', but the actual
    events passed to find_evsel_group are:
    
      unc_m_pmm_rpq_inserts
      unc_m_pmm_rpq_inserts
      unc_m_pmm_rpq_inserts
      unc_m_pmm_rpq_inserts
      unc_m_pmm_rpq_inserts
      unc_m_pmm_rpq_inserts
      unc_m_pmm_wpq_inserts
      unc_m_pmm_wpq_inserts
      unc_m_pmm_wpq_inserts
      unc_m_pmm_wpq_inserts
      unc_m_pmm_wpq_inserts
      unc_m_pmm_wpq_inserts
    
    For this multiple events case, it's not supported well.
    
    This patch introduces a new field 'metric_leader' in struct evsel. The
    first event is considered as a metric leader. For the rest of same
    events, they point to the first event via it's metric_leader field in
    struct evsel.
    
    This design is for adding the counting results of all same events to the
    first event in group (the metric_leader).
    
    With this patch,
    
      root@lkp-csl-2sp2:~# perf stat -M UNC_M_PMM_BANDWIDTH.TOTAL -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
               1842108      unc_m_pmm_rpq_inserts     #    337.2 MB/sec  UNC_M_PMM_BANDWIDTH.TOTAL
               3682209      unc_m_pmm_wpq_inserts
    
           1.001819706 seconds time elapsed
    
      root@lkp-csl-2sp2:~# perf stat -M UNC_M_PMM_READ_LATENCY -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
             861970685      unc_m_pmm_rpq_occupancy.all #    219.4 ns  UNC_M_PMM_READ_LATENCY
               1842772      unc_m_pmm_rpq_inserts
           12790196356      unc_m_clockticks
    
           1.001749103 seconds time elapsed
    
    Now we can see the correct metrics 'UNC_M_PMM_BANDWIDTH.TOTAL' and
    'UNC_M_PMM_READ_LATENCY'.
    
    Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20190828055932.8269-5-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 287f2649f791819dd2d8f32f0213c8c521d6dfa0
Author: Jin Yao <yao.jin@linux.intel.com>
Date:   Wed Aug 28 13:59:31 2019 +0800

    perf metricgroup: Scale the metric result
    
    Some metrics define the scale unit, such as
    
        {
            "BriefDescription": "Intel Optane DC persistent memory read latency (ns). Derived from unc_m_pmm_rpq_occupancy.all",
            "Counter": "0,1,2,3",
            "EventCode": "0xE0",
            "EventName": "UNC_M_PMM_READ_LATENCY",
            "MetricExpr": "UNC_M_PMM_RPQ_OCCUPANCY.ALL / UNC_M_PMM_RPQ_INSERTS / UNC_M_CLOCKTICKS",
            "MetricName": "UNC_M_PMM_READ_LATENCY",
            "PerPkg": "1",
            "ScaleUnit": "6000000000ns",
            "UMask": "0x1",
            "Unit": "iMC"
        },
    
    For above example, the ratio should be,
    
    ratio = (UNC_M_PMM_RPQ_OCCUPANCY.ALL / UNC_M_PMM_RPQ_INSERTS / UNC_M_CLOCKTICKS) * 6000000000
    
    But in current code, the ratio is not scaled ( * 6000000000)
    
    With this patch, the ratio is scaled and the unit (ns) is printed.
    
    For example,
      #    219.4 ns  UNC_M_PMM_READ_LATENCY
    
    Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20190828055932.8269-4-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit a55ab7c4ca6986a542d313b02043a39ebf712a39
Author: Jin Yao <yao.jin@linux.intel.com>
Date:   Wed Aug 28 13:59:29 2019 +0800

    perf pmu: Change convert_scale from static to global
    
    The function convert_scale() can be used to convert string to unit and
    scale. For example,
    
      s = "6000000000ns";
      convert_scale(s, &unit, &scale);
    
    unit = "ns", scale = 6000000000.
    
    Currently this function is static. This patch renames the function to
    perf_pmu__convert_scale and changes the function to global.  No
    functional change.
    
    Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20190828055932.8269-2-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit d3300a3c4e76ccecf4daa889327e340a870c550b
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 15:09:54 2019 -0300

    perf symbols: Move mem_info and branch_info out of symbol.h
    
    The mem_info struct goes to mem-events.h and branch_info goes to
    branch.h, where they belong, this way we can remove several headers from
    symbols.h and trim the include dependency tree more.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-aupw71xnravcsu2xoabfmhpc@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f2a39fe84901df2b3d1bec3459b65cee3e8db57c
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 14:45:20 2019 -0300

    perf auxtrace: Uninline functions that touch perf_session
    
    So that we don't carry the session.h include directive in auxtrace.h,
    which in turn opens a can of worms of files that were getting all sorts
    of things via that include, fix them all.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-d2d83aovpgri2z75wlitquni@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit fa0d98462fae5d4951f22f3ac1090d48c53396d1
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 12:52:25 2019 -0300

    perf tools: Remove needless evlist.h include directives
    
    Remove the last unneeded use of cache.h in a header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    This is an old file, used by now incorrectly in many places, so it was
    providing includes needed indirectly, fixup this fallout.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-3x3l8gihoaeh7714os861ia7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 7ae811b12e419fd70b7d7159f20ed8519bbe18cc
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 12:29:03 2019 -0300

    perf tools: Remove needless evlist.h include directives
    
    Now that evlist.h isn't included by any other header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-6d7kape36m94a266md0d3xbh@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit ef7d95661d046eddf2cf33847278781404679a2f
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 12:18:50 2019 -0300

    perf tools: Remove needless thread_map.h include directives
    
    Now that thread_map.h isn't included by any other header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-fyzvg64cz1ikvyxp8d6nrhz1@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 4becb2395f9166b11d68817ed4af8fc06b840908
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 12:13:45 2019 -0300

    perf tools: Remove needless thread.h include directives
    
    Now that thread.h isn't included by any other header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-kh333ivjbw05wsggckpziu86@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit df1a0a110c2c0138665f6d8ec96812ea14c2d818
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 12:07:23 2019 -0300

    perf tools: Remove needless map.h include directives
    
    Now that map.h isn't included by any other header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-iu8ylqky7g1i9i54v3y7qovw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit afce8c482c48e2c42c155eeae4cd048c2b5fbb99
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 11:56:47 2019 -0300

    perf probe: No need for symbol.h, symbol_conf is enough
    
    Remove one more unneeded use of symbol.h
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-vrda1tuem1o8pk82t2kfjtun@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 5c9dbe6da13398d09efc9ec479194afa6d9ec9e6
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 11:54:00 2019 -0300

    perf tools: Remove needless sort.h include directives
    
    Now that sort.h isn't included by any other header, we can check where
    it is really needed, i.e. we can remove it and be sure that it isn't
    being obtained indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-tom8k0lbsxd9joprr8zpu6w1@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 4772925885dac93aa5f00d1c1da93277778099cd
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 11:44:32 2019 -0300

    perf tools: Move 'struct events_stats' and prototypes to separate header
    
    This will allow us to untangle the header dependency a bit more, as some
    places will not need event.h anymore.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-enqncj29ovzaat3cd9203rwl@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 171f7474b6bb6c7074431f76c28ea87d625c68fd
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 11:28:14 2019 -0300

    perf hist: Remove needless ui/progress.h from hist.h
    
    We only need a forward declaration, add it and fixup all the files that
    need ui_progress definitions but were wrongly getting it from hist.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-84a90o9jdxybffxo9jmouokw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 4a3cec84949d14dc3ef7fb8a51b8949af93cac13
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 11:11:01 2019 -0300

    perf dsos: Move the dsos struct and its methods to separate source files
    
    So that we can reduce the header dependency tree further, in the process
    noticed that lots of places were getting even things like build-id
    routines and 'struct perf_tool' definition indirectly, so fix all those
    too.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-ti0btma9ow5ndrytyoqdk62j@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit b1d1b094f7570a13dd7c9b995209baacc8aa6273
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 10:26:37 2019 -0300

    perf symbols: Move symsrc prototypes to a separate header
    
    So that we can remove dso.h from symbol.h and reduce the header
    dependency tree.
    
    Fixup cases where struct dso guts are needed but were obtained via
    symbol.h, indirectly.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-ip683cegt306ncu3gsz7ii21@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit c38fa94d188234f40fe3911b1a7650e056ef42ea
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 10:19:19 2019 -0300

    perf symbols: Add missing linux/refcount.h to symbol.h
    
    We use refcount_t there, so we need that header or else it'll break when
    we remove dso.h, that is from where it is getting that definition now...
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-5albrk0uve6x9cf6x3ebwpae@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 9bea81b36a8d7d23c9bb7f4d63a9a842eec134a0
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 10:01:50 2019 -0300

    perf symbol: Move C++ demangle defines to the only file using it
    
    No need to have it generally available in such a critical header as
    symbol.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-es1ufxv7bihiumytn5dm3drn@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit fac583fdb6741bf4850928b2a5bb8b0118b5879c
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Fri Aug 30 09:43:25 2019 -0300

    perf dso: Adopt DSO related macros from symbol.h
    
    Reducing the size of symbol.h by removing things that are better placed
    somewhere else.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-edenkmjt1oe5fks2s6umd30b@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit e97fd1383cd77c467d2aed7fa4e596789df83977
Author: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Date:   Mon Aug 5 16:43:15 2019 -0400

    libtraceevent: Change users plugin directory
    
    To be compliant with XDG user directory layout, the user's plugin
    directory is changed from ~/.traceevent/plugins to
    ~/.local/lib/traceevent/plugins/
    
    Suggested-by: Patrick McLean <chutzpah@gentoo.org>
    Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Patrick McLean <chutzpah@gentoo.org>
    Cc: linux-trace-devel@vger.kernel.org
    Link: https://lore.kernel.org/linux-trace-devel/20190313144206.41e75cf8@patrickm/
    Link: http://lore.kernel.org/linux-trace-devel/20190801074959.22023-4-tz.stoyanov@gmail.com
    Link: http://lore.kernel.org/lkml/20190805204355.344622683@goodmis.org
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 5d6552ab3b71fac48a9c7452c7014d37ca80b17f
Author: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Date:   Mon Aug 5 16:43:14 2019 -0400

    libtraceevent: Remove tep_register_trace_clock()
    
    The tep_register_trace_clock() API is used to instruct the traceevent
    library how to print the event time stamps. As event print interface if
    redesigned, this API is not needed any more.  The new event print API is
    flexible and the user can specify how the time stamps are printed.
    
    Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Patrick McLean <chutzpah@gentoo.org>
    Cc: linux-trace-devel@vger.kernel.org
    Link: http://lore.kernel.org/linux-trace-devel/20190801074959.22023-3-tz.stoyanov@gmail.com
    Link: http://lore.kernel.org/lkml/20190805204355.195042846@goodmis.org
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 38847db9740a984e8538ce2573cbc0fc7edf22b3
Author: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Date:   Mon Aug 5 16:43:13 2019 -0400

    libtraceevent, perf tools: Changes in tep_print_event_* APIs
    
    Libtraceevent APIs for printing various trace events information are
    complicated, there are complex extra parameters. To control the way
    event information is printed, the user should call a set of functions in
    a specific sequence.
    
    These APIs are reimplemented to provide a more simple interface for
    printing event information.
    
    Removed APIs:
    
            tep_print_event_task()
            tep_print_event_time()
            tep_print_event_data()
            tep_event_info()
            tep_is_latency_format()
            tep_set_latency_format()
            tep_data_latency_format()
            tep_set_print_raw()
    
    A new API for printing event information is introduced:
       void tep_print_event(struct tep_handle *tep, struct trace_seq *s,
                            struct tep_record *record, const char *fmt, ...);
    where "fmt" is a printf-like format string, followed by the event
    fields to be printed. Supported fields:
     TEP_PRINT_PID, "%d" - event PID
     TEP_PRINT_CPU, "%d" - event CPU
     TEP_PRINT_COMM, "%s" - event command string
     TEP_PRINT_NAME, "%s" - event name
     TEP_PRINT_LATENCY, "%s" - event latency
     TEP_PRINT_TIME, %d - event time stamp. A divisor and precision
       can be specified as part of this format string:
       "%precision.divisord". Example:
       "%3.1000d" - divide the time by 1000 and print the first 3 digits
       before the dot. Thus, the time stamp "123456000" will be printed as
       "123.456"
     TEP_PRINT_INFO, "%s" - event information.
     TEP_PRINT_INFO_RAW, "%s" - event information, in raw format.
    
    Example:
      tep_print_event(tep, s, record, "%16s-%-5d [%03d] %s %6.1000d %s %s",
                      TEP_PRINT_COMM, TEP_PRINT_PID, TEP_PRINT_CPU,
                      TEP_PRINT_LATENCY, TEP_PRINT_TIME, TEP_PRINT_NAME, TEP_PRINT_INFO);
    Output:
            ls-11314 [005] d.h. 185207.366383 function __wake_up
    
    Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: linux-trace-devel@vger.kernel.org
    Cc: Patrick McLean <chutzpah@gentoo.org>
    Link: http://lore.kernel.org/linux-trace-devel/20190801074959.22023-2-tz.stoyanov@gmail.com
    Link: http://lore.kernel.org/lkml/20190805204355.041132030@goodmis.org
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 4cb3c6d546aa5493a960d05eb73bad8e69a58574
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 17:19:02 2019 -0300

    perf event: Remove needless include directives from event.h
    
    bpf.h and build-id.h are not needed at all in event.h, remove them.
    
    And fixup the fallout of files that were getting needed stuff from this
    now pruned include.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-rdm3dgtlrndmmnlc4bafsg3b@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 03e61929c0d227ed3e1c322fc3804216ea298b7e
Author: Shawn Lin <shawn.lin@rock-chips.com>
Date:   Fri Aug 30 08:26:47 2019 +0800

    arm64: dts: rockchip: limit clock rate of MMC controllers for RK3328
    
    150MHz is a fundamental limitation of RK3328 Soc, w/o this limitation,
    eMMC, for instance, will run into 200MHz clock rate in HS200 mode, which
    makes the RK3328 boards not always boot properly. By adding it in
    rk3328.dtsi would also obviate the worry of missing it when adding new
    boards.
    
    Fixes: 52e02d377a72 ("arm64: dts: rockchip: add core dtsi file for RK3328 SoCs")
    Cc: stable@vger.kernel.org
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Liang Chen <cl@rock-chips.com>
    Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
    Signed-off-by: Heiko Stuebner <heiko@sntech.de>

commit b6b5574b80d6ce6ca87ae3ea1e97cff1bf730f2e
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 17:10:59 2019 -0300

    perf env: Remove env.h from other headers where just a fwd decl is needed
    
    And fixup the fallout of c files not building due to now missing
    headers.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-sw8k3kpla98pr3rqypbjk9hf@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 8520a98dbab61e9e340cdfb72dd17ccc8a98961e
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 16:18:59 2019 -0300

    perf debug: Remove needless include directives from debug.h
    
    All we need there is a forward declaration for 'union perf_event', so
    remove it from there and add missing header directives in places using
    things from this indirect include.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-7ftk0ztstqub1tirjj8o8xbl@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit e56476897448a0cc6f748535a199d2b68ad47d55
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Tue Jul 30 11:15:14 2019 -0700

    fpga: Remove dev_err() usage after platform_get_irq()
    
    We don't need dev_err() messages when platform_get_irq() fails now that
    platform_get_irq() prints an error message itself when something goes
    wrong. Let's remove these prints with a simple semantic patch.
    
    // <smpl>
    @@
    expression ret;
    struct platform_device *E;
    @@
    
    ret =
    (
    platform_get_irq(E, ...)
    |
    platform_get_irq_byname(E, ...)
    );
    
    if ( \( ret < 0 \| ret <= 0 \) )
    {
    (
    -if (ret != -EPROBE_DEFER)
    -{ ...
    -dev_err(...);
    -... }
    |
    ...
    -dev_err(...);
    )
    ...
    }
    // </smpl>
    
    While we're here, remove braces on if statements that only have one
    statement (manually).
    
    Cc: Moritz Fischer <mdf@kernel.org>
    Cc: linux-fpga@vger.kernel.org
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Signed-off-by: Moritz Fischer <mdf@kernel.org>

commit 849dbf09234a432795e2e210de16a51ddb2228f5
Author: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Date:   Fri Aug 30 00:42:06 2019 -0700

    qede: Add support for dumping the grc data.
    
    This patch adds driver support for configuring grc dump config flags, and
    dumping the grc data via ethtool get/set-dump interfaces.
    
    Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
    Signed-off-by: Ariel Elior <aelior@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3b86bd076284724489381e391f84a34078b3d5bc
Author: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Date:   Fri Aug 30 00:42:05 2019 -0700

    qed: Add APIs for configuring grc dump config flags.
    
    The patch adds driver support for configuring the grc dump config flags.
    
    Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
    Signed-off-by: Ariel Elior <aelior@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d44a3ced7023d3ff05e3be947b094e1d96562584
Author: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Date:   Fri Aug 30 00:42:04 2019 -0700

    qede: Add support for reading the config id attributes.
    
    Add driver support for dumping the config id attributes via ethtool dump
    interfaces.
    
    Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
    Signed-off-by: Ariel Elior <aelior@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2d4c849530a9771ed38d4046d2b631c1a4e2f9a6
Author: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Date:   Fri Aug 30 00:42:03 2019 -0700

    qed: Add APIs for reading config id attributes.
    
    The patch adds driver support for reading the config id attributes from NVM
    flash partition.
    
    Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
    Signed-off-by: Ariel Elior <aelior@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5f33183b7fdfeba98d02b099c9de887378d47943
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Fri Aug 30 03:53:25 2019 +0300

    net: dsa: tag_8021q: Restore bridge VLANs when enabling vlan_filtering
    
    The bridge core assumes that enabling/disabling vlan_filtering will
    translate into the simple toggling of a flag for switchdev drivers.
    
    That is clearly not the case for sja1105, which alters the VLAN table
    and the pvids in order to obtain port separation in standalone mode.
    
    There are 2 parts to the issue.
    
    First, tag_8021q changes the pvid to a unique per-port rx_vid for frame
    identification. But we need to disable tag_8021q when vlan_filtering
    kicks in, and at that point, the VLAN configured as pvid will have to be
    removed from the filtering table of the ports. With an invalid pvid, the
    ports will drop all traffic.  Since the bridge will not call any vlan
    operation through switchdev after enabling vlan_filtering, we need to
    ensure we're in a functional state ourselves. Hence read the pvid that
    the bridge is aware of, and program that into our ports.
    
    Secondly, tag_8021q uses the 1024-3071 range privately in
    vlan_filtering=0 mode. Had the user installed one of these VLANs during
    a previous vlan_filtering=1 session, then upon the next tag_8021q
    cleanup for vlan_filtering to kick in again, VLANs in that range will
    get deleted unconditionally, hence breaking user expectation. So when
    deleting the VLANs, check if the bridge had knowledge about them, and if
    it did, re-apply the settings. Wrap this logic inside a
    dsa_8021q_vid_apply helper function to reduce code duplication.
    
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Reviewed-by: Vivien Didelot <vivien.didelot@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f40d9b20864ae571c31f57989fd869958ce675c2
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Fri Aug 30 03:53:24 2019 +0300

    net: bridge: Populate the pvid flag in br_vlan_get_info
    
    Currently this simplified code snippet fails:
    
            br_vlan_get_pvid(netdev, &pvid);
            br_vlan_get_info(netdev, pvid, &vinfo);
            ASSERT(!(vinfo.flags & BRIDGE_VLAN_INFO_PVID));
    
    It is intuitive that the pvid of a netdevice should have the
    BRIDGE_VLAN_INFO_PVID flag set.
    
    However I can't seem to pinpoint a commit where this behavior was
    introduced. It seems like it's been like that since forever.
    
    At a first glance it would make more sense to just handle the
    BRIDGE_VLAN_INFO_PVID flag in __vlan_add_flags. However, as Nikolay
    explains:
    
      There are a few reasons why we don't do it, most importantly because
      we need to have only one visible pvid at any single time, even if it's
      stale - it must be just one. Right now that rule will not be violated
      by this change, but people will try using this flag and could see two
      pvids simultaneously. You can see that the pvid code is even using
      memory barriers to propagate the new value faster and everywhere the
      pvid is read only once.  That is the reason the flag is set
      dynamically when dumping entries, too.  A second (weaker) argument
      against would be given the above we don't want another way to do the
      same thing, specifically if it can provide us with two pvids (e.g. if
      walking the vlan list) or if it can provide us with a pvid different
      from the one set in the vg. [Obviously, I'm talking about RCU
      pvid/vlan use cases similar to the dumps.  The locked cases are fine.
      I would like to avoid explaining why this shouldn't be relied upon
      without locking]
    
    So instead of introducing the above change and making sure of the pvid
    uniqueness under RCU, simply dynamically populate the pvid flag in
    br_vlan_get_info().
    
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 94044dfb0bcf270ee5cebd590cfa0c2a1a979687
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Fri Aug 30 22:24:46 2019 +0900

    MAINTAINERS: update entry of firewire audio drivers
    
    This commit adds myself as one of maintainers for firewire audio
    drivers and IEC 61883-1/6 packet streaming engine. I call them ALSA
    firewire stack as a whole.
    
    6 years ago I joined in development for this category of drivers with
    heavy reverse-engineering tasks and over 100 models are now available
    from ALSA applications. IEEE 1394 bus itself and units on the bus are
    enough legacy but the development still continues.
    
    I have a plan to add drastic enhancement in kernel v5.5 and v5.6 period.
    This commit adds myself into MAINTAINERS so that developers and users
    can easily find active developer to post their issues, especially for
    regression.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit dffa8feb308455f9b3ce0eeb55a4eac3afc0786b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 30 19:19:29 2019 +0100

    drm/i915/perf: Assert locking for i915_init_oa_perf_state()
    
    We use the context->pin_mutex to serialise updates to the OA config and
    the registers values written into each new context. Document this
    relationship and assert we do hold the context->pin_mutex as used by
    gen8_configure_all_contexts() to serialise updates to the OA config
    itself.
    
    v2: Add a white-lie for when we call intel_gt_resume() from init.
    v3: Lie while we have the context pinned inside atomic reset.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> #v1
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830181929.18663-1-chris@chris-wilson.co.uk

commit 72b8cba90957157610c689de23f35b635262212b
Author: Michal Simek <michal.simek@xilinx.com>
Date:   Thu Aug 22 16:22:24 2019 +0200

    hwmon: (iio_hwmon) Enable power exporting from IIO
    
    There is no reason why power channel shouldn't be exported as is done for
    voltage, current, temperature and humidity.
    
    Power channel is available on iio ina226 driver.
    
    Sysfs IIO documentation for power attribute added by commit 7c6d5c7ee883
    ("iio: Documentation: Add missing documentation for power attribute")
    is declaring that value is in mili-Watts but hwmon interface is expecting
    value in micro-Watts that's why there is a need for mili-Watts to
    micro-Watts conversion.
    
    Tested on Xilinx ZCU102 board.
    
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>
    Link: https://lore.kernel.org/r/db71f5ae87e4521a2856a1be5544de0b6cede575.1566483741.git.michal.simek@xilinx.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 75d5d9d74538d6291b4294bf794aeec55e913ed2
Author: John Wang <wangzqbj@inspur.com>
Date:   Mon Aug 19 17:14:25 2019 +0800

    dt-bindings: Add ipsps1 as a trivial device
    
    The ipsps1 is an Inspur Power System power supply unit
    
    Signed-off-by: John Wang <wangzqbj@inspur.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 2f7fed7e04655782e504c403d5a2b56f0ec25601
Author: John Wang <wangzqbj@inspur.com>
Date:   Mon Aug 19 17:15:09 2019 +0800

    hwmon: pmbus: Add Inspur Power System power supply driver
    
    Add the driver to monitor Inspur Power System power supplies
    with hwmon over pmbus.
    
    This driver adds sysfs attributes for additional power supply data,
    including vendor, model, part_number, serial number,
    firmware revision, hardware revision, and psu mode(active/standby).
    
    Signed-off-by: John Wang <wangzqbj@inspur.com>
    Reviewed-by: Joel Stanley <joel@jms.id.au>
    Link: https://lore.kernel.org/r/20190819091509.29276-1-wangzqbj@inspur.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 31a2a068d36bcd85bcf0d72a397de504370b9f59
Author: Max Staudt <max@enpas.org>
Date:   Mon Aug 19 14:16:17 2019 +0200

    hwmon/ltc2990: Generalise DT to fwnode support
    
    ltc2990 will now use device_property_read_u32_array() instead of
    of_property_read_u32_array() - allowing the use of software nodes
    via fwnode_create_software_node().
    
    This allows code using i2c_new_device() to specify a default
    measurement mode for the LTC2990 via fwnode_create_software_node().
    
    Signed-off-by: Max Staudt <max@enpas.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20190819121618.16557-2-max@enpas.org
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit df90ff256339e3508f3a829fc097b1f054c3d27b
Author: Stefan Wahren <wahrenst@gmx.net>
Date:   Tue Aug 13 20:17:28 2019 +0200

    hwmon: (raspberrypi) update MODULE_AUTHOR() email address
    
    The email address listed in MODULE_AUTHOR() will be disabled in the
    near future. Replace it with my private one.
    
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Link: https://lore.kernel.org/r/1565720249-6549-2-git-send-email-wahrenst@gmx.net
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 40760e7d1f40988d70dc48a7d73da5a0e214bf3a
Author: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
Date:   Thu Aug 8 09:02:46 2019 +0100

    hwmon: (lm75) Modularize lm75_write and make hwmon_chip writable
    
    * Create two separate functions to write into hwmon_temp and hwmon_chip.
    * Call the functions from lm75_write.
    * Make hwm_chip writable if the chip supports more than one sample time.
    
    Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Link: https://lore.kernel.org/r/20190808080246.8371-5-iker.perez@codethink.co.uk
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 3a3aceaa65b7801c426da688d925aacd454b45e5
Author: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
Date:   Thu Aug 8 09:02:45 2019 +0100

    hwmon: (lm75) Add new fields into lm75_params_
    
    The new fields are included to prepare the driver for next patch. The
    fields are:
    
    * *resolutions: Stores all the supported resolutions by the device.
    * num_sample_times: Stores the number of possible sample times.
    * *sample_times: Stores all the possible sample times to be set.
    * sample_set_masks: The set_masks for the possible sample times
    * sample_clr_mask: Clear mask to set the default sample time.
    
    Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Link: https://lore.kernel.org/r/20190808080246.8371-4-iker.perez@codethink.co.uk
    [groeck: Minor structure documentation fixes]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 3c8e3f749de45f76f9e584da517f7b31a5ac64b8
Author: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
Date:   Thu Aug 8 09:02:44 2019 +0100

    hwmon: (lm75) Create function from code to write into registers
    
    Wrap the existing code to write configurations into registers in
    a function.
    
    Added error handling to the function.
    
    Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Link: https://lore.kernel.org/r/20190808080246.8371-3-iker.perez@codethink.co.uk
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit dfaf09845ca76854aa69590df2601399d8691d23
Author: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
Date:   Thu Aug 8 09:02:43 2019 +0100

    hwmon: (lm75) Create structure to save all the configuration parameters.
    
    * Add to lm75_data kind field to store the kind of device the driver is
      working with.
    * Add an structure to store the configuration parameters of all the
      supported devices.
    * Delete resolution_limits from lm75_data and include them in the structure
      described above.
    * Add a pointer to the configuration parameters structure to be used as a
      reference to obtain the parameters.
    * Delete switch-case approach to get the device configuration parameters.
    * The structure is cleaner and easier to maintain.
    
    Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Link: https://lore.kernel.org/r/20190808080246.8371-2-iker.perez@codethink.co.uk
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit a6b16141ac7690faebe15d047703f06da3fbb1b3
Author: amy.shih <amy.shih@advantech.com.tw>
Date:   Wed Aug 7 01:38:41 2019 +0000

    hwmon: (nct7904) Add extra sysfs support for fan, voltage and temperature.
    
    NCT-7904D also supports reading of channel limitation registers as well
    as SMI status registers for fan, voltage and temperature monitoring.
    It also supports reading the temperature sensor type (thermal diode,
    thermistor, AMD SB-TSI or Intel PECI).
    
    Add the following sysfs nodes:
    
    -fan[1-*]_min
    -fan[1-*]_alarm
    -in[1-*]_min
    -in[1-*]_max
    -in[1-*]_alarm
    -temp[1-*]_max
    -temp[1-*]_max_hyst
    -temp[1-*]_emergency
    -temp[1-*]_emergency_hyst
    -temp[1-*]_alarm
    -temp[1-*]_type
    
    Signed-off-by: Amy Shih <amy.shih@advantech.com.tw>
    Link: https://lore.kernel.org/r/20190807013842.24451-1-Amy.Shih@advantech.com.tw
    [groeck: Clarified description]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 174a283e0f09cb98ce8a6aaa51d89d5f603c48a4
Author: Jean Delvare <jdelvare@suse.de>
Date:   Tue Aug 6 10:21:23 2019 +0200

    hwmon: w83795: Fan control option isn't that dangerous
    
    I have been using SENSORS_W83795_FANCTRL for several years and never
    had any problem. When the driver was added, I had not tested that
    part of the driver yet so I wanted to be super cautious, but time has
    shown that it works just fine.
    
    In the long run I even believe that we should drop the option and
    enable the feature unconditionally. It doesn't do anything until the
    user explicitly starts twiddling with sysfs attributes anyway.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Link: https://lore.kernel.org/r/20190806102123.3118bcc5@endymion
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 02f59d1f5acbe57713755bb7c0c4b04c2b6e99d6
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Tue Jul 30 11:15:17 2019 -0700

    hwmon: (npcm750-pwm-fan) Remove dev_err() usage after platform_get_irq()
    
    We don't need dev_err() messages when platform_get_irq() fails now that
    platform_get_irq() prints an error message itself when something goes
    wrong. Let's remove these prints with a simple semantic patch.
    
    // <smpl>
    @@
    expression ret;
    struct platform_device *E;
    @@
    
    ret =
    (
    platform_get_irq(E, ...)
    |
    platform_get_irq_byname(E, ...)
    );
    
    if ( \( ret < 0 \| ret <= 0 \) )
    {
    (
    -if (ret != -EPROBE_DEFER)
    -{ ...
    -dev_err(...);
    -... }
    |
    ...
    -dev_err(...);
    )
    ...
    }
    // </smpl>
    
    While we're here, remove braces on if statements that only have one
    statement (manually).
    
    Cc: Jean Delvare <jdelvare@suse.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: linux-hwmon@vger.kernel.org
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    [groeck: Dropped jz4740-hwmon.c (driver is being removed)]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 262ce4af99e1d04a866ac8bc88a68ff28acf9cc1
Author: Wang Shenran <shenran268@gmail.com>
Date:   Wed Jul 24 11:01:10 2019 +0300

    hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap'
    
    At boot time, the acpi_power_meter driver logs the following error level
    message: "Ignoring unsafe software power cap". Having read about it from
    a few sources, it seems that the error message can be quite misleading.
    
    While the message can imply that Linux is ignoring the fact that the
    system is operating in potentially dangerous conditions, the truth is
    the driver found an ACPI_PMC object that supports software power
    capping. The driver simply decides not to use it, perhaps because it
    doesn't support the object.
    
    The best solution is probably changing the log level from error to warning.
    All sources I have found, regarding the error, have downplayed its
    significance. There is not much of a reason for it to be on error level,
    while causing potential confusions or misinterpretations.
    
    Signed-off-by: Wang Shenran <shenran268@gmail.com>
    Link: https://lore.kernel.org/r/20190724080110.6952-1-shenran268@gmail.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit f15f5263b728ef559dcdea95f5fc6983191c003f
Author: Björn Gerhart <gerhart@posteo.de>
Date:   Tue Jul 23 18:06:46 2019 +0200

    hwmon: (nct6775) Integrate new model nct6116
    
    Add support for NCT6116D to nct6775 driver.
    
    Signed-off-by: Bjoern Gerhart <gerhart@posteo.de>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 3a1eec1726964fa0f4170ce272331934cd73ed93
Author: Grant McEwan <grant.mcewan@alliedtelesis.co.nz>
Date:   Mon Jul 22 10:55:30 2019 +1200

    hwmon: (adt7475) Convert to use hwmon_device_register_with_groups()
    
    hwmon_device_register() is a deprecated function and produces a warning.
    
    Converting the driver to use the hwmon_device_register_with_groups()
    instead.
    
    Signed-off-by: Grant McEwan <grant.mcewan@alliedtelesis.co.nz>
    Link: https://lore.kernel.org/r/20190721225530.28799-2-grant.mcewan@alliedtelesis.co.nz
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit df625020092dbbe7977bf9e4569a2a3e9ee73ce1
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Mon Jul 22 19:26:10 2019 +0200

    hwmon: (w83781d) convert to i2c_new_dummy_device
    
    Move from i2c_new_dummy() to i2c_new_dummy_device(), so we now get an
    ERRPTR which we use in error handling.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20190722172611.3797-4-wsa+renesas@sang-engineering.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 195efc81b3af43361e6cf9654deef465710739e3
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Mon Jul 22 19:26:09 2019 +0200

    hwmon: (smm665) convert to i2c_new_dummy_device
    
    Move from i2c_new_dummy() to i2c_new_dummy_device(), so we now get an
    ERRPTR which we use in error handling.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20190722172611.3797-3-wsa+renesas@sang-engineering.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 8342d5e69957b86cd90b4f89617109b6b906018b
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Mon Jul 22 19:26:08 2019 +0200

    hwmon: (asb100) convert to i2c_new_dummy_device
    
    Move from i2c_new_dummy() to i2c_new_dummy_device(), so we now get an
    ERRPTR which we use in error handling.
    
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20190722172611.3797-2-wsa+renesas@sang-engineering.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit b59ee840b02851704c8d0f521142343219c5e086
Author: Marcel Bocu <marcel.p.bocu@gmail.com>
Date:   Mon Jul 22 20:46:53 2019 +0300

    hwmon: (k10temp) Add support for AMD family 17h, model 70h CPUs
    
    It would seem like model 70h is behaving in the same way as model 30h,
    so let's just add the new F3 PCI ID to the list of compatible devices.
    
    Unlike previous Ryzen/Threadripper, Ryzen gen 3 processors do not need
    temperature offsets anymore. This has been reported in the press and
    verified on my Ryzen 3700X by checking that the idle temperature
    reported by k10temp is matching the temperature reported by the
    firmware.
    
    Vicki Pfau sent an identical patch after I checked that no-one had
    written this patch. I would have been happy about dropping my patch but
    unlike for his patch series, I had already Cc:ed the x86 people and
    they already reviewed the changes. Since Vicki has not answered to
    any email after his initial series, let's assume she is on vacation
    and let's avoid duplication of reviews from the maintainers and merge
    my series. To acknowledge Vicki's anteriority, I added her S-o-b to
    the patch.
    
    v2, suggested by Guenter Roeck and Brian Woods:
      - rename from 71h to 70h
    
    Signed-off-by: Vicki Pfau <vi@endrift.com>
    Signed-off-by: Marcel Bocu <marcel.p.bocu@gmail.com>
    Tested-by: Marcel Bocu <marcel.p.bocu@gmail.com>
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    Cc: "Woods, Brian" <Brian.Woods@amd.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Jean Delvare <jdelvare@suse.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: linux-hwmon@vger.kernel.org
    Link: https://lore.kernel.org/r/20190722174653.2391-1-marcel.p.bocu@gmail.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 483e79a703a0f34d8807fb5d333688538b343e4c
Author: Marcel Bocu <marcel.p.bocu@gmail.com>
Date:   Mon Jul 22 20:45:10 2019 +0300

    x86/amd_nb: Add PCI device IDs for family 17h, model 70h
    
    The AMD Ryzen gen 3 processors came with a different PCI IDs for the
    function 3 & 4 which are used to access the SMN interface. The root
    PCI address however remained at the same address as the model 30h.
    
    Adding the F3/F4 PCI IDs respectively to the misc and link ids appear
    to be sufficient for k10temp, so let's add them and follow up on the
    patch if other functions need more tweaking.
    
    Vicki Pfau sent an identical patch after I checked that no-one had
    written this patch. I would have been happy about dropping my patch but
    unlike for his patch series, I had already Cc:ed the x86 people and
    they already reviewed the changes. Since Vicki has not answered to
    any email after his initial series, let's assume she is on vacation
    and let's avoid duplication of reviews from the maintainers and merge
    my series. To acknowledge Vicki's anteriority, I added her S-o-b to
    the patch.
    
    v2, suggested by Guenter Roeck and Brian Woods:
     - rename from 71h to 70h
    
    Signed-off-by: Vicki Pfau <vi@endrift.com>
    Signed-off-by: Marcel Bocu <marcel.p.bocu@gmail.com>
    Tested-by: Marcel Bocu <marcel.p.bocu@gmail.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Brian Woods <brian.woods@amd.com>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>   # pci_ids.h
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    Cc: "Woods, Brian" <Brian.Woods@amd.com>
    Cc: Clemens Ladisch <clemens@ladisch.de>
    Cc: Jean Delvare <jdelvare@suse.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: linux-hwmon@vger.kernel.org
    Link: https://lore.kernel.org/r/20190722174510.2179-1-marcel.p.bocu@gmail.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit ca6d3c53be00bea7117ff68807a01021a84b185a
Author: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Date:   Mon Jul 22 08:07:45 2019 -0300

    docs: hwmon: pxe1610: convert to ReST format and add to the index
    
    This document was recently introduced. Convert it to ReST
    just like the other hwmon documents, adding it to the hwmon index.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Link: https://lore.kernel.org/r/657bf022625e0888d3becf10c78d162eeb864608.1563792334.git.mchehab+samsung@kernel.org
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 9c26024e71ebbe97244c2aad93762e3e820271f7
Author: Robert Karszniewicz <avoidr@riseup.net>
Date:   Sun Jul 21 14:00:51 2019 +0200

    hwmon: (k8temp) update to use new hwmon registration API
    
    Removes:
    - hwmon_dev from k8temp_data struct, as that is now passed
      to callbacks, anyway.
    - other k8temp_data struct fields, too.
    - k8temp_update_device()
    
    Also reduces binary size:
       text    data     bss     dec     hex filename
       4139    1448       0    5587    15d3 drivers/hwmon/k8temp.ko.bak
       3103    1220       0    4323    10e3 drivers/hwmon/k8temp.ko
    
    Signed-off-by: Robert Karszniewicz <avoidr@firemail.cc>
    Signed-off-by: Robert Karszniewicz <avoidr@riseup.net>
    Link: https://lore.kernel.org/r/20190721120051.28064-1-avoidr@riseup.net
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 24a39fcd95289d6d462e24aa5c98203211a7bd94
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Sun Jul 21 12:15:53 2019 +0200

    hwmon: (pmbus/max31785) Remove a useless #define
    
    There is a typo in MAX37185_NUM_FAN_PAGES. To be consistent, it should be
    MAX31785_NUM_FAN_PAGES (1 and 7 switched).
    
    At line 24, we already have:
       #define MAX31785_NR_FAN_PAGES                6
    and MAX37185_NUM_FAN_PAGES seems to be unused.
    
    It is likely that it is only a typo and/or a left-over.
    So, axe it.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Link: https://lore.kernel.org/r/20190721101553.20911-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 7621c3ccffc5fac698ded69d1b1c7ca799903afb
Author: Daniel Mack <daniel@zonque.org>
Date:   Thu Jul 11 14:45:04 2019 +0200

    hwmon: (lm75) add support for PCT2075
    
    The NXP PCT2075 is largely compatible with other chips already supported
    by the LM75 driver. It uses an 11-bit resolution and defaults to 100 ms
    sampling period. The datasheet is here:
    
      https://www.nxp.com/docs/en/data-sheet/PCT2075.pdf
    
    Signed-off-by: Daniel Mack <daniel@zonque.org>
    Link: https://lore.kernel.org/r/20190711124504.7580-2-daniel@zonque.org
    [groeck: Documentation update]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 98cd95a59980e4c579f694d05844acac7cada4af
Author: Daniel Mack <daniel@zonque.org>
Date:   Thu Jul 11 14:45:03 2019 +0200

    device-tree: bindinds: add NXP PCT2075 as compatible device to LM75
    
    The PCT2075 is compatible to other chips that are already handled by
    the LM75 driver.
    
    Signed-off-by: Daniel Mack <daniel@zonque.org>
    Link: https://lore.kernel.org/r/20190711124504.7580-1-daniel@zonque.org
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 5dffa3c05e9315d4633d343875314575ed719476
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Mon Jul 1 11:12:38 2019 -0700

    hwmon: Remove ads1015 driver
    
    A driver for ADS1015 with more functionality is available in the iio
    subsystem.
    
    Remove the hwmon driver as duplicate. If the chip is used for hardware
    monitoring, the iio->hwmon bridge should be used.
    
    Cc: Dirk Eibach <eibach@gdsys.de>
    Link: https://lore.kernel.org/r/1562004758-13025-1-git-send-email-linux@roeck-us.net
    Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit e027a2dea5fdde05740a98f571fc2903060559ce
Author: Wenwen Wang <wenwen@cs.uga.edu>
Date:   Mon Aug 19 16:00:02 2019 -0500

    hwmon (coretemp) Fix a memory leak bug
    
    In coretemp_init(), 'zone_devices' is allocated through kcalloc().
    However, it is not deallocated in the following execution if
    platform_driver_register() fails, leading to a memory leak. To fix this
    issue, introduce the 'outzone' label to free 'zone_devices' before
    returning the error.
    
    Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
    Link: https://lore.kernel.org/r/1566248402-6538-1-git-send-email-wenwen@cs.uga.edu
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 7d82fcc9d9e81241778aaa22fda7be753e237d86
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Thu Aug 8 12:00:18 2019 -0700

    hwmon: (lm75) Fix write operations for negative temperatures
    
    Writes into limit registers fail if the temperature written is negative.
    The regmap write operation checks the value range, regmap_write accepts
    an unsigned int as parameter, and the temperature value passed to
    regmap_write is kept in a variable declared as long. Negative values
    are converted large unsigned integers, which fails the range check.
    Fix by type casting the temperature to u16 when calling regmap_write().
    
    Cc: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Fixes: e65365fed87f ("hwmon: (lm75) Convert to use regmap")
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 6f8c8f3c31015808100ee54fc471ff5dffdf1734
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Thu Aug 8 10:01:44 2019 +0200

    hwmon: pmbus: ucd9000: remove unneeded include
    
    Build bot reports the following build issue after commit 9091373ab7ea
    ("gpio: remove less important #ifdef around declarations):
    
       In file included from drivers/hwmon/pmbus/ucd9000.c:19:0:
    >> include/linux/gpio/driver.h:576:1: error: redefinition of 'gpiochip_add_pin_range'
        gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
        ^~~~~~~~~~~~~~~~~~~~~~
       In file included from drivers/hwmon/pmbus/ucd9000.c:18:0:
       include/linux/gpio.h:245:1: note: previous definition of 'gpiochip_add_pin_range' was here
        gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
        ^~~~~~~~~~~~~~~~~~~~~~
       In file included from drivers/hwmon/pmbus/ucd9000.c:19:0:
    >> include/linux/gpio/driver.h:583:1: error: redefinition of 'gpiochip_add_pingroup_range'
        gpiochip_add_pingroup_range(struct gpio_chip *chip,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
       In file included from drivers/hwmon/pmbus/ucd9000.c:18:0:
       include/linux/gpio.h:254:1: note: previous definition of 'gpiochip_add_pingroup_range' was here
        gpiochip_add_pingroup_range(struct gpio_chip *chip,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
       In file included from drivers/hwmon/pmbus/ucd9000.c:19:0:
    >> include/linux/gpio/driver.h:591:1: error: redefinition of 'gpiochip_remove_pin_ranges'
        gpiochip_remove_pin_ranges(struct gpio_chip *chip)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
       In file included from drivers/hwmon/pmbus/ucd9000.c:18:0:
       include/linux/gpio.h:263:1: note: previous definition of 'gpiochip_remove_pin_ranges' was here
        gpiochip_remove_pin_ranges(struct gpio_chip *chip)
    
    This is caused by conflicting defines from linux/gpio.h and
    linux/gpio/driver.h. Drivers should not include both the legacy and
    the new API headers. This driver doesn't even use linux/gpio.h so
    remove it.
    
    Reported-by: kbuild test robot <lkp@intel.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Link: https://lore.kernel.org/r/20190808080144.6183-1-brgl@bgdev.pl
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

commit 0642ea2409f3bfa105570e12854b8e2628db6835
Author: Chao Yu <yuchao0@huawei.com>
Date:   Sun Aug 4 17:56:43 2019 +0800

    ext4 crypto: fix to check feature status before get policy
    
    When getting fscrypt policy via EXT4_IOC_GET_ENCRYPTION_POLICY, if
    encryption feature is off, it's better to return EOPNOTSUPP instead of
    ENODATA, so let's add ext4_has_feature_encrypt() to do the check for
    that.
    
    This makes it so that all fscrypt ioctls consistently check for the
    encryption feature, and makes ext4 consistent with f2fs in this regard.
    
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    [EB - removed unneeded braces, updated the documentation, and
          added more explanation to commit message]
    Signed-off-by: Eric Biggers <ebiggers@google.com>

commit 657fb9c742664d7a0dc1e7012cd6cbf7f67523ee
Author: Alex Lu <alex_lu@realsil.com.cn>
Date:   Sat Aug 31 16:46:11 2019 +0800

    Bluetooth: btrtl: Remove trailing newline from calls to rtl_dev macros
    
    These printing macros already add a trailing newline, so drop these
    unnecessary additional newlines.
    
    Signed-off-by: Alex Lu <alex_lu@realsil.com.cn>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 51b4c991d0f63dbf596944739901339c347c2e30
Author: Alex Lu <alex_lu@realsil.com.cn>
Date:   Sat Aug 31 16:41:13 2019 +0800

    Bluetooth: btrtl: Remove redundant prefix from calls to rtl_dev macros
    
    the rtl: or RTL: prefix in the string is pointless. The rtl_dev_* macros
    already does that.
    
    Signed-off-by: Alex Lu <alex_lu@realsil.com.cn>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 663f3ae2e512b50eb7a73dfaa5786009ad34af87
Author: Alex Lu <alex_lu@realsil.com.cn>
Date:   Sat Aug 31 16:36:02 2019 +0800

    Bluetooth: btrtl: Add firmware version print
    
    This patch is used to print fw version for debug convenience
    
    Signed-off-by: Alex Lu <alex_lu@realsil.com.cn>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 42344113ba7a1ed7b5654cd5270af0d5698d8521
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Jun 13 15:43:20 2019 +0200

    mips/atomic: Fix smp_mb__{before,after}_atomic()
    
    Recent probing at the Linux Kernel Memory Model uncovered a
    'surprise'. Strongly ordered architectures where the atomic RmW
    primitive implies full memory ordering and
    smp_mb__{before,after}_atomic() are a simple barrier() (such as MIPS
    without WEAK_REORDERING_BEYOND_LLSC) fail for:
    
            *x = 1;
            atomic_inc(u);
            smp_mb__after_atomic();
            r0 = *y;
    
    Because, while the atomic_inc() implies memory order, it
    (surprisingly) does not provide a compiler barrier. This then allows
    the compiler to re-order like so:
    
            atomic_inc(u);
            *x = 1;
            smp_mb__after_atomic();
            r0 = *y;
    
    Which the CPU is then allowed to re-order (under TSO rules) like:
    
            atomic_inc(u);
            r0 = *y;
            *x = 1;
    
    And this very much was not intended. Therefore strengthen the atomic
    RmW ops to include a compiler barrier.
    
    Reported-by: Andrea Parri <andrea.parri@amarulasolutions.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>

commit 1c6c1ca318585f1096d4d04bc722297c85e9fb8a
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Jun 13 15:43:19 2019 +0200

    mips/atomic: Fix loongson_llsc_mb() wreckage
    
    The comment describing the loongson_llsc_mb() reorder case doesn't
    make any sense what so ever. Instruction re-ordering is not an SMP
    artifact, but rather a CPU local phenomenon. Clarify the comment by
    explaining that these issue cause a coherence fail.
    
    For the branch speculation case; if futex_atomic_cmpxchg_inatomic()
    needs one at the bne branch target, then surely the normal
    __cmpxch_asm() implementation does too. We cannot rely on the
    barriers from cmpxchg() because cmpxchg_local() is implemented with
    the same macro, and branch prediction and speculation are, too, CPU
    local.
    
    Fixes: e02e07e3127d ("MIPS: Loongson: Introduce and use loongson_llsc_mb()")
    Cc: Huacai Chen <chenhc@lemote.com>
    Cc: Huang Pei <huangpei@loongson.cn>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>

commit dfc8d8de855d566eb83a27e58a69741de42a90da
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Jun 13 15:43:18 2019 +0200

    mips/atomic: Fix cmpxchg64 barriers
    
    There were no memory barriers on the 32bit implementation of
    cmpxchg64(). Fix this.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>

commit ae688e1720fd387de34f2140a735917411672bf1
Author: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Date:   Fri Aug 30 14:15:35 2019 +0100

    arm64: dts: renesas: hihope-common: Fix eMMC status
    
    SDHI3 got accidentally disabled while adding USB 2.0 support,
    this patch fixes it.
    
    Fixes: 734d277f412a ("arm64: dts: renesas: hihope-common: Add USB 2.0 support")
    Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

commit c563034309ada118606e8e76762562c37414abc0
Author: Vidya Sagar <vidyas@nvidia.com>
Date:   Tue Aug 13 17:06:27 2019 +0530

    PCI: tegra: Add Tegra194 PCIe support
    
    Add support for Synopsys DesignWare core IP based PCIe host controller
    present in the Tegra194 SoC.
    
    Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Thierry Reding <treding@nvidia.com>

commit 7109d817db2e020379d0f245300b8ffe651c5c04
Author: Marek Behún <marek.behun@nic.cz>
Date:   Wed Aug 28 17:12:43 2019 +0200

    arm64: dts: marvell: add DTS for Turris Mox
    
    This adds support for the Turris Mox board from CZ.NIC.
    
    Turris Mox is as modular router based on the Armada 3720 SOC (same as
    EspressoBin).
    
    The basic board can be extended by different modules.
    If those are connected, U-Boot lets the kernel know via device-tree.
    
    Since modules can be connected in different order and some modules can
    be connected multiple times (up to three modules containing 8-port
    ethernet switch in DSA configuration can be connected) we decided
    against using device-tree overlays, because it got complicated rather
    quickly. (For example the SFP module can be connected directly to the
    CPU, or after a switch module. There are four cases and all would need
    different SFP overlay. There are two types of switch modules (8-port
    with pass-through and 4-port with no pass-through). For those we would
    again need at least 6 more overlays.)
    
    We therefore decided to put all the possibly connected devices in one
    device-tree and disable them by default. When U-Boot finds out which
    modules are connected, it fixes the loaded device-tree accordingly just
    before boot. By Rob Herring's suggestion we also made it so that U-Boot
    completely removes nodes which are disabled after this fixup.
    
    Signed-off-by: Marek Behún <marek.behun@nic.cz>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
    Cc: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>

commit 3e8e28f28e400818f23292ec1a9d3ce8035bee2d
Author: Marek Behún <marek.behun@nic.cz>
Date:   Wed Aug 28 17:12:42 2019 +0200

    dt-bindings: marvell: document Turris Mox compatible
    
    This adds the documentation for the Turris Mox compatible in armada-37xx
    device-tree binding documentation.
    
    Signed-off-by: Marek Behún <marek.behun@nic.cz>
    Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>

commit 8ef75105b5b18d9f957c37cd736fee490a913ace
Author: Marek Behún <marek.behun@nic.cz>
Date:   Wed Aug 28 17:12:41 2019 +0200

    arm64: dts: marvell: armada-37xx: add SPI CS1 pinctrl
    
    This adds pinctrl node for the GPIO to be used as SPI chip select 1.
    
    Signed-off-by: Marek Behún <marek.behun@nic.cz>
    Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>

commit 1baa2800e62d7d58c04cb871a6e4189fc3e1ccf1
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Aug 30 08:56:56 2019 -0700

    xfs: remove the unused XFS_ALLOC_USERDATA flag
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit ecfc28a41cf108c112ba5a06a83b52fd6deb3129
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Aug 30 08:56:55 2019 -0700

    xfs: cleanup xfs_fsb_to_db
    
    This function isn't a macro anymore, so remove various superflous braces,
    and explicit cast that is done implicitly due to the return value, use
    a normal if statement instead of trying to squeeze everything together.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit adcb0ca2330b1d88533e70026ce3f9cc5e2253b6
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Aug 30 08:56:55 2019 -0700

    xfs: fix the dax supported check in xfs_ioctl_setattr_dax_invalidate
    
    Setting the DAX flag on the directory of a file system that is not on a
    DAX capable device makes as little sense as setting it on a regular file
    on the same file system.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 40144e49ff84c3bd6bd091b58115257670be8803
Author: Jan Kara <jack@suse.cz>
Date:   Thu Aug 29 09:04:12 2019 -0700

    xfs: Fix stale data exposure when readahead races with hole punch
    
    Hole puching currently evicts pages from page cache and then goes on to
    remove blocks from the inode. This happens under both XFS_IOLOCK_EXCL
    and XFS_MMAPLOCK_EXCL which provides appropriate serialization with
    racing reads or page faults. However there is currently nothing that
    prevents readahead triggered by fadvise() or madvise() from racing with
    the hole punch and instantiating page cache page after hole punching has
    evicted page cache in xfs_flush_unmap_range() but before it has removed
    blocks from the inode. This page cache page will be mapping soon to be
    freed block and that can lead to returning stale data to userspace or
    even filesystem corruption.
    
    Fix the problem by protecting handling of readahead requests by
    XFS_IOLOCK_SHARED similarly as we protect reads.
    
    CC: stable@vger.kernel.org
    Link: https://lore.kernel.org/linux-fsdevel/CAOQ4uxjQNmxqmtA_VbYW0Su9rKRk2zobJmahcyeaEVOFKVQ5dw@mail.gmail.com/
    Reported-by: Amir Goldstein <amir73il@gmail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit cf1ea0592dbf109e7e7935b7d5b1a47a1ba04174
Author: Jan Kara <jack@suse.cz>
Date:   Thu Aug 29 09:04:11 2019 -0700

    fs: Export generic_fadvise()
    
    Filesystems will need to call this function from their fadvise handlers.
    
    CC: stable@vger.kernel.org
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 692fe62433d4ca47605b39f7c416efd6679ba694
Author: Jan Kara <jack@suse.cz>
Date:   Thu Aug 29 09:04:11 2019 -0700

    mm: Handle MADV_WILLNEED through vfs_fadvise()
    
    Currently handling of MADV_WILLNEED hint calls directly into readahead
    code. Handle it by calling vfs_fadvise() instead so that filesystem can
    use its ->fadvise() callback to acquire necessary locks or otherwise
    prepare for the request.
    
    Suggested-by: Amir Goldstein <amir73il@gmail.com>
    Reviewed-by: Boaz Harrosh <boazh@netapp.com>
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit ddbca70cc45c0ac97ff6d9529e45f10b8ae73ad4
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:10 2019 -0700

    xfs: allocate xattr buffer on demand
    
    When doing file lookups and checking for permissions, we end up in
    xfs_get_acl() to see if there are any ACLs on the inode. This
    requires and xattr lookup, and to do that we have to supply a buffer
    large enough to hold an maximum sized xattr.
    
    On workloads were we are accessing a wide range of cache cold files
    under memory pressure (e.g. NFS fileservers) we end up spending a
    lot of time allocating the buffer. The buffer is 64k in length, so
    is a contiguous multi-page allocation, and if that then fails we
    fall back to vmalloc(). Hence the allocation here is /expensive/
    when we are looking up hundreds of thousands of files a second.
    
    Initial numbers from a bpf trace show average time in xfs_get_acl()
    is ~32us, with ~19us of that in the memory allocation. Note these
    are average times, so there are going to be affected by the worst
    case allocations more than the common fast case...
    
    To avoid this, we could just do a "null"  lookup to see if the ACL
    xattr exists and then only do the allocation if it exists. This,
    however, optimises the path for the "no ACL present" case at the
    expense of the "acl present" case. i.e. we can halve the time in
    xfs_get_acl() for the no acl case (i.e down to ~10-15us), but that
    then increases the ACL case by 30% (i.e. up to 40-45us).
    
    To solve this and speed up both cases, drive the xattr buffer
    allocation into the attribute code once we know what the actual
    xattr length is. For the no-xattr case, we avoid the allocation
    completely, speeding up that case. For the common ACL case, we'll
    end up with a fast heap allocation (because it'll be smaller than a
    page), and only for the rarer "we have a remote xattr" will we have
    a multi-page allocation occur. Hence the common ACL case will be
    much faster, too.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 9df243a1a9e607e7cf5d20ee46edd5ec84b7e400
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:10 2019 -0700

    xfs: consolidate attribute value copying
    
    The same code is used to copy do the attribute copying in three
    different places. Consolidate them into a single function in
    preparation from on-demand buffer allocation.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit e3cc4554ce1b2cc43262c93ebe6d8cde780d29ee
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:09 2019 -0700

    xfs: move remote attr retrieval into xfs_attr3_leaf_getvalue
    
    Because we repeat exactly the same code to get the remote attribute
    value after both calls to xfs_attr3_leaf_getvalue() if it's a remote
    attr. Just do it in xfs_attr3_leaf_getvalue() so the callers don't
    have to care about it.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit a0e959d3c9d52a83e01a97ef352a1465550f9329
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:09 2019 -0700

    xfs: remove unnecessary indenting from xfs_attr3_leaf_getvalue
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 728bcaa3e0f9820e923dabe5e4c34e87100bb995
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:08 2019 -0700

    xfs: make attr lookup returns consistent
    
    Shortform, leaf and remote value attr value retrieval return
    different values for success. This makes it more complex to handle
    actual errors xfs_attr_get() as some errors mean success and some
    mean failure. Make the return values consistent for success and
    failure consistent for all attribute formats.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 756c6f0f7efe8759ff6dda35d220e2e753e2b0e3
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:08 2019 -0700

    xfs: reverse search directory freespace indexes
    
    When a directory is growing rapidly, new blocks tend to get added at
    the end of the directory. These end up at the end of the freespace
    index, and when the directory gets large finding these new
    freespaces gets expensive. The code does a linear search across the
    frespace index from the first block in the directory to the last,
    hence meaning the newly added space is the last index searched.
    
    Instead, do a reverse order index search, starting from the last
    block and index in the freespace index. This makes most lookups for
    free space on rapidly growing directories O(1) instead of O(N), but
    should not have any impact on random insert workloads because the
    average search length is the same regardless of which end of the
    array we start at.
    
    The result is a major improvement in large directory grow rates:
    
                    create time(sec) / rate (files/s)
     File count     vanilla             Prev commit         Patched
      10k         0.41 / 24.3k         0.42 / 23.8k       0.41 / 24.3k
      20k         0.74 / 27.0k         0.76 / 26.3k       0.75 / 26.7k
     100k         3.81 / 26.4k         3.47 / 28.8k       3.27 / 30.6k
     200k         8.58 / 23.3k         7.19 / 27.8k       6.71 / 29.8k
       1M        85.69 / 11.7k        48.53 / 20.6k      37.67 / 26.5k
       2M       280.31 /  7.1k       130.14 / 15.3k      79.55 / 25.2k
      10M      3913.26 /  2.5k                          552.89 / 18.1k
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 610125ab1e4b1b48dcffe74d9d82b0606bf1b923
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:07 2019 -0700

    xfs: speed up directory bestfree block scanning
    
    When running a "create millions inodes in a directory" test
    recently, I noticed we were spending a huge amount of time
    converting freespace block headers from disk format to in-memory
    format:
    
     31.47%  [kernel]  [k] xfs_dir2_node_addname
     17.86%  [kernel]  [k] xfs_dir3_free_hdr_from_disk
      3.55%  [kernel]  [k] xfs_dir3_free_bests_p
    
    We shouldn't be hitting the best free block scanning code so hard
    when doing sequential directory creates, and it turns out there's
    a highly suboptimal loop searching the the best free array in
    the freespace block - it decodes the block header before checking
    each entry inside a loop, instead of decoding the header once before
    running the entry search loop.
    
    This makes a massive difference to create rates. Profile now looks
    like this:
    
      13.15%  [kernel]  [k] xfs_dir2_node_addname
       3.52%  [kernel]  [k] xfs_dir3_leaf_check_int
       3.11%  [kernel]  [k] xfs_log_commit_cil
    
    And the wall time/average file create rate differences are
    just as stark:
    
                    create time(sec) / rate (files/s)
    File count           vanilla                patched
      10k              0.41 / 24.3k            0.42 / 23.8k
      20k              0.74 / 27.0k            0.76 / 26.3k
     100k              3.81 / 26.4k            3.47 / 28.8k
     200k              8.58 / 23.3k            7.19 / 27.8k
       1M             85.69 / 11.7k           48.53 / 20.6k
       2M            280.31 /  7.1k          130.14 / 15.3k
    
    The larger the directory, the bigger the performance improvement.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 0e822255f95db400e56e19773e04755d79b50bda
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:07 2019 -0700

    xfs: factor free block index lookup from xfs_dir2_node_addname_int()
    
    Simplify the logic in xfs_dir2_node_addname_int() by factoring out
    the free block index lookup code that finds a block with enough free
    space for the entry to be added. The code that is moved gets a major
    cleanup at the same time, but there is no algorithm change here.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit a07258a695281109422011182db069a0e6f8855e
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:06 2019 -0700

    xfs: factor data block addition from xfs_dir2_node_addname_int()
    
    Factor out the code that adds a data block to a directory from
    xfs_dir2_node_addname_int(). This makes the code flow cleaner and
    more obvious and provides clear isolation of upcoming optimsations.
    
    Signed-off-By: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit aee7754bbeb1000992ed7e6945418a145d181074
Author: Dave Chinner <dchinner@redhat.com>
Date:   Thu Aug 29 09:04:06 2019 -0700

    xfs: move xfs_dir2_addname()
    
    This gets rid of the need for a forward  declaration of the static
    function xfs_dir2_addname_int() and readies the code for factoring
    of xfs_dir2_addname_int().
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit 39ee2239a5a212cbba9d96050bd11cfd0f26634d
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Wed Aug 28 14:39:46 2019 -0700

    xfs: remove all *_ITER_CONTINUE values
    
    Iterator functions already use 0 to signal "continue iterating", so get
    rid of the #defines and just do it directly.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit f3b17320db25b4cdd50f0396b096644455357dac
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 17 09:32:32 2019 +0200

    openrisc: map as uncached in ioremap
    
    Openrisc is the only architecture not mapping ioremap as uncached,
    which has been the default since the Linux 2.6.x days.  Switch it
    over to implement uncached semantics by default.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Stafford Horne <shorne@gmail.com>

commit eabe7e9a21a27c6124967169e5bfea5678af493f
Author: Stafford Horne <shorne@gmail.com>
Date:   Sat Aug 31 10:02:10 2019 +0900

    or1k: dts: Add ethoc device to SMP devicetree
    
    This patch adds the ethoc device configuration to the OpenRISC basic SMP
    device tree config.  This was tested with qemu.
    
    Signed-off-by: Stafford Horne <shorne@gmail.com>

commit c312ef176399e04fc5f7f2809d9a589751fbf6d9
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Thu Aug 29 16:30:34 2019 -0700

    libata/ahci: Drop PCS quirk for Denverton and beyond
    
    The Linux ahci driver has historically implemented a configuration fixup
    for platforms / platform-firmware that fails to enable the ports prior
    to OS hand-off at boot. The fixup was originally implemented way back
    before ahci moved from drivers/scsi/ to drivers/ata/, and was updated in
    2007 via commit 49f290903935 "ahci: update PCS programming". The quirk
    sets a port-enable bitmap in the PCS register at offset 0x92.
    
    This quirk could be applied generically up until the arrival of the
    Denverton (DNV) platform. The DNV AHCI controller architecture supports
    more than 6 ports and along with that the PCS register location and
    format were updated to allow for more possible ports in the bitmap. DNV
    AHCI expands the register to 32-bits and moves it to offset 0x94.
    
    As it stands there are no known problem reports with existing Linux
    trying to set bits at offset 0x92 which indicates that the quirk is not
    applicable. Likely it is not applicable on a wider range of platforms,
    but it is difficult to discern which platforms if any still depend on
    the quirk.
    
    Rather than try to fix the PCS quirk to consider the DNV register layout
    instead require explicit opt-in. The assumption is that the OS driver
    need not touch this register, and platforms can be added with a new
    boad_ahci_pcs7 board-id when / if problematic platforms are found in the
    future. The logic in ahci_intel_pcs_quirk() looks for all Intel AHCI
    instances with "legacy" board-ids and otherwise skips the quirk if the
    board was matched by class-code.
    
    Reported-by: Stephen Douthit <stephend@silicom-usa.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Reviewed-by: Stephen Douthit <stephend@silicom-usa.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 974ceb21fcf9c0345570ea194e799a4ee7842f33
Author: Denis Efremov <efremov@linux.com>
Date:   Thu Aug 29 19:50:24 2019 +0300

    udp: Remove unlikely() from IS_ERR*() condition
    
    "unlikely(IS_ERR_OR_NULL(x))" is excessive. IS_ERR_OR_NULL() already uses
    unlikely() internally.
    
    Signed-off-by: Denis Efremov <efremov@linux.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Joe Perches <joe@perches.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7cf92ccb85554c9550bc0a8e892f68f92985024c
Author: Denis Efremov <efremov@linux.com>
Date:   Thu Aug 29 19:50:17 2019 +0300

    net/mlx5e: Remove unlikely() from WARN*() condition
    
    "unlikely(WARN_ON_ONCE(x))" is excessive. WARN_ON_ONCE() already uses
    unlikely() internally.
    
    Signed-off-by: Denis Efremov <efremov@linux.com>
    Cc: Boris Pismenny <borisp@mellanox.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Leon Romanovsky <leon@kernel.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: netdev@vger.kernel.org
    Acked-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ae2930583c7ae2159e26a54b15e52b1d4d5782a0
Author: Stafford Horne <shorne@gmail.com>
Date:   Sat Aug 31 10:00:34 2019 +0900

    or1k: dts: Fix ethoc network configuration in or1ksim devicetree
    
    This fixes several issues with the ethoc network device config.
    
    Fisrt off, the compatible property used an obsolete compatibility
    string; this caused the initialization to be skipped.  Next, the
    register map was not given enough space to allocate ring descriptors,
    this caused module initialization to abort.  Finally, we need to mark
    this device as big-endian as needed by openrisc.
    
    This was tested by me in qemu, the setup is documented on the qemu wiki:
    
      https://wiki.qemu.org/Documentation/Platforms/OpenRISC
    
    Signed-off-by: Stafford Horne <shorne@gmail.com>

commit 0feacaa21634014148068035b02eade71f853496
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Aug 30 16:39:54 2019 -0700

    writeback: don't access page->mapping directly in track_foreign_dirty TP
    
    page->mapping may encode different values in it and page_mapping()
    should always be used to access the mapping pointer.
    track_foreign_dirty tracepoint was incorrectly accessing page->mapping
    directly.  Use page_mapping() instead.  Also, add NULL checks while at
    it.
    
    Fixes: 3a8e9ac89e6a ("writeback: add tracepoints for cgroup foreign writebacks")
    Reported-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit ee594bfff389aa9105f713135211c0da736e5698
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Jul 16 21:05:36 2019 -0400

    fs/namei.c: new helper - legitimize_root()
    
    identical logics in unlazy_walk() and unlazy_child()
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit ce6595a28a15c874aee374757dcd08f537d7b24d
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sun Jul 14 16:42:44 2019 -0400

    kill the last users of user_{path,lpath,path_dir}()
    
    old wrappers with few callers remaining; put them out of their misery...
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 6b61aed06a3b0eb8e8d49142ddd1e101a064444d
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sun Jul 14 14:00:23 2019 -0400

    namei.h: get the comments on LOOKUP_... in sync with reality
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit fbb7d9d56d167247f2eb7261038385cab1073c37
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sun Jul 14 13:24:54 2019 -0400

    kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h
    
    The former has no users left; the latter was only to get LOOKUP_...
    values to remapper in audit_inode() and that's an ex-parrot now.
    
    All places that use symbols from namei.h include it either directly
    or (in a few cases) via a local header, like fs/autofs/autofs_i.h
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit e72cb7d6245380acc11a24b75a865f7104ac8b33
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Fri Aug 30 19:10:38 2019 -0400

    bnxt_en: Fix compile error regression with CONFIG_BNXT_SRIOV not set.
    
    Add a new function bnxt_get_registered_vfs() to handle the work
    of getting the number of registered VFs under #ifdef CONFIG_BNXT_SRIOV.
    The main code will call this function and will always work correctly
    whether CONFIG_BNXT_SRIOV is set or not.
    
    Fixes: 230d1f0de754 ("bnxt_en: Handle firmware reset.")
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 909548d6c5789dbd6cd4c7a6b32fcf0ae974f5ee
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Wed Aug 21 18:26:58 2019 +0900

    riscv: add arch/riscv/Kbuild
    
    Use the standard obj-y form to specify the sub-directories under
    arch/riscv/. No functional change intended.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>

commit 9659ef791c3f17f24631ee9c8808f6af181c9ef5
Author: Anders Roxell <anders.roxell@linaro.org>
Date:   Wed Aug 14 13:14:35 2019 +0200

    selftests: tpm2: install python files
    
    Both test_smoke.sh and test_space.sh require tpm2.py and tpm2_test.py.
    
    Rework so that tpm2.py and tpm2_test.py gets installed, added them to
    the variable TEST_PROGS_EXTENDED.
    
    Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 0aa3769d0a99eaee85ed89972e5c560edf61e6f4
Author: Anders Roxell <anders.roxell@linaro.org>
Date:   Wed Aug 14 13:16:51 2019 +0200

    selftests: livepatch: add missing fragments to config
    
    When generating config with 'make defconfig kselftest-merge' fragment
    CONFIG_TEST_LIVEPATCH=m isn't set.
    
    Rework to enable CONFIG_LIVEPATCH and CONFIG_DYNAMIC_DEBUG as well.
    
    Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 037caee7779f830e2a133a70dfbe4e8868377723
Author: George G. Davis <george_davis@mentor.com>
Date:   Fri Aug 30 18:31:33 2019 -0400

    selftests: watchdog: cleanup whitespace in usage options
    
    Convert hard spaces to tabs in usage options.
    
    Suggested-by: Shuah Khan <shuah@kernel.org>
    Signed-off-by: George G. Davis <george_davis@mentor.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit f2683bd8d5bdebb929f05ae26ce6d9b578927ce5
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Fri Aug 30 19:31:09 2019 -0400

    [PATCH] fix d_absolute_path() interplay with fsmount()
    
    stuff in anon namespace should be treated as unattached.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d57f172c99bd252fbfc93a9b38d8d42642a4b377
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:31 2019 +0000

    doc/af_xdp: include unaligned chunk case
    
    The addition of unaligned chunks mode, the documentation needs to be
    updated to indicate that the incoming addr to the fill ring will only be
    masked if the user application is run in the aligned chunk mode. This patch
    also adds a line to explicitly indicate that the incoming addr will not be
    masked if running the user application in the unaligned chunk mode.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 3945b37a975d22bed33b525f2933bac82424793d
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:30 2019 +0000

    samples/bpf: use hugepages in xdpsock app
    
    This patch modifies xdpsock to use mmap instead of posix_memalign. With
    this change, we can use hugepages when running the application in unaligned
    chunks mode. Using hugepages makes it more likely that we have physically
    contiguous memory, which supports the unaligned chunk mode better.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 03895e63ff97447e5eab1b71ed46e3662a45bfe8
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:29 2019 +0000

    samples/bpf: add buffer recycling for unaligned chunks to xdpsock
    
    This patch adds buffer recycling support for unaligned buffers. Since we
    don't mask the addr to 2k at umem_reg in unaligned mode, we need to make
    sure we give back the correct (original) addr to the fill queue. We achieve
    this using the new descriptor format and associated masks. The new format
    uses the upper 16-bits for the offset and the lower 48-bits for the addr.
    Since we have a field for the offset, we no longer need to modify the
    actual address. As such, all we have to do to get back the original address
    is mask for the lower 48 bits (i.e. strip the offset and we get the address
    on it's own).
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit c543f54698229b50078b72760b9e8a4731cffa03
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:28 2019 +0000

    samples/bpf: add unaligned chunks mode support to xdpsock
    
    This patch adds support for the unaligned chunks mode. The addition of the
    unaligned chunks option will allow users to run the application with more
    relaxed chunk placement in the XDP umem.
    
    Unaligned chunks mode can be used with the '-u' or '--unaligned' command
    line options.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 10d30e301732636d93d7dcd2e0e6cd34d0454509
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:27 2019 +0000

    libbpf: add flags to umem config
    
    This patch adds a 'flags' field to the umem_config and umem_reg structs.
    This will allow for more options to be added for configuring umems.
    
    The first use for the flags field is to add a flag for unaligned chunks
    mode. These flags can either be user-provided or filled with a default.
    
    Since we change the size of the xsk_umem_config struct, we need to version
    the ABI. This patch includes the ABI versioning for xsk_umem__create. The
    Makefile was also updated to handle multiple function versions in
    check-abi.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 282c0c798f8ec883c2ac2f1ce2dc06ef9421731c
Author: Maxim Mikityanskiy <maximmi@mellanox.com>
Date:   Tue Aug 27 02:25:26 2019 +0000

    net/mlx5e: Allow XSK frames smaller than a page
    
    Relax the requirements to the XSK frame size to allow it to be smaller
    than a page and even not a power of two. The current implementation can
    work in this mode, both with Striding RQ and without it.
    
    The code that checks `mtu + headroom <= XSK frame size` is modified
    accordingly. Any frame size between 2048 and PAGE_SIZE is accepted.
    
    Functions that worked with pages only now work with XSK frames, even if
    their size is different from PAGE_SIZE.
    
    With XSK queues, regardless of the frame size, Striding RQ uses the
    stride size of PAGE_SIZE, and UMR MTTs are posted using starting
    addresses of frames, but PAGE_SIZE as page size. MTU guarantees that no
    packet data will overlap with other frames. UMR MTT size is made equal
    to the stride size of the RQ, because UMEM frames may come in random
    order, and we need to handle them one by one. PAGE_SIZE is just a power
    of two that is bigger than any allowed XSK frame size, and also it
    doesn't require making additional changes to the code.
    
    Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
    Reviewed-by: Saeed Mahameed <saeedm@mellanox.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit beb3e4b29530d54f2ef956acfb4999c775f10519
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:25 2019 +0000

    mlx5e: modify driver for handling offsets
    
    With the addition of the unaligned chunks option, we need to make sure we
    handle the offsets accordingly based on the mode we are currently running
    in. This patch modifies the driver to appropriately mask the address for
    each case.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit d8c3061e5edd3b1f32c32fb9ebe11fad3c1bce82
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:24 2019 +0000

    ixgbe: modify driver for handling offsets
    
    With the addition of the unaligned chunks option, we need to make sure we
    handle the offsets accordingly based on the mode we are currently running
    in. This patch modifies the driver to appropriately mask the address for
    each case.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 2f86c806a8a89f34c463705d00420acf49302162
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:23 2019 +0000

    i40e: modify driver for handling offsets
    
    With the addition of the unaligned chunks option, we need to make sure we
    handle the offsets accordingly based on the mode we are currently running
    in. This patch modifies the driver to appropriately mask the address for
    each case.
    
    Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit c05cd3645814724bdeb32a2b4d953b12bdea5f8c
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:22 2019 +0000

    xsk: add support to allow unaligned chunk placement
    
    Currently, addresses are chunk size aligned. This means, we are very
    restricted in terms of where we can place chunk within the umem. For
    example, if we have a chunk size of 2k, then our chunks can only be placed
    at 0,2k,4k,6k,8k... and so on (ie. every 2k starting from 0).
    
    This patch introduces the ability to use unaligned chunks. With these
    changes, we are no longer bound to having to place chunks at a 2k (or
    whatever your chunk size is) interval. Since we are no longer dealing with
    aligned chunks, they can now cross page boundaries. Checks for page
    contiguity have been added in order to keep track of which pages are
    followed by a physically contiguous page.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
    Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit b35a2d3e895600d8a1273b44f68128491faab3b8
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:21 2019 +0000

    ixgbe: simplify Rx buffer recycle
    
    Currently, the dma, addr and handle are modified when we reuse Rx buffers
    in zero-copy mode. However, this is not required as the inputs to the
    function are copies, not the original values themselves. As we use the
    copies within the function, we can use the original 'obi' values
    directly without having to mask and add the headroom.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 10912fc9faa1da6cb49996810d55242e82b46896
Author: Kevin Laatz <kevin.laatz@intel.com>
Date:   Tue Aug 27 02:25:20 2019 +0000

    i40e: simplify Rx buffer recycle
    
    Currently, the dma, addr and handle are modified when we reuse Rx buffers
    in zero-copy mode. However, this is not required as the inputs to the
    function are copies, not the original values themselves. As we use the
    copies within the function, we can use the original 'old_bi' values
    directly without having to mask and add the headroom.
    
    Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 1c6d6e021c452ac15ce034e6762f0477f1cf7f19
Author: Masanari Iida <standby24x7@gmail.com>
Date:   Thu Aug 29 09:01:30 2019 +0900

    selftests/bpf: Fix a typo in test_offload.py
    
    This patch fix a spelling typo in test_offload.py
    
    Signed-off-by: Masanari Iida <standby24x7@gmail.com>
    Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Acked-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 0741be358d5adc266244f909e4434fe17fe1a109
Author: Petar Penkov <ppenkov@google.com>
Date:   Tue Aug 27 16:46:22 2019 -0700

    bpf: fix error check in bpf_tcp_gen_syncookie
    
    If a SYN cookie is not issued by tcp_v#_gen_syncookie, then the return
    value will be exactly 0, rather than <= 0. Let's change the check to
    reflect that, especially since mss is an unsigned value and cannot be
    negative.
    
    Fixes: 70d66244317e ("bpf: add bpf_tcp_gen_syncookie helper")
    Reported-by: Stanislav Fomichev <sdf@google.com>
    Signed-off-by: Petar Penkov <ppenkov@google.com>
    Acked-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit f24e29099f4faf1969151fb4b857fda16b7c1a72
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Tue Aug 27 22:36:29 2019 -0700

    nfp: bpf: add simple map op cache
    
    Each get_next and lookup call requires a round trip to the device.
    However, the device is capable of giving us a few entries back,
    instead of just one.
    
    In this patch we ask for a small yet reasonable number of entries
    (4) on every get_next call, and on subsequent get_next/lookup calls
    check this little cache for a hit. The cache is only kept for 250us,
    and is invalidated on every operation which may modify the map
    (e.g. delete or update call). Note that operations may be performed
    simultaneously, so we have to keep track of operations in flight.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit bc2796db5a0246acc998cc5ab2e7f8d6e4e4c146
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Tue Aug 27 22:36:28 2019 -0700

    nfp: bpf: rework MTU checking
    
    If control channel MTU is too low to support map operations a warning
    will be printed. This is not enough, we want to make sure probe fails
    in such scenario, as this would clearly be a faulty configuration.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
    Acked-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 3d1da92baffe69cf847699ceccf4297356da58fa
Author: Matt Roper <matthew.d.roper@intel.com>
Date:   Mon Aug 26 15:55:40 2019 -0700

    drm/i915: Add 324mhz and 326.4mhz cdclks for gen11+
    
    The bspec was recently updated with these new cdclk values for ICL, EHL,
    and TGL.
    
    Bspec: 20598
    Bspec: 49201
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826225540.11987-3-matthew.d.roper@intel.com

commit 385ba629aa1cdca5373c1fdbf6693ade5062ad27
Author: Matt Roper <matthew.d.roper@intel.com>
Date:   Thu Aug 29 17:48:28 2019 -0700

    drm/i915: Allow /2 CD2X divider on gen11+
    
    The bspec has just recently been updated with new cdclk values that
    require the use of a /2 CD2X divider rather than a /1 divider.  Once we
    add the divider selection logic to ICL+ cdclk programming, we have
    pretty much the same logic we were already using on CNL, so it's simpler
    to drop icl_set_cdclk() completely and reuse cnl_set_cdclk() on gen11+
    platforms as well.
    
    v2:
     - Using ICL_CDCLK_CD2X_PIPE_NONE + BXT_CDCLK_CD2X_PIPE(pipe) for TGL is
       correct, but looks really confusing.  Add some TGL_ macros that alias
       these to avoid confusion.  (Ville)
     - Use DIV_ROUND_CLOSEST rather than / when applying the divider. (Ville)
    
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830004828.19359-1-matthew.d.roper@intel.com

commit 5b84ad2e89215835ea6476ba05295e849b30886b
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Fri Aug 30 12:00:40 2019 +0100

    tools: bpftool: do not link twice against libbpf.a in Makefile
    
    In bpftool's Makefile, $(LIBS) includes $(LIBBPF), therefore the library
    is used twice in the linking command. No need to have $(LIBBPF) (from
    $^) on that command, let's do with "$(OBJS) $(LIBS)" (but move $(LIBBPF)
    _before_ the -l flags in $(LIBS)).
    
    Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit fbdb620b7c674928a5713dbad9b07252ff929d0a
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Fri Aug 30 12:00:39 2019 +0100

    tools: bpf: account for generated feature/ and libbpf/ directories
    
    When building "tools/bpf" from the top of the Linux repository, the
    build system passes a value for the $(OUTPUT) Makefile variable to
    tools/bpf/Makefile and tools/bpf/bpftool/Makefile, which results in
    generating "libbpf/" (for bpftool) and "feature/" (bpf and bpftool)
    directories inside the tree.
    
    This commit adds such directories to the relevant .gitignore files, and
    edits the Makefiles to ensure they are removed on "make clean". The use
    of "rm" is also made consistent throughout those Makefiles (relies on
    the $(RM) variable, use "--" to prevent interpreting
    $(OUTPUT)/$(DESTDIR) as options.
    
    v2:
    - New patch.
    
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 45c5589d07158eb1d0b5b313314706024bf451c5
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Fri Aug 30 12:00:38 2019 +0100

    tools: bpftool: improve and check builds for different make invocations
    
    There are a number of alternative "make" invocations that can be used to
    compile bpftool. The following invocations are expected to work:
    
      - through the kbuild system, from the top of the repository
        (make tools/bpf)
      - by telling make to change to the bpftool directory
        (make -C tools/bpf/bpftool)
      - by building the BPF tools from tools/
        (cd tools && make bpf)
      - by running make from bpftool directory
        (cd tools/bpf/bpftool && make)
    
    Additionally, setting the O or OUTPUT variables should tell the build
    system to use a custom output path, for each of these alternatives.
    
    The following patch fixes the following invocations:
    
      $ make tools/bpf
      $ make tools/bpf O=<dir>
      $ make -C tools/bpf/bpftool OUTPUT=<dir>
      $ make -C tools/bpf/bpftool O=<dir>
      $ cd tools/ && make bpf O=<dir>
      $ cd tools/bpf/bpftool && make OUTPUT=<dir>
      $ cd tools/bpf/bpftool && make O=<dir>
    
    After this commit, the build still fails for two variants when passing
    the OUTPUT variable:
    
      $ make tools/bpf OUTPUT=<dir>
      $ cd tools/ && make bpf OUTPUT=<dir>
    
    In order to remember and check what make invocations are supposed to
    work, and to document the ones which do not, a new script is added to
    the BPF selftests. Note that some invocations require the kernel to be
    configured, so the script skips them if no .config file is found.
    
    v2:
    - In make_and_clean(), set $ERROR to 1 when "make" returns non-zero,
      even if the binary was produced.
    - Run "make clean" from the correct directory (bpf/ instead of bpftool/,
      when relevant).
    
    Reported-by: Lorenz Bauer <lmb@cloudflare.com>
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit e0a43aa3e4a40fb88d3fa75397da0bf1e60a6c45
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Fri Aug 30 12:00:37 2019 +0100

    tools: bpftool: ignore make built-in rules for getting kernel version
    
    Bpftool calls the toplevel Makefile to get the kernel version for the
    sources it is built from. But when the utility is built from the top of
    the kernel repository, it may dump the following error message for
    certain architectures (including x86):
    
        $ make tools/bpf
        [...]
        make[3]: *** [checkbin] Error 1
        [...]
    
    This does not prevent bpftool compilation, but may feel disconcerting.
    The "checkbin" arch-dependent target is not supposed to be called for
    target "kernelversion", which is a simple "echo" of the version number.
    
    It turns out this is caused by the make invocation in tools/bpf/bpftool,
    which attempts to find implicit rules to apply. Extract from debug
    output:
    
        Reading makefiles...
        Reading makefile 'Makefile'...
        Reading makefile 'scripts/Kbuild.include' (search path) (no ~ expansion)...
        Reading makefile 'scripts/subarch.include' (search path) (no ~ expansion)...
        Reading makefile 'arch/x86/Makefile' (search path) (no ~ expansion)...
        Reading makefile 'scripts/Makefile.kcov' (search path) (no ~ expansion)...
        Reading makefile 'scripts/Makefile.gcc-plugins' (search path) (no ~ expansion)...
        Reading makefile 'scripts/Makefile.kasan' (search path) (no ~ expansion)...
        Reading makefile 'scripts/Makefile.extrawarn' (search path) (no ~ expansion)...
        Reading makefile 'scripts/Makefile.ubsan' (search path) (no ~ expansion)...
        Updating makefiles....
         Considering target file 'scripts/Makefile.ubsan'.
          Looking for an implicit rule for 'scripts/Makefile.ubsan'.
          Trying pattern rule with stem 'Makefile.ubsan'.
        [...]
          Trying pattern rule with stem 'Makefile.ubsan'.
          Trying implicit prerequisite 'scripts/Makefile.ubsan.o'.
          Looking for a rule with intermediate file 'scripts/Makefile.ubsan.o'.
           Avoiding implicit rule recursion.
           Trying pattern rule with stem 'Makefile.ubsan'.
           Trying rule prerequisite 'prepare'.
           Trying rule prerequisite 'FORCE'.
          Found an implicit rule for 'scripts/Makefile.ubsan'.
            Considering target file 'prepare'.
             File 'prepare' does not exist.
              Considering target file 'prepare0'.
               File 'prepare0' does not exist.
                Considering target file 'archprepare'.
                 File 'archprepare' does not exist.
                  Considering target file 'archheaders'.
                   File 'archheaders' does not exist.
                   Finished prerequisites of target file 'archheaders'.
                  Must remake target 'archheaders'.
        Putting child 0x55976f4f6980 (archheaders) PID 31743 on the chain.
    
    To avoid that, pass the -r and -R flags to eliminate the use of make
    built-in rules (and while at it, built-in variables) when running
    command "make kernelversion" from bpftool's Makefile.
    
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit 1c8f9b91c456f5b47a377a0c8c5d4130fc39433a
Author: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
Date:   Wed Aug 28 21:28:46 2019 +0300

    bpf: s390: add JIT support for multi-function programs
    
    This adds support for bpf-to-bpf function calls in the s390 JIT
    compiler. The JIT compiler converts the bpf call instructions to
    native branch instructions. After a round of the usual passes, the
    start addresses of the JITed images for the callee functions are
    known. Finally, to fixup the branch target addresses, we need to
    perform an extra pass.
    
    Because of the address range in which JITed images are allocated on
    s390, the offsets of the start addresses of these images from
    __bpf_call_base are as large as 64 bits. So, for a function call,
    the imm field of the instruction cannot be used to determine the
    callee's address. Use bpf_jit_get_func_addr() helper instead.
    
    The patch borrows a lot from:
    
    commit 8c11ea5ce13d ("bpf, arm64: fix getting subprog addr from aux
    for calls")
    
    commit e2c95a61656d ("bpf, ppc64: generalize fetching subprog into
    bpf_jit_get_func_addr")
    
    commit 8484ce8306f9 ("bpf: powerpc64: add JIT support for
    multi-function programs")
    
    (including the commit message).
    
    test_verifier (5.3-rc6 with CONFIG_BPF_JIT_ALWAYS_ON=y):
    
    without patch:
    Summary: 1501 PASSED, 0 SKIPPED, 47 FAILED
    
    with patch:
    Summary: 1540 PASSED, 0 SKIPPED, 8 FAILED
    
    Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
    Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Tested-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

commit daa664a5cdd599583fceb9018c49d783bc5a0d5d
Author: Vlad Buslov <vladbu@mellanox.com>
Date:   Thu Aug 29 19:15:17 2019 +0300

    net/mlx5e: Move local var definition into ifdef block
    
    New local variable "struct flow_block_offload *f" was added to
    mlx5e_setup_tc() in recent rtnl lock removal patches. The variable is used
    in code that is only compiled when CONFIG_MLX5_ESWITCH is enabled. This
    results compilation warning about unused variable when CONFIG_MLX5_ESWITCH
    is not set. Move the variable definition into eswitch-specific code block
    from the beginning of mlx5e_setup_tc() function.
    
    Fixes: c9f14470d048 ("net: sched: add API for registering unlocked offload block callbacks")
    Reported-by: tanhuazhong <tanhuazhong@huawei.com>
    Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f2b795ea025c743073933d5a121e22a2c3e66c99
Author: Vlad Buslov <vladbu@mellanox.com>
Date:   Thu Aug 29 19:15:16 2019 +0300

    net: sched: cls_matchall: cleanup flow_action before deallocating
    
    Recent rtnl lock removal patch changed flow_action infra to require proper
    cleanup besides simple memory deallocation. However, matchall classifier
    was not updated to call tc_cleanup_flow_action(). Add proper cleanup to
    mall_replace_hw_filter() and mall_reoffload().
    
    Fixes: 5a6ff4b13d59 ("net: sched: take reference to action dev before calling offloads")
    Reported-by: Ido Schimmel <idosch@mellanox.com>
    Tested-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit de8e1beb191912f94bcab46e72f247daaf664d15
Author: Luke Hsiao <lukehsiao@google.com>
Date:   Thu Aug 29 10:02:44 2019 -0400

    tcp_bbr: clarify that bbr_bdp() rounds up in comments
    
    This explicitly clarifies that bbr_bdp() returns the rounded-up value of
    the bandwidth-delay product and why in the comments.
    
    Signed-off-by: Luke Hsiao <lukehsiao@google.com>
    Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
    Acked-by: Neal Cardwell <ncardwell@google.com>
    Acked-by: Priyaranjan Jha <priyarjha@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fa730a3bb9d35fa2289a2b6a0a4846154873f6f2
Author: Jiri Pirko <jiri@mellanox.com>
Date:   Thu Aug 29 15:38:42 2019 +0200

    sched: act_vlan: implement stats_update callback
    
    Implement this callback in order to get the offloaded stats added to the
    kernel stats.
    
    Reported-by: Pengfei Liu <pengfeil@mellanox.com>
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ebdd3c0b179e4cd7b2c53a2962e4cc36ec412f7f
Author: Masanari Iida <standby24x7@gmail.com>
Date:   Sat Aug 3 09:01:26 2019 +0900

    selftest/ftrace: Fix typo in trigger-snapshot.tc
    
    This patch fixes a spelling typo in trigger-snapshot.tc
    
    [skhan@linuxfoundation.org: Fix typo in commit log]
    Signed-off-by: Masanari Iida <standby24x7@gmail.com>
    Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 27382472adcd62e2082942202ccfa321c9775769
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date:   Fri Aug 30 14:34:05 2019 -0700

    net: stmmac: depend on COMMON_CLK
    
    Fixes: 190f73ab4c43 ("net: stmmac: setup higher frequency clk support for EHL & TGL")
    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7bff9779d76917adfa7c67712aa6ae3b7e5098ba
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Fri Aug 30 12:16:44 2019 +0200

    drm/i915: Fix regression with crtc disable ordering
    
    When we moved the code to disable crtc's to a separate patch,
    we forgot to ensure that for_each_oldnew_intel_crtc_in_state_reverse()
    was moved as well.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Fixes: 66d9cec8a6c9 ("drm/i915/display: Move the commit_tail() disable sequence to separate function")
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
    Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830101644.8740-1-maarten.lankhorst@linux.intel.com

commit 77afe3b82e97c2d1a066d038344bbce8bb8f7d85
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Aug 29 00:14:50 2019 +0100

    arcnet: capmode: remove redundant assignment to pointer pkt
    
    Pointer pkt is being initialized with a value that is never read
    and pkt is being re-assigned a little later on. The assignment is
    redundant and hence can be removed.
    
    Addresses-Coverity: ("Ununsed value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit acfb50e4e773c9a5755a3c265c7c20d37a8642e5
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Thu Aug 29 23:55:05 2019 -0400

    bnxt_en: Add FW fatal devlink_health_reporter.
    
    Health show command example and output:
    
    $ devlink health show pci/0000:af:00.0 reporter fw_fatal
    
    pci/0000:af:00.0:
      name fw_fatal
        state healthy error 1 recover 1 grace_period 0 auto_recover true
    
    Fatal events from firmware or missing periodic heartbeats will
    be reported and recovery will be handled.
    
    We also turn on the support flags when we register with the firmware to
    enable this health and recovery feature in the firmware.
    
    Cc: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d1db9e166bf6a50e1e6713f3fd3b4de6007e3671
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:55:04 2019 -0400

    bnxt_en: Add bnxt_fw_exception() to handle fatal firmware errors.
    
    This call will handle fatal firmware errors by forcing a reset on the
    firmware.  The master function driver will carry out the forced reset.
    The sequence will go through the same bnxt_fw_reset_task() workqueue.
    This fatal reset differs from the non-fatal reset at the beginning
    stages.  From the BNXT_FW_RESET_STATE_ENABLE_DEV state onwards where
    the firmware is coming out of reset, it is practically identical to the
    non-fatal reset.
    
    The next patch will add the periodic heartbeat check and the devlink
    reporter to report the fatal event and to initiate the bnxt_fw_exception()
    call.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit cbb51067a5f5fbae733283b67fc8013881eb4bb1
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:55:03 2019 -0400

    bnxt_en: Add RESET_FW state logic to bnxt_fw_reset_task().
    
    This state handles driver initiated chip reset during error recovery.
    Only the master function will perform this step during error recovery.
    The next patch will add code to initiate this reset from the master
    function.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b4fff2079d1080af7dcad8ad0e80cc89e1ee000c
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:55:02 2019 -0400

    bnxt_en: Do not send firmware messages if firmware is in error state.
    
    Add a flag to mark that the firmware has encountered fatal condition.
    The driver will not send any more firmware messages and will return
    error to the caller.  Fix up some clean up functions to continue
    and not abort when the firmware message function returns error.
    
    This is preparation work to fully handle firmware error recovery
    under fatal conditions.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2cd8696850450b750f278be06ee56eb51d84621c
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Thu Aug 29 23:55:01 2019 -0400

    bnxt_en: Retain user settings on a VF after RESET_NOTIFY event.
    
    Retain the VF MAC address, default VLAN, TX rate control, trust settings
    of VFs after firmware reset.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 657a33c8a0a2342e91259b28356838dc89216b19
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Thu Aug 29 23:55:00 2019 -0400

    bnxt_en: Add devlink health reset reporter.
    
    Add devlink health reporter for the firmware reset event.  Once we get
    the notification from firmware about the impending reset, the driver
    will report this to devlink and the call to bnxt_fw_reset() will be
    initiated to complete the reset sequence.
    
    Cc: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 230d1f0de754b483ec6eefc1ca5aaeff2b6b9a4c
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:59 2019 -0400

    bnxt_en: Handle firmware reset.
    
    Add the bnxt_fw_reset() main function to handle firmware reset.  This
    is triggered by firmware to initiate an orderly reset, for example
    when a non-fatal exception condition has been detected.  bnxt_fw_reset()
    will first wait for all VFs to shutdown and then start the
    bnxt_fw_reset_task() work queue to go through the sequence of reset,
    re-probe, and re-initialization.
    
    The next patch will add the devlink reporter to start the sequence and
    call bnxt_fw_reset().
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2151fe0830fdb951f8ecfcfe67306fdef2366aa0
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:58 2019 -0400

    bnxt_en: Handle RESET_NOTIFY async event from firmware.
    
    This event from firmware signals a coordinated reset initiated by the
    firmware.  It may be triggered by some error conditions encountered
    in the firmware or other orderly reset conditions.
    
    We store the parameters from this event.  Subsequent patches will
    add logic to handle reset itself using devlink reporters.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6763c779c2d8b568b2e174f3eeeaf644fa38b34d
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Thu Aug 29 23:54:57 2019 -0400

    bnxt_en: Add new FW devlink_health_reporter
    
    Create new FW devlink_health_reporter, to know the current health
    status of FW.
    
    Command example and output:
    $ devlink health show pci/0000:af:00.0 reporter fw
    
    pci/0000:af:00.0:
      name fw
        state healthy error 0 recover 0
    
     FW status: Healthy; Reset count: 1
    
    Cc: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3bc7d4a352efe5b596883ef16b769055320db1f6
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:56 2019 -0400

    bnxt_en: Add BNXT_STATE_IN_FW_RESET state.
    
    The new flag will be set in subsequent patches when firmware is
    going through reset.  If bnxt_close() is called while the new flag
    is set, the FW reset sequence will have to be aborted because the
    NIC is prematurely closed before FW reset has completed.  We also
    reject SRIOV configurations while FW reset is in progress.
    
    v2: No longer drop rtnl_lock() in close and wait for FW reset to complete.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7e914027f757b656cd681ba4fe75f3984531ee50
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:55 2019 -0400

    bnxt_en: Enable health monitoring.
    
    Handle the async event from the firmware that enables firmware health
    monitoring.  Store initial health metrics.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9ffbd67734909ca8bb099e62f06387649b43d5a8
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:54 2019 -0400

    bnxt_en: Pre-map the firmware health monitoring registers.
    
    Pre-map the GRC registers for periodic firmware health monitoring.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 07f83d72d238f5d41b03d6142641129e8a7a0ec4
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:53 2019 -0400

    bnxt_en: Discover firmware error recovery capabilities.
    
    Call the new firmware API HWRM_ERROR_RECOVERY_QCFG if it is supported
    to discover the firmware health and recovery capabilities and settings.
    This feature allows the driver to reset the chip if firmware crashes and
    becomes unresponsive.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ec5d31e3c15d5233b491400133c67f78a320062c
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:52 2019 -0400

    bnxt_en: Handle firmware reset status during IF_UP.
    
    During IF_UP, newer firmware has a new status flag that indicates that
    firmware has reset.  Add new function bnxt_fw_init_one() to re-probe the
    firmware and re-setup VF resources on the PF if necessary.  If the
    re-probe fails, set a flag to prevent bnxt_open() from proceeding again.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 91b9be487001d344a39c453ade6cdbd125e06208
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Thu Aug 29 23:54:51 2019 -0400

    bnxt_en: Register buffers for VFs before reserving resources.
    
    When VFs need to be reconfigured dynamically after firmwware reset, the
    configuration sequence on the PF needs to be changed to register the VF
    buffers first.  Otherwise, some VF firmware commands may not succeed as
    there may not be PF buffers ready for the re-directed firmware commands.
    
    This sequencing did not matter much before when we only supported
    the normal bring-up of VFs.
    
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 702d5011ab5e7b9afe44058d33a89d1501645a10
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:50 2019 -0400

    bnxt_en: Refactor bnxt_sriov_enable().
    
    Refactor the hardware/firmware configuration portion in
    bnxt_sriov_enable() into a new function bnxt_cfg_hw_sriov().  This
    new function can be called after a firmware reset to reconfigure the
    VFs previously enabled.
    
    v2: straight refactor of the code.  Reordering done in the next patch.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ba642ab773db97c32293547485f562d2dfc06666
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:49 2019 -0400

    bnxt_en: Prepare bnxt_init_one() to be called multiple times.
    
    In preparation for the new firmware reset feature, some of the logic
    in bnxt_init_one() and related functions will be called again after
    firmware has reset.  Reset some of the flags and capabilities so that
    everything that can change can be re-initialized.  Refactor some
    functions to probe firmware versions and capabilities.  Check some
    buffers before allocating as they may have been allocated previously.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5bedb5296e33e889818d77c8ec69040481fab157
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:48 2019 -0400

    bnxt_en: Suppress all error messages in hwrm_do_send_msg() in silent mode.
    
    If the silent parameter is set, suppress all messages when there is
    no response from firmware.  When polling for firmware to come out of
    reset, no response may be normal and we want to suppress the error
    messages.  Also, don't poll for the firmware DMA response if Bus Master
    is disabled.  This is in preparation for error recovery when firmware
    may be in error or reset state or Bus Master is disabled.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a798302d56f56fb7ad6a01f64f495aeafeb6c0f0
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:47 2019 -0400

    bnxt_en: Simplify error checking in the SR-IOV message forwarding functions.
    
    There are 4 functions handling message forwarding for SR-IOV.  They
    check for non-zero firmware response code and then return -1.  There
    is no need to do this anymore.  The main messaging function will
    now return standard error code.  Since we don't need to examine the
    response, we can use the hwrm_send_message() variant which will
    take the mutex automatically.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d4f1420d365633490aa134abfe408453d1c7c238
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:46 2019 -0400

    bnxt_en: Convert error code in firmware message response to standard code.
    
    The main firmware messaging function returns the firmware defined error
    code and many callers have to convert to standard error code for proper
    propagation to userspace.  Convert bnxt_hwrm_do_send_msg() to return
    standard error code so we can do away with all the special error code
    handling by the many callers.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a935cb7ec449bca1adf806d7fb00f5032b63c6e0
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:45 2019 -0400

    bnxt_en: Remove the -1 error return code from bnxt_hwrm_do_send_msg().
    
    Replace the non-standard -1 code with -EBUSY when there is no firmware
    response after waiting for the maximum timeout.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b3b0ddd07e63d564a3d5500938913805d06a1682
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Thu Aug 29 23:54:44 2019 -0400

    bnxt_en: Use a common function to print the same ethtool -f error message.
    
    The same message is printed 3 times in the code, so use a common function
    to do that.
    
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 70359dbe2475d43a914b5259b870b45b15c8ecad
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:38 2019 +0200

    net: sgi: ioc3-eth: no need to stop queue set_multicast_list
    
    netif_stop_queue()/netif_wake_qeue() aren't needed for changing
    multicast filters.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d1c9454274d84671737574ec21c69f26c0433307
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:37 2019 +0200

    net: sgi: ioc3-eth: protect emcr in all cases
    
    emcr in private struct wasn't always protected by spinlock.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3498cb272e87af8d3e7d6884e57cbe7689215672
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:36 2019 +0200

    net: sgi: ioc3-eth: Fix IPG settings
    
    The half/full duplex settings for inter packet gap counters/timer were
    reversed.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8dff19a6dcb8bcab8bed86e60c8033aaf0a13646
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:35 2019 +0200

    net: sgi: ioc3-eth: use csum_fold
    
    replace open coded checksum folding by csum_fold.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ed870f6a7aa2120720e9cd463926969699036eaa
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:34 2019 +0200

    net: sgi: ioc3-eth: use dma-direct for dma allocations
    
    Replace the homegrown DMA memory allocation, which only works on
    SGI-IP27 machines, with the generic dma allocations.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 850d2fed5bcebbcbb3f450ffad9bb4dd096ff829
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:33 2019 +0200

    net: sgi: ioc3-eth: refactor rx buffer allocation
    
    Move common code for rx buffer setup into ioc3_alloc_skb and deal
    with allocation failures. Also clean up allocation size calculation.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 19a957b6b464ddabd32e5ebcc44df8eb6380881b
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:32 2019 +0200

    net: sgi: ioc3-eth: split ring cleaning/freeing and allocation
    
    Do tx ring cleaning and freeing of rx buffers, when chip is shutdown and
    allocate buffers before bringing chip up.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fcd0da5a6d8784aba38916cdba86abd83694bc73
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:31 2019 +0200

    net: sgi: ioc3-eth: introduce chip start function
    
    ioc3_init did everything from reset to init rings to starting the chip.
    This change move out chip start into a new function as preparation
    for easier handling of receive buffer allocation failures.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9c328b05443a09bd62e4fcae284aeebbd13ca30e
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:30 2019 +0200

    net: sgi: ioc3-eth: separate tx and rx ring handling
    
    After allocation of descriptor memory is now done once in probe
    handling of tx ring is completely done by ioc3_clean_tx_ring. So
    we remove the remaining tx ring actions out of ioc3_alloc_rings
    and ioc3_free_rings and rename it to ioc3_[alloc|free]_rx_bufs
    to better describe what they are doing.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 489467e52486d483550ac3e3ed33dceb93b1e4a9
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:29 2019 +0200

    net: sgi: ioc3-eth: get rid of ioc3_clean_rx_ring()
    
    Move clearing of the descriptor valid bit into ioc3_alloc_rings. This
    makes ioc3_clean_rx_ring obsolete.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c7b57274754971cda56fdd935e503ee619419596
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:28 2019 +0200

    net: sgi: ioc3-eth: allocate space for desc rings only once
    
    Memory for descriptor rings are allocated/freed, when interface is
    brought up/down. Since the size of the rings is not changeable by
    hardware, we now allocate rings now during probe and free it, when
    device is removed.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 141a7dbb886f39fae55815229dc4d91d56b36175
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:27 2019 +0200

    net: sgi: ioc3-eth: use defines for constants dealing with desc rings
    
    Descriptor ring sizes of the IOC3 are more or less fixed size. To
    make clearer where there is a relation to ring sizes use defines.
    
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c1b6a3d85d3f2a9500a9fddf6820a0fd1b1bc4e8
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:26 2019 +0200

    net: sgi: ioc3-eth: remove checkpatch errors/warning
    
    Before massaging the driver further fix oddities found by checkpatch like
    - wrong indention
    - comment formatting
    - use of printk instead or netdev_xxx/pr_xxx
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit cbe7d51745f9334d05bf2fdd915322e159bbcaa8
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:25 2019 +0200

    MIPS: SGI-IP27: restructure ioc3 register access
    
    Break up the big ioc3 register struct into functional pieces to
    make use in sub-function drivers more straightforward. And while
    doing that get rid of all volatile access by using readX/writeX.
    
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 688125a6e7872a8c827d7848ba8fbc41785fb9c6
Author: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date:   Fri Aug 30 11:25:24 2019 +0200

    MIPS: SGI-IP27: remove ioc3 ethernet init
    
    Removed not needed disabling of ethernet interrupts in IP27 platform code.
    
    Acked-by: Paul Burton <paul.burton@mips.com>
    Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6ea425b50c4853eefad10d49de901b68d326319d
Author: George G. Davis <george_davis@mentor.com>
Date:   Fri Aug 30 15:32:23 2019 -0400

    selftests: watchdog: Add optional file argument
    
    Some systems have multiple watchdog devices where the first device
    registered is assigned to the /dev/watchdog device file. In order
    to test other watchdog devices, add an optional file argument for
    selecting non-default watchdog devices for testing.
    
    Tested-by: Eugeniu Rosca <erosca@de.adit-jv.com>
    Signed-off-by: George G. Davis <george_davis@mentor.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 9c9284f9cee9052da4cad575da8dc5f2bbb31065
Author: Austin Kim <austindh.kim@gmail.com>
Date:   Fri Aug 30 17:07:04 2019 +0900

    drm/amdgpu: Move null pointer dereference check
    
    Null pointer dereference check should have been checked,
    ahead of below routine.
            struct amdgpu_device *adev = hwmgr->adev;
    
    With this commit, it could avoid potential NULL dereference.
    
    Signed-off-by: Austin Kim <austindh.kim@gmail.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 20c14ee135011f2a0fb2f987f05fd9655e804a9d
Author: Petr Cvek <petrcvekcz@gmail.com>
Date:   Fri Aug 30 16:31:58 2019 +0200

    drm/amdgpu: Fix undefined dm_ip_block for navi12
    
    There is missing "if defined" CONFIG_DRM_AMD_DC block for non DC
    configurations. This will cause link error. The patch is fixing that.
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=110979
    Signed-off-by: Petr Cvek <petrcvekcz@gmail.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 537e3bbfeea10c57479acd64b9387c20e555a958
Author: Aaron Liu <aaron.liu@amd.com>
Date:   Fri Dec 14 11:21:41 2018 +0800

    drm/amdgpu: fix no interrupt issue for renoir emu (v2)
    
    In renoir's vega10_ih model, there's a security change in mmIH_CHICKEN
    register, that limits IH to use physical address (FBPA, GPA) directly.
    Those chicken bits need to be programmed first.
    
    Signed-off-by: Aaron Liu <aaron.liu@amd.com>
    Reviewed-by: Huang Rui <ray.huang@amd.com>
    Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 75966255881127f4a2c0ab7e18d9224672bdeddb
Author: Aaron Liu <aaron.liu@amd.com>
Date:   Fri Dec 14 11:16:36 2018 +0800

    drm/amdgpu: update IH_CHICKEN in oss 4.0 IP header for VG/RV series
    
    In Renoir's emulator, those chicken bits need to be programmed.
    
    Signed-off-by: Aaron Liu <aaron.liu@amd.com>
    Reviewed-by: Huang Rui <ray.huang@amd.com>
    Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit ea1fc5e1ff7106f39d63e4a944990674b27af40d
Author: Aaron Liu <aaron.liu@amd.com>
Date:   Fri Aug 30 09:53:27 2019 +0800

    drm/amd/powerplay: SMU_MSG_OverridePcieParameters is unsupport for APU
    
    For apu, SMU_MSG_OverridePcieParameters is unsupport.
    So return directly in smu_override_pcie_parameters function.
    
    Signed-off-by: Aaron Liu <aaron.liu@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Acked-by: Huang Rui <ray.huang@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 60fc35f327e0a9e60b955c0f3c3ed623608d1baa
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Aug 30 22:42:55 2019 +0300

    ahci: Do not export local variable ahci_em_messages
    
    The commit ed08d40cdec4
      ("ahci: Changing two module params with static and __read_mostly")
    moved ahci_em_messages to be static while missing the fact of exporting it.
    
    WARNING: "ahci_em_messages" [vmlinux] is a static EXPORT_SYMBOL_GPL
    
    Drop export for the local variable ahci_em_messages.
    
    Fixes: ed08d40cdec4 ("ahci: Changing two module params with static and __read_mostly")
    Cc: Chuansheng Liu <chuansheng.liu@intel.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit aabbe344dc3ca5f7d8263a02608ba6179e8a4499
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 30 19:03:25 2019 +0100

    drm/i915: Use RCU for unlocked vm_idr lookup
    
    Since i915_address_space is now RCU protected, we can do the vm_idr lookup
    without taking the vm_idr_mutex, just with the rcu_read_lock() instead.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830180325.7755-1-chris@chris-wilson.co.uk

commit 0b2d2c2eecf27f403df60ebab06cad7b6bfe84f8
Author: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Date:   Tue Aug 27 12:14:47 2019 -0400

    drm/amdgpu: Handle job is NULL use case in amdgpu_device_gpu_recover
    
    This should be checked at all places job is accessed.
    
    Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit c1d143dd2ac8d481500fec4c0d715ff301d2766f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 30 19:00:00 2019 +0100

    drm/i915: Remove ppgtt->dirty_engines
    
    This is no longer used anywhere and so can be removed. However, tracking
    the dirty status on the ppgtt doesn't work very well if the ppgtt is
    shared, so perhaps for the best that it is no longer required.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830180000.24608-3-chris@chris-wilson.co.uk

commit 0b718ba1e884f64dce27c19311dd2859b87e56b9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 30 18:59:59 2019 +0100

    drm/i915/gtt: Downgrade Cherryview back to aliasing-ppgtt
    
    With the upcoming change in timing (dramatically reducing the latency
    between manipulating the ppGTT and execution), no amount of tweaking
    could save Cherryview, it would always fail to invalidate its TLB.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Acked-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830180000.24608-2-chris@chris-wilson.co.uk

commit 3dc007fe9b2b256d2779bb9e9a0d372eb1d90643
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 30 18:59:58 2019 +0100

    drm/i915/gtt: Downgrade gen7 (ivb, byt, hsw) back to aliasing-ppgtt
    
    With the upcoming change in timing (dramatically reducing the latency
    between manipulating the ppGTT and execution), no amount of tweaking
    could save Baytrail, it would always fail to invalidate its TLB. Ville
    was right, Baytrail is beyond hope.
    
    v2: Rollback on all gen7; same timing instability on TLB invalidation.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Acked-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830180000.24608-1-chris@chris-wilson.co.uk

commit 3940ba8eea8c6c89f547a1bd153977cece5fecd2
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 17 09:32:41 2019 +0200

    asm-generic: don't provide __ioremap
    
    __ioremap is not a kernel API, but used for helpers with differing
    semantics in arch code.  We should not provide it in as-generic.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Paul Walmsley <paul.walmsley@sifive.com>
    Tested-by: Paul Walmsley <paul.walmsley@sifive.com> # rv32, rv64 boot
    Acked-by: Paul Walmsley <paul.walmsley@sifive.com> # arch/riscv
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit 1a914990ffe997090a516681ac97519e7c1b22a2
Author: Colin Ian King <colin.king@canonical.com>
Date:   Fri Aug 30 10:07:11 2019 +0100

    wimax/i2400m: remove debug containing bogus calculation of index
    
    The subtraction of the two pointers is automatically scaled by the
    size of the size of the object the pointers point to, so the division
    by sizeof(*i2400m->barker) is incorrect.  This has been broken since
    day one of the driver and is only debug, so remove the debug completely.
    
    Also move && in condition to clean up a checkpatch warning.
    
    Addresses-Coverity: ("Extra sizeof expression")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 55507aea58824578610eb0cb5c250a0c997987c9
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Mon Aug 26 00:10:39 2019 +0200

    PCI: Remove unnecessary returns
    
    Remove unnecessary "return" statements at the end of void functions.  No
    functional change intended.
    
    Link: https://lore.kernel.org/r/20190825221039.6977-1-kw@linux.com
    Link: https://lore.kernel.org/r/20190826095143.21353-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit b071c1fd7a8ad041759d9a9e87d1b4333417e36c
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Aug 7 15:20:49 2019 +0200

    PCI: OF: Correct of_irq_parse_pci() documentation
    
    530210c7814e ("of/irq: Replace of_irq with of_phandle_args") changed the
    of_irq_parse_pci() parameter type but didn't change the corresponding
    documentation.  Update the function doc to match.
    
    Link: https://lore.kernel.org/r/20190807132049.10304-1-lkundrak@v3.sk
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit d1bbf38aaf882240cccca414e5a48db42e105da7
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Jul 30 08:04:00 2019 -0500

    PCI: Fix typos and whitespace errors
    
    Fix typos in drivers/pci.  Comment and whitespace changes only.
    
    Link: https://lore.kernel.org/r/20190819115306.27338-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>       # armada8k

commit 37b6b4dafa46ff9bfc96d26db0b71d04bce2b828
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Mon Jan 12 09:44:44 2015 +0300

    xtensa: add support for call0 ABI in userspace
    
    Provide a Kconfig choice to select whether only the default ABI, only
    call0 ABI or both are supported. The default for XEA2 is windowed, but
    it may change for XEA3. Call0 only runs userspace with PS.WOE disabled.
    Supporting both windowed and call0 ABIs is tricky, as there's no
    indication in the ELF binaries which ABI they use. So it is done by
    probing: each process is started with PS.WOE disabled, but the handler
    of an illegal instruction exception taken with PS.WOE retries faulting
    instruction after enabling PS.WOE. It must happen before any signal is
    delivered to the process, otherwise it may be delivered incorrectly.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>

commit 474f249f130ecaef3c4a9d4cb29a692d8ec05b1a
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Aug 30 11:16:06 2019 -0700

    xtensa: clean up PS_WOE_BIT usage
    
    PS_WOE_BIT is mainly used to generate PS.WOE mask in the code. Introduce
    PS_WOE_MASK macro and use it instead.
    
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>

commit d95f1a542c3df396137afa217ef9bd39cb8931ca
Author: Logan Gunthorpe <logang@deltatee.com>
Date:   Wed Aug 28 15:40:54 2019 -0600

    RISC-V: Implement sparsemem
    
    Implement sparsemem support for Risc-v which helps pave the
    way for memory hotplug and eventually P2P support.
    
    Introduce Kconfig options for virtual and physical address bits which
    are used to calculate the size of the vmemmap and set the
    MAX_PHYSMEM_BITS.
    
    The vmemmap is located directly before the VMALLOC region and sized
    such that we can allocate enough pages to populate all the virtual
    address space in the system (similar to the way it's done in arm64).
    
    During initialization, call memblocks_present() and sparse_init(),
    and provide a stub for vmemmap_populate() (all of which is similar to
    arm64).
    
    [greentime.hu@sifive.com: fixed pfn_valid, FIXADDR_TOP and fixed a bug
     rebasing onto v5.3]
    Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
    Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
    Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Cc: Albert Ou <aou@eecs.berkeley.edu>
    Cc: Andrew Waterman <andrew@sifive.com>
    Cc: Olof Johansson <olof@lixom.net>
    Cc: Michael Clark <michaeljclark@mac.com>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Zong Li <zong@andestech.com>
    Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
    [paul.walmsley@sifive.com: updated to apply; minor commit message
     reformat]
    Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>

commit 4f3f90084673fa1d7f8e81b9dbee652d2fae3092
Author: Bin Meng <bmeng.cn@gmail.com>
Date:   Wed Aug 7 09:13:38 2019 -0700

    riscv: Using CSR numbers to access CSRs
    
    Since commit a3182c91ef4e ("RISC-V: Access CSRs using CSR numbers"),
    we should prefer accessing CSRs using their CSR numbers, but there
    are several leftovers like sstatus / sptbr we missed.
    
    Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
    Reviewed-by: Anup Patel <anup@brainfault.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>

commit 40e98130c32889e4ed128d129b824107b90501fe
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Thu Aug 29 14:15:26 2019 -0700

    drm/i915: unify icp, tgp and mcc irq setup
    
    Use a single function to setup the SDE irq and make MCC, ICP and TGP use
    it, just like was done for the irq handler.
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829211526.30525-4-jose.souza@intel.com
    Signed-off-by: José Roberto de Souza <jose.souza@intel.com>

commit b32821c036310c49cdc45639b1d451b21fc3f17b
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Thu Aug 29 14:15:25 2019 -0700

    drm/i915: parameterize SDE hotplug registers
    
    Ice Lake, Tiger Lake and Elkhart Lake all have different port
    configurations and all of them can be parameterized the same way to form
    the SDE hotplug bitmask. Avoid making them a special case an just use
    the parameterized macros.
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829211526.30525-3-jose.souza@intel.com
    Signed-off-by: José Roberto de Souza <jose.souza@intel.com>

commit 58676af69c2eb1e0202215fcfc1d421f186226ed
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Thu Aug 29 14:15:24 2019 -0700

    drm/i915: unify icp, tgp and mcc irq handling
    
    The differences are only on the pins, trigger and long_detect function.
    The MCC handling is already partially merged, so merge TGP as well.
    Remove the pins argument from icp_irq_handler() so we have all the
    differences between the 3 set in a common if ladder.
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829211526.30525-2-jose.souza@intel.com
    Signed-off-by: José Roberto de Souza <jose.souza@intel.com>

commit ed3126fa0d393825f2f134668b31363581035825
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Thu Aug 29 14:15:23 2019 -0700

    drm/i915: parameterize south hpd macros
    
    South, follow the north.
    
    Instead of defining separate macros for each port, make them take port
    as parameter as done for TC ports and for north engine. This will allow
    us to easily extend this as needed.
    
    tgp_ddi_port_hotplug_long_detect() is also removed as after the EHL
    introduction the tgp variant is an exact copy of icp.
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829211526.30525-1-jose.souza@intel.com
    Signed-off-by: José Roberto de Souza <jose.souza@intel.com>

commit 20a438d53fd9d12a894161bc56cbeab7a9993c39
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Fri Aug 23 09:26:32 2019 -0300

    media: sun4i: Make sun4i_csi_formats static
    
    The sun4i_csi_formats array is only used in sun4i_v4l2.c, so it doesn't
    make any sense to have it !static.
    
    [Sakari Ailus: const static -> static const]
    
    Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

commit 497144a5b7af12097c09b0ca30409ee7122499a0
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Wed Aug 28 14:52:09 2019 +0200

    ASoC: dt-bindings: Convert Allwinner A64 analog codec to a schema
    
    The Allwinner A64 SoC has an embedded audio codec that uses a separate
    controller to drive its analog part, which is supported in Linux, with a
    matching Device Tree binding.
    
    Now that we have the DT validation in place, let's convert the device tree
    bindings for that controller over to a YAML schemas.
    
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Link: https://lore.kernel.org/r/20190828125209.28173-5-mripard@kernel.org
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 8a99f76ac1a591f27f5216951bf8a8fdad58e987
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Wed Aug 28 14:52:07 2019 +0200

    ASoC: dt-bindings: Convert Allwinner A33 codec to a schema
    
    The Allwinner A33 SoC have an embedded audio codec that is supported in Linux,
    with a matching Device Tree binding.
    
    Now that we have the DT validation in place, let's convert the device tree
    bindings for that controller over to a YAML schemas.
    
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Link: https://lore.kernel.org/r/20190828125209.28173-3-mripard@kernel.org
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 1a8e7cdfa4f5872bf0c202d09bff6628aba6b9f6
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Wed Aug 28 14:52:05 2019 +0200

    ASoC: dt-bindings: sun4i-spdif: Fix dma-names warning
    
    Even though the H6 compatible has been properly added, the exeption for the
    number of DMA channels hasn't been updated, leading in a validation
    warning.
    
    Fix this.
    
    Fixes: b20453031472 ("dt-bindings: sound: sun4i-spdif: Add Allwinner H6 compatible")
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Link: https://lore.kernel.org/r/20190828125209.28173-1-mripard@kernel.org
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit c321d43b8da1b81a7902cfc9f6b93e75941c0066
Author: Tycho Andersen <tycho@tycho.ws>
Date:   Mon Aug 26 08:43:02 2019 -0600

    selftests/seccomp: fix build on older kernels
    
    The seccomp selftest goes to some length to build against older kernel
    headers, viz. all the #ifdefs at the beginning of the file.
    
    Commit 201766a20e30 ("ptrace: add PTRACE_GET_SYSCALL_INFO request")
    introduces some additional macros, but doesn't do the #ifdef dance.
    Let's add that dance here to avoid:
    
    gcc -Wl,-no-as-needed -Wall  seccomp_bpf.c -lpthread -o seccomp_bpf
    In file included from seccomp_bpf.c:51:
    seccomp_bpf.c: In function ‘tracer_ptrace’:
    seccomp_bpf.c:1787:20: error: ‘PTRACE_EVENTMSG_SYSCALL_ENTRY’ undeclared (first use in this function); did you mean ‘PTRACE_EVENT_CLONE’?
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    seccomp_bpf.c:1787:20: note: each undeclared identifier is reported only once for each function it appears in
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    seccomp_bpf.c:1788:6: error: ‘PTRACE_EVENTMSG_SYSCALL_EXIT’ undeclared (first use in this function); did you mean ‘PTRACE_EVENT_EXIT’?
        : PTRACE_EVENTMSG_SYSCALL_EXIT, msg);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    make: *** [Makefile:12: seccomp_bpf] Error 1
    
    [skhan@linuxfoundation.org: Fix checkpatch error in commit log]
    Signed-off-by: Tycho Andersen <tycho@tycho.ws>
    Fixes: Commit 201766a20e30 ("ptrace: add PTRACE_GET_SYSCALL_INFO request")
    Acked-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 5ad32b3acded06183f40806f76b030c3143017bb
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jun 23 16:17:10 2019 -0700

    isofs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Reference: http://www.ecma-international.org/publications/standards/Ecma-119.htm
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>

commit 83b8a3fbe3aa82ac3c253b698ae6a9be2dbdd5e0
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jun 23 16:00:01 2019 -0700

    pstore: fs superblock limits
    
    Leaving granularity at 1ns because it is dependent on the specific
    attached backing pstore module. ramoops has microsecond resolution.
    
    Fix the readback of ramoops fractional timestamp microseconds,
    which has incorrectly been reporting the value as nanoseconds.
    
    Fixes: 3f8f80f0cfeb ("pstore/ram: Read and write to the 'compressed' flag of pstore").
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Kees Cook <keescook@chromium.org>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: anton@enomsg.org
    Cc: ccross@android.com
    Cc: keescook@chromium.org
    Cc: tony.luck@intel.com

commit 8833293d0accf2b6a9ddaaafd198f7e1bf1d3dc6
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jun 23 15:10:51 2019 -0700

    fs: omfs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Bob Copeland <me@bobcopeland.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: me@bobcopeland.com
    Cc: linux-karma-devel@lists.sourceforge.net

commit cdd62b5b07e8d4e0a397254688b8178f3a7e03d1
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Mon Jul 1 17:09:38 2019 -0700

    fs: hpfs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Also change the local_to_gmt() to use time64_t instead
    of time32_t.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: mikulas@artax.karlin.mff.cuni.cz

commit 45d0dbd15a3b89ced53e058bc71b751e6473b664
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:17 2019 -0500

    drm/panfrost: Remove unnecessary hwaccess_lock spin_lock
    
    With the introduction of the as_lock to serialize address space registers,
    the hwaccess_lock is only used within the job code and is not protecting
    anything. panfrost_job_hw_submit() only accesses registers for 1 job slot
    and it's already serialized by drm_sched.
    
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-9-robh@kernel.org

commit 62f1089f3cbe7d99ced92bf96a8158813b75e5e8
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:16 2019 -0500

    drm/panfrost: Flush and disable address space when freeing page tables
    
    Currently, page tables are freed without disabling the address space first.
    This probably is fine as we'll switch to new page tables when the address
    space is allocated again and runtime PM suspend will reset the GPU
    clearing the registers. However, it's better to clean up after ourselves.
    There is also a problem that we could be accessing the h/w in
    tlb_inv_context() when suspended.
    
    Rework the disable code to make sure we flush caches/TLBs and disable the
    address space before freeing the page tables if we are not suspended. As
    the tlb_inv_context() hook is only called when freeing the page tables and
    we do a flush before disabling the AS, lets remove the flush from
    tlb_inv_context and avoid any runtime PM issues.
    
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-8-robh@kernel.org

commit 5924d40958dfc2b8996fbf788a9d58e411a6db71
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:15 2019 -0500

    drm/panfrost: Add cache/TLB flush before switching address space
    
    It's not entirely clear if this is required, but add a flush of GPU caches
    and TLBs before we change an address space to new page tables.
    
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-7-robh@kernel.org

commit 86df65f39b009e00cf2826eac72c5a969b878065
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:14 2019 -0500

    drm/panfrost: Split mmu_hw_do_operation into locked and unlocked version
    
    In preparation to call mmu_hw_do_operation with the as_lock already held,
    Add a mmu_hw_do_operation_locked function.
    
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-6-robh@kernel.org

commit ec7eba47da867e1dd0ff7d442a8717d70c064658
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:13 2019 -0500

    drm/panfrost: Rework page table flushing and runtime PM interaction
    
    There is no point in resuming the h/w just to do flush operations and
    doing so takes several locks which cause lockdep issues with the shrinker.
    Rework the flush operations to only happen when the h/w is already awake.
    This avoids taking any locks associated with resuming which trigger
    lockdep warnings.
    
    Fixes: 013b65101315 ("drm/panfrost: Add madvise and shrinker support")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-5-robh@kernel.org

commit e316f08f1abf5f1116118e25dce7bc3e9ab03246
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:12 2019 -0500

    drm/panfrost: Remove unnecessary mmu->lock mutex
    
    There's no need to serialize io-pgtable calls and the as_lock is
    sufficient to serialize flush operations, so we can remove the per
    page table lock.
    
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Suggested-by: Robin Murphy <robin.murphy@arm.com>
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-4-robh@kernel.org

commit 330bec4b7ccf4a556469cfec2ad695a180e35954
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:11 2019 -0500

    drm/panfrost: Hold runtime PM reference until jobs complete
    
    Doing a pm_runtime_put as soon as a job is submitted is wrong as it should
    not happen until the job completes. It works currently because we are
    relying on the autosuspend timeout to keep the h/w enabled.
    
    Fixes: f3ba91228e8e ("drm/panfrost: Add initial panfrost driver")
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: Steven Price <steven.price@arm.com>
    Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-3-robh@kernel.org

commit 635430797d3fccb958e929d3911e39cb9c1ea641
Author: Rob Herring <robh@kernel.org>
Date:   Mon Aug 26 17:33:10 2019 -0500

    drm/panfrost: Rework runtime PM initialization
    
    There's a few issues with the runtime PM initialization.
    
    The documentation states pm_runtime_set_active() should be called before
    pm_runtime_enable(). The pm_runtime_put_autosuspend() could suspend the GPU
    before panfrost_perfcnt_init() is called which touches the h/w. The
    autosuspend delay keeps things from breaking. There's no need explicitly
    power off the GPU only to wake back up with pm_runtime_get_sync(). Just
    delaying pm_runtime_enable to the end of probe is sufficient.
    
    Lets move all the runtime PM calls into the probe() function so they are
    all in one place and are done after all initialization.
    
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: Steven Price <steven.price@arm.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-2-robh@kernel.org

commit 8758553791dfb31ec2640f6b69df748720c0b1a4
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Thu Aug 29 23:03:27 2019 -0500

    iommu/qcom: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct qcom_iommu_dev {
            ...
            struct qcom_iommu_ctx   *ctxs[0];   /* indexed by asid-1 */
    };
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following form:
    
    sizeof(*qcom_iommu) + (max_asid * sizeof(qcom_iommu->ctxs[0]))
    
    with:
    
    struct_size(qcom_iommu, ctxs, max_asid)
    
    Also, notice that, in this case, variable sz is not necessary,
    hence it is removed.
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit d127bc9be856098cc2410c1266ed64e258bc5377
Author: Tom Murphy <murphyt7@tcd.ie>
Date:   Mon Aug 26 05:48:21 2019 +0100

    iommu: Remove wrong default domain comments
    
    These comments are wrong. request_default_domain_for_dev doesn't just
    handle direct mapped domains.
    
    Signed-off-by: Tom Murphy <murphyt7@tcd.ie>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 7893b59b1e2d3ff954ecc5a407f7e4fde078d6d2
Author: Jacob Pan <jacob.jun.pan@linux.intel.com>
Date:   Mon Aug 26 08:53:29 2019 -0700

    iommu/vt-d: Remove global page flush support
    
    Global pages support is removed from VT-d spec 3.0. Since global pages G
    flag only affects first-level paging structures and because DMA request
    with PASID are only supported by VT-d spec. 3.0 and onward, we can
    safely remove global pages support.
    
    For kernel shared virtual address IOTLB invalidation, PASID
    granularity and page selective within PASID will be used. There is
    no global granularity supported. Without this fix, IOTLB invalidation
    will cause invalid descriptor error in the queued invalidation (QI)
    interface.
    
    Fixes: 1c4f88b7f1f9 ("iommu/vt-d: Shared virtual address in scalable
    mode")
    Reported-by: Sanjay K Kumar <sanjay.k.kumar@intel.com>
    Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 028ca4db0a6e0be470ae866d1afd63e8740aa3e7
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Thu Mar 21 14:34:38 2019 -0700

    fs: ceph: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    According to the disscussion in
    https://patchwork.kernel.org/patch/8308691/ we agreed to use
    unsigned 32 bit timestamps on ceph.
    Update the limits accordingly.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: zyan@redhat.com
    Cc: sage@redhat.com
    Cc: idryomov@gmail.com
    Cc: ceph-devel@vger.kernel.org

commit 452c2779410a03ac0c6be0a8a91c83aa80bdd7e5
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Fri Mar 8 12:40:03 2019 -0800

    fs: sysv: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: hch@infradead.org

commit 487b25bc4be9c15a5edb81c4e52160b5e84d1c4f
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Thu Mar 21 14:05:12 2019 -0700

    fs: affs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Also fix timestamp calculation to avoid overflow
    while converting from days to seconds.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: David Sterba <dsterba@suse.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: dsterba@suse.com

commit c0da64f6bb674d20a8e84bcd30679c1483668fb2
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Fri Mar 22 16:42:54 2019 -0700

    fs: fat: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Some FAT variants indicate that the years after 2099 are not supported.
    Since commit 7decd1cb0305 ("fat: Fix and cleanup timestamp conversion")
    we support the full range of years that can be represented, up to 2107.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: hirofumi@mail.parknet.co.jp

commit cb7a69e605908c34aad47644afeb26a765ade8d7
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Fri Mar 22 14:32:35 2019 -0700

    fs: cifs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Also fixed cnvrtDosUnixTm calculations to avoid int overflow
    while computing maximum date.
    
    References:
    
    http://cifs.com/
    
    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/d416ff7c-c536-406e-a951-4f04b2fd1d2b
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: sfrench@samba.org
    Cc: linux-cifs@vger.kernel.org

commit 1fcb79c1b218018b64919de8af20e64340850716
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Tue Mar 26 12:55:56 2019 -0700

    fs: nfs: Initialize filesystem timestamp ranges
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    The time formats for various verious is detailed in the
    RFCs as below:
    
    https://tools.ietf.org/html/rfc7862(time metadata)
    https://tools.ietf.org/html/rfc7530:
    
    nfstime4
    
       struct nfstime4 {
               int64_t         seconds;
               uint32_t        nseconds;
       };
    
    https://tools.ietf.org/html/rfc1094
    
              struct timeval {
                  unsigned int seconds;
                  unsigned int useconds;
              };
    
    https://tools.ietf.org/html/rfc1813
    
    struct nfstime3 {
             uint32   seconds;
             uint32   nseconds;
          };
    
    Use the limits as per the RFC.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: trond.myklebust@hammerspace.com
    Cc: anna.schumaker@netapp.com
    Cc: linux-nfs@vger.kernel.org

commit 4881c4971df04107b37c29bb6c719ec29ceb6571
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jan 21 18:04:24 2018 -0800

    ext4: Initialize timestamps limits
    
    ext4 has different overflow limits for max filesystem
    timestamps based on the extra bytes available.
    
    The timestamp limits are calculated according to the
    encoding table in
    a4dad1ae24f85i(ext4: Fix handling of extended tv_sec):
    
    * extra  msb of                         adjust for signed
    * epoch  32-bit                         32-bit tv_sec to
    * bits   time    decoded 64-bit tv_sec  64-bit tv_sec      valid time range
    * 0 0    1    -0x80000000..-0x00000001  0x000000000   1901-12-13..1969-12-31
    * 0 0    0    0x000000000..0x07fffffff  0x000000000   1970-01-01..2038-01-19
    * 0 1    1    0x080000000..0x0ffffffff  0x100000000   2038-01-19..2106-02-07
    * 0 1    0    0x100000000..0x17fffffff  0x100000000   2106-02-07..2174-02-25
    * 1 0    1    0x180000000..0x1ffffffff  0x200000000   2174-02-25..2242-03-16
    * 1 0    0    0x200000000..0x27fffffff  0x200000000   2242-03-16..2310-04-04
    * 1 1    1    0x280000000..0x2ffffffff  0x300000000   2310-04-04..2378-04-22
    * 1 1    0    0x300000000..0x37fffffff  0x300000000   2378-04-22..2446-05-10
    
    Note that the time limits are not correct for deletion times.
    
    Added a warn when an inode cannot be extended to incorporate an
    extended timestamp.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Reviewed-by: Andreas Dilger <adilger@dilger.ca>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: tytso@mit.edu
    Cc: adilger.kernel@dilger.ca
    Cc: linux-ext4@vger.kernel.org

commit d5c6e2d5188d9677462f3827034d060372a13b6e
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Wed Mar 6 14:09:42 2019 -0800

    9p: Fill min and max timestamps in sb
    
    struct p9_wstat and struct p9_stat_dotl indicate that the
    wire transport uses u32 and u64 fields for timestamps.
    Fill in the appropriate limits to avoid inconsistencies in
    the vfs cached inode times when timestamps are outside the
    permitted range.
    
    Note that the upper bound for V9FS_PROTO_2000L is retained as S64_MAX.
    This is because that is the upper bound supported by vfs.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: ericvh@gmail.com
    Cc: lucho@ionkov.net
    Cc: asmadeus@codewreck.org
    Cc: v9fs-developer@lists.sourceforge.net

commit 22b139691f9eb8b9d0bfd7341fa7436cb7a9491d
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Tue Jul 30 08:22:29 2019 -0700

    fs: Fill in max and min timestamps in superblock
    
    Fill in the appropriate limits to avoid inconsistencies
    in the vfs cached inode times when timestamps are
    outside the permitted range.
    
    Even though some filesystems are read-only, fill in the
    timestamps to reflect the on-disk representation.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Acked-By: Tigran Aivazian <aivazian.tigran@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: aivazian.tigran@gmail.com
    Cc: al@alarsen.net
    Cc: coda@cs.cmu.edu
    Cc: darrick.wong@oracle.com
    Cc: dushistov@mail.ru
    Cc: dwmw2@infradead.org
    Cc: hch@infradead.org
    Cc: jack@suse.com
    Cc: jaharkes@cs.cmu.edu
    Cc: luisbg@kernel.org
    Cc: nico@fluxnic.net
    Cc: phillip@squashfs.org.uk
    Cc: richard@nod.at
    Cc: salah.triki@gmail.com
    Cc: shaggy@kernel.org
    Cc: linux-xfs@vger.kernel.org
    Cc: codalist@coda.cs.cmu.edu
    Cc: linux-ext4@vger.kernel.org
    Cc: linux-mtd@lists.infradead.org
    Cc: jfs-discussion@lists.sourceforge.net
    Cc: reiserfs-devel@vger.kernel.org

commit 42e729b9ddbbc40e5732f062ef2fa0554c652fb5
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jan 21 18:04:26 2018 -0800

    utimes: Clamp the timestamps before update
    
    POSIX is ambiguous on the behavior of timestamps for
    futimens, utimensat and utimes. Whether to return an
    error or silently clamp a timestamp beyond the range
    supported by the underlying filesystems is not clear.
    
    POSIX.1 section for futimens, utimensat and utimes says:
    (http://pubs.opengroup.org/onlinepubs/9699919799/functions/futimens.html)
    
    The file's relevant timestamp shall be set to the greatest
    value supported by the file system that is not greater
    than the specified time.
    
    If the tv_nsec field of a timespec structure has the special
    value UTIME_NOW, the file's relevant timestamp shall be set
    to the greatest value supported by the file system that is
    not greater than the current time.
    
    [EINVAL]
        A new file timestamp would be a value whose tv_sec
        component is not a value supported by the file system.
    
    The patch chooses to clamp the timestamps according to the
    filesystem timestamp ranges and does not return an error.
    This is in line with the behavior of utime syscall also
    since the POSIX page(http://pubs.opengroup.org/onlinepubs/009695399/functions/utime.html)
    for utime does not mention returning an error or clamping like above.
    
    Same for utimes http://pubs.opengroup.org/onlinepubs/009695399/functions/utimes.html
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>

commit f8b92ba67c5d3a9e9468320078a97d950a3e748b
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Mon Apr 15 14:17:12 2019 -0700

    mount: Add mount warning for impending timestamp expiry
    
    The warning reuses the uptime max of 30 years used by
    settimeofday().
    
    Note that the warning is only emitted for writable filesystem mounts
    through the mount syscall. Automounts do not have the same warning.
    
    Print out the warning in human readable format using the struct tm.
    After discussion with Arnd Bergmann, we chose to print only the year number.
    The raw s_time_max is also displayed, and the user can easily decode
    it e.g. "date -u -d @$((0x7fffffff))". We did not want to consolidate
    struct rtc_tm and struct tm just to print the date using a format specifier
    as part of this series.
    Given that the rtc_tm is not compiled on all architectures, this is not a
    trivial patch. This can be added in the future.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>

commit 3818c1907a5e4e8fbd57fb14cea77de7c507111a
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sat Jun 15 09:00:05 2019 -0700

    timestamp_truncate: Replace users of timespec64_trunc
    
    Update the inode timestamp updates to use timestamp_truncate()
    instead of timespec64_trunc().
    
    The change was mostly generated by the following coccinelle
    script.
    
    virtual context
    virtual patch
    
    @r1 depends on patch forall@
    struct inode *inode;
    identifier i_xtime =~ "^i_[acm]time$";
    expression e;
    @@
    
    inode->i_xtime =
    - timespec64_trunc(
    + timestamp_truncate(
    ...,
    - e);
    + inode);
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Acked-by: Jeff Layton <jlayton@kernel.org>
    Cc: adrian.hunter@intel.com
    Cc: dedekind1@gmail.com
    Cc: gregkh@linuxfoundation.org
    Cc: hch@lst.de
    Cc: jaegeuk@kernel.org
    Cc: jlbec@evilplan.org
    Cc: richard@nod.at
    Cc: tj@kernel.org
    Cc: yuchao0@huawei.com
    Cc: linux-f2fs-devel@lists.sourceforge.net
    Cc: linux-ntfs-dev@lists.sourceforge.net
    Cc: linux-mtd@lists.infradead.org

commit 50e17c000c467fbc927fc001df99beb4027a5323
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jan 21 18:04:25 2018 -0800

    vfs: Add timestamp_truncate() api
    
    timespec_trunc() function is used to truncate a
    filesystem timestamp to the right granularity.
    But, the function does not clamp tv_sec part of the
    timestamps according to the filesystem timestamp limits.
    
    The replacement api: timestamp_truncate() also alters the
    signature of the function to accommodate filesystem
    timestamp clamping according to flesystem limits.
    
    Note that the tv_nsec part is set to 0 if tv_sec is not within
    the range supported for the filesystem.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>

commit 188d20bcd1ebd8277d9b8a79525bd66b66d40a2a
Author: Deepa Dinamani <deepa.kernel@gmail.com>
Date:   Sun Jan 21 18:04:23 2018 -0800

    vfs: Add file timestamp range support
    
    Add fields to the superblock to track the min and max
    timestamps supported by filesystems.
    
    Initially, when a superblock is allocated, initialize
    it to the max and min values the fields can hold.
    Individual filesystems override these to match their
    actual limits.
    
    Pseudo filesystems are assumed to always support the
    min and max allowable values for the fields.
    
    Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
    Acked-by: Jeff Layton <jlayton@kernel.org>

commit 0ce4a85f4f015d13a6a6b4954f4e8e63cd83f7b1
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Mon Aug 26 16:50:56 2019 +0800

    Revert "iommu/vt-d: Avoid duplicated pci dma alias consideration"
    
    This reverts commit 557529494d79f3f1fadd486dd18d2de0b19be4da.
    
    Commit 557529494d79f ("iommu/vt-d: Avoid duplicated pci dma alias
    consideration") aimed to address a NULL pointer deference issue
    happened when a thunderbolt device driver returned unexpectedly.
    
    Unfortunately, this change breaks a previous pci quirk added by
    commit cc346a4714a59 ("PCI: Add function 1 DMA alias quirk for
    Marvell devices"), as the result, devices like Marvell 88SE9128
    SATA controller doesn't work anymore.
    
    We will continue to try to find the real culprit mentioned in
    557529494d79f, but for now we should revert it to fix current
    breakage.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204627
    Cc: Stijn Tintel <stijn@linux-ipv6.be>
    Cc: Petr Vandrovec <petr@vandrovec.name>
    Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
    Reported-by: Petr Vandrovec <petr@vandrovec.name>
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 2178add02238f8352f5b3294a79f4763183aade6
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Aug 22 11:26:32 2019 +0200

    irqchip/mmp: Coexist with GIC root IRQ controller
    
    On MMP3, the GIC can be set as a root IRQ interrupt controller. If the
    device tree indicated that GIC is enabled, avoid hooking up
    mmp2_handle_irq().
    
    The interrupt muxes are still being used.
    
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20190822092643.593488-10-lkundrak@v3.sk

commit 9e8e8912b05f276dd02d39cb596dc3cf03718377
Author: Andres Salomon <dilinger@queued.net>
Date:   Thu Aug 22 11:26:31 2019 +0200

    irqchip/mmp: Mask off interrupts from other cores
    
    On mmp3, there's an extra set of ICU registers (ICU2) that handle
    interrupts on the extra cores.  When masking off interrupts on MP1,
    these should be masked as well.
    
    We add a new interrupt controller via device tree to identify when we're
    looking at an mmp3 machine via compatible field of "marvell,mmp3-intc".
    
    [lkundrak@v3.sk: Changed "mrvl,mmp3-intc" compatible strings to
    "marvell,mmp3-intc". Tidied up the subject line a bit.]
    
    Signed-off-by: Andres Salomon <dilinger@queued.net>
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20190822092643.593488-9-lkundrak@v3.sk
    --
    Changes since v1:
    - Moved mmp3-specific mmp_icu2_base initialization from mmp_init_bases() to
      mmp3_of_init() so that we don't have to check for marvell,mmp3-intc
      compatibility twice.
    - Drop an superfluous call to irq_set_default_host()
    
     arch/arm/mach-mmp/regs-icu.h |  3 +++
     drivers/irqchip/irq-mmp.c    | 48 ++++++++++++++++++++++++++++++++++++
     2 files changed, 51 insertions(+)
    
    Signed-off-by: Andres Salomon <dilinger@queued.net>
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20190822092643.593488-9-lkundrak@v3.sk

commit a46bc5fd8b205050ebbdccc6d5ca4124edb8dc6c
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Aug 22 11:26:30 2019 +0200

    irqchip/mmp: Add missing chained_irq_{enter,exit}()
    
    The lack of chained_irq_exit() leaves the muxed interrupt masked on MMP3.
    For reasons unknown this is not a problem on MMP2.
    
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20190822092643.593488-8-lkundrak@v3.sk

commit d6a95280ba169c3a3d632d983cc6977c544a06e8
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Aug 22 11:26:29 2019 +0200

    irqchip/mmp: Do not use of_address_to_resource() to get mux regs
    
    The "regs" property of the "mrvl,mmp2-mux-intc" devices are silly. They
    are offsets from intc's base, not addresses on the parent bus. At this
    point it probably can't be fixed.
    
    On an OLPC XO-1.75 machine, the muxes are children of the intc, not the
    axi bus, and thus of_address_to_resource() won't work. We should treat
    the values as mere integers as opposed to bus addresses.
    
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Link: https://lore.kernel.org/r/20190822092643.593488-7-lkundrak@v3.sk

commit 6b0c54e7f2715997c366e8374209bc74259b0a59
Author: Yunsheng Lin <linyunsheng@huawei.com>
Date:   Sat Aug 24 09:47:12 2019 +0800

    iommu/dma: Fix for dereferencing before null checking
    
    The cookie is dereferenced before null checking in the function
    iommu_dma_init_domain.
    
    This patch moves the dereferencing after the null checking.
    
    Fixes: fdbe574eb693 ("iommu/dma: Allow MSI-only cookies")
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit b2fb4b77994abc1107c35547f3e123dce8e9f67d
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Thu Aug 29 18:16:35 2019 +0200

    irqchip/meson-gpio: Add support for meson sm1 SoCs
    
    The meson sm1 SoCs uses the same type of GPIO interrupt controller IP
    block as the other meson SoCs, A total of 100 pins can be spied on:
    
    - 223:100 undefined (no interrupt)
    - 99:97   3 pins on bank GPIOE
    - 96:77   20 pins on bank GPIOX
    - 76:61   16 pins on bank GPIOA
    - 60:53   8 pins on bank GPIOC
    - 52:37   16 pins on bank BOOT
    - 36:28   9 pins on bank GPIOH
    - 27:12   16 pins on bank GPIOZ
    - 11:0    12 pins in the AO domain
    
    Mapping is the same as the g12a family but the sm1 controller
    allows to trig an irq on both edges of the input signal. This was
    not possible with the previous SoCs families
    
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Tested-by: Kevin Hilman <khilman@baylibre.com>
    Reviewed-by: Kevin Hilman <khilman@baylibre.com>
    Link: https://lore.kernel.org/r/20190829161635.25067-3-jbrunet@baylibre.com

commit abc08aac82af0c71e30b446575f5810c9cc11640
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Thu Aug 29 18:16:34 2019 +0200

    dt-bindings: interrupt-controller: New binding for the meson sm1 SoCs
    
    Update the dt-binding to add support for the sm1 SoC family in the
    amlogic GPIO interrupt controller driver.
    
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20190829161635.25067-2-jbrunet@baylibre.com

commit 1ee9feb2c9f893b893c900d2492c6a01dca680f3
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:08 2019 +0800

    iommu/mediatek: Clean up struct mtk_smi_iommu
    
    Remove the "struct mtk_smi_iommu" to simplify the code since it has only
    one item in it right now.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit ec2da07ca1202552d87fb01b238d46642817da2b
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:07 2019 +0800

    memory: mtk-smi: Get rid of need_larbid
    
    The "mediatek,larb-id" has already been parsed in MTK IOMMU driver.
    It's no need to parse it again in SMI driver. Only clean some codes.
    This patch is fit for all the current mt2701, mt2712, mt7623, mt8173
    and mt8183.
    
    After this patch, the "mediatek,larb-id" only be needed for mt2712
    which have 2 M4Us. In the other SoCs, we can get the larb-id from M4U
    in which the larbs in the "mediatek,larbs" always are ordered.
    
    Correspondingly, the larb_nr in the "struct mtk_smi_iommu" could also
    be deleted.
    
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit b9475b3471f81a60a727886230b0903be72dc96d
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:06 2019 +0800

    iommu/mediatek: Fix VLD_PA_RNG register backup when suspend
    
    The register VLD_PA_RNG(0x118) was forgot to backup while adding 4GB
    mode support for mt2712. this patch add it.
    
    Fixes: 30e2fccf9512 ("iommu/mediatek: Enlarge the validate PA range
    for 4GB mode")
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 567e58cf96dda2cc1d8dbdafbc1c089b5ea2be25
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:05 2019 +0800

    memory: mtk-smi: Add bus_sel for mt8183
    
    There are 2 mmu cells in a M4U HW. we could adjust some larbs entering
    mmu0 or mmu1 to balance the bandwidth via the smi-common register
    SMI_BUS_SEL(0x220)(Each larb occupy 2 bits).
    
    In mt8183, For better performance, we switch larb1/2/5/7 to enter
    mmu1 while the others still keep enter mmu0.
    
    In mt8173 and mt2712, we don't get the performance issue,
    Keep its default value(0x0), that means all the larbs enter mmu0.
    
    Note: smi gen1(mt2701/mt7623) don't have this bus_sel.
    
    And, the base of smi-common is completely different with smi_ao_base
    of gen1, thus I add new variable for that.
    
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 4f0a1a1ae35197e9b7a6d11b4e881bcfe973ad8f
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:04 2019 +0800

    memory: mtk-smi: Invoke pm runtime_callback to enable clocks
    
    This patch only move the clk_prepare_enable and config_port into the
    runtime suspend/resume callback. It doesn't change the code content
    and sequence.
    
    This is a preparing patch for adjusting SMI_BUS_SEL for mt8183.
    (SMI_BUS_SEL need to be restored after smi-common resume every time.)
    Also it gives a chance to get rid of mtk_smi_larb_get/put which could
    be a next topic.
    
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 15a01f4c60607ad888faf0386070181f9c97577f
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:03 2019 +0800

    iommu/mediatek: Add mmu1 support
    
    Normally the M4U HW connect EMI with smi. the diagram is like below:
                  EMI
                   |
                  M4U
                   |
                smi-common
                   |
           -----------------
           |    |    |     |    ...
        larb0 larb1  larb2 larb3
    
    Actually there are 2 mmu cells in the M4U HW, like this diagram:
    
                  EMI
               ---------
                |     |
               mmu0  mmu1     <- M4U
                |     |
               ---------
                   |
                smi-common
                   |
           -----------------
           |    |    |     |    ...
        larb0 larb1  larb2 larb3
    
    This patch add support for mmu1. In order to get better performance,
    we could adjust some larbs go to mmu1 while the others still go to
    mmu0. This is controlled by a SMI COMMON register SMI_BUS_SEL(0x220).
    
    mt2712, mt8173 and mt8183 M4U HW all have 2 mmu cells. the default
    value of that register is 0 which means all the larbs go to mmu0
    defaultly.
    
    This is a preparing patch for adjusting SMI_BUS_SEL for mt8183.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 907ba6a195991adb2a3edf4aff0d8dbb308d4d97
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:02 2019 +0800

    iommu/mediatek: Add mt8183 IOMMU support
    
    The M4U IP blocks in mt8183 is MediaTek's generation2 M4U which use
    the ARM Short-descriptor like mt8173, and most of the HW registers
    are the same.
    
    Here list main differences between mt8183 and mt8173/mt2712:
    1) mt8183 has only one M4U HW like mt8173 while mt2712 has two.
    2) mt8183 don't have the "bclk" clock, it use the EMI clock instead.
    3) mt8183 can support the dram over 4GB, but it doesn't call this "4GB
    mode".
    4) mt8183 pgtable base register(0x0) extend bit[1:0] which represent
    the bit[33:32] in the physical address of the pgtable base, But the
    standard ttbr0[1] means the S bit which is enabled defaultly, Hence,
    we add a mask.
    5) mt8183 HW has a GALS modules, SMI should enable "has_gals" support.
    6) mt8183 need reset_axi like mt8173.
    7) the larb-id in smi-common is remapped. M4U should add its larbid_remap.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 64fea74a0d205ac9aff39997e5fe9d64115a4bd3
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:01 2019 +0800

    memory: mtk-smi: Add gals support
    
    In some SoCs like mt8183, SMI add GALS(Global Async Local Sync) module
    which can help synchronize for the modules in different clock frequency.
    It can be seen as a "asynchronous fifo". This is a example diagram:
    
                M4U
                 |
             ----------
             |        |
         gals0-rx   gals1-rx
             |        |
             |        |
         gals0-tx   gals1-tx
             |        |
            ------------
             SMI Common
            ------------
                 |
      +-----+--------+-----+- ...
      |     |        |     |
      |  gals-rx  gals-rx  |
      |     |        |     |
      |     |        |     |
      |  gals-tx  gals-tx  |
      |     |        |     |
    larb1 larb2   larb3  larb4
    
    GALS only help transfer the command/data while it doesn't have the
    configuring register, thus it has the special "smi" clock and doesn't
    have the "apb" clock. From the diagram above, we add "gals0" and
    "gals1" clocks for smi-common and add a "gals" clock for smi-larb.
    
    This patch adds gals clock supporting in the SMI. Note that some larbs
    may still don't have the "gals" clock like larb1 and larb4 above.
    
    This is also a preparing patch for mt8183 which has GALS.
    
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 2b326d8b1d2b443c3dad96f54c6b279559f87751
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:02:00 2019 +0800

    iommu/mediatek: Move vld_pa_rng into plat_data
    
    Both mt8173 and mt8183 don't have this vld_pa_rng(valid physical address
    range) register while mt2712 have. Move it into the plat_data.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 50822b0b948fabfc8bcee9a89d031c276b135506
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:59 2019 +0800

    iommu/mediatek: Move reset_axi into plat_data
    
    In mt8173 and mt8183, 0x48 is REG_MMU_STANDARD_AXI_MODE while it is
    REG_MMU_CTRL in the other SoCs, and the bits meaning is completely
    different with the REG_MMU_STANDARD_AXI_MODE.
    
    This patch moves this property to plat_data, it's also a preparing
    patch for mt8183.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit acb3c92a61306a8bc3b6bb8ed72977201affdd9a
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:58 2019 +0800

    iommu/mediatek: Refine protect memory definition
    
    The protect memory setting is a little different in the different SoCs.
    In the register REG_MMU_CTRL_REG(0x110), the TF_PROT(translation fault
    protect) shift bit is normally 4 while it shift 5 bits only in the
    mt8173. This patch delete the complex MACRO and use a common if-else
    instead.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit b3e5eee76548f621bb1c3e9dab4a4ff98bebf0de
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:57 2019 +0800

    iommu/mediatek: Add larb-id remapped support
    
    The larb-id may be remapped in the smi-common, this means the
    larb-id reported in the mtk_iommu_isr isn't the real larb-id,
    
    Take mt8183 as a example:
                           M4U
                            |
    ---------------------------------------------
    |               SMI common                  |
    -0-----7-----5-----6-----1-----2------3-----4- <- Id remapped
     |     |     |     |     |     |      |     |
    larb0 larb1 IPU0  IPU1 larb4 larb5  larb6  CCU
    disp  vdec  img   cam   venc  img    cam
    As above, larb0 connects with the id 0 in smi-common.
              larb1 connects with the id 7 in smi-common.
              ...
    If the larb-id reported in the isr is 7, actually it's larb1(vdec).
    In order to output the right larb-id in the isr, we add a larb-id
    remapping relationship in this patch.
    
    If there is no this larb-id remapping in some SoCs, use the linear
    mapping array instead.
    
    This also is a preparing patch for mt8183.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 2aa4c2597cd67139697eb3095d5b6d61074c7ffc
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:56 2019 +0800

    iommu/mediatek: Add bclk can be supported optionally
    
    In some SoCs, M4U doesn't have its "bclk", it will use the EMI
    clock instead which has always been enabled when entering kernel.
    
    Currently mt2712 and mt8173 have this bclk while mt8183 doesn't.
    
    This also is a preparing patch for mt8183.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit b4dad40e4f35bbf2393f35f4492acf799eb8136d
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:55 2019 +0800

    iommu/mediatek: Adjust the PA for the 4GB Mode
    
    After extending the v7s support PA[33:32] for MediaTek, we have to adjust
    the PA ourself for the 4GB mode.
    
    In the 4GB Mode, the PA will remap like this:
    CPU PA         ->    M4U output PA
    0x4000_0000          0x1_4000_0000 (Add bit32)
    0x8000_0000          0x1_8000_0000 ...
    0xc000_0000          0x1_c000_0000 ...
    0x1_0000_0000        0x1_0000_0000 (No change)
    
    1) Always add bit32 for CPU PA in ->map.
    2) Discard the bit32 in iova_to_phys if PA > 0x1_4000_0000 since the
    iommu consumer always use the CPU PA.
    
    Besides, the "oas" always is set to 34 since v7s has already supported our
    case.
    
    Both mt2712 and mt8173 support this "4GB mode" while the mt8183 don't.
    The PA in mt8183 won't remap.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 4c019de653237674d38cf2b3119153b144ffe173
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:54 2019 +0800

    iommu/io-pgtable-arm-v7s: Extend to support PA[33:32] for MediaTek
    
    MediaTek extend the arm v7s descriptor to support up to 34 bits PA where
    the bit32 and bit33 are encoded in the bit9 and bit4 of the PTE
    respectively. Meanwhile the iova still is 32bits.
    
    Regarding whether the pagetable address could be over 4GB, the mt8183
    support it while the previous mt8173 don't, thus keep it as is.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 73d50811bc91d2a173213a78b6b43ac762f6cc54
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:53 2019 +0800

    iommu/io-pgtable-arm-v7s: Rename the quirk from MTK_4GB to MTK_EXT
    
    In previous mt2712/mt8173, MediaTek extend the v7s to support 4GB dram.
    But in the latest mt8183, We extend it to support the PA up to 34bit.
    Then the "MTK_4GB" name is not so fit, This patch only change the quirk
    name to "MTK_EXT".
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 7f315c9da9f5e5f9ba720ca4b5e04e5ee91833f9
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:52 2019 +0800

    iommu/io-pgtable-arm-v7s: Use ias/oas to check the valid iova/pa
    
    Use ias/oas to check the valid iova/pa. Synchronize this checking with
    io-pgtable-arm.c.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 5950b9541b509037aeb9e7b95f88a692bf3f46a3
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:51 2019 +0800

    iommu/io-pgtable-arm-v7s: Add paddr_to_iopte and iopte_to_paddr helpers
    
    Add two helper functions: paddr_to_iopte and iopte_to_paddr.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 76ce65464fcd2c21db84391572b7938b716aceb0
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:50 2019 +0800

    iommu/mediatek: Fix iova_to_phys PA start for 4GB mode
    
    In M4U 4GB mode, the physical address is remapped as below:
    
    CPU Physical address:
    
    ====================
    
    0      1G       2G     3G       4G     5G
    |---A---|---B---|---C---|---D---|---E---|
    +--I/O--+------------Memory-------------+
    
    IOMMU output physical address:
     =============================
    
                                    4G      5G     6G      7G      8G
                                    |---E---|---B---|---C---|---D---|
                                    +------------Memory-------------+
    
    The Region 'A'(I/O) can not be mapped by M4U; For Region 'B'/'C'/'D', the
    bit32 of the CPU physical address always is needed to set, and for Region
    'E', the CPU physical address keep as is. something looks like this:
    CPU PA         ->    M4U OUTPUT PA
    0x4000_0000          0x1_4000_0000 (Add bit32)
    0x8000_0000          0x1_8000_0000 ...
    0xc000_0000          0x1_c000_0000 ...
    0x1_0000_0000        0x1_0000_0000 (No change)
    
    Additionally, the iommu consumers always use the CPU phyiscal address.
    
    The PA in the iova_to_phys that is got from v7s always is u32, But
    from the CPU point of view, PA only need add BIT(32) when PA < 0x4000_0000.
    
    Fixes: 30e2fccf9512 ("iommu/mediatek: Enlarge the validate PA range
    for 4GB mode")
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 42d42c76f8d2225aaed55997949d37424906e188
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:49 2019 +0800

    memory: mtk-smi: Use a struct for the platform data for smi-common
    
    Use a struct as the platform special data instead of the enumeration.
    
    Also there is a minor change that moving the position of
    "enum mtk_smi_gen" definition, this is because we expect define
    "struct mtk_smi_common_plat" before it is referred.
    
    This is a preparing patch for mt8183.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 2e9b0908f5aa26336b2a39091db1a10402054128
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:48 2019 +0800

    memory: mtk-smi: Use a general config_port interface
    
    The config_port of mt2712 and mt8183 are the same. Use a general
    config_port interface instead.
    
    In addition, in mt2712, larb8 and larb9 are the bdpsys larbs which
    are not the normal larb, their register space are different from the
    normal one. thus, we can not call the general config_port. In mt8183,
    IPU0/1 and CCU connect with smi-common directly, they also are not
    the normal larb. Hence, we add a "larb_direct_to_common_mask" for these
    larbs which connect to smi-commmon directly.
    
    This is also a preparing patch for adding mt8183 SMI support.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit cecdce9d7eed33ce24da8dd4a2151b68d5c17865
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:47 2019 +0800

    iommu/mediatek: Use a struct as the platform data
    
    Use a struct as the platform special data instead of the enumeration.
    This is a prepare patch for adding mt8183 iommu support.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 29746d012588f1de8517fc6921683c3844120989
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:46 2019 +0800

    dt-bindings: mediatek: Add binding for mt8183 IOMMU and SMI
    
    This patch adds decriptions for mt8183 IOMMU and SMI.
    
    mt8183 has only one M4U like mt8173 and is also MTK IOMMU gen2 which
    uses ARM Short-Descriptor translation table format.
    
    The mt8183 M4U-SMI HW diagram is as below:
    
                              EMI
                               |
                              M4U
                               |
                           ----------
                           |        |
                       gals0-rx   gals1-rx
                           |        |
                           |        |
                       gals0-tx   gals1-tx
                           |        |
                          ------------
                           SMI Common
                          ------------
                               |
      +-----+-----+--------+-----+-----+-------+-------+
      |     |     |        |     |     |       |       |
      |     |  gals-rx  gals-rx  |   gals-rx gals-rx gals-rx
      |     |     |        |     |     |       |       |
      |     |     |        |     |     |       |       |
      |     |  gals-tx  gals-tx  |   gals-tx gals-tx gals-tx
      |     |     |        |     |     |       |       |
    larb0 larb1  IPU0    IPU1  larb4  larb5  larb6    CCU
    disp  vdec   img     cam    venc   img    cam
    
    All the connections are HW fixed, SW can NOT adjust it.
    
    Compared with mt8173, we add a GALS(Global Async Local Sync) module
    between SMI-common and M4U, and additional GALS between larb2/3/5/6
    and SMI-common. GALS can help synchronize for the modules in different
    clock frequency, it can be seen as a "asynchronous fifo".
    
    GALS can only help transfer the command/data while it doesn't have
    the configuring register, thus it has the special "smi" clock and it
    doesn't have the "apb" clock. From the diagram above, we add "gals0"
    and "gals1" clocks for smi-common and add a "gals" clock for smi-larb.
    
    >From the diagram above, IPU0/IPU1(Image Processor Unit) and CCU(Camera
    Control Unit) is connected with smi-common directly, we can take them
    as "larb2", "larb3" and "larb7", and their register spaces are
    different with the normal larb.
    
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Evan Green <evgreen@chromium.org>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 4dbd258ff63e0597ee8fb44d277c6c701f5019d9
Author: Eric Auger <eric.auger@redhat.com>
Date:   Wed Aug 21 14:09:40 2019 +0200

    iommu: Revisit iommu_insert_resv_region() implementation
    
    Current implementation is recursive and in case of allocation
    failure the existing @regions list is altered. A non recursive
    version looks better for maintainability and simplifies the
    error handling. We use a separate stack for overlapping segment
    merging. The elements are sorted by start address and then by
    type, if their start address match.
    
    Note this new implementation may change the region order of
    appearance in /sys/kernel/iommu_groups/<n>/reserved_regions
    files but this order has never been documented, see
    commit bc7d12b91bd3 ("iommu: Implement reserved_regions
    iommu-group sysfs file").
    
    Signed-off-by: Eric Auger <eric.auger@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit 2c70010867f164d1b30e787e360e05d10cc40046
Author: Nadav Amit <namit@vmware.com>
Date:   Tue Aug 20 01:53:17 2019 -0700

    iommu/vt-d: Fix wrong analysis whether devices share the same bus
    
    set_msi_sid_cb() is used to determine whether device aliases share the
    same bus, but it can provide false indications that aliases use the same
    bus when in fact they do not. The reason is that set_msi_sid_cb()
    assumes that pdev is fixed, while actually pci_for_each_dma_alias() can
    call fn() when pdev is set to a subordinate device.
    
    As a result, running an VM on ESX with VT-d emulation enabled can
    results in the log warning such as:
    
      DMAR: [INTR-REMAP] Request device [00:11.0] fault index 3b [fault reason 38] Blocked an interrupt request due to source-id verification failure
    
    This seems to cause additional ata errors such as:
      ata3.00: qc timeout (cmd 0xa1)
      ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)
    
    These timeouts also cause boot to be much longer and other errors.
    
    Fix it by checking comparing the alias with the previous one instead.
    
    Fixes: 3f0c625c6ae71 ("iommu/vt-d: Allow interrupts from the entire bus for aliased devices")
    Cc: stable@vger.kernel.org
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Joerg Roedel <joro@8bytes.org>
    Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Signed-off-by: Nadav Amit <namit@vmware.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit f12dc871e3ec1269b65080853fc295a831b2fa5f
Author: Nadav Amit <namit@vmware.com>
Date:   Sun Oct 21 21:45:48 2018 -0700

    kgdb: fix comment regarding static function
    
    The comment that says that module_event() is not static is clearly
    wrong.
    
    Signed-off-by: Nadav Amit <namit@vmware.com>

commit 3a8e9ac89e6a5106cfb6b85d4c9cf9bfa3519bc7
Author: Tejun Heo <tj@kernel.org>
Date:   Thu Aug 29 15:47:19 2019 -0700

    writeback: add tracepoints for cgroup foreign writebacks
    
    cgroup foreign inode handling has quite a bit of heuristics and
    internal states which sometimes makes it difficult to understand
    what's going on.  Add tracepoints to improve visibility.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit c60d67aad7b7d5c2597113ddf346cf01ad0872c9
Author: Chuhong Yuan <hslester96@gmail.com>
Date:   Mon Jul 29 23:13:59 2019 +0800

    kdb: Replace strncmp with str_has_prefix
    
    strncmp(str, const, len) is error-prone.
    We had better use newly introduced
    str_has_prefix() instead of it.
    
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>

commit 5c51630c7517c0ebdf52fff5a092c1c1b82c47e1
Author: David Howells <dhowells@redhat.com>
Date:   Thu Aug 29 17:01:34 2019 +0100

    selinux: Implement the watch_key security hook
    
    Implement the watch_key security hook to make sure that a key grants the
    caller View permission in order to set a watch on a key.
    
    For the moment, the watch_devices security hook is left unimplemented as
    it's not obvious what the object should be since the queue is global and
    didn't previously exist.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Stephen Smalley <sds@tycho.nsa.gov>

commit 0d87308cca2c124f9bce02383f1d9632c9be89c4
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Aug 28 06:13:38 2019 -0700

    iommu/iova: Avoid false sharing on fq_timer_on
    
    In commit 14bd9a607f90 ("iommu/iova: Separate atomic variables
    to improve performance") Jinyu Qi identified that the atomic_cmpxchg()
    in queue_iova() was causing a performance loss and moved critical fields
    so that the false sharing would not impact them.
    
    However, avoiding the false sharing in the first place seems easy.
    We should attempt the atomic_cmpxchg() no more than 100 times
    per second. Adding an atomic_read() will keep the cache
    line mostly shared.
    
    This false sharing came with commit 9a005a800ae8
    ("iommu/iova: Add flush timer").
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Fixes: 9a005a800ae8 ('iommu/iova: Add flush timer')
    Cc: Jinyu Qi <jinyuqi@huawei.com>
    Cc: Joerg Roedel <jroedel@suse.de>
    Acked-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit f8f4b6ccd2adc1e3489d5b6c1b22876c4168e4d7
Author: David Howells <dhowells@redhat.com>
Date:   Fri Jun 7 15:13:21 2019 +0100

    Add sample notification program
    
    This needs to be linked with -lkeyutils.
    
    It is run like:
    
            ./watch_test
    
    and watches "/" for mount changes and the current session keyring for key
    changes:
    
            # keyctl add user a a @s
            1035096409
            # keyctl unlink 1035096409 @s
    
    producing:
    
            # ./watch_test
            ptrs h=4 t=2 m=20003
            NOTIFY[00000004-00000002] ty=0003 sy=0002 i=01000010
            KEY 2ffc2e5d change=2[linked] aux=1035096409
            ptrs h=6 t=4 m=20003
            NOTIFY[00000006-00000004] ty=0003 sy=0003 i=01000010
            KEY 2ffc2e5d change=3[unlinked] aux=1035096409
    
    Other events may be produced, such as with a failing disk:
    
            ptrs h=5 t=2 m=6000004
            NOTIFY[00000005-00000002] ty=0004 sy=0006 i=04000018
            BLOCK 00800050 e=6[critical medium] s=5be8
    
    This corresponds to:
    
            print_req_error: critical medium error, dev sdf, sector 23528 flags 0
    
    in dmesg.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit cd51316a9ed21238a6db0e8bc287e8a5ae282af8
Author: David Howells <dhowells@redhat.com>
Date:   Fri Jun 7 15:13:20 2019 +0100

    usb: Add USB subsystem notifications
    
    Add a USB subsystem notification mechanism whereby notifications about
    hardware events such as device connection, disconnection, reset and I/O
    errors, can be reported to a monitoring process asynchronously.
    
    Firstly, an event queue needs to be created:
    
            fd = open("/dev/event_queue", O_RDWR);
            ioctl(fd, IOC_WATCH_QUEUE_SET_SIZE, page_size << n);
    
    then a notification can be set up to report USB notifications via that
    queue:
    
            struct watch_notification_filter filter = {
                    .nr_filters = 1,
                    .filters = {
                            [0] = {
                                    .type = WATCH_TYPE_USB_NOTIFY,
                                    .subtype_filter[0] = UINT_MAX;
                            },
                    },
            };
            ioctl(fd, IOC_WATCH_QUEUE_SET_FILTER, &filter);
            notify_devices(fd, 12);
    
    After that, records will be placed into the queue when events occur on a
    USB device or bus.  Records are of the following format:
    
            struct usb_notification {
                    struct watch_notification watch;
                    __u32   error;
                    __u32   reserved;
                    __u8    name_len;
                    __u8    name[0];
            } *n;
    
    Where:
    
            n->watch.type will be WATCH_TYPE_USB_NOTIFY
    
            n->watch.subtype will be the type of notification, such as
            NOTIFY_USB_DEVICE_ADD.
    
            n->watch.info & WATCH_INFO_LENGTH will indicate the length of the
            record.
    
            n->watch.info & WATCH_INFO_ID will be the second argument to
            device_notify(), shifted.
    
            n->error and n->reserved are intended to convey information such as
            error codes, but are currently not used
    
            n->name_len and n->name convey the USB device name as an
            unterminated string.  This may be truncated - it is currently
            limited to a maximum 63 chars.
    
    Note that it is permissible for event records to be of variable length -
    or, at least, the length may be dependent on the subtype.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    cc: linux-usb@vger.kernel.org

commit 648864496767b97727cb60494af80f705a93d6b2
Author: David Howells <dhowells@redhat.com>
Date:   Fri Jun 7 15:13:20 2019 +0100

    block: Add block layer notifications
    
    Add a block layer notification mechanism whereby notifications about
    block-layer events such as I/O errors, can be reported to a monitoring
    process asynchronously.
    
    Firstly, an event queue needs to be created:
    
            fd = open("/dev/event_queue", O_RDWR);
            ioctl(fd, IOC_WATCH_QUEUE_SET_SIZE, page_size << n);
    
    then a notification can be set up to report block notifications via that
    queue:
    
            struct watch_notification_filter filter = {
                    .nr_filters = 1,
                    .filters = {
                            [0] = {
                                    .type = WATCH_TYPE_BLOCK_NOTIFY,
                                    .subtype_filter[0] = UINT_MAX;
                            },
                    },
            };
            ioctl(fd, IOC_WATCH_QUEUE_SET_FILTER, &filter);
            watch_devices(fd, 12);
    
    After that, records will be placed into the queue when, for example, errors
    occur on a block device.  Records are of the following format:
    
            struct block_notification {
                    struct watch_notification watch;
                    __u64   dev;
                    __u64   sector;
            } *n;
    
    Where:
    
            n->watch.type will be WATCH_TYPE_BLOCK_NOTIFY
    
            n->watch.subtype will be the type of notification, such as
            NOTIFY_BLOCK_ERROR_CRITICAL_MEDIUM.
    
            n->watch.info & WATCH_INFO_LENGTH will indicate the length of the
            record.
    
            n->watch.info & WATCH_INFO_ID will be the second argument to
            watch_devices(), shifted.
    
            n->dev will be the device numbers munged together.
    
            n->sector will indicate the affected sector (if appropriate for the
            event).
    
    Note that it is permissible for event records to be of variable length -
    or, at least, the length may be dependent on the subtype.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit e916ad29d96485e5aa3d3237bfeab1522c713d5e
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Aug 30 06:10:58 2019 -0700

    blkcg: add missing NULL check in ioc_cpd_alloc()
    
    ioc_cpd_alloc() forgot to check NULL return from kzalloc().  Add it.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 4072761b981c630acbc6195391e5a22bae114e39
Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Date:   Fri Aug 30 11:58:49 2019 +0300

    drm/i915: Indent GuC/WOPCM documentation sections
    
    Indent GuC/WOPCM documentation correctly to reside under
    "Memory Management and Command Submission" section to avoid
    it escaping to the upper level navigation.
    
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830085849.12519-2-joonas.lahtinen@linux.intel.com

commit b047463c852272ef9956ad3a4c706f78f8b06c17
Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Date:   Fri Aug 30 11:58:48 2019 +0300

    drm/i915: Remove link to missing "Batchbuffer Pools" documentation
    
    The referenced documentation section has been removed. Remove the
    link to avoid warning when building the documentation.
    
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190830085849.12519-1-joonas.lahtinen@linux.intel.com

commit 3bbb79856f4d17487b4f007434892bea3895eed2
Author: David Howells <dhowells@redhat.com>
Date:   Wed Aug 21 18:16:06 2019 +0100

    Add a general, global device notification watch list
    
    Create a general, global watch list that can be used for the posting of
    device notification events, for such things as device attachment,
    detachment and errors on sources such as block devices and USB devices.
    This can be enabled with:
    
            CONFIG_DEVICE_NOTIFICATIONS
    
    To add a watch on this list, an event queue must be created and configured:
    
            fd = open("/dev/event_queue", O_RDWR);
            ioctl(fd, IOC_WATCH_QUEUE_SET_SIZE, page_size << n);
    
    and then a watch can be placed upon it using a system call:
    
            watch_devices(fd, 12, 0);
    
    Unless the application wants to receive all events, it should employ
    appropriate filters.  For example, to receive just USB notifications, it
    could do:
    
            struct watch_notification_filter filter = {
                    .nr_filters = 1,
                    .filters = {
                            [0] = {
                                    .type = WATCH_TYPE_USB_NOTIFY,
                                    .subtype_filter[0] = UINT_MAX;
                            },
                    },
            };
            ioctl(fd, IOC_WATCH_QUEUE_SET_FILTER, &filter);
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 67a53081e655d41a77f510377364600e5e9bf89c
Author: Nishka Dasgupta <nishkadg.linux@gmail.com>
Date:   Thu Aug 15 11:25:50 2019 +0530

    i2c: iproc: Make bcm_iproc_i2c_quirks constant
    
    Static structure bcm_iproc_i2c_quirks, of type i2c_adapter_quirks, is
    only used when being assigned to constant field quirks of a variable
    having type i2c_adapter. Hence make bcm_iproc_i2c_quirks constant as
    well to prevent it from unintended modification.
    Issue found with Coccinelle.
    
    Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit a22331076dba1453386a95d332e6f7f8917c9159
Author: David Howells <dhowells@redhat.com>
Date:   Wed Aug 21 18:16:06 2019 +0100

    keys: Add a notification facility
    
    Add a key/keyring change notification facility whereby notifications about
    changes in key and keyring content and attributes can be received.
    
    Firstly, an event queue needs to be created:
    
            fd = open("/dev/event_queue", O_RDWR);
            ioctl(fd, IOC_WATCH_QUEUE_SET_SIZE, page_size << n);
    
    then a notification can be set up to report notifications via that queue:
    
            struct watch_notification_filter filter = {
                    .nr_filters = 1,
                    .filters = {
                            [0] = {
                                    .type = WATCH_TYPE_KEY_NOTIFY,
                                    .subtype_filter[0] = UINT_MAX,
                            },
                    },
            };
            ioctl(fd, IOC_WATCH_QUEUE_SET_FILTER, &filter);
            keyctl_watch_key(KEY_SPEC_SESSION_KEYRING, fd, 0x01);
    
    After that, records will be placed into the queue when events occur in
    which keys are changed in some way.  Records are of the following format:
    
            struct key_notification {
                    struct watch_notification watch;
                    __u32   key_id;
                    __u32   aux;
            } *n;
    
    Where:
    
            n->watch.type will be WATCH_TYPE_KEY_NOTIFY.
    
            n->watch.subtype will indicate the type of event, such as
            NOTIFY_KEY_REVOKED.
    
            n->watch.info & WATCH_INFO_LENGTH will indicate the length of the
            record.
    
            n->watch.info & WATCH_INFO_ID will be the second argument to
            keyctl_watch_key(), shifted.
    
            n->key will be the ID of the affected key.
    
            n->aux will hold subtype-dependent information, such as the key
            being linked into the keyring specified by n->key in the case of
            NOTIFY_KEY_LINKED.
    
    Note that it is permissible for event records to be of variable length -
    or, at least, the length may be dependent on the subtype.  Note also that
    the queue can be shared between multiple notifications of various types.
    
    Signed-off-by: David Howells <dhowells@redhat.com>

commit 539005ffc6260fcb3bb4171138be5f66a41185a9
Author: Lori Hikichi <lori.hikichi@broadcom.com>
Date:   Thu Aug 8 09:07:53 2019 +0530

    i2c: iproc: Add full name of devicetree node to adapter name
    
    Add the full name of the devicetree node to the adapter name.
    Without this change, all adapters have the same name making it difficult
    to distinguish between multiple instances.
    The most obvious way to see this is to use the utility i2c_detect.
    e.g. "i2c-detect -l"
    
    Before
    i2c-1 i2c Broadcom iProc I2C adapter I2C adapter
    i2c-0 i2c Broadcom iProc I2C adapter I2C adapter
    
    After
    i2c-1 i2c Broadcom iProc (i2c@e0000) I2C adapter
    i2c-0 i2c Broadcom iProc (i2c@b0000) I2C adapter
    
    Now it is easy to figure out which adapter maps to a which DT node.
    
    Signed-off-by: Lori Hikichi <lori.hikichi@broadcom.com>
    Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit ce24d039a79de20baa8bbc6a1fbf939e18f2a23d
Author: David Howells <dhowells@redhat.com>
Date:   Wed Aug 21 18:16:05 2019 +0100

    General notification queue with user mmap()'able ring buffer
    
    Implement a misc device that implements a general notification queue as a
    ring buffer that can be mmap()'d from userspace.
    
    The way this is done is:
    
     (1) An application opens the device and indicates the size of the ring
         buffer that it wants to reserve in pages (this can only be set once):
    
            fd = open("/dev/watch_queue", O_RDWR);
            ioctl(fd, IOC_WATCH_QUEUE_NR_PAGES, nr_of_pages);
    
     (2) The application should then map the pages that the device has
         reserved.  Each instance of the device created by open() allocates
         separate pages so that maps of different fds don't interfere with one
         another.  Multiple mmap() calls on the same fd, however, will all work
         together.
    
            page_size = sysconf(_SC_PAGESIZE);
            mapping_size = nr_of_pages * page_size;
            char *buf = mmap(NULL, mapping_size, PROT_READ|PROT_WRITE,
                             MAP_SHARED, fd, 0);
    
    The ring is divided into 8-byte slots.  Entries written into the ring are
    variable size and can use between 1 and 63 slots.  A special entry is
    maintained in the first two slots of the ring that contains the head and
    tail pointers.  This is skipped when the ring wraps round.  Note that
    multislot entries, therefore, aren't allowed to be broken over the end of
    the ring, but instead "skip" entries are inserted to pad out the buffer.
    
    Each entry has a 1-slot header that describes it:
    
            struct watch_notification {
                    __u32   type:24;
                    __u32   subtype:8;
                    __u32   info;
            };
    
    The type indicates the source (eg. mount tree changes, superblock events,
    keyring changes, block layer events) and the subtype indicates the event
    type (eg. mount, unmount; EIO, EDQUOT; link, unlink).  The info field
    indicates a number of things, including the entry length, an ID assigned to
    a watchpoint contributing to this buffer, type-specific flags and meta
    flags, such as an overrun indicator.
    
    Supplementary data, such as the key ID that generated an event, are
    attached in additional slots.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d1d2a2417438cc82c55db234bb2ec33456bcb805
Author: David Howells <dhowells@redhat.com>
Date:   Wed Aug 21 18:16:05 2019 +0100

    security: Add a hook for the point of notification insertion
    
    Add a security hook that allows an LSM to rule on whether a notification
    message is allowed to be inserted into a particular watch queue.
    
    The hook is given the following information:
    
     (1) The credentials of the triggerer (which may be init_cred for a system
         notification, eg. a hardware error).
    
     (2) The credentials of the whoever set the watch.
    
     (3) The notification message.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Casey Schaufler <casey@schaufler-ca.com>
    cc: Stephen Smalley <sds@tycho.nsa.gov>
    cc: linux-security-module@vger.kernel.org

commit 48108451ade420704f75cc4ffb57d5f5255b8dd8
Author: Alex Lu <alex_lu@realsil.com.cn>
Date:   Fri Aug 30 20:02:14 2019 +0800

    Bluetooth: btrtl: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY
    
    Realtek Bluetooth controllers can do both LE scan and BR/EDR inquiry
    at once, need to set HCI_QUIRK_SIMULTANEOUS_DISCOVERY quirk.
    
    Signed-off-by: Alex Lu <alex_lu@realsil.com.cn>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 6531deb8a79d21da3a46e01ab02efc293f0596e7
Author: Harish Bandi <c-hbandi@codeaurora.org>
Date:   Fri Aug 30 17:58:36 2019 +0530

    Bluetooth: hci_qca: wait for Pre shutdown complete event before sending the Power off pulse
    
    When SoC receives pre shut down command, it share the same
    with other COEX shared clients. So SoC needs a short time
    after sending VS pre shutdown command before turning off
    the regulators and sending the power off pulse. Along with
    short delay, needs to wait for command complete event for
    Pre shutdown VS command
    
    Signed-off-by: Harish Bandi <c-hbandi@codeaurora.org>
    Reviewed-by: Balakrishna Godavarthi <bgodavar@codeaurora.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit e5b3ae3e8c4772106713698075a87bff1e86e710
Author: Tzung-Bi Shih <tzungbi@google.com>
Date:   Fri Aug 30 15:42:40 2019 +0800

    ASoC: mediatek: mt8183: fix space issues
    
    Fix space issues:
    - No space before ';'.
    - No trailing blank line.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190830074240.195166-5-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit fc347483b87f029c1bc18a8492623ca21dcd7607
Author: Tzung-Bi Shih <tzungbi@google.com>
Date:   Fri Aug 30 15:42:39 2019 +0800

    ASoC: mediatek: mt8183: remove forward declaration of headset_init
    
    The forward declaration of mt8183_mt6358_ts3a227_max98357_headset_init
    is for cyclic dependency between card, headset_dev, and headset_init.
    
    It used to be:
    - card depends on headset_dev
    - headset_dev depends on headset_init
    - headset_init depends on card
    
    Commit a962a809e5e4 ("ASoC: mediatek: mt8183: make headset codec
    optional") removed the cyclic dependency.
    
    Thus, it is safe to remove the forward declaration.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190830074240.195166-4-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 95d779b4b8e7a62d53c7afeba45207089dcee4c8
Author: Tzung-Bi Shih <tzungbi@google.com>
Date:   Fri Aug 30 15:42:38 2019 +0800

    ASoC: mediatek: mt8183: move headset jack to card-specific storage
    
    Move headset jack descriptor from module global scope to card-specific
    storage to make its ownership more explicit.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190830074240.195166-3-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 96ed76983307a8a24400495e4e6453607e765fcf
Author: Tzung-Bi Shih <tzungbi@google.com>
Date:   Fri Aug 30 15:42:37 2019 +0800

    ASoC: mediatek: mt8183: move private structure
    
    Move private structure to the beginning of file to declare earlier
    so that most functions can see it.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190830074240.195166-2-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit ca105398430de8c11e5e56a7bbfb00746ac5a268
Author: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Date:   Fri Aug 30 09:58:45 2019 +0530

    spi: bcm-qspi: Make BSPI default mode
    
    The spi-nor controller defaults to BSPI mode, hence switch back
    to its default mode after MSPI operations (write or erase)
    are completed.
    
    Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
    Reviewed-by: Mark Brown <broonie@kernel.org>
    Reviewed-by: Kamal Dasu <kdasu.kdev@gmail.com>
    Link: https://lore.kernel.org/r/1567139325-7912-1-git-send-email-rayagonda.kokatanur@broadcom.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit ace55c411b11d9b12f500c7433bf469c26130182
Author: Tomer Maimon <tmaimon77@gmail.com>
Date:   Wed Aug 28 17:25:13 2019 +0300

    spi: npcm-fiu: add NPCM FIU controller driver
    
    Add Nuvoton NPCM BMC Flash Interface Unit(FIU) SPI master
    controller driver using SPI-MEM interface.
    
    The FIU supports single, dual or quad communication interface.
    
    the FIU controller can operate in following modes:
    - User Mode Access(UMA): provides flash access by using an
      indirect address/data mechanism.
    - direct rd/wr mode: maps the flash memory into the core
      address space.
    - SPI-X mode: used for an expansion bus to an ASIC or CPLD.
    
    Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
    Link: https://lore.kernel.org/r/20190828142513.228556-3-tmaimon77@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 91d0c59f460fd61db977d35b0d7c057128e7f7b7
Author: Tomer Maimon <tmaimon77@gmail.com>
Date:   Wed Aug 28 17:25:12 2019 +0300

    dt-binding: spi: add NPCM FIU controller
    
    Added device tree binding documentation for Nuvoton BMC
    NPCM Flash Interface Unit(FIU) SPI master controller
    using SPI-MEM interface.
    
    Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
    Link: https://lore.kernel.org/r/20190828142513.228556-2-tmaimon77@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 94e9c0f522142e47348486f98916cb0b16e72571
Author: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Date:   Thu Aug 29 15:50:00 2019 +0300

    spi: dw-pci: Add MODULE_DEVICE_TABLE
    
    MODULE_DEVICE_TABLE is missing from the PCI part of the driver. Add it
    so userspace can autoload the the driver when it is built as module.
    
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Link: https://lore.kernel.org/r/20190829125000.26303-1-jarkko.nikula@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit baedad4c35ce35973263f8991d288c280f4bd05d
Author: Mark Brown <broonie@kernel.org>
Date:   Thu Aug 29 13:54:35 2019 +0100

    MAINTAINERS: Add keyword pattern on regulator_get_optional()
    
    In an effort to try to contain abuses of regulator_get_optional() add a
    keyword entry to the MAINTAINERS stanza for the regulator API so that the
    regulator maintainers get CCed on new usages.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20190829125435.48770-1-broonie@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit e02e23d5f01937cec2c76a8e61aea0b4e5f53626
Author: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Date:   Thu Aug 29 06:50:46 2019 +0000

    regulator: sy8824x: add prefixes to BUCK_EN and MODE macros
    
    Add prefixes to BUCK_EN and MODE macros to namespace them.
    
    Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
    Link: https://lore.kernel.org/r/20190829143927.395d0385@xhacker.debian
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit dab106742318c833e1f97d0e6be86b82e33bc5a3
Author: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Date:   Thu Aug 29 06:49:18 2019 +0000

    regulator: sy8824x: use c++style for the comment block near SPDX
    
    Update the entire comment block to be C++ style so it looks consistent.
    
    Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
    Link: https://lore.kernel.org/r/20190829143749.4b42bc65@xhacker.debian
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 50bc5731f7fc086693d78e42b7d252b97a35cda1
Author: Mark Brown <broonie@kernel.org>
Date:   Fri Aug 30 12:29:22 2019 +0100

    regulator: mt6358: Add BROKEN dependency while waiting for MFD to merge
    
    The mt6358 driver was merged in error, it depends on an existing MFD
    rather than a newly added one and needs updates to that driver.  Disable
    the build until those are merged.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 37638af8135c44e9c9e4b2744eadfd3839efc023
Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date:   Thu Aug 29 16:42:13 2019 -0500

    ASoC: SOF/Intel: fix selection of SND_INTEL_NHTL
    
    We should only select SND_INTEL_NHLT when ACPI is defined. This was
    done for the legacy HDAudio driver but not for DSP-enabled cases,
    leading to compilation errors with randconfig.
    
    Fix by aligning on the same solution.
    
    For the Skylake driver this is overkill since there is a top-level
    dependency on ACPI, but it doesn't hurt and it's better to have
    consistency.
    
    Fixes: 68b953aeb50d9 ('ASoC: SOF: Intel: hda: fixup HDaudio topology name with DMIC number')
    Reported-by: Randy Dunlap <rdunlap@infradead.org>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190829214213.11653-1-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 54d037d5a466ce518ee4bb81f39b79ac7d843ba6
Author: Cezary Rojewski <cezary.rojewski@intel.com>
Date:   Thu Aug 22 13:36:16 2019 +0200

    ASoC: Intel: broadwell: Simplify device probe
    
    With legacy ADSP private context adjusted, there is no need for double
    safety.
    
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190822113616.22702-5-cezary.rojewski@intel.com
    Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit c25e93bba90b3f194c43a37fe2fcdb0727c4ab84
Author: Cezary Rojewski <cezary.rojewski@intel.com>
Date:   Thu Aug 22 13:36:15 2019 +0200

    ASoC: Intel: bdw-rt5677: Simplify device probe
    
    With legacy ADSP private context adjusted, there is no need for double
    safety.
    
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190822113616.22702-4-cezary.rojewski@intel.com
    Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 1fc3e6b2ac3f8125ae54685c600d594d690a268a
Author: Cezary Rojewski <cezary.rojewski@intel.com>
Date:   Thu Aug 22 13:36:14 2019 +0200

    ASoC: Intel: haswell: Simplify device probe
    
    With legacy ADSP private context adjusted, there is no need for double
    safety.
    
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190822113616.22702-3-cezary.rojewski@intel.com
    Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit ca964edf0ddbfec2cb10b3d251d09598e7ca9b13
Author: Cezary Rojewski <cezary.rojewski@intel.com>
Date:   Thu Aug 22 13:36:13 2019 +0200

    ASoC: Intel: Haswell: Adjust machine device private context
    
    Apart from Haswell machines, all other devices have their private data
    set to snd_soc_acpi_mach instance.
    
    Changes for HSW/ BDW boards introduced with series:
    https://patchwork.kernel.org/cover/10782035/
    
    added support for dai_link platform_name adjustments within card probe
    routines. These take for granted private_data points to
    snd_soc_acpi_mach whereas for Haswell, it's sst_pdata instead. Change
    private context of platform_device - representing machine board - to
    address this.
    
    Fixes: e87055d732e3 ("ASoC: Intel: haswell: platform name fixup support")
    Fixes: 7e40ddcf974a ("ASoC: Intel: bdw-rt5677: platform name fixup support")
    Fixes: 2d067b2807f9 ("ASoC: Intel: broadwell: platform name fixup support")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190822113616.22702-2-cezary.rojewski@intel.com
    Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 69f34053f883a53e86fa8ff7b99a81d8b5d50dae
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Aug 30 13:38:41 2019 +0300

    ASoC: ti: davinci-evm: Do not fail if the dai_set_sysclk returns -ENOTSUPP
    
    The davinci McBSP (davinci-i2s) driver does not implement the set_sysclk
    callback, which is fine and should not be treated as error.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Link: https://lore.kernel.org/r/20190830103841.25128-5-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 27b7def93aaba0838eb90e6b3c3110a856bb09fc
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Aug 30 13:38:40 2019 +0300

    ASoC: ti: edma-pcm: Fix for legacy dma_slave_map based channel lookup
    
    Most of the daVinci devices does not boot with DT. In this case the DMA
    channel is looked up with dma_slave_map and for that the chan_names[]
    must be configured.
    
    Both McASP and ASP/McBSP uses "tx" and "rx" as channel names, so we can
    just do this when the dev->of_node is not valid.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Link: https://lore.kernel.org/r/20190830103841.25128-4-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 2231b2c63f869528504195f202d9585a4f00f143
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Aug 30 13:38:38 2019 +0300

    ASoC: ti: davinci-i2s: Add S32_LE as support format
    
    ASP/McBSP can support 8/16/20/24/32 bits word in theory. I have only tested
    S16_LE and S32_LE, the other formats might not work so only extend the
    supported formats with S32_LE for now.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Link: https://lore.kernel.org/r/20190830103841.25128-2-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit a2dc6f82fd86fa165222f6062e2478fd122f9f1c
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Aug 30 13:38:39 2019 +0300

    ASoC: ti: davinci-i2s: Move the XSYNCERR workaround to .prepare callback
    
    Currently the driver uses snd_soc_rtdcom_lookup() in it's mcbsp_start
    function to try to stop/restart the DMA as the initial XSYNCERR workaround
    need to be done before the DMA is armed.
    
    There are couple of things wrong with this:
    - the driver crashes with NULL pointer dereference as the
      component->driver->ops is actually NULL
    - the driver should not use snd_soc_rtdcom_lookup() in the first place
    - Fiddling with DMA is never a good thing
    
    Move the workaround handling to .prepare which is called before the DMA is
    armed, so it complies with the requirements.
    
    Reported-by (usage of snd_soc_rtdcom_lookup): Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Link: https://lore.kernel.org/r/20190830103841.25128-3-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 3d708895325b78506e8daf00ef31549476e8586a
Author: Qian Cai <cai@lca.pw>
Date:   Wed Aug 28 17:39:43 2019 -0400

    iommu/amd: Silence warnings under memory pressure
    
    When running heavy memory pressure workloads, the system is throwing
    endless warnings,
    
    smartpqi 0000:23:00.0: AMD-Vi: IOMMU mapping error in map_sg (io-pages:
    5 reason: -12)
    Hardware name: HPE ProLiant DL385 Gen10/ProLiant DL385 Gen10, BIOS A40
    07/10/2019
    swapper/10: page allocation failure: order:0, mode:0xa20(GFP_ATOMIC),
    nodemask=(null),cpuset=/,mems_allowed=0,4
    Call Trace:
     <IRQ>
     dump_stack+0x62/0x9a
     warn_alloc.cold.43+0x8a/0x148
     __alloc_pages_nodemask+0x1a5c/0x1bb0
     get_zeroed_page+0x16/0x20
     iommu_map_page+0x477/0x540
     map_sg+0x1ce/0x2f0
     scsi_dma_map+0xc6/0x160
     pqi_raid_submit_scsi_cmd_with_io_request+0x1c3/0x470 [smartpqi]
     do_IRQ+0x81/0x170
     common_interrupt+0xf/0xf
     </IRQ>
    
    because the allocation could fail from iommu_map_page(), and the volume
    of this call could be huge which may generate a lot of serial console
    output and cosumes all CPUs.
    
    Fix it by silencing the warning in this call site, and there is still a
    dev_err() later to notify the failure.
    
    Signed-off-by: Qian Cai <cai@lca.pw>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>

commit c8cd6e7f159e6f8d79a23df4aeaa7a540415951b
Author: Felix Fietkau <nbd@nbd.name>
Date:   Wed Aug 28 12:20:42 2019 +0200

    cfg80211: add local BSS receive time to survey information
    
    This is useful for checking how much airtime is being used up by other
    transmissions on the channel, e.g. by calculating (time_rx - time_bss_rx)
    or (time_busy - time_bss_rx - time_tx)
    
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Link: https://lore.kernel.org/r/20190828102042.58016-1-nbd@nbd.name
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

commit 03adcbd996be7ce81cac793b1511406a7a4df117
Author: Will Deacon <will@kernel.org>
Date:   Thu Aug 29 14:34:42 2019 +0100

    arm64: atomics: Use K constraint when toolchain appears to support it
    
    The 'K' constraint is a documented AArch64 machine constraint supported
    by GCC for matching integer constants that can be used with a 32-bit
    logical instruction. Unfortunately, some released compilers erroneously
    accept the immediate '4294967295' for this constraint, which is later
    refused by GAS at assembly time. This had led us to avoid the use of
    the 'K' constraint altogether.
    
    Instead, detect whether the compiler is up to the job when building the
    kernel and pass the 'K' constraint to our 32-bit atomic macros when it
    appears to be supported.
    
    Signed-off-by: Will Deacon <will@kernel.org>

commit 5aad6cdabbf91fd330bd216fe3c93d90f78bc7e7
Author: Will Deacon <will@kernel.org>
Date:   Thu Aug 29 14:33:23 2019 +0100

    arm64: atomics: Undefine internal macros after use
    
    We use a bunch of internal macros when constructing our atomic and
    cmpxchg routines in order to save on boilerplate. Avoid exposing these
    directly to users of the header files.
    
    Reviewed-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit b32baf91f60fb9c7010bff87e68132f2ce31d9a8
Author: Will Deacon <will@kernel.org>
Date:   Thu Aug 29 11:52:47 2019 +0100

    arm64: lse: Make ARM64_LSE_ATOMICS depend on JUMP_LABEL
    
    Support for LSE atomic instructions (CONFIG_ARM64_LSE_ATOMICS) relies on
    a static key to select between the legacy LL/SC implementation which is
    available on all arm64 CPUs and the super-duper LSE implementation which
    is available on CPUs implementing v8.1 and later.
    
    Unfortunately, when building a kernel with CONFIG_JUMP_LABEL disabled
    (e.g. because the toolchain doesn't support 'asm goto'), the static key
    inside the atomics code tries to use atomics itself. This results in a
    mess of circular includes and a build failure:
    
    In file included from ./arch/arm64/include/asm/lse.h:11,
                     from ./arch/arm64/include/asm/atomic.h:16,
                     from ./include/linux/atomic.h:7,
                     from ./include/asm-generic/bitops/atomic.h:5,
                     from ./arch/arm64/include/asm/bitops.h:26,
                     from ./include/linux/bitops.h:19,
                     from ./include/linux/kernel.h:12,
                     from ./include/asm-generic/bug.h:18,
                     from ./arch/arm64/include/asm/bug.h:26,
                     from ./include/linux/bug.h:5,
                     from ./include/linux/page-flags.h:10,
                     from kernel/bounds.c:10:
    ./include/linux/jump_label.h: In function ‘static_key_count’:
    ./include/linux/jump_label.h:254:9: error: implicit declaration of function ‘atomic_read’ [-Werror=implicit-function-declaration]
      return atomic_read(&key->enabled);
             ^~~~~~~~~~~
    
    [ ... more of the same ... ]
    
    Since LSE atomic instructions are not critical to the operation of the
    kernel, make them depend on JUMP_LABEL at compile time.
    
    Reviewed-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 0533f97b4356bfa8af5d4758c6c3fe703bb010d9
Author: Will Deacon <will@kernel.org>
Date:   Thu Aug 29 11:49:10 2019 +0100

    arm64: asm: Kill 'asm/atomic_arch.h'
    
    The contents of 'asm/atomic_arch.h' can be split across some of our
    other 'asm/' headers. Remove it.
    
    Reviewed-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 0ca98b2456fbd8a465098fe3735ae2c7645a76e8
Author: Will Deacon <will@kernel.org>
Date:   Thu Aug 29 11:22:30 2019 +0100

    arm64: lse: Remove unused 'alt_lse' assembly macro
    
    The 'alt_lse' assembly macro has been unused since 7c8fc35dfc32
    ("locking/atomics/arm64: Replace our atomic/lock bitop implementations
    with asm-generic").
    
    Remove it.
    
    Reviewed-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 89781d0806c2c4f29072d3f00cb2dd4274aabc3d
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri Aug 30 12:03:38 2019 +0200

    ALSA: hda/realtek - Fix overridden device-specific initialization
    
    The recent change to shuffle the codec initialization procedure for
    Realtek via commit 607ca3bd220f ("ALSA: hda/realtek - EAPD turn on
    later") caused the silent output on some machines.  This change was
    supposed to be safe, but it isn't actually; some devices have quirk
    setups to override the EAPD via COEF or BTL in the additional verb
    table, which is applied at the beginning of snd_hda_gen_init().  And
    this EAPD setup is again overridden in alc_auto_init_amp().
    
    For recovering from the regression, tell snd_hda_gen_init() not to
    apply the verbs there by a new flag, then apply the verbs in
    alc_init().
    
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204727
    Fixes: 607ca3bd220f ("ALSA: hda/realtek - EAPD turn on later")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 04e3543e228fcbb000de922ec5d366f398bdd9ae
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 14 16:03:48 2019 +0200

    microblaze: use the generic dma coherent remap allocator
    
    This switches to using common code for the DMA allocations, including
    potential use of the CMA allocator if configured.
    
    Switching to the generic code enables DMA allocations from atomic
    context, which is required by the DMA API documentation, and also
    adds various other minor features drivers start relying upon.  It
    also makes sure we have on tested code base for all architectures
    that require uncached pte bits for coherent DMA allocations.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

commit d3b9f659fac6e5f74f857364c5ed08b94e7f94ae
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 14 16:03:47 2019 +0200

    microblaze/nommu: use the generic uncached segment support
    
    Stop providing our own arch alloc/free hooks for nommu platforms and
    just expose the segment offset and use the generic dma-direct
    allocator.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

commit 692059318c0fc6c3584b861adc67abbb0c1598f0
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:16 2019 +0530

    drm/i915/hdcp: Enable HDCP 1.4 and 2.2 on Gen12+
    
    >From Gen12 onwards, HDCP HW block is implemented within transcoders.
    Till Gen11 HDCP HW block was part of DDI.
    
    Hence required changes in HW programming is handled here.
    
    As ME FW needs the transcoder detail on which HDCP is enabled
    on Gen12+ platform, we are populating the detail in hdcp_port_data.
    
    v2:
      _MMIO_TRANS is used [Lucas and Daniel]
      platform check is moved into the caller [Lucas]
    v3:
      platform check is moved into a macro [Shashank]
    v4:
      Few optimizations in the coding [Shashank]
    v5:
      Fixed alignment in macro definition in i915_reg.h [Shashank]
      unused variables "reg" is removed.
    v6:
      Configuring the transcoder at compute_config.
      transcoder is used instead of pipe in macros.
      Rebased.
    v7:
      transcoder is cached at intel_hdcp
      hdcp_port_data is configured with transcoder index asper ME FW.
    v8:
      s/trans/cpu_transcoder
      s/tc/cpu_transcoder
    v9:
      rep_ctl is prepared for TCD too.
      return moved into deault of rep_ctl prepare function [Shashank]
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-7-ramalingam.c@intel.com

commit 39e2df090c3cdce23a064929333b3be119111765
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:15 2019 +0530

    drm/i915/hdcp: update current transcoder into intel_hdcp
    
    On gen12+ platforms, HDCP HW is associated to the transcoder.
    Hence on every modeset update associated transcoder into the
    intel_hdcp of the port.
    
    v2:
      s/trans/cpu_transcoder [Jani]
    v3:
      comment is added for fw_ddi init for gen12+ [Shashank]
      only hdcp capable transcoder is translated into fw_tc [Shashank]
    v4:
      fw_tc initialization is kept for modeset. [Tomas]
      few extra doc is added at port_data init [Tomas]
    v5:
      Few comments are improvised [Tomas]
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-6-ramalingam.c@intel.com

commit 2d15cf1b9ae4c623b1a05838317f4c18fd534c9a
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:14 2019 +0530

    misc/mei/hdcp: Fill transcoder index in port info
    
    For gen12+ platform we need to pass the transcoder info
    as part of the port info into ME FW.
    
    This change fills the payload for ME FW from hdcp_port_data.
    
    v2:
      Doc is enhanced for physical_port and attached_transcoder [Tomas]
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Acked-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-5-ramalingam.c@intel.com

commit 807c71d59a1063badc8bf60ee71470c2ff4be1cc
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:13 2019 +0530

    drm: Extend I915 mei interface for transcoder info
    
    I915 needs to send the index of the transcoder as per ME FW.
    
    To support this, define enum mei_fw_tc and add as a member into
    the struct hdcp_port_data.
    
    v2:
      Typo in commit msg is fixed [Shashank]
    v3:
      kdoc is added for mei_fw_tc [Tomas]
      s/MEI_TC_x/MEI_TRANSCODER_x
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Acked-by: Tomas Winkler <tomas.winkler@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-4-ramalingam.c@intel.com

commit 5b6030da28cd6d6f5d129d7039ea0db83bcee6cf
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:12 2019 +0530

    drm: Move port definition back to i915 header
    
    We dont need the definition of the enum port outside I915, anymore.
    Hence move enum port definition into I915 driver itself.
    
    v2:
      intel_display.h is included in intel_hdcp.h
    v3:
      enum port is declared in headers.
    v4:
      commit msg is rephrased.
    v5:
      copyright year is updated [Tomas]
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Reviewed-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-3-ramalingam.c@intel.com

commit 0dcceb35a13de07d8c28305b69a33b339c7eba0a
Author: Ramalingam C <ramalingam.c@intel.com>
Date:   Wed Aug 28 22:12:11 2019 +0530

    drm/i915: mei_hdcp: I915 sends ddi index as per ME FW
    
    I915 converts it's port value into ddi index defiend by ME FW
    and pass it as a member of hdcp_port_data structure.
    
    Hence expose the enum mei_fw_ddi to I915 through
    i915_mei_interface.h.
    
    v2:
      Copyright years are bumped [Tomas]
    
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
    Acked-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Uma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828164216.405-2-ramalingam.c@intel.com

commit 424c38a4e32509ae82dc9d7300432295806cb911
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Tue Aug 27 13:58:50 2019 +0200

    drm/selftests: modes: Add more unit tests for the cmdline parser
    
    Let's add some unit tests for the recent bugs we just fixed.
    
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Tested-by: Thomas Graichen <thomas.graichen@gmail.com>
    Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827115850.25731-4-mripard@kernel.org

commit 3764137906a5acece8b5546873a70b1e6263a1a6
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Tue Aug 27 13:58:49 2019 +0200

    drm/modes: Introduce a whitelist for the named modes
    
    The named modes support has introduced a number of glitches that were in
    part due to the fact that the parser will take any string as a named mode.
    
    Since we shouldn't have a lot of options there (and they should be pretty
    standard), let's introduce a whitelist of the available named modes so that
    the kernel can differentiate between a poorly formed command line and a
    named mode.
    
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Tested-by: Thomas Graichen <thomas.graichen@gmail.com>
    Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827115850.25731-3-mripard@kernel.org

commit 728a257f652aee5dd03ecde90b11f414a255e08b
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Tue Aug 27 13:58:48 2019 +0200

    drm/modes: Fix the command line parser to take force options into account
    
    The command line parser when it has been rewritten introduced a regression
    when the only thing on the command line is an option to force the detection
    of a connector (such as video=HDMI-A-1:d), which are completely valid.
    
    It's been further broken by the support for the named modes which take
    anything that is not a resolution as a named mode.
    
    Let's fix this by running the extra command line option parser on the named
    modes if they only take a single character.
    
    Fixes: e08ab74bd4c7 ("drm/modes: Rewrite the command line parser")
    Reported-by: Jernej Škrabec <jernej.skrabec@gmail.com>
    Reported-by: Thomas Graichen <thomas.graichen@googlemail.com>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Tested-by: Thomas Graichen <thomas.graichen@gmail.com>
    Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827115850.25731-2-mripard@kernel.org

commit 325d0ab3a1d1ad8b8c4f9f03fd866e55b0e24254
Author: Maxime Ripard <maxime.ripard@bootlin.com>
Date:   Tue Aug 27 13:58:47 2019 +0200

    drm/modes: Add a switch to differentiate free standing options
    
    Some extra command line options can be either specified without anything
    else on the command line (basically all the force connection options), but
    some other are only relevant when matched with a resolution (margin and
    interlace).
    
    Let's add a switch to restrict if needed the available option set.
    
    Fixes: e08ab74bd4c7 ("drm/modes: Rewrite the command line parser")
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Tested-by: Thomas Graichen <thomas.graichen@gmail.com>
    Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827115850.25731-1-mripard@kernel.org

commit 1bbbbcfdc0f0fa7a98ba0d551fd03d2c45d5a318
Author: Mao Wenan <maowenan@huawei.com>
Date:   Wed Aug 28 16:07:40 2019 +0800

    crypto: hisilicon - select CRYPTO_LIB_DES while compiling SEC driver
    
    When CRYPTO_DEV_HISI_SEC=y, below compilation error is found after
    'commit 894b68d8be4b ("crypto: hisilicon/des - switch to new verification routines")':
    
    drivers/crypto/hisilicon/sec/sec_algs.o: In function `sec_alg_skcipher_setkey_des_cbc':
    sec_algs.c:(.text+0x11f0): undefined reference to `des_expand_key'
    drivers/crypto/hisilicon/sec/sec_algs.o: In function `sec_alg_skcipher_setkey_des_ecb':
    sec_algs.c:(.text+0x1390): undefined reference to `des_expand_key'
    make: *** [vmlinux] Error 1
    
    This because DES library has been moved to lib/crypto in this commit
    '04007b0e6cbb ("crypto: des - split off DES library from generic DES cipher driver")'.
    Fix this by selecting CRYPTO_LIB_DES in CRYPTO_DEV_HISI_SEC.
    
    Fixes: 04007b0e6cbb ("crypto: des - split off DES library from generic DES cipher driver")
    Fixes: 894b68d8be4b ("crypto: hisilicon/des - switch to new verification routines")
    
    Signed-off-by: Mao Wenan <maowenan@huawei.com>
    Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 9ecf5ad522e09d6e11a7e0a0b1845622a480f478
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sun Aug 25 20:18:41 2019 +0200

    crypto: sha256 - Add missing MODULE_LICENSE() to lib/crypto/sha256.c
    
    lib/crypto/sha256.c / lib/crypto/libsha256.o may end up being a module,
    so it needs a MODULE_LICENSE() line, add this.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit c03a509304954c5ed58ac9c607e20f1b55f88a28
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Thu Aug 22 18:47:31 2019 +0300

    crypto: ccp - invoke fallback for XTS ciphertext stealing
    
    For correctness and compliance with the XTS-AES specification, we are
    adding support for ciphertext stealing to XTS implementations, even
    though no use cases are known that will be enabled by this.
    
    Since the ccp driver already has a fallback skcipher standby for
    dealing with input sizes other than [16, 512, 1024, 2048, 4096],
    just drop the check against the block size.
    
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: Gary Hook <gary.hook@amd.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 2be7f901610ca0d8588865b13ca9046ec32fb9bb
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 22 22:46:49 2019 +0800

    crypto: nx - remove unused variables 'nx_driver_string' and 'nx_driver_version'
    
    drivers/crypto/nx/nx.h:12:19: warning:
     nx_driver_string defined but not used [-Wunused-const-variable=]
    drivers/crypto/nx/nx.h:13:19: warning:
     nx_driver_version defined but not used [-Wunused-const-variable=]
    
    They are never used, so just remove it.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 25e9960c370b23d6627a3424d0d9820e72152096
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 22 22:44:44 2019 +0800

    crypto: atmel - Fix -Wunused-const-variable warning
    
    drivers/crypto/atmel-i2c.h:68:3: warning:
     error_list defined but not used [-Wunused-const-variable=]
    
    error_list is only used in atmel-i2c.c,
    so just move the definition over there.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit f1d087b912c61f23685fcfc1bf61dfce517d89f3
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 22 22:41:38 2019 +0800

    crypto: aegis128 - Fix -Wunused-const-variable warning
    
    crypto/aegis.h:27:32: warning:
     crypto_aegis_const defined but not used [-Wunused-const-variable=]
    
    crypto_aegis_const is only used in aegis128-core.c,
    just move the definition over there.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 6796c02a4b7ef3761df040db4905227ddf8dac77
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:24:01 2019 -0700

    crypto: caam - add clock entry for i.MX8MQ
    
    Add clock entry needed to support i.MX8MQ.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit a6727055971b4fa8d07db08088ff618c57f7d296
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:24:00 2019 -0700

    crypto: caam - always select job ring via RSR on i.MX8MQ
    
    Per feedback from NXP tech support the way to use register based
    service interface on i.MX8MQ is to follow the same set of steps
    outlined for the case when virtualization is enabled, regardless if it
    is. Current version of SRM for i.MX8MQ speaks of DECO DID_MS and DECO
    DID_LS registers, but apparently those are not implemented, so the
    case when SCFGR[VIRT_EN]=0 should be handled the same as the case when
    SCFGR[VIRT_EN]=1
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit a1cf573ee95d5a15bdd1d33310d179d92b229dd1
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:59 2019 -0700

    crypto: caam - select DMA address size at runtime
    
    i.MX8 mScale SoC still use 32-bit addresses in its CAAM implmentation,
    so we can't rely on sizeof(dma_addr_t) to detemine CAAM pointer
    size. Convert the code to query CTPR and MCFGR for that during driver
    probing.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit dff36801a9f0cca4f8b074b4c8229dcc0400acd1
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:58 2019 -0700

    crypto: caam - don't hardcode inpentry size
    
    Using dma_addr_t for elements of JobR input ring is not appropriate on
    all 64-bit SoCs, some of which, like i.MX8MQ, use only 32-bit wide
    pointers there. Convert all of the code to use explicit helper
    function that can be later extended to support i.MX8MQ. No functional
    change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 6c5f898f12a3d65f04a928ffd7e38ae397c9a0d4
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:57 2019 -0700

    crypto: caam - drop explicit usage of struct jr_outentry
    
    Using struct jr_outentry to specify the layout of JobR output ring is
    not appropriate for all 64-bit SoC, since some of them, like i.MX8MQ,
    use 32-bit pointers there which doesn't match 64-bit
    dma_addr_t. Convert existing code to use explicit helper functions to
    access any of the JobR output ring elements, so that the support for
    i.MX8MQ can be added later. No functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit e27d96298bb893aacfeced1045c757b51abf301b
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:56 2019 -0700

    crypto: caam - move cpu_to_caam_dma() selection to runtime
    
    Instead of selecting the implementation of
    cpu_to_caam_dma()/caam_dma_to_cpu() at build time using the
    preprocessor, convert the code to do that at run-time using IS_ENABLED
    macro. This is needed to add support for i.MX8MQ. No functional change
    intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 1a3daadce955530df92b1bb22093618dd26a1717
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:55 2019 -0700

    crypto: caam - make CAAM_PTR_SZ dynamic
    
    In order to be able to configure CAAM pointer size at run-time, which
    needed to support i.MX8MQ, which is 64-bit SoC with 32-bit pointer
    size, convert CAAM_PTR_SZ to refer to a global variable of the same
    name ("caam_ptr_sz") and adjust the rest of the code accordingly. No
    functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 3a0944c5362654e13cde558ef81309a0fcf9112b
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:54 2019 -0700

    crypto: caam - share definition for MAX_SDLEN
    
    Both qi.h and cammalg_qi2.h seem to define identical versions of
    MAX_SDLEN. Move it to desc_constr.h to avoid duplication.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 6e05542fd6061d3862c85fd049cb953f1cf5b264
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:53 2019 -0700

    crypto: caam - drop 64-bit only wr/rd_reg64()
    
    Since 32-bit of both wr_reg64 and rd_reg64 now use 64-bit IO helpers,
    these functions should no longer be necessary. No functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 393d2d0fe8e738521a73486e345531a715ad58b7
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:52 2019 -0700

    crypto: caam - use ioread64*_hi_lo in rd_reg64
    
    Following the same transformation logic as outlined in previous commit
    converting wr_reg64, convert rd_reg64 to use helpers from
    <linux/io-64-nonatomic-hi-lo.h> first. No functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 9f5db8b5ea275fe22613a08bc6e3d9dedcbbf40f
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:51 2019 -0700

    crytpo: caam - make use of iowrite64*_hi_lo in wr_reg64
    
    In order to be able to unify 64 and 32 bit implementations of
    wr_reg64, let's convert it to use helpers from
    <linux/io-64-nonatomic-hi-lo.h> first. Here are the steps of the
    transformation:
    
    1. Inline wr_reg32 helpers:
    
            if (!caam_imx && caam_little_end) {
                    if (caam_little_end) {
                            iowrite32(data >> 32, (u32 __iomem *)(reg) + 1);
                            iowrite32(data, (u32 __iomem *)(reg));
                    } else {
                            iowrite32be(data >> 32, (u32 __iomem *)(reg) + 1);
                            iowrite32be(data, (u32 __iomem *)(reg));
                    }
            } else {
                    if (caam_little_end) {
                            iowrite32(data >> 32, (u32 __iomem *)(reg));
                            iowrite32(data, (u32 __iomem *)(reg) + 1);
                    } else {
                            iowrite32be(data >> 32, (u32 __iomem *)(reg));
                            iowrite32be(data, (u32 __iomem *)(reg) + 1);
                    }
            }
    
    2. Transfrom the conditionals such that the check for
    'caam_little_end' is at the top level:
    
            if (caam_little_end) {
                    if (!caam_imx) {
                            iowrite32(data >> 32, (u32 __iomem *)(reg) + 1);
                            iowrite32(data, (u32 __iomem *)(reg));
                    } else {
                            iowrite32(data >> 32, (u32 __iomem *)(reg));
                            iowrite32(data, (u32 __iomem *)(reg) + 1);
                    }
            } else {
                    iowrite32be(data >> 32, (u32 __iomem *)(reg));
                    iowrite32be(data, (u32 __iomem *)(reg) + 1);
            }
    
    3. Invert the check for !caam_imx:
    
            if (caam_little_end) {
                    if (caam_imx) {
                            iowrite32(data >> 32, (u32 __iomem *)(reg));
                            iowrite32(data, (u32 __iomem *)(reg) + 1);
                    } else {
                            iowrite32(data >> 32, (u32 __iomem *)(reg) + 1);
                            iowrite32(data, (u32 __iomem *)(reg));
                    }
            } else {
                    iowrite32be(data >> 32, (u32 __iomem *)(reg));
                    iowrite32be(data, (u32 __iomem *)(reg) + 1);
            }
    
    4. Make use of iowrite64* helpers from <linux/io-64-nonatomic-hi-lo.h>
    
            if (caam_little_end) {
                    if (caam_imx) {
                            iowrite32(data >> 32, (u32 __iomem *)(reg));
                            iowrite32(data, (u32 __iomem *)(reg) + 1);
                    } else {
                            iowrite64(data, reg);
                    }
            } else {
                    iowrite64be(data, reg);
            }
    
    No functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit d488dfd9b210e6d393627b418b35c2e8e851b9d6
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:50 2019 -0700

    crypto: caam - request JR IRQ as the last step
    
    In order to avoid any risk of JR IRQ request being handled while some
    of the resources used for that are not yet allocated move the code
    requesting said IRQ to the endo of caam_jr_init().
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit a6c4194ead005e83ca49226b9ac5fdcba7ff0a04
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:49 2019 -0700

    crypto: caam - convert caam_jr_init() to use devres
    
    Use devres to allocate all of the resources in caam_jr_init() (DMA
    coherent and regular memory, IRQs) drop calls to corresponding
    deallocation routines. No functional change intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 51e002e949d45b1d645681c4c2b8612174537221
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:48 2019 -0700

    crypto: caam - simplfy clock initialization
    
    Simplify clock initialization code by converting it to use clk-bulk,
    devres and soc_device_match() match table. No functional change
    intended.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
    Tested-by: Iuliana Prodan <iuliana.prodan@nxp.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 70c0cda27a10df44e81887bc4cb10f587236a941
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Tue Aug 20 13:23:47 2019 -0700

    crypto: caam - move DMA mask selection into a function
    
    Exactly the same code to figure out DMA mask is repeated twice in the
    driver code. To avoid repetition, move that logic into a standalone
    subroutine in intern.h. While at it re-shuffle the code to make it
    more readable with early returns.
    
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Cc: Chris Spencer <christopher.spencer@sea.co.uk>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Aymen Sghaier <aymen.sghaier@nxp.com>
    Cc: Leonard Crestez <leonard.crestez@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 671e50384ee6267052c5d613dc84a72b7fe9ef4b
Author: Iuliana Prodan <iuliana.prodan@nxp.com>
Date:   Tue Aug 20 14:26:39 2019 +0300

    crypto: caam/qi - use print_hex_dump_debug function to print debug messages
    
    Use print_hex_dump_debug function to print debug messages, instead of
    print_hex_dump inside #ifdef DEBUG.
    
    Fixes: 6e005503199b ("crypto: caam - print debug messages at debug level")
    Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit f6cc45c854da0c964d1541712bb3326c72020a1c
Author: Pascal van Leeuwen <pvanleeuwen@insidesecure.com>
Date:   Mon Aug 19 16:40:26 2019 +0200

    crypto: inside-secure - add support for using the EIP197 without vendor firmware
    
    Until now, the inside-secure driver required a set of firmware images
    supplied by the silicon vendor, typically under NDA, to be present in
    /lib/firmware/inside-secure in order to be able to function.
    This patch removes the dependence on this official vendor firmware by
    falling back to generic "mini" FW - developed specifically for this
    driver - that can be provided under GPL 2.0 through linux-firmwares.
    
    Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
    Acked-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 625f269a5a7a3643771320387e474bd0a61d9654
Author: Pascal van Leeuwen <pvanleeuwen@insidesecure.com>
Date:   Mon Aug 19 16:40:25 2019 +0200

    crypto: inside-secure - add support for PCI based FPGA development board
    
    This patch adds support for a PCIE development board with FPGA from Xilinx,
    to facilitate pre-silicon driver development by both Inside Secure and its
    IP customers. Since Inside Secure neither produces nor has access to actual
    silicon, this is required functionality to allow us to contribute.
    
    Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
    Acked-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 70e39e2259a716cce1fecd9974942ee1ed58a9a5
Author: Pascal van Leeuwen <pascalvanl@gmail.com>
Date:   Mon Aug 19 16:40:24 2019 +0200

    crypto: inside-secure - Remove redundant algo to engine mapping code
    
    This removes some code determine which engine has which algorithms which
    was effectively redundant (may have been forward-looking?) due to always
    enabling all algorithms for all currently supported engines.
    A future patch will use a different, more scalable approach to achieve
    this. This is removed now because otherwise the next patch will add new
    hardware which would otherwise have to be added to all algorithms, so
    now is a convenient time to just get rid of this.
    
    Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
    Acked-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 0f6e5c8234778f7dadf5789ce85ac1e062ebed9f
Author: Pascal van Leeuwen <pvanleeuwen@insidesecure.com>
Date:   Mon Aug 19 16:40:23 2019 +0200

    crypto: inside-secure - make driver selectable for non-Marvell hardware
    
    While being a generic EIP97/EIP197 driver, the driver was only selectable
    for Marvell Armada hardware. This fix makes the driver selectable for any
    Device Tree supporting kernel configuration, allowing it to be used for
    other compatible hardware by just adding the correct device tree entry.
    
    It also allows the driver to be selected for PCI(E) supporting kernel con-
    figurations, to be able to use it with PCIE based FPGA development boards
    for pre-silicon driver development by both Inside Secure and its IP custo-
    mers.
    
    Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
    Acked-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit c4624488665fff8edddb00ed0fd00ea4c985d591
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:22:26 2019 +0300

    crypto: s5p - use correct block size of 1 for ctr(aes)
    
    Align the s5p ctr(aes) implementation with other implementations
    of the same mode, by setting the block size to 1.
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Acked-by: Kamil Konieczny <k.konieczny@partner.samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 84a0b00aa486c0ab0216771c5cb988e2277b7498
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:22:25 2019 +0300

    crypto: s5p - deal gracefully with bogus input sizes
    
    The s5p skcipher driver returns -EINVAL for zero length inputs, which
    deviates from the behavior of the generic ECB template, and causes fuzz
    tests to fail. In cases where the input is not a multiple of the AES
    block size (and the chaining mode is not CTR), it prints an error to
    the kernel log, which is a thing we usually try to avoid in response
    to situations that can be triggered by unprivileged users.
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Acked-by: Kamil Konieczny <k.konieczny@partner.samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 735177ca148af5049e9e98b38eaba0c769182655
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:17:36 2019 +0300

    crypto: arm64/aes - implement accelerated ESSIV/CBC mode
    
    Add an accelerated version of the 'essiv(cbc(aes),sha256)' skcipher,
    which is used by fscrypt or dm-crypt on systems where CBC mode is
    signficantly more performant than XTS mode (e.g., when using a h/w
    accelerator which supports the former but not the latter) This avoids
    a separate call into the AES cipher for every invocation.
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 65d0042b529048b80dcb1b6b4a738a8f71828146
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:17:35 2019 +0300

    crypto: arm64/aes-cts-cbc - factor out CBC en/decryption of a walk
    
    The plain CBC driver and the CTS one share some code that iterates over
    a scatterwalk and invokes the CBC asm code to do the processing. The
    upcoming ESSIV/CBC mode will clone that pattern for the third time, so
    let's factor it out first.
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit f975abb23c6f3e551b5b9ac991941756bb1c2f3d
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:17:34 2019 +0300

    crypto: essiv - add tests for essiv in cbc(aes)+sha256 mode
    
    Add a test vector for the ESSIV mode that is the most widely used,
    i.e., using cbc(aes) and sha256, in both skcipher and AEAD modes
    (the latter is used by tcrypt to encapsulate the authenc template
    or h/w instantiations of the same)
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 389139b34f407da7c09bc26c4d943f52742a6d42
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Aug 19 17:15:00 2019 +0300

    crypto: arm64/aegis128 - use explicit vector load for permute vectors
    
    When building the new aegis128 NEON code in big endian mode, Clang
    complains about the const uint8x16_t permute vectors in the following
    way:
    
      crypto/aegis128-neon-inner.c:58:40: warning: vector initializers are not
          compatible with NEON intrinsics in big endian mode
          [-Wnonportable-vector-initialization]
                    static const uint8x16_t shift_rows = {
                                                         ^
      crypto/aegis128-neon-inner.c:58:40: note: consider using vld1q_u8() to
          initialize a vector from memory, or vcombine_u8(vcreate_u8(), vcreate_u8())
          to initialize from integer constants
    
    Since the same issue applies to the uint8x16x4_t loads of the AES Sbox,
    update those references as well. However, since GCC does not implement
    the vld1q_u8_x4() intrinsic, switch from IS_ENABLED() to a preprocessor
    conditional to conditionally include this code.
    
    Reported-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Tested-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 309b77e0f8bfa3126ff12949173e6d45801a968b
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Mon Aug 19 07:18:33 2019 +0200

    crypto: picoxcell - Fix the name of the module in the description of CRYPTO_DEV_PICOXCELL
    
    The help section says that the module will be called 'pipcoxcell_crypto'.
    This is likely a typo.
    Use 'picoxcell_crypto' instead
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 15f6eb5351a2487b47c2c53e8e0569aaf1e3d56e
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Aug 23 12:31:39 2019 +0200

    arm64: dts: allwinner: orange-pi-3: Enable UART1 / Bluetooth
    
    The board contains AP6256 WiFi/BT module that has its bluetooth part
    connected to SoC's UART1 port. Enable this port, and add node for the
    bluetooth device.
    
    Bluetooth part is named bcm4345c5.
    
    You'll need a BCM4345C5.hcd firmware file that can be found in the
    Xulongs's repository for H6:
    
    https://github.com/orangepi-xunlong/OrangePiH6_external/tree/master/ap6256
    
    The driver expects the firmware at the following path relative to the
    firmware directory:
    
      brcm/BCM4345C5.hcd
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 067fe418f5e1feef75b6312856e5d5267179de73
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Aug 23 12:31:38 2019 +0200

    arm64: dts: allwinner: h6: Add pin configs for uart1
    
    Orange Pi 3 uses UART1 for bluetooth. Add pinconfigs so that we can use
    them.
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 3105c48ee8b7306f12c6099286b583f359d5f5a3
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Aug 23 12:31:37 2019 +0200

    bluetooth: hci_bcm: Give more time to come out of reset
    
    Some supported devices need more time to come out of reset (eg.
    BCM4345C5 in AP6256).
    
    I don't have/found a datasheet, so the value was arrive at
    experimentally with the Oprange Pi 3 board. Without increased delay,
    I got intermittent failures during probe. This is a Bluetooth 5.0
    device, so maybe that's why it takes longer to initialize than the
    others.
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 8552444514531555620a920166027764e44d58d5
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Aug 23 12:31:36 2019 +0200

    bluetooth: bcm: Add support for loading firmware for BCM4345C5
    
    Detect BCM4345C5 and load a corresponding firmware file.
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 0af6f0a4748e72b9b59313b104466230cd25d9bd
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Aug 23 12:31:35 2019 +0200

    dt-bindings: net: Add compatible for BCM4345C5 bluetooth device
    
    This is present in the AP6526 WiFi/Bluetooth 5.0 module.
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 048ea5526658012b88b024e840e60eb2cca1d602
Author: Rocky Liao <rjliao@codeaurora.org>
Date:   Wed Aug 21 14:23:39 2019 +0800

    Bluetooth: hci_qca: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for QCA UART Radio
    
    QCA UART Bluetooth controllers can do both LE scan and BR/EDR inquiry
    at once, need to set HCI_QUIRK_SIMULTANEOUS_DISCOVERY quirk.
    
    Signed-off-by: Rocky Liao <rjliao@codeaurora.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit f52b5d058b317613037c8d2e2d9e0fa7350dae2d
Author: Nishka Dasgupta <nishkadg.linux@gmail.com>
Date:   Thu Aug 15 11:21:49 2019 +0530

    Bluetooth: hci_qca: Make structure qca_proto constant
    
    Static structure qca_proto, of type hci_uart_proto, is used four times:
    as the last argument in function hci_uart_register_device(), and as the
    only argument to functions hci_uart_register_proto() and
    hci_uart_unregister_proto(). In all three of these functions, the
    parameter corresponding to qca_proto is declared as constant. Therefore,
    make qca_proto itself constant as well in order to protect it from
    unintended modification.
    Issue found with Coccinelle.
    
    Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit c6ed0ba8b76ed57a346fddd1be8fc0a168190c9c
Author: Nishka Dasgupta <nishkadg.linux@gmail.com>
Date:   Thu Aug 15 11:22:55 2019 +0530

    Bluetooth: 6lowpan: Make variable header_ops constant
    
    Static variable header_ops, of type header_ops, is used only once, when
    it is assigned to field header_ops of a variable having type net_device.
    This corresponding field is declared as const in the definition of
    net_device. Hence make header_ops constant as well to protect it from
    unnecessary modification.
    Issue found with Coccinelle.
    
    Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 8528d50827b79756d4c73a1a02ebdccc2e93e7f7
Author: Alex Lu <alex_lu@realsil.com.cn>
Date:   Wed Aug 14 20:02:52 2019 +0800

    Bluetooth: btusb: Fix suspend issue for Realtek devices
    
    From the perspective of controller, global suspend means there is no
    SET_FEATURE (DEVICE_REMOTE_WAKEUP) and controller would drop the
    firmware. It would consume less power. So we should not send this kind
    of SET_FEATURE when host goes to suspend state.
    Otherwise, when making device enter selective suspend, host should send
    SET_FEATURE to make sure the firmware remains.
    
    Signed-off-by: Alex Lu <alex_lu@realsil.com.cn>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit a4f077da6ed3c098175b40165b6863f927312c56
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon Aug 12 14:22:11 2019 +0800

    Bluetooth: hci_bcm: Fix -Wunused-const-variable warnings
    
    If CONFIG_ACPI is not set, gcc warn this:
    
    drivers/bluetooth/hci_bcm.c:831:39: warning:
     acpi_bcm_int_last_gpios defined but not used [-Wunused-const-variable=]
    drivers/bluetooth/hci_bcm.c:838:39: warning:
     acpi_bcm_int_first_gpios defined but not used [-Wunused-const-variable=]
    
    move them to #ifdef CONFIG_ACPI block.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit d2edeeec232dd53803e085c3245e088cd9795457
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Wed Aug 7 11:58:49 2019 -0700

    Bluetooth: hci_qca: Remove redundant initializations to zero
    
    The qca_data structure is allocated with kzalloc() and hence
    zero-initialized. Remove a bunch of unnecessary explicit
    initializations of struct members to zero.
    
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Reviewed-by: Balakrishna Godavarthi <bgodavar@codeaurora.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 623fc8e457f7365b34be4d4e89b2472fe2cec43a
Author: Spoorthi Ravishankar Koppad <spoorthix.k@intel.com>
Date:   Mon Jul 15 17:05:22 2019 +0530

    Bluetooth: Add support for utilizing Fast Advertising Interval
    
    Changes made to add support for fast advertising interval
    as per core 4.1 specification, section 9.3.11.2.
    
    A peripheral device entering any of the following GAP modes and
    sending either non-connectable advertising events or scannable
    undirected advertising events should use adv_fast_interval2
    (100ms - 150ms) for adv_fast_period(30s).
    
             - Non-Discoverable Mode
             - Non-Connectable Mode
             - Limited Discoverable Mode
             - General Discoverable Mode
    
    Signed-off-by: Spoorthi Ravishankar Koppad <spoorthix.k@intel.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

commit 6078f28cf9d1487c900964b8c3bf69253133ee42
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 29 20:22:06 2019 +0900

    mmc: sdhci: use lower/upper_32_bits() macros for DMA addresses
    
    Currently, the DMA addresses are casted to (u64) for the upper 32bits
    to avoid "right shift count >= width of type" warning.
    
    <linux/kernel.h> provides macros to address this, and I like the macro
    names are self-documenting.
    
    I introduced a new helper, sdhci_set_adma_addr() to avoid the code
    duplication.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit d620d496ba9b752559c87b9b4e77e7a752da4d91
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 29 19:49:28 2019 +0900

    mmc: sdhci-cadence: override spec version
    
    The datasheet of the IP (sd4hc) says it is compiatible with SDHCI v4,
    but the spec version field in the version register is read as 2
    (i.e. SDHCI_SPEC_300) based on the RTL provided by Cadence.
    
    Socionext did not fix it up when it integrated the IP into the SoCs.
    So, it is working as SDHCI v3.
    
    It is not a real problem because there is no difference in the program
    flow in sdhci.c between SDHCI_SPEC_300/400, but set the real version
    just in case.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit 355af48d4898fc4857ae894d11d396659b1724fe
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 29 19:49:27 2019 +0900

    mmc: sdhci: constify references of parameters to __sdhci_read_caps()
    
    __sdhci_read_caps() does not modify *ver, *caps, or *caps1.
    
    Probably, the caller of this function will want to constifythe
    parameters passed in.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit 0b09197146bed1f38fbe2075b8f57caeaacef9f4
Author: yong mao <yong.mao@mediatek.com>
Date:   Wed Aug 28 17:45:24 2019 +0800

    mmc: mediatek: enable SDIO IRQ low level trigger function
    
    SDIO IRQ is not defaultly triggered by low level,
    but by falling edge. It needs to set related register
    to enable SDIO IRQ low level trigger function.
    Otherwise the SDIO IRQ may be lost in some specail condition.
    
    Signed-off-by: Yong Mao <yong.mao@mediatek.com>
    Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit f6c6a6c7bd9fb8f78d67f9a5b3708a966e556831
Author: Ben Chuang <ben.chuang@genesyslogic.com.tw>
Date:   Tue Aug 27 08:33:22 2019 +0800

    mmc: sdhci: Export sdhci_abort_tuning function symbol
    
    Export sdhci_abort_tuning() function symbols which are used by other SD Host
    controller driver modules.
    
    Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>
    Co-developed-by: Michael K Johnson <johnsonm@danlj.org>
    Signed-off-by: Michael K Johnson <johnsonm@danlj.org>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit 75f692537e2f813a5606f4d98e12f7d16cd8b08c
Author: Ben Chuang <ben.chuang@genesyslogic.com.tw>
Date:   Tue Aug 27 08:33:09 2019 +0800

    PCI: Add Genesys Logic, Inc. Vendor ID
    
    Add the Genesys Logic, Inc. vendor ID to pci_ids.h.
    
    Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>
    Co-developed-by: Michael K Johnson <johnsonm@danlj.org>
    Signed-off-by: Michael K Johnson <johnsonm@danlj.org>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit d2e1a708b633d92f192d6160501c5892791dd0d7
Author: Ben Chuang <ben.chuang@genesyslogic.com.tw>
Date:   Tue Aug 27 08:32:55 2019 +0800

    mmc: sdhci: Add PLL Enable support to internal clock setup
    
    The GL9750 and GL9755 chipsets, and possibly others, require PLL Enable
    setup as part of the internal clock setup as described in 3.2.1 Internal
    Clock Setup Sequence of SD Host Controller Simplified Specification
    Version 4.20.
    
    Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>
    Co-developed-by: Michael K Johnson <johnsonm@danlj.org>
    Signed-off-by: Michael K Johnson <johnsonm@danlj.org>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit dffa1c3825a05f7e257567331673018f952b478a
Author: Ben Chuang <ben.chuang@genesyslogic.com.tw>
Date:   Tue Aug 27 08:32:42 2019 +0800

    mmc: sdhci: Change timeout of loop for checking internal clock stable
    
    According to section 3.2.1 internal clock setup in SD Host Controller
    Simplified Specifications 4.20, the timeout of loop for checking
    internal clock stable is defined as 150ms.
    
    Signed-off-by: Ben Chuang <ben.chuang@genesyslogic.com.tw>
    Co-developed-by: Michael K Johnson <johnsonm@danlj.org>
    Signed-off-by: Michael K Johnson <johnsonm@danlj.org>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

commit 9607af6f857ff062b29562fc1fe36d22b16b9d27
Author: Ashish Kumar <Ashish.Kumar@nxp.com>
Date:   Thu Aug 29 17:37:25 2019 +0530

    mtd: spi-nor: Rename "n25q512a" to "mt25qu512a (n25q512a)"
    
    n25q512a was rebranded to mt25qu512a after its spin off from STM.
    mt25qu512a is different only in terms of operating frequency, the
    JEDEC id is the same as in n25q512a.
    
    Dual reads are supported (0x3b, 0x3c), set the SPI_NOR_DUAL_READ flag.
    4-byte opcodes are supported, set the SPI_NOR_4B_OPCODES flag.
    
    Tested Single I/O and QUAD I/O mode on LS1046FRWY.
    
    Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
    Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
    Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
    [tudor.ambarus@microchip.com: rename entry to "mt25qu512a (n25q512a)",
    reword commit message, order entry by size, drop comment as it looked
    redundant]
    Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>

commit 173c3d47736e31e388e3ff24cfd5d624f3d8d236
Author: Ashish Kumar <Ashish.Kumar@nxp.com>
Date:   Thu Aug 29 17:37:24 2019 +0530

    mtd: spi-nor: Add support for mt35xu02g
    
    mt35xu02g is an Octal flash supporting Single and OCTAL I/O.
    Tested on LS1028ARDB.
    
    Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
    Signed-off-by: Ashish Kumar <ashish.kumar@nxp.com>
    Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
    [tudor.ambarus@microchip.com: reword commit message]
    Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>

commit 097a802ae15e2c6d17256a6fe0712a655ba10823
Author: Gao Xiang <gaoxiang25@huawei.com>
Date:   Fri Aug 30 01:17:41 2019 +0800

    erofs: reduntant assignment in __erofs_get_meta_page()
    
    As Joe Perches suggested [1],
                    err = bio_add_page(bio, page, PAGE_SIZE, 0);
    -               if (unlikely(err != PAGE_SIZE)) {
    +               if (err != PAGE_SIZE) {
                            err = -EFAULT;
                            goto err_out;
                    }
    
    The initial assignment to err is odd as it's not
    actually an error value -E<FOO> but a int size
    from a unsigned int len.
    
    Here the return is either 0 or PAGE_SIZE.
    
    This would be more legible to me as:
    
                    if (bio_add_page(bio, page, PAGE_SIZE, 0) != PAGE_SIZE) {
                            err = -EFAULT;
                            goto err_out;
                    }
    
    [1] https://lore.kernel.org/r/74c4784319b40deabfbaea92468f7e3ef44f1c96.camel@perches.com/
    Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
    Link: https://lore.kernel.org/r/20190829171741.225219-1-gaoxiang25@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8d8a09b093d7073465c824f74caf315c073d3875
Author: Gao Xiang <gaoxiang25@huawei.com>
Date:   Fri Aug 30 00:38:27 2019 +0800

    erofs: remove all likely/unlikely annotations
    
    As Dan Carpenter suggested [1], I have to remove
    all erofs likely/unlikely annotations.
    
    [1] https://lore.kernel.org/linux-fsdevel/20190829154346.GK23584@kadam/
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
    Link: https://lore.kernel.org/r/20190829163827.203274-1-gaoxiang25@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5cf89673645f7edfa075afc9e1d531db24706329
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Aug 30 08:56:37 2019 +0200

    MAINTAINERS: fix up exfat directory location
    
    I messed up on the exfat MAINTAINER entry, the code is in
    drivers/staging/exfat/ not fs/exfat/
    
    Cc: Valdis Kletnieks <valdis.kletnieks@vt.edu>
    Reported-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c48c9f7ff32b8b3965a08e40eb6763682d905b5d
Author: Valdis Klētnieks <valdis.kletnieks@vt.edu>
Date:   Wed Aug 28 18:08:17 2019 +0200

    staging: exfat: add exfat filesystem code to staging
    
    The exfat code needs a lot of work to get it into "real" shape for
    the fs/ part of the kernel, so put it into drivers/staging/ for now so
    that it can be worked on by everyone in the community.
    
    The full specification of the filesystem can be found at:
      https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification
    
    Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Link: https://lore.kernel.org/r/20190828160817.6250-1-gregkh@linuxfoundation.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 18a93cd38be3e69ac5b067c570a78a369b79e31d
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Fri Aug 30 13:56:14 2019 +1000

    usb: gadget: net2280: Add workaround for AB chip Errata 11
    
    The errata description is:
    
    Workaround for Default Duration of LFPS Handshake Signaling for
    Device-Initiated U1 Exit is too short.
    
    The default duration of the LFPS handshake generated by USB3380 for a device-initiated U1-exit may not be
    long enough for certain SuperSpeed downstream ports (SuperSpeed hubs/hosts) to recognize. This could lead
    to USB3380 entering the recovery state pre-maturely and ending up in the SS.Inactive state.
    
    I have observed various enumeration failures, seemingly related to
    lost transactions or SETUP status phases on modern hosts (typically
    thunderbolt capable systems) without this workaround.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit ec8ca8a3489cc87ca43a865af7e7393690841810
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Fri Aug 30 13:56:10 2019 +1000

    usb: gadget: net2280: Move all "ll" registers in one structure
    
    The split into multiple structures of the "ll" register bank is
    impractical. It makes it hard to add ll_lfps_timers_2 which is
    at offset 0x794, which is outside of the existing "lfps" structure
    and would require us to add yet another one.
    
    Instead, move all the "ll" registers into a single usb338x_ll_regs
    structure, and add ll_lfps_timers_2 while at it. It will be used
    in a subsequent patch.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit 17b63704ec7cd4a37c513d964bc09c7e3fde8988
Author: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Date:   Thu Aug 29 18:00:16 2019 -0700

    usb: dwc3: gadget: Workaround Mirosoft's BESL check
    
    While testing our host system using Microsoft's usb stack against our
    gadget for various BESL values, we found an issue with their usb stack
    when the recommended baseline BESL value is 0 (125us) or when the deep
    BESL is 1 or less. The Windows host will issue a usb reset immediately
    after it receives the extended BOS descriptor and the enumeration will
    fail after a few attempts.
    
    To keep compatibility with Microsoft's host usb stack, let's workaround
    this issue by using the recommended baseline BESL of 1 (or 150us)
    and clamp the deep BESL value within 2 to 15.
    
    This was tested against Windows 10 build 18956.
    
    Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit 6af86bdb8ad41f4cf1292d3b10857dc322758328
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Fri Aug 30 10:14:56 2019 +0900

    ALSA: firewire-motu: add support for MOTU 4pre
    
    MOTU 4pre was launched in 2012 by MOTU, Inc. This commit allows userspace
    applications can transmit and receive PCM frames and MIDI messages for
    this model via ALSA PCM interface and RawMidi/Sequencer interfaces.
    
    The device supports MOTU protocol version 3. Unlike the other devices, the
    device is simply designed. The size of data block is fixed to 10 quadlets
    during available sampling rates (44.1 - 96.0 kHz). Each data block
    includes 1 source packet header, 2 data chunks for messages, 8 data chunks
    for PCM samples and 2 data chunks for padding to quadlet alignment. The
    device has no MIDI, optical, BNC and AES/EBU interfaces.
    
    Like support for the other MOTU devices, the quality of playback sound
    is not enough good with periodical noise yet.
    
    $ python2 crpp < ~/git/am-config-rom/motu/motu-4pre.img
                   ROM header and bus information block
                   -----------------------------------------------------------------
    400  041078cc  bus_info_length 4, crc_length 16, crc 30924
    404  31333934  bus_name "1394"
    408  20ff7000  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
    40c  0001f200  company_id 0001f2     |
    410  000a41c5  device_id 00000a41c5  | EUI-64 0001f200000a41c5
    
                   root directory
                   -----------------------------------------------------------------
    414  0004ef04  directory_length 4, crc 61188
    418  030001f2  vendor
    41c  0c0083c0  node capabilities per IEEE 1394
    420  d1000002  --> unit directory at 428
    424  8d000005  --> eui-64 leaf at 438
    
                   unit directory at 428
                   -----------------------------------------------------------------
    428  0003ceda  directory_length 3, crc 52954
    42c  120001f2  specifier id
    430  13000045  version
    434  17103800  model
    
                   eui-64 leaf at 438
                   -----------------------------------------------------------------
    438  0002d248  leaf_length 2, crc 53832
    43c  0001f200  company_id 0001f2     |
    440  000a41c5  device_id 00000a41c5  | EUI-64 0001f200000a41c5
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit e7ee96dfb8c2687a29d2c5c3b06c967fa54b839c
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Wed Aug 28 14:37:57 2019 -0700

    xfs: remove all *_ITER_ABORT values
    
    Use -ECANCELED to signal "stop iterating" instead of these magical
    *_ITER_ABORT values, since it's duplicative.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit 9b123d1ea23701bc00ebf712f1e03b25b8195eeb
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:57:01 2019 +1000

    powerpc/64s/exception: reduce page fault unnecessary loads
    
    This avoids 3 loads in the radix page fault case, 1 load in the
    hash fault case, and 2 loads in the hash miss page fault case.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-37-npiggin@gmail.com

commit 05f97d94dd0e2883bc7b2e6b7b5e4c088e0d1437
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:57:00 2019 +1000

    powerpc/64s/exception: Remove pointless KVM handler name bifurcation
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-36-npiggin@gmail.com

commit 1b3599829a2560fe6c9a5a4a6bb6b2bc4e5bdaee
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:59 2019 +1000

    powerpc/64s/exception: program check handler do not branch into a macro
    
    It is clever, but the small code saving is not worth the spaghetti of
    jumping to a label in an expanded macro, particularly when the label
    is just a number rather than a descriptive name.
    
    So expand the INT_COMMON macro twice, once for the stack and no stack
    cases, and branch to those. The slight code size increase is worth
    the improved clarity of branches for this non-performance critical
    code.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-35-npiggin@gmail.com

commit c7c5cbb42d6e207a059c64740b1654376619345e
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:58 2019 +1000

    powerpc/64s/exception: move interrupt entry code above the common handler
    
    This better reflects the order in which the code is executed.
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-34-npiggin@gmail.com

commit d1a84718888e768296557b83f4c56cb1caef8fdd
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:57 2019 +1000

    powerpc/64s/exception: INT_COMMON add DAR, DSISR, reconcile options
    
    Move DAR and DSISR saving to pt_regs into INT_COMMON. Also add an
    option to expand RECONCILE_IRQ_STATE.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-33-npiggin@gmail.com

commit 8c9fb5d4f3ddf02fb0fa3dec2dffd6b007ac894c
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:56 2019 +1000

    powerpc/64s/exception: Expand EXCEPTION_PROLOG_COMMON_1 and 2 into caller
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-32-npiggin@gmail.com

commit 5d5e0edfd5fa2a60d0f9b8d6ece1a5ce51aae3b5
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:55 2019 +1000

    powerpc/64s/exception: Expand EXCEPTION_COMMON macro into caller
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-31-npiggin@gmail.com

commit bcbceed40a8c355b48678d90c5c407dfca811f0e
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:54 2019 +1000

    powerpc/64s/exception: Add INT_COMMON gas macro to generate common exception code
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-30-npiggin@gmail.com

commit 9a9c739aa83d031da7468028de8a65608146eccc
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:53 2019 +1000

    powerpc/64s/exception: Merge EXCEPTION_PROLOG_COMMON_2/3
    
    Merge EXCEPTION_PROLOG_COMMON_3 into EXCEPTION_PROLOG_COMMON_2.
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-29-npiggin@gmail.com

commit 7027d53d1ab17d28b65913148585d5a331446b8b
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:52 2019 +1000

    powerpc/64s/exception: KVM_HANDLER reorder arguments to match other macros
    
    Also change argument name (n -> vec) to match others.
    
    No generated code change.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-28-npiggin@gmail.com

commit 141fed2669a93604bd5ce8b793d85f4798626ef5
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:51 2019 +1000

    powerpc/64s/exception: Add INT_KVM_HANDLER gas macro
    
    Replace the 4 variants of cpp macros with one gas macro.
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-27-npiggin@gmail.com

commit 4515c5fa41936088a57efe0b64d1bb46a4943582
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:50 2019 +1000

    powerpc/64s/exception: INT_HANDLER support HDAR/HDSISR and use it in HDSI
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-26-npiggin@gmail.com

commit 52b989231c6fad42dff57b69a53f38756db48e06
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:49 2019 +1000

    powerpc/64s/exception: Add the virt variant of the denorm interrupt handler
    
    All other virt handlers have the prolog code in the virt vector rather
    than branch to the real vector. Follow this pattern in the denorm virt
    handler.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-25-npiggin@gmail.com

commit d29768e13cf6b50bd54a690e2ac52ab71465e2eb
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:48 2019 +1000

    powerpc/64s/exception: remove EXCEPTION_PROLOG_0/1, rename _2
    
    EXCEPTION_PROLOG_0 and _1 have only a single caller, so expand them
    into it.
    
    Rename EXCEPTION_PROLOG_2_REAL to INT_SAVE_SRR_AND_JUMP and
    EXCEPTION_PROLOG_2_VIRT to INT_VIRT_SAVE_SRR_AND_JUMP, which are
    more descriptive.
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-24-npiggin@gmail.com

commit 9b40f62b8a49f0c922eb4b6cf6502f1307745c98
Author: Michael Ellerman <mpe@ellerman.id.au>
Date:   Thu Aug 29 23:36:08 2019 +1000

    powerpc/64s/exceptions: Use keyword params to shorten arg lists
    
    The argument lists for the INT_HANDLER macro are getting a bit
    unwieldy. Use keyword parameters with default values to shorten them.
    
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190830011426.16810-1-mpe@ellerman.id.au

commit 3f1071ec39f79ad1e288d2f8e5cbe5697ced695b
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Wed Aug 28 15:21:08 2019 -0500

    net: spider_net: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct spider_net_card {
            ...
            struct spider_net_descr darray[0];
    };
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following form:
    
    sizeof(struct spider_net_card) + (tx_descriptors + rx_descriptors) * sizeof(struct spider_net_descr)
    
    with:
    
    struct_size(card, darray, tx_descriptors + rx_descriptors)
    
    Notice that, in this case, variable alloc_size is not necessary, hence it
    is removed.
    
    Building: allmodconfig powerpc.
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b3a42e3a78ce0599c700a8c89befc67a35d54c31
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:29:05 2019 +0200

    r8169: add support for EEE on RTL8125
    
    This adds EEE support for RTL8125 based on the vendor driver.
    Supported is EEE for 100Mbps and 1Gbps. Realtek recommended to not yet
    enable EEE for 2.5Gbps due to potential compatibility issues. Also
    ethtool doesn't support yet controlling EEE for 2.5Gbps and 5Gbps.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 02bf642b188a32b63e2406ed61e940dd80e5b1c7
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:28:32 2019 +0200

    r8169: add RTL8125 PHY initialization
    
    This patch adds PHY initialization magic copied from the r8125 vendor
    driver. In addition it supports loading the firmware for chip version
    RTL_GIGA_MAC_VER_61.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f1bce4ad2f1cee6759711904b9fffe4a3dd8af87
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:28:03 2019 +0200

    r8169: add support for RTL8125
    
    This adds support for 2.5Gbps chip RTL8125, it's partially based on the
    r8125 vendor driver. Tested with a Delock 89531 PCIe card against a
    Netgear GS110MX Multi-Gig switch. Firmware isn't strictly needed,
    but on some systems there may be compatibility issues w/o firmware.
    Firmware has been submitted to linux-firmware.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ae84bc18733752e9bf47227bd80b3c0f3649b8d0
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:27:30 2019 +0200

    r8169: don't use bit LastFrag in tx descriptor after send
    
    On RTL8125 this bit is always cleared after send. Therefore check for
    tx_skb->skb being set what is functionally equivalent.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7366016d2d4c7b2e5168db6fa7920fa094561db5
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:26:51 2019 +0200

    r8169: read common register for PCI commit
    
    RTL8125 uses a different register number for IntrMask.
    To net have side effects by reading a random register let's
    use a register that is the same on all supported chip families.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit bcf2b868a5ae8b9b332176b65247953176630990
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:26:13 2019 +0200

    r8169: move disabling interrupt coalescing to RTL8169/RTL8168 init
    
    RTL8125 doesn't support the same coalescing registers, therefore move
    this initialization to the 8168/6169-specific init.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ce37115e3a5741219ceb0bb26de23faba6b93881
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:25:32 2019 +0200

    r8169: factor out reading MAC address from registers
    
    For RTL8125 we will have to read the MAC address also from another
    register range, therefore create a small helper.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c623305bf465a77a4e34f46f48e27809df2f6cce
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:24:54 2019 +0200

    r8169: restrict rtl_is_8168evl_up to RTL8168 chip versions
    
    Extend helper rtl_is_8168evl_up to properly work once we add
    mac version numbers >51 for RTL8125.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c1d532d268cb99c17f7094d26819a0a1142aee51
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Aug 28 22:24:13 2019 +0200

    r8169: change interrupt mask type to u32
    
    RTL8125 uses a 32 bit interrupt mask even though only bits in the
    lower 16 bits are used. Change interrupt mask size to u32 to be
    prepared and reintroduce helper rtl_get_events.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7299417c8214ce09c0da01d7719c7b1c11503578
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:47 2019 +1000

    powerpc/64s/exception: Replace PROLOG macros and EXC helpers with a gas macro
    
    This creates a single macro that generates the exception prolog code,
    with variants specified by arguments, rather than assorted nested
    macros for different variants.
    
    The increasing length of macro argument list is not nice to read or
    modify, but this is a temporary condition that will be improved in
    later changes.
    
    No generated code change except BUG line number constants and label
    names.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-23-npiggin@gmail.com

commit 5ff79a5ea69f8f5d1131064af9f8c9a8b1bc8266
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:46 2019 +1000

    powerpc/64s/exception: remove 0xb00 handler
    
    This vector is not used by any supported processor, and has been
    implemented as an unknown exception going back to 2.6. There is
    nothing special about 0xb00, so remove it like other unused
    vectors.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-22-npiggin@gmail.com

commit 9a7a0773d7d2fd1e4c581f42ad75de7872a174dc
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:45 2019 +1000

    powerpc/64s/exception: Fix performance monitor virt handler
    
    The perf virt handler uses EXCEPTION_PROLOG_2_REAL rather than _VIRT.
    In practice this is okay because the _REAL variant is usable by virt
    mode interrupts, but should be fixed (and is a performance win).
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-21-npiggin@gmail.com

commit def0db4f9ddc24ad7b37735c34a78e9c3c7978ef
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:44 2019 +1000

    powerpc/64s/exception: Add EXC_HV_OR_STD, which selects HSRR if HVMODE
    
    Add EXC_HV_OR_STD and use it to consolidate the 0x500 external
    interrupt.
    
    Executed code is unchanged.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-20-npiggin@gmail.com

commit a243281195c338489ec5088380821f64340cb82f
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:43 2019 +1000

    powerpc/64s/exception: move head-64.h exception code to exception-64s.S
    
    The head-64.h code should deal only with the head code sections
    and offset calculations.
    
    No generated code change except BUG line number constants.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-19-npiggin@gmail.com

commit c31f7134dc53f7020b3d49e846d1b950a761e324
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:42 2019 +1000

    powerpc/64s/exception: Fix DAR load for handle_page_fault error case
    
    This buglet goes back to before the 64/32 arch merge, but it does not
    seem to have had practical consequences because bad_page_fault does
    not use the 2nd argument, but rather regs->dar/nip.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-18-npiggin@gmail.com

commit b3fe35261e329e15736bc95630fd865df9896c66
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:41 2019 +1000

    powerpc/64s/exception: machine check improve labels and comments
    
    Short forward and backward branches can be given number labels,
    but larger significant divergences in code path a more readable
    if they're given descriptive names.
    
    Also adjusts a comment to account for guest delivery.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-17-npiggin@gmail.com

commit fce16d482276f059b08368c833a1188ac1f25e86
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:40 2019 +1000

    powerpc/64s/exception: untangle early machine check handler branch
    
    machine_check_early_common now branches to machine_check_handle_early
    which is its only caller.
    
    Move interleaving code out of the way, and remove the branch.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-16-npiggin@gmail.com

commit b7d9ccec3056913528690c5fae7cc86a5ea3dffc
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:39 2019 +1000

    powerpc/64s/exception: machine check move unrecoverable handling out of line
    
    Similarly to the previous change, all callers of the unrecoverable
    handler run relocated so can reach it with a direct branch. This makes
    it easy to move out of line, which makes the "normal" path less
    cluttered and easier to follow.
    
    MSR[ME] manipulation still requires the rfi, so that is moved out of
    line to its own function.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-15-npiggin@gmail.com

commit 296e753fb447eb14c8c9fd6a7c48e7ffab269343
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:38 2019 +1000

    powerpc/64s/exception: simplify machine check early path
    
    machine_check_handle_early_common can reach machine_check_handle_early
    directly now that it runs at the relocated address, so just branch
    directly.
    
    The rfi sequence is required to enable MSR[ME] but that step is moved
    into a helper function, making the code easier to follow.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-14-npiggin@gmail.com

commit abd1f4ca2b41ffba768c3baadc006a95d178fbf1
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:37 2019 +1000

    powerpc/64s/exception: machine check move tramp code
    
    Following convention, move the tramp code (unrelocated) above the
    common handlers (relocated).
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-13-npiggin@gmail.com

commit c8eb54dbc8087c3d114cb583925395e211bfffa4
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:36 2019 +1000

    powerpc/64s/exception: machine check restructure to reuse common macros
    
    Follow the pattern of sreset and HMI handlers more closely: use
    EXCEPTION_PROLOG_COMMON_1 rather than open-coding it, and run the
    handler at the relocated location.
    
    This helps later simplification and code sharing.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-12-npiggin@gmail.com

commit 272f636445cf556498c8840dc63ad1218e94391b
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:35 2019 +1000

    powerpc/64s/exception: machine check pseries should skip the late handler for kernel MCEs
    
    The powernv machine check handler copes with taking a MCE from one of
    three contexts, guest, kernel, and user. In each case the early
    handler runs first on a special stack, then:
    
    - The guest case branches to the KVM interrupt handler (via standard
      interrupt macros).
    - The user case will run the "late" handler which is like a normal
      interrupt that runs in virtual mode and uses the regular kernel
      stack.
    - The kernel case queues the event and schedules it for processing
      with irq work.
    
    The last case is important, it must not enable virtual memory because
    the MMU state may not be set up to deal with that (e.g., SLB might be
    clear), it must not use the regular kernel stack for similar reasons
    (e.g., might be in OPAL with OPAL stack in r1), and the kernel does
    not expect anything to touch its stack if interrupts are disabled.
    
    The pseries handler does not do this queueing, but instead it always
    runs the late handler for host MCEs, which has some of the same
    problems.
    
    Now that pseries is using machine_check_events, change it to do the
    same as powernv and queue events for kernel MCEs.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-11-npiggin@gmail.com

commit 9ca766f9891d23743b4e1a7b1cafdc63723cd6a7
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:34 2019 +1000

    powerpc/64s/pseries: machine check convert to use common event code
    
    The common machine_check_event data structures and queues are mostly
    platform independent, with powernv decoding SRR1/DSISR/etc., into
    machine_check_event objects.
    
    This patch converts pseries to use this infrastructure by decoding
    fwnmi/rtas data into machine_check_event objects.
    
    This allows queueing to be used by a subsequent change to delay the
    virtual mode handling of machine checks that occur in kernel space
    where it is unsafe to switch immediately to virtual mode, similarly
    to powernv.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    [mpe: Fix implicit fallthrough warnings in mce_handle_error()]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-10-npiggin@gmail.com

commit 7290f3b3d3e66b54720f23079ffc60e0b7bbb0cc
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:33 2019 +1000

    powerpc/64s/powernv: machine check dump SLB contents
    
    Re-use the code introduced in pseries to save and dump the contents
    of the SLB in the case of an SLB involved machine check exception.
    
    This patch also avoids allocating the SLB save array on pseries radix.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-9-npiggin@gmail.com

commit 0b66370c61fcf5fcc1d6901013e110284da6e2bb
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:32 2019 +1000

    powerpc/64s/exception: machine check use correct cfar for late handler
    
    Bare metal machine checks run an "early" handler in real mode before
    running the main handler which reports the event.
    
    The main handler runs exactly as a normal interrupt handler, after the
    "windup" which sets registers back as they were at interrupt entry.
    CFAR does not get restored by the windup code, so that will be wrong
    when the handler is run.
    
    Restore the CFAR to the saved value before running the late handler.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-8-npiggin@gmail.com

commit fa2760eca504f554a5adb6cd2f576828933c4c7b
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:31 2019 +1000

    powerpc/64s/exception: machine check remove machine_check_pSeries_0 branch
    
    This label has only one caller, so unwind the branch and move it
    inline. The location of the comment is adjusted to match similar
    one in system reset.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-7-npiggin@gmail.com

commit b5c27f7c5679c3726148fd25ad220b4560d210cf
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:30 2019 +1000

    powerpc/64s/exception: machine check pseries should always run the early handler
    
    Now that pseries with fwnmi registered runs the early machine check
    handler, there is no good reason to special case the non-fwnmi case
    and skip the early handler. Reducing the code and number of paths is
    a top priority for asm code, it's better to handle this in C where
    possible (and the pseries early handler is a no-op if fwnmi is not
    registered).
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-6-npiggin@gmail.com

commit fe9d482b1d87c76441492e51d866cee652eee4d5
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:29 2019 +1000

    powerpc/64s/exception: machine check adjust RFI target
    
    The host kernel delivery case for powernv does RFI_TO_USER_OR_KERNEL,
    but should just use RFI_TO_KERNEL which makes it clear this is not a
    user case.
    
    This is not a bug because RFI_TO_USER_OR_KERNEL deals with kernel
    returns just fine.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-5-npiggin@gmail.com

commit 19dbe673e62b076f00ae2841fcf5898b4728d5ab
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:28 2019 +1000

    powerpc/64s/exception: machine check fix KVM guest test
    
    The machine_check_handle_early hypervisor guest test is skipped if
    !HVMODE or MSR[HV]=0, which is wrong for PR or nested hypervisors
    that could be running a guest in this state.
    
    Test HSTATE_IN_GUEST up front and use that to branch out to the KVM
    handler, then MSR[PR] alone can test for this kernel's userspace.
    This matches all other interrupt handling.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-4-npiggin@gmail.com

commit 1039f62431e2aa16487cd6d64bc841d71f6465b8
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:27 2019 +1000

    powerpc/64s/exception: machine check remove bitrotted comment
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-3-npiggin@gmail.com

commit 0be9f7fd5d8fd984b34ad98838ef7cfd0079ddae
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Aug 2 20:56:26 2019 +1000

    powerpc/64s/exception: machine check fwnmi remove HV case
    
    fwnmi does not trigger in HV mode, so remove always-true feature test.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190802105709.27696-2-npiggin@gmail.com

commit 42aa15cf05c0a47cc5807c21c7ff471b80cad371
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Wed Aug 28 14:55:11 2019 -0400

    net: dsa: mv88e6xxx: fix freeing unused SERDES IRQ
    
    Now mv88e6xxx does not enable its ports at setup itself and let
    the DSA core handle this, unused ports are disabled without being
    powered on first. While that is expected, the SERDES powering code
    was assuming that a port was already set up before powering it down,
    resulting in freeing an unused IRQ. The patch fixes this assumption.
    
    Fixes: b759f528ca3d ("net: dsa: mv88e6xxx: enable SERDES after setup")
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Reviewed-by: Marek Behún <marek.behun@nic.cz>
    Tested-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5d24da1e5ccb0ec3b1ec39e582d6cdc0806dbb39
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Wed Aug 28 12:26:59 2019 -0400

    net: dsa: mv88e6xxx: keep CMODE writable code private
    
    This is a follow-up patch for commit 7a3007d22e8d ("net: dsa:
    mv88e6xxx: fully support SERDES on Topaz family").
    
    Since .port_set_cmode is only called from mv88e6xxx_port_setup_mac and
    mv88e6xxx_phylink_mac_config, it is fine to keep this "make writable"
    code private to the mv88e6341_port_set_cmode implementation, instead
    of adding yet another operation to the switch info structure.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Reviewed-by: Marek Behún <marek.behun@nic.cz>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b98f0f530d7978157b553a97556c5cc6489b3108
Author: Vivien Didelot <vivien.didelot@gmail.com>
Date:   Wed Aug 28 12:26:11 2019 -0400

    net: dsa: mv88e6xxx: get serdes lane after lock
    
    This is a follow-up patch for commit 17deaf5cb37a ("net: dsa:
    mv88e6xxx: create serdes_get_lane chip operation").
    
    The .serdes_get_lane implementations access the CMODE of a port,
    even though it is cached at the moment, it is safer to call them
    after the mutex is locked, not before.
    
    At the same time, check for an eventual error and return IRQ_DONE,
    instead of blindly ignoring it.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
    Reviewed-by: Marek Behún <marek.behun@nic.cz>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dd2956eab104185bda122af162f90b06322a05e6
Author: Yufeng Mo <moyufeng@huawei.com>
Date:   Wed Aug 28 22:23:16 2019 +0800

    net: hns3: not allow SSU loopback while execute ethtool -t dev
    
    The current loopback mode is to add 0x1F to the SMAC address
    as the DMAC address and enable the promiscuous mode.
    However, if the VF address is the same as the DMAC address,
    the loopback test fails.
    
    Loopback can be enabled in three places: SSU, MAC, and serdes.
    By default, SSU loopback is enabled, so if the SMAC and the DMAC
    are the same, the packets are looped back in the SSU. If SSU loopback
    is disabled, packets can reach MAC even if SMAC is the same as DMAC.
    
    Therefore, this patch disables the SSU loopback before the loopback
    test. In this way, the SMAC and DMAC can be the same, and the
    promiscuous mode does not need to be enabled. And this is not
    valid in version 0x20.
    
    This patch also uses a macro to replace 0x1F.
    
    Fixes: c39c4d98dc65 ("net: hns3: Add mac loopback selftest support in hns3 driver")
    Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2336f19d789223b9f42f111aab8de6ad66d12c28
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Wed Aug 28 22:23:15 2019 +0800

    net: hns3: check reset interrupt status when reset fails
    
    Currently, the reset interrupt will be cleared firstly, so when
    reset fails, if interrupt status register has reset interrupt,
    it means there is a new coming reset.
    
    Fixes: 72e2fb07997c ("net: hns3: clear reset interrupt status in hclge_irq_handle()")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c9765a89d142f614b917ead75e23f1915f7e748d
Author: Yufeng Mo <moyufeng@huawei.com>
Date:   Wed Aug 28 22:23:14 2019 +0800

    net: hns3: add phy selftest function
    
    Currently, the loopback test supports only mac selftest and serdes
    selftest. This patch adds phy selftest.
    
    Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a83d29618b1cd9176ad33fc415f5e033fd6a45a2
Author: Weihang Li <liweihang@hisilicon.com>
Date:   Wed Aug 28 22:23:13 2019 +0800

    net: hns3: implement .process_hw_error for hns3 client
    
    When hardware or IMP get specified error it may need the client
    to take some special operations.
    
    This patch implements the hns3 client's process_hw_errorx.
    
    Signed-off-by: Weihang Li <liweihang@hisilicon.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e8df45c281342b6f0193faa242148acfe95c6f09
Author: Zhongzhu Liu <liuzhongzhu@huawei.com>
Date:   Wed Aug 28 22:23:12 2019 +0800

    net: hns3: optimize waiting time for TQP reset
    
    This patch optimizes the waiting time for TQP reset.
    
    Signed-off-by: Zhongzhu Liu <liuzhongzhu@huawei.com>
    Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 82f7d0576fa6d511ecbfea73688176b700ae0e91
Author: Guojia Liao <liaoguojia@huawei.com>
Date:   Wed Aug 28 22:23:11 2019 +0800

    net: hns3: fix incorrect type in assignment.
    
    This patch fixes some incorrect type in assignment reported by sparse.
    Those sparse warning as below:
    - warning : restricted __le16 degrades to integer
    - warning : cast from restricted __le32
    - warning : expected restricted __le32
    - warning : cast from restricted __be32
    - warning : cast from restricted __be16
    - warning : cast to restricted __le16
    
    Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 199d2dd416df3a224c2e20da5499a9200a716829
Author: Yonglong Liu <liuyonglong@huawei.com>
Date:   Wed Aug 28 22:23:10 2019 +0800

    net: hns3: make some reusable codes into a function
    
    In hclge_dcb.c, these pair of codes:
            hclge_notify_client(hdev, HNAE3_DOWN_CLIENT);
            hclge_notify_client(hdev, HNAE3_UNINIT_CLIENT);
    and
            hclge_notify_client(hdev, HNAE3_INIT_CLIENT);
            hclge_notify_client(hdev, HNAE3_UP_CLIENT);
    are called many times, so make them into a function.
    
    Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
    Reviewed-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ed5b255ba679a2a6cf63a6891d9e802a9c77e5e1
Author: Yufeng Mo <moyufeng@huawei.com>
Date:   Wed Aug 28 22:23:09 2019 +0800

    net: hns3: optimize some log printings
    
    To better identify abnormal conditions, this patch modifies or
    adds some logs to show driver status more accurately.
    
    Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
    Signed-off-by: Zhongzhu Liu <liuzhongzhu@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 70a214903da9255b5e6aea35ca35c1a8e72dc5f6
Author: Guojia Liao <liaoguojia@huawei.com>
Date:   Wed Aug 28 22:23:08 2019 +0800

    net: hns3: reduce the parameters of some functions
    
    This patch simplifies parameters of some functions by deleting
    unused parameter.
    
    Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
    Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6125b52d2641497228e806c60b906769ab4b2c19
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Wed Aug 28 22:23:07 2019 +0800

    net: hns3: modify base parameter of kstrtouint in hclge_dbg_dump_tm_map
    
    This patch replaces kstrtouint()'s patameter base with 0 in the
    hclge_dbg_dump_tm_mac(), which makes it more flexible. Also
    uses a macro to replace string "dump tm map", since it has been
    used multiple times.
    
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6f92bfd70a8ae545bc08941baa55316d8bfba514
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Wed Aug 28 22:23:06 2019 +0800

    net: hns3: use macro instead of magic number
    
    This patch uses macro to replace some magic number.
    
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a582b78dfc33d211ecaadda4cb5765b382d9d682
Author: Zhongzhu Liu <liuzhongzhu@huawei.com>
Date:   Wed Aug 28 22:23:05 2019 +0800

    net: hns3: code optimization for debugfs related to "dump reg"
    
    For making the code more readable, this patch uses a array to
    keep the information about the dumping register, and then uses
    it to parse the parameter cmd_buf which passing into
    hclge_dbg_dump_reg_cmd().
    
    Also replaces parameter "base" of kstrtouint with 0 in the
    hclge_dbg_dump_reg_common(), which makes it more flexible.
    
    Signed-off-by: Zhongzhu Liu <liuzhongzhu@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit bf75a8db72e9454aadeca0276f6e6b0e9161861c
Author: Ryan Grimm <grimm@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:26 2019 -0300

    powerpc/configs: Enable secure guest support in pseries and ppc64 defconfigs
    
    Enables running as a secure guest in platforms with an Ultravisor.
    
    Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com>
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-17-bauerman@linux.ibm.com

commit 2efbc58f157a39ad9e9199b92d9c47736023a2fe
Author: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:24 2019 -0300

    powerpc/pseries/svm: Force SWIOTLB for secure guests
    
    SWIOTLB checks range of incoming CPU addresses to be bounced and sees if
    the device can access it through its DMA window without requiring bouncing.
    In such cases it just chooses to skip bouncing. But for cases like secure
    guests on powerpc platform all addresses need to be bounced into the shared
    pool of memory because the host cannot access it otherwise. Hence the need
    to do the bouncing is not related to device's DMA window and use of bounce
    buffers is forced by setting swiotlb_force.
    
    Also, connect the shared memory conversion functions into the
    ARCH_HAS_MEM_ENCRYPT hooks and call swiotlb_update_mem_attributes() to
    convert SWIOTLB's memory pool to shared memory.
    
    Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
    [ bauerman: Use ARCH_HAS_MEM_ENCRYPT hooks to share swiotlb memory pool. ]
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-15-bauerman@linux.ibm.com

commit edea902c1c1efb855f77e041f9daf1abe7a9768a
Author: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Date:   Mon Aug 19 23:13:23 2019 -0300

    powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests
    
    Secure guest memory is inacessible to devices so regular DMA isn't
    possible.
    
    In that case set devices' dma_map_ops to NULL so that the generic
    DMA code path will use SWIOTLB to bounce buffers for DMA.
    
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-14-bauerman@linux.ibm.com

commit 4edaac512c8a31b0aa715b58ee00ee06df642fa2
Author: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Date:   Mon Aug 19 23:13:22 2019 -0300

    powerpc/pseries/svm: Disable doorbells in SVM guests
    
    Normally, the HV emulates some instructions like MSGSNDP, MSGCLRP
    from a KVM guest. To emulate the instructions, it must first read
    the instruction from the guest's memory and decode its parameters.
    
    However for a secure guest (aka SVM), the page containing the
    instruction is in secure memory and the HV cannot access directly.
    It would need the Ultravisor (UV) to facilitate accessing the
    instruction and parameters but the UV currently does not have
    the support for such accesses.
    
    Until the UV has such support, disable doorbells in SVMs. This might
    incur a performance hit but that is yet to be quantified.
    
    With this patch applied (needed only in SVMs not needed for HV) we
    are able to launch SVM guests with multi-core support. Eg:
    
            qemu -smp sockets=2,cores=2,threads=2.
    
    Fix suggested by Benjamin Herrenschmidt. Thanks to input from
    Paul Mackerras, Ram Pai and Michael Anderson.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-13-bauerman@linux.ibm.com

commit 734560ac39aeb2516419c5878856df011f794a74
Author: Ryan Grimm <grimm@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:21 2019 -0300

    powerpc/pseries/svm: Export guest SVM status to user space via sysfs
    
    User space might want to know it's running in a secure VM.  It can't do
    a mfmsr because mfmsr is a privileged instruction.
    
    The solution here is to create a cpu attribute:
    
    /sys/devices/system/cpu/svm
    
    which will read 0 or 1 based on the S bit of the current CPU.
    
    Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-12-bauerman@linux.ibm.com

commit 256ba2c1689efd4f5383cf7ebe2f9970c198b79d
Author: Ram Pai <linuxram@us.ibm.com>
Date:   Mon Aug 19 23:13:20 2019 -0300

    powerpc/pseries/svm: Unshare all pages before kexecing a new kernel
    
    A new kernel deserves a clean slate. Any pages shared with the hypervisor
    is unshared before invoking the new kernel. However there are exceptions.
    If the new kernel is invoked to dump the current kernel, or if there is a
    explicit request to preserve the state of the current kernel, unsharing
    of pages is skipped.
    
    NOTE: While testing crashkernel, make sure at least 256M is reserved for
    crashkernel. Otherwise SWIOTLB allocation will fail and crash kernel will
    fail to boot.
    
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-11-bauerman@linux.ibm.com

commit d5394c059da9786043934bed474562cde124e7d3
Author: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:19 2019 -0300

    powerpc/pseries/svm: Use shared memory for Debug Trace Log (DTL)
    
    Secure guests need to share the DTL buffers with the hypervisor. To that
    end, use a kmem_cache constructor which converts the underlying buddy
    allocated SLUB cache pages into shared memory.
    
    Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-10-bauerman@linux.ibm.com

commit bd104e6db6f0ad124e507a9ecf1a468efe5697db
Author: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:18 2019 -0300

    powerpc/pseries/svm: Use shared memory for LPPACA structures
    
    LPPACA structures need to be shared with the host. Hence they need to be in
    shared memory. Instead of allocating individual chunks of memory for a
    given structure from memblock, a contiguous chunk of memory is allocated
    and then converted into shared memory. Subsequent allocation requests will
    come from the contiguous chunk which will be always shared memory for all
    structures.
    
    While we are able to use a kmem_cache constructor for the Debug Trace Log,
    LPPACAs are allocated very early in the boot process (before SLUB is
    available) so we need to use a simpler scheme here.
    
    Introduce helper is_svm_platform() which uses the S bit of the MSR to tell
    whether we're running as a secure guest.
    
    Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-9-bauerman@linux.ibm.com

commit e311a92da18cbdd4972dab0cda88b1b8484b8fef
Author: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Date:   Mon Aug 19 23:13:17 2019 -0300

    powerpc/pseries: Add and use LPPACA_SIZE constant
    
    Helps document what the hard-coded number means.
    
    Also take the opportunity to fix an #endif comment.
    
    Suggested-by: Alexey Kardashevskiy <aik@linux.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-8-bauerman@linux.ibm.com

commit 7f70c3815a352f76d69fc5642ae9685033a428c0
Author: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Date:   Mon Aug 19 23:13:16 2019 -0300

    powerpc: Introduce the MSR_S bit
    
    Protected Execution Facility (PEF) is an architectural change for
    POWER 9 that enables Secure Virtual Machines (SVMs). When enabled,
    PEF adds a new higher privileged mode, called Ultravisor mode, to
    POWER architecture.
    
    The hardware changes include the following:
    
      * There is a new bit in the MSR that determines whether the current
        process is running in secure mode, MSR(S) bit 41. MSR(S)=1, process
        is in secure mode, MSR(s)=0 process is in normal mode.
    
      * The MSR(S) bit can only be set by the Ultravisor.
    
      * HRFID cannot be used to set the MSR(S) bit. If the hypervisor needs
        to return to a SVM it must use an ultracall. It can determine if
        the VM it is returning to is secure.
    
      * The privilege of a process is now determined by three MSR bits,
        MSR(S, HV, PR). In each of the tables below the modes are listed
        from least privilege to highest privilege. The higher privilege
        modes can access all the resources of the lower privilege modes.
    
        **Secure Mode MSR Settings**
    
           +---+---+---+---------------+
           | S | HV| PR|Privilege      |
           +===+===+===+===============+
           | 1 | 0 | 1 | Problem       |
           +---+---+---+---------------+
           | 1 | 0 | 0 | Privileged(OS)|
           +---+---+---+---------------+
           | 1 | 1 | 0 | Ultravisor    |
           +---+---+---+---------------+
           | 1 | 1 | 1 | Reserved      |
           +---+---+---+---------------+
    
        **Normal Mode MSR Settings**
    
           +---+---+---+---------------+
           | S | HV| PR|Privilege      |
           +===+===+===+===============+
           | 0 | 0 | 1 | Problem       |
           +---+---+---+---------------+
           | 0 | 0 | 0 | Privileged(OS)|
           +---+---+---+---------------+
           | 0 | 1 | 0 | Hypervisor    |
           +---+---+---+---------------+
           | 0 | 1 | 1 | Problem (HV)  |
           +---+---+---+---------------+
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    [ cclaudio: Update the commit message ]
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-7-bauerman@linux.ibm.com

commit f7777e008cad17bf757ca256709070c07efd8283
Author: Ram Pai <linuxram@us.ibm.com>
Date:   Mon Aug 19 23:13:15 2019 -0300

    powerpc/pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE
    
    These functions are used when the guest wants to grant the hypervisor
    access to certain pages.
    
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-6-bauerman@linux.ibm.com

commit 6a9c930bd7751bf0630d8b9b73b07af5c6842da6
Author: Ram Pai <linuxram@us.ibm.com>
Date:   Mon Aug 19 23:13:14 2019 -0300

    powerpc/prom_init: Add the ESM call to prom_init
    
    Make the Enter-Secure-Mode (ESM) ultravisor call to switch the VM to secure
    mode. Pass kernel base address and FDT address so that the Ultravisor is
    able to verify the integrity of the VM using information from the ESM blob.
    
    Add "svm=" command line option to turn on switching to secure mode.
    
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    [ andmike: Generate an RTAS os-term hcall when the ESM ucall fails. ]
    Signed-off-by: Michael Anderson <andmike@linux.ibm.com>
    [ bauerman: Cleaned up the code a bit. ]
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-5-bauerman@linux.ibm.com

commit 528229d210781b2da66c6d257a326c21099982b5
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Mon Aug 19 23:13:13 2019 -0300

    powerpc: Add support for adding an ESM blob to the zImage wrapper
    
    For secure VMs, the signing tool will create a ticket called the "ESM blob"
    for the Enter Secure Mode ultravisor call with the signatures of the kernel
    and initrd among other things.
    
    This adds support to the wrapper script for adding that blob via the "-e"
    option to the zImage.pseries.
    
    It also adds code to the zImage wrapper itself to retrieve and if necessary
    relocate the blob, and pass its address to Linux via the device-tree, to be
    later consumed by prom_init.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    [ bauerman: Minor adjustments to some comments. ]
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-4-bauerman@linux.ibm.com

commit 136bc0397ae21dbf63ca02e5775ad353a479cd2f
Author: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Date:   Mon Aug 19 23:13:12 2019 -0300

    powerpc/pseries: Introduce option to build secure virtual machines
    
    Introduce CONFIG_PPC_SVM to control support for secure guests and include
    Ultravisor-related helpers when it is selected
    
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190820021326.6884-3-bauerman@linux.ibm.com

commit 8eb3cef8d2642da6b72179da73344a442461cb58
Author: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date:   Wed Aug 28 17:08:15 2019 +0300

    dpaa2-eth: Add pause frame support
    
    Starting with firmware version MC10.18.0, we have support for
    L2 flow control. Asymmetrical configuration (Rx or Tx only) is
    supported, but not pause frame autonegotioation.
    
    Pause frame configuration is done via ethtool. By default, we start
    with flow control enabled on both Rx and Tx. Changes are propagated
    to hardware through firmware commands, using two flags (PAUSE,
    ASYM_PAUSE) to specify Rx and Tx pause configuration, as follows:
    
    PAUSE | ASYM_PAUSE | Rx pause | Tx pause
    ----------------------------------------
      0   |     0      | disabled | disabled
      0   |     1      | disabled | enabled
      1   |     0      | enabled  | enabled
      1   |     1      | enabled  | disabled
    
    The hardware can automatically send pause frames when the number
    of buffers in the pool goes below a predefined threshold. Due to
    this, flow control is incompatible with Rx frame queue taildrop
    (both mechanisms target the case when processing of ingress
    frames can't keep up with the Rx rate; for large frames, the number
    of buffers in the pool may never get low enough to trigger pause
    frames as long as taildrop is enabled). So we set pause frame
    generation and Rx FQ taildrop as mutually exclusive.
    
    Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit cce62943c08ef9fcf3880d7babf76f9e86c9cdbd
Author: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date:   Wed Aug 28 17:08:14 2019 +0300

    dpaa2-eth: Use stored link settings
    
    Whenever a link state change occurs, we get notified and save
    the new link settings in the device's private data. In ethtool
    get_link_ksettings, use the stored state instead of interrogating
    the firmware each time.
    
    Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f7fe7e3d19e8d529f33aec6b9d824156e1a6e0fc
Author: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date:   Wed Aug 28 17:08:13 2019 +0300

    dpaa2-eth: Remove support for changing link settings
    
    We only support fixed-link for now, so there is no point in
    offering users the option to change link settings via ethtool.
    
    Functionally there is no change, since firmware prevents us from
    changing link parameters anyway.
    
    Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 68e0aa8ec5cedec48dd5b11df84afc956c8f85be
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Wed Aug 28 23:05:21 2019 +1000

    powerpc/powernv: Add ultravisor message log interface
    
    The ultravisor (UV) provides an in-memory console which follows the
    OPAL in-memory console structure.
    
    This patch extends the OPAL msglog code to initialize the UV memory
    console and provide the "/sys/firmware/ultravisor/msglog" interface
    for userspace to view the UV message log.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Tested-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190828130521.26764-2-mpe@ellerman.id.au

commit dea45ea7775240047f70e2631e468f6b65d09493
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Wed Aug 28 23:05:20 2019 +1000

    powerpc/powernv/opal-msglog: Refactor memcons code
    
    This patch refactors the code in opal-msglog that operates on the OPAL
    memory console in order to make it cleaner and also allow the reuse of
    the new memcons_* functions.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Tested-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190828130521.26764-1-mpe@ellerman.id.au

commit 6c85b7bc637b64e681760f62c0eafba2f56745c6
Author: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Date:   Thu Aug 22 00:48:38 2019 -0300

    powerpc/kvm: Use UV_RETURN ucall to return to ultravisor
    
    When an SVM makes an hypercall or incurs some other exception, the
    Ultravisor usually forwards (a.k.a. reflects) the exceptions to the
    Hypervisor. After processing the exception, Hypervisor uses the
    UV_RETURN ultracall to return control back to the SVM.
    
    The expected register state on entry to this ultracall is:
    
    * Non-volatile registers are restored to their original values.
    * If returning from an hypercall, register R0 contains the return value
      (unlike other ultracalls) and, registers R4 through R12 contain any
      output values of the hypercall.
    * R3 contains the ultracall number, i.e UV_RETURN.
    * If returning with a synthesized interrupt, R2 contains the
      synthesized interrupt number.
    
    Thanks to input from Paul Mackerras, Ram Pai and Mike Anderson.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Acked-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-8-cclaudio@linux.ibm.com

commit 512a5a6452b6d742b6f713184414d28cb6413080
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Thu Aug 22 00:48:37 2019 -0300

    powerpc/powernv: Access LDBAR only if ultravisor disabled
    
    LDBAR is a per-thread SPR populated and used by the thread-imc pmu
    driver to dump the data counter into memory. It contains memory along
    with few other configuration bits. LDBAR is populated and enabled only
    when any of the thread imc pmu events are monitored.
    
    In ultravisor enabled systems, LDBAR becomes ultravisor privileged and
    an attempt to write to it will cause a Hypervisor Emulation Assistance
    interrupt.
    
    In ultravisor enabled systems, the ultravisor is responsible to maintain
    the LDBAR (e.g. save and restore it).
    
    This restricts LDBAR access to only when ultravisor is disabled.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Reviewed-by: Ram Pai <linuxram@us.ibm.com>
    Reviewed-by: Ryan Grimm <grimm@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-7-cclaudio@linux.ibm.com

commit 5223134029a87db925ecc9449f9501bad391a52e
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Thu Aug 22 00:48:36 2019 -0300

    powerpc/mm: Write to PTCR only if ultravisor disabled
    
    In ultravisor enabled systems, PTCR becomes ultravisor privileged only
    for writing and an attempt to write to it will cause a Hypervisor
    Emulation Assitance interrupt.
    
    This patch uses the set_ptcr_when_no_uv() function to restrict PTCR
    writing to only when ultravisor is disabled.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-6-cclaudio@linux.ibm.com

commit 139a1d2842ec181cf017502a46bb8d947682a960
Author: Michael Anderson <andmike@linux.ibm.com>
Date:   Thu Aug 22 00:48:35 2019 -0300

    powerpc/mm: Use UV_WRITE_PATE ucall to register a PATE
    
    When Ultravisor (UV) is enabled, the partition table is stored in secure
    memory and can only be accessed via the UV. The Hypervisor (HV) however
    maintains a copy of the partition table in normal memory to allow Nest MMU
    translations to occur (for normal VMs). The HV copy includes partition
    table entries (PATE)s for secure VMs which would currently be unused
    (Nest MMU translations cannot access secure memory) but they would be
    needed as we add functionality.
    
    This patch adds the UV_WRITE_PATE ucall which is used to update the PATE
    for a VM (both normal and secure) when Ultravisor is enabled.
    
    Signed-off-by: Michael Anderson <andmike@linux.ibm.com>
    Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    [ cclaudio: Write the PATE in HV's table before doing that in UV's ]
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Reviewed-by: Ryan Grimm <grimm@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-5-cclaudio@linux.ibm.com

commit bb04ffe85eebebd64d5e673a9434d968e80f3aa1
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Thu Aug 22 00:48:34 2019 -0300

    powerpc/powernv: Introduce FW_FEATURE_ULTRAVISOR
    
    In PEF enabled systems, some of the resources which were previously
    hypervisor privileged are now ultravisor privileged and controlled by
    the ultravisor firmware.
    
    This adds FW_FEATURE_ULTRAVISOR to indicate if PEF is enabled.
    
    The host kernel can use FW_FEATURE_ULTRAVISOR, for instance, to skip
    accessing resources (e.g. PTCR and LDBAR) in case PEF is enabled.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    [ andmike: Device node name to "ibm,ultravisor" ]
    Signed-off-by: Michael Anderson <andmike@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-4-cclaudio@linux.ibm.com

commit a49dddbdb0cca1d00fc9251e543a0aac09a6a65b
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Thu Aug 22 00:48:33 2019 -0300

    powerpc/kernel: Add ucall_norets() ultravisor call handler
    
    The ultracalls (ucalls for short) allow the Secure Virtual Machines
    (SVM)s and hypervisor to request services from the ultravisor such as
    accessing a register or memory region that can only be accessed when
    running in ultravisor-privileged mode.
    
    This patch adds the ucall_norets() ultravisor call handler.
    
    The specific service needed from an ucall is specified in register
    R3 (the first parameter to the ucall). Other parameters to the
    ucall, if any, are specified in registers R4 through R12.
    
    Return value of all ucalls is in register R3. Other output values
    from the ucall, if any, are returned in registers R4 through R12.
    
    Each ucall returns specific error codes, applicable in the context
    of the ucall. However, like with the PowerPC Architecture Platform
    Reference (PAPR), if no specific error code is defined for a particular
    situation, then the ucall will fallback to an erroneous
    parameter-position based code. i.e U_PARAMETER, U_P2, U_P3 etc depending
    on the ucall parameter that may have caused the error.
    
    Every host kernel (powernv) needs to be able to do ucalls in case it
    ends up being run in a machine with ultravisor enabled. Otherwise, the
    kernel may crash early in boot trying to access ultravisor resources,
    for instance, trying to set the partition table entry 0. Secure guests
    also need to be able to do ucalls and its kernel may not have
    CONFIG_PPC_POWERNV=y. For that reason, the ucall.S file is placed under
    arch/powerpc/kernel.
    
    If ultravisor is not enabled, the ucalls will be redirected to the
    hypervisor which must handle/fail the call.
    
    Thanks to inputs from Ram Pai and Michael Anderson.
    
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-3-cclaudio@linux.ibm.com

commit 250c6c31228d49f3b96855ec387cf37bbe7cb6a7
Author: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Date:   Thu Aug 22 00:48:32 2019 -0300

    Documentation/powerpc: Ultravisor API
    
    Protected Execution Facility (PEF) is an architectural change for
    POWER 9 that enables Secure Virtual Machines (SVMs). When enabled,
    PEF adds a new higher privileged mode, called Ultravisor mode, to POWER
    architecture. Along with the new mode there is new firmware called the
    Protected Execution Ultravisor (or Ultravisor for short).
    
    POWER 9 DD2.3 chips (PVR=0x004e1203) or greater will be PEF-capable.
    
    Attached documentation provides an overview of PEF and defines the API
    for various interfaces that must be implemented in the Ultravisor
    firmware as well as in the KVM Hypervisor.
    
    Based on input from Mike Anderson, Thiago Bauermann, Claudio Carvalho,
    Ben Herrenschmidt, Guerney Hunt, Paul Mackerras.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
    Signed-off-by: Ram Pai <linuxram@linux.ibm.com>
    Signed-off-by: Guerney Hunt <gdhh@linux.ibm.com>
    Reviewed-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Reviewed-by: Michael Anderson <andmike@linux.ibm.com>
    Reviewed-by: Thiago Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190822034838.27876-2-cclaudio@linux.ibm.com

commit 134cb3ab71c0736da0ec66d2cfd7f6ebba96c8cf
Author: Maxiwell S. Garcia <maxiwell@linux.ibm.com>
Date:   Thu Aug 29 12:50:21 2019 -0300

    Documentation/powerpc: Add ELF note documentation
    
    The ELF note documentation describes the types and descriptors to be
    used with the PowerPC namespace.
    
    Signed-off-by: Maxiwell S. Garcia <maxiwell@linux.ibm.com>
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829155021.2915-3-maxiwell@linux.ibm.com

commit 70ed86f4de5bd74dd2d884dcd2f3275c4cfe665f
Author: Claudio Carvalho <cclaudio@linux.ibm.com>
Date:   Thu Aug 29 12:50:20 2019 -0300

    powerpc: Add PowerPC Capabilities ELF note
    
    Add the PowerPC name and the PPC_ELFNOTE_CAPABILITIES type in the
    kernel binary ELF note. This type is a bitmap that can be used to
    advertise kernel capabilities to userland.
    
    This patch also defines PPCCAP_ULTRAVISOR_BIT as being the bit zero.
    
    Suggested-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    [ maxiwell: Define the 'PowerPC' type in the elfnote.h ]
    Signed-off-by: Maxiwell S. Garcia <maxiwell@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829155021.2915-2-maxiwell@linux.ibm.com

commit a102f139aac54689eeb05883952742ae780159f3
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:52:52 2019 +1000

    powerpc/powernv/ioda: Remove obsolete iommu_table_ops::exchange callbacks
    
    As now we have xchg_no_kill/tce_kill, these are not used anymore so
    remove them.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829085252.72370-6-aik@ozlabs.ru

commit 021b7868113cdca56297f2356d0f6fe89985c285
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:52:51 2019 +1000

    powerpc/pseries/iommu: Switch to xchg_no_kill
    
    This is the last implementation of iommu_table_ops::exchange() which
    we are about to remove.
    
    This implements xchg_no_kill() for pseries. Since it is paravirtual
    platform, the hypervisor does TCE invalidations and we do not have
    to deal with it here, hence no tce_kill() hook.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829085252.72370-5-aik@ozlabs.ru

commit 650ab1e370cdb61ba5c7495006f4376e02374da0
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:52:50 2019 +1000

    vfio/spapr_tce: Invalidate multiple TCEs at once
    
    Invalidating a TCE cache entry for each updated TCE is quite expensive.
    This makes use of the new iommu_table_ops::xchg_no_kill()/tce_kill()
    callbacks to bring down the time spent in mapping a huge guest DMA window.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829085252.72370-4-aik@ozlabs.ru

commit 01b7d128b5a7f0d09626c090093ff44155f347c9
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:52:49 2019 +1000

    KVM: PPC: Book3S: Invalidate multiple TCEs at once
    
    Invalidating a TCE cache entry for each updated TCE is quite expensive.
    This makes use of the new iommu_table_ops::xchg_no_kill()/tce_kill()
    callbacks to bring down the time spent in mapping a huge guest DMA window;
    roughly 20s to 10s for each guest's 100GB of DMA space.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Acked-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829085252.72370-3-aik@ozlabs.ru

commit 35872480da47ec714fd9c4f2f3d2d83daf304851
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:52:48 2019 +1000

    powerpc/powernv/ioda: Split out TCE invalidation from TCE updates
    
    At the moment updates in a TCE table are made by iommu_table_ops::exchange
    which update one TCE and invalidates an entry in the PHB/NPU TCE cache
    via set of registers called "TCE Kill" (hence the naming).
    Writing a TCE is a simple xchg() but invalidating the TCE cache is
    a relatively expensive OPAL call. Mapping a 100GB guest with PCI+NPU
    passed through devices takes about 20s.
    
    Thankfully we can do better. Since such big mappings happen at the boot
    time and when memory is plugged/onlined (i.e. not often), these requests
    come in 512 pages so we call call OPAL 512 times less which brings 20s
    from the above to less than 10s. Also, since TCE caches can be flushed
    entirely, calling OPAL for 512 TCEs helps skiboot [1] to decide whether
    to flush the entire cache or not.
    
    This implements 2 new iommu_table_ops callbacks:
    - xchg_no_kill() to update a single TCE with no TCE invalidation;
    - tce_kill() to invalidate multiple TCEs.
    This uses the same xchg_no_kill() callback for IODA1/2.
    
    This implements 2 new wrappers on top of the new callbacks similar to
    the existing iommu_tce_xchg().
    
    This does not use the new callbacks yet, the next patches will;
    so this should not cause any behavioral change.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829085252.72370-2-aik@ozlabs.ru

commit 4f916593be9da38c5cf0d3a5c386b57beb70f422
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Mon Aug 26 14:55:20 2019 +1000

    KVM: PPC: Book3S: Fix incorrect guest-to-user-translation error handling
    
    H_PUT_TCE_INDIRECT handlers receive a page with up to 512 TCEs from
    a guest. Although we verify correctness of TCEs before we do anything
    with the existing tables, there is a small window when a check in
    kvmppc_tce_validate might pass and right after that the guest alters
    the page with TCEs which can cause early exit from the handler and
    leave srcu_read_lock(&vcpu->kvm->srcu) (virtual mode) or lock_rmap(rmap)
    (real mode) locked.
    
    This fixes the bug by jumping to the common exit code with an appropriate
    unlock.
    
    Fixes: 121f80ba68f1 ("KVM: PPC: VFIO: Add in-kernel acceleration for VFIO")
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190826045520.92153-1-aik@ozlabs.ru

commit c4814af0b75cc6856f60e8a658d829000b156729
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:35 2019 -0700

    compiler_attributes.h: add note about __section
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    [Improve a bit the formatting of the text to make it consistent]
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 5c75c72c1831efbfc4583182b723e72529a62d37
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:34 2019 -0700

    include/linux/compiler.h: remove unused KENTRY macro
    
    This macro is not used throughout the kernel. Delete it rather than
    update the __section to be a fully spelled out
    __attribute__((__section__())) to avoid
    https://bugs.llvm.org/show_bug.cgi?id=42950.
    
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 08d54fc68c0aca5ed8fceffc3659ddea6e3b33ab
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:33 2019 -0700

    include/linux: prefer __section and __aligned from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Acked-by: Will Deacon <will@kernel.org>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    [Changed title to reflect the other changes]
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 1acab08505cba8577ffc2f74324cfb3e389f1b13
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:32 2019 -0700

    include/asm-generic: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit cfad365f03438ae35ca8cbab5a6b9a08dbf565e2
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:31 2019 -0700

    x86: prefer __section, __maybe_unused and __aligned from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    [Added back "unused" as __maybe_unused]
    [Changed title to reflect the other changes]
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit f18b30a01e219fbeacc4b948fffec280bd4eba2b
Author: John Pittman <jpittman@redhat.com>
Date:   Fri Aug 23 10:08:52 2019 -0400

    scsi: fnic: print port speed only at driver init or speed change
    
    Port speed printing was added by commit d948e6383ec3 ("scsi: fnic: Add port
    speed stat to fnic debug stats"). As currently configured, this will cause
    the port speed to be printed to syslog every 2 seconds. To prevent log
    spamming, only print the vnic port speed at driver initialization and if
    the speed changes. Also clean up a small typo in fnic_trace.c.
    
    Fixes: commit d948e6383ec3 ("scsi: fnic: Add port speed stat to fnic debug stats")
    Signed-off-by: John Pittman <jpittman@redhat.com>
    Reviewed-by: Satish Kharat <satishkh@cisco.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 84769706dde5881b8da0dc3da666f7443be95a8a
Author: zhengbin <zhengbin13@huawei.com>
Date:   Fri Aug 23 21:22:53 2019 +0800

    scsi: bnx2fc: remove set but not used variables 'task','port','orig_task'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function bnx2fc_process_unsol_compl:
    drivers/scsi/bnx2fc/bnx2fc_hwi.c:636:30: warning: variable task set but not used [-Wunused-but-set-variable]
    drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function bnx2fc_process_ofld_cmpl:
    drivers/scsi/bnx2fc/bnx2fc_hwi.c:1125:21: warning: variable port set but not used [-Wunused-but-set-variable]
    drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function bnx2fc_init_seq_cleanup_task:
    drivers/scsi/bnx2fc/bnx2fc_hwi.c:1468:30: warning: variable orig_task set but not used [-Wunused-but-set-variable]
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Acked-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 2f8eeaa258a9e8ac922f72957a5b0643c0d1b7f0
Author: zhengbin <zhengbin13@huawei.com>
Date:   Fri Aug 23 21:22:52 2019 +0800

    scsi: bnx2fc: remove set but not used variables 'lport','host'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/scsi/bnx2fc/bnx2fc_io.c: In function bnx2fc_initiate_seq_cleanup:
    drivers/scsi/bnx2fc/bnx2fc_io.c:932:19: warning: variable lport set but not used [-Wunused-but-set-variable]
    drivers/scsi/bnx2fc/bnx2fc_io.c: In function bnx2fc_initiate_cleanup:
    drivers/scsi/bnx2fc/bnx2fc_io.c:1001:19: warning: variable lport set but not used [-Wunused-but-set-variable]
    drivers/scsi/bnx2fc/bnx2fc_io.c: In function bnx2fc_process_scsi_cmd_compl:
    drivers/scsi/bnx2fc/bnx2fc_io.c:1882:20: warning: variable host set but not used [-Wunused-but-set-variable]
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Acked-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 7444ad400bfd8c85a28678a7b68accc6c41041fd
Author: zhengbin <zhengbin13@huawei.com>
Date:   Fri Aug 23 21:22:51 2019 +0800

    scsi: bnx2fc: remove set but not used variable 'fh'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/scsi/bnx2fc/bnx2fc_fcoe.c: In function bnx2fc_rcv:
    drivers/scsi/bnx2fc/bnx2fc_fcoe.c:431:26: warning: variable fh set but not used [-Wunused-but-set-variable]
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Acked-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 32dce48c054d345c8bce6ffe94aa39349fbf2147
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:44 2019 -0700

    scsi: qedf: Update the version to 8.42.3.0
    
    Update the driver version to 8.42.3.0.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 3480e7a8c8e47a6ee101ab722c58d61761b67e4a
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:43 2019 -0700

    scsi: qedf: Fix race betwen fipvlan request and response path
    
    There is a race b/w fipvlan request and response path:
    
    =====
    qedf_fcoe_process_vlan_resp:113]:2: VLAN response, vid=0xffd.
    qedf_initiate_fipvlan_req:165]:2: vlan = 0x6ffd already set.
    qedf_set_vlan_id:139]:2: Setting vlan_id=0ffd prio=3.
    ======
    
    The request thread sees that vlan is already set and fails to call
    ctrl_link_up.
    
    Fix:
    
     - While setting vlan_id use local variable and before setting vlan_id.
    
     - Call fcoe_ctlr_link_up in next iteration of fipvlan request.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 5797bcc897c363a775ac3d929b62d2579bdf8573
Author: Hannes Reinecke <hare@suse.com>
Date:   Fri Aug 23 02:52:42 2019 -0700

    scsi: qedf: Use discovery list to traverse rports
    
    The list of rports might become stale so we should rather traverse the
    discovery list when trying relogin.
    
    Signed-off-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit f6d63678b07f935fefd7cfefe7b43f56bad274b6
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:41 2019 -0700

    scsi: qedf: Decrease the LL2 MTU size to 2500
    
    Decrease the LL2 MTU size to 2500.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 0482262646e4e9e089c4e75f336244c5eaf360e1
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:40 2019 -0700

    scsi: qedf: Check for module unloading bit before processing link update AEN
    
    Prevent race where we're removing the module and we get link update
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit b29a907f105cc659a303bb2657959c7d0d188620
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:39 2019 -0700

    scsi: qedf: Initiator fails to re-login to switch after link down
    
    Problem Statement:
    
     - Driver has fc_id of 0xcc0200
    
     - Driver gets link down (due to test) and calls fcoe_ctlr_link_down().
    
     - At this point, the fc_id of the initiator port is zeroed out.
    
     - Driver gets a link up 14 seconds later.
    
     - Driver performs FIP VLAN request, gets a response from the switch.
    
     - No change in VLAN is detected.
    
     - Driver then notifies libfcoe via fcoe_ctlr_link_up().
    
     - Libfcoe then issues a multicast discovery solicitation as expected.
    
     - Cisco FCF responds to that correctly.
    
     - Libfcoe at this point starts a 3 sec count-down to allow any other FCFs
       to be discovered. However, at this point, it has been 20 seconds since
       the last FKA from the driver (which would have been sent prior to
       backlink toggle), which causes the CVL to be issued from Cisco CVL from
       the switch is dropped by the driver as the vx_port identification
       descriptor is present and has value of 0xcc0200, which does not match
       the driver's value of 0.  Libfcoe completes the 3 sec count down and
       proceeds to issue FLOGI as per protocol.  Switch rejects FLogi request.
       All subsequent FLOGI requests from libfc are rejected by the switch
       (possibly because it is now expecting a new solicitation).  This
       situation will continue until the next link toggle.
    
    Solution:
    
    The Vx_port descriptor in the CVL has three fields:
    
    MAC address
    Fabric ID
    Port Name
    
    Today, the code checks for both #1 and #2 above. In the case where we went
    through a link down, both these will be zero until FLOGI succeeds.
    
    We should change our code to check if any one of these 3 is valid and if
    so, handle the CVL (basically switching from AND to OR). The port name
    field is definitely expected to be valid always.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit aa5175a88cbb7eeab2aec874694e28a479d32bfe
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:38 2019 -0700

    scsi: qedf: Add debug information for unsolicited processing
    
    Log s_id, d_id, type and command to the log message.
    
    [mkp: fixed warning]
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 11988e393813f520974f69bf0e55c367a1cbac48
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 29 09:11:15 2019 +0100

    drm/i915/execlists: Try rearranging breadcrumb flush
    
    The addition of the DC_FLUSH failed to ensure sanctity of the post-sync
    write as CI immediately got a completion CS-event before the breadcrumb
    was coherent. So let's try the other idea of moving the post-sync write
    into the CS_STALL.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=111514
    References: e8f6b4952ec5 ("drm/i915/execlists: Flush the post-sync breadcrumb write harder")
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829081150.10271-2-chris@chris-wilson.co.uk

commit 931285e0123c4f380a9e2ff06434c8307b92b726
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:37 2019 -0700

    scsi: qedf: Add support for 20 Gbps speed
    
    The current code doeesn't support 20Gbps speed for current and supported
    speed. Add support for it.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit fa74f5e380b6d671735d72ab36646b781af3f876
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:36 2019 -0700

    scsi: qedf: Interpret supported caps value correctly
    
    Driver was wrongly interpreting the supported cap value returned by qed.
    
    Solution: Use QED define macros instead of OS defined for interpreting
    supporting speeds.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 31696204c44ced38ca0a4b97069b4d8558c1483a
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:35 2019 -0700

    scsi: qedf: Add shutdown callback handler
    
    Add shutdown callback handler.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit ec6350b800072db227585ee830672dc357f3983d
Author: Nilesh Javali <njavali@marvell.com>
Date:   Fri Aug 23 02:52:34 2019 -0700

    scsi: qedf: Update module description string
    
    Update module description.
    
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 47aeee5549cf9326656a8f9190960dfd35c101e2
Author: Arun Easi <aeasi@marvell.com>
Date:   Fri Aug 23 02:52:33 2019 -0700

    scsi: qedf: Fix crash during sg_reset
    
    Driver was attempting to print cdb[0], which is not set for resets coming
    from SCSI ioctls. Check for cmd_len before accessing cmnd.
    
    Crash info:
    [84790.864747] BUG: unable to handle kernel NULL pointer dereference at (null)
    [84790.864783] IP: qedf_initiate_tmf+0x7a/0x6e0 [qedf]
    [84790.865204] Call Trace:
    [84790.865246]  scsi_try_target_reset+0x2b/0x90 [scsi_mod]
    [84790.865266]  scsi_ioctl_reset+0x20f/0x2a0 [scsi_mod]
    [84790.865284]  scsi_ioctl+0x131/0x3a0 [scsi_mod]
    
    Signed-off-by: Arun Easi <aeasi@marvell.com>
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 4909e153e608360702ad34f76f72190bfaec3d9d
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:32 2019 -0700

    scsi: qedf: Stop sending fipvlan request on unload
    
     - On some setups fipvlan can be retried for long duration and the
       connection to switch was not there so it was not getting any reply.
    
     - During unload this thread was hanging.
    
    Problem Resolution:
    
    Check if unload is in progress, then quit from fipvlan thread.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit e82e6ff7779a76ea9b2161ee5fe2cdd9387cf263
Author: Saurav Kashyap <skashyap@marvell.com>
Date:   Fri Aug 23 02:52:31 2019 -0700

    scsi: qedf: Print message during bailout conditions
    
    Print messages during exiting condition to help debugging.
    
    Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 391a2417942358de4c794846a4a7dde095010258
Author: Don Brace <don.brace@microsemi.com>
Date:   Thu Aug 22 15:40:05 2019 -0500

    scsi: smartpqi: bump version
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Gerry Morong <gerry.morong@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 48edb87801004f2b93420701ad253a058dd48d49
Author: Don Brace <don.brace@microsemi.com>
Date:   Thu Aug 22 15:39:58 2019 -0500

    scsi: smartpqi: update copyright
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 63a7956ae1e8cdb7bd026b584aef7d505cb393ee
Author: Gilbert Wu <gilbert.wu@microsemi.com>
Date:   Thu Aug 22 15:39:51 2019 -0500

    scsi: smartpqi: add new pci ids
    
    Add:
    
          PM8222               VID_9005, DID_028F, SVID_1BD4 and SDID_004F
          3101E-4i (1G, no GB) VID_9005, DID_028F, SVID_9005 and SDID_0808
          3102E-8i (2G, no GB) VID_9005, DID_028F, SVID_9005 and SDID_0809
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 9946a3987248353c32c94f3b5b13070aee0a1a6b
Author: Murthy Bhat <Murthy.Bhat@microsemi.com>
Date:   Thu Aug 22 15:39:44 2019 -0500

    scsi: smartpqi: correct REGNEWD return status
    
    Return -EINPROGRESS when a rescan worker is queued.
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 71ecc60d9ba47ee5af5a1d0f33cc92755995fb78
Author: Gilbert Wu <gilbert.wu@microsemi.com>
Date:   Thu Aug 22 15:39:38 2019 -0500

    scsi: smartpqi: add gigabyte controller
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 530dd8a7a2b1ff2ee6c862ba250ca54ccc8c8c3e
Author: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com>
Date:   Thu Aug 22 15:39:31 2019 -0500

    scsi: smartpqi: correct hang when deleting 32 lds
    
    When each ld is deleted, a rescan event is triggered in the driver. These
    can stack up waiting on mutex_lock.
    
    Change to mutex_try_lock and schedule a rescan for later.
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 2d2ad4bc724e35459a19bbf77432facb9ac23f80
Author: Gilbert Wu <gilbert.wu@microsemi.com>
Date:   Thu Aug 22 15:39:25 2019 -0500

    scsi: smartpqi: add bay identifier
    
    Return identify physical device "Phys_Bay_in_Box" as bay_identifier.
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 6d90615f1346aed3674ebf825d1a6eda722e2e29
Author: Murthy Bhat <Murthy.Bhat@microsemi.com>
Date:   Thu Aug 22 15:39:18 2019 -0500

    scsi: smartpqi: add sysfs entries
    
     - serial number
     - model
     - vendor
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 522bc026f01381a91e65ed343781b1656f5e659a
Author: Dave Carroll <david.carroll@microsemi.com>
Date:   Thu Aug 22 15:39:11 2019 -0500

    scsi: smartpqi: add module param to hide vsep
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Dave Carroll <david.carroll@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 8bdb3b9c67c53eaeac2b97a6f0d2f86ccd3e5ba8
Author: Gilbert Wu <gilbert.wu@microsemi.com>
Date:   Thu Aug 22 15:39:04 2019 -0500

    scsi: smartpqi: add pci ids for fiberhome controller
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 5e6a9760f7da4dd86cca43ac6423695d6cb0dff4
Author: Gilbert Wu <gilbert.wu@microsemi.com>
Date:   Thu Aug 22 15:38:58 2019 -0500

    scsi: smartpqi: add module param for exposure order
    
    Expose physical devices before logical devices.
    
    Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
    Signed-off-by: Gilbert Wu <gilbert.wu@microsemi.com>
    Signed-off-by: Don Brace <don.brace@microsemi.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 01f2ef6d18e70c92bbf3743be4b908f52a059263
Author: James Smart <jsmart2021@gmail.com>
Date:   Wed Aug 28 16:19:11 2019 -0700

    scsi: lpfc: fix 12.4.0.0 GPF at boot
    
    The 12.4.0.0 patch that merged WQ/CQ pairs into single per-cpu pair
    contained a bug: a local variable was set to the queue pair by index.  This
    should have allowed the local variable to be natively used.  Instead, the
    code reused the index relative to the local variable, obtaining a random
    pointer value that when used eventually faulted the system
    
    Convert offending code to use local variable.
    
    Fixes: c00f62e6c546 ("scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair")
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    Tested-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 0622800d2ebccead42b3a85e255f7d473a36ec99
Author: James Smart <jsmart2021@gmail.com>
Date:   Tue Aug 27 14:28:23 2019 -0700

    scsi: lpfc: Raise config max for lpfc_fcp_mq_threshold variable
    
    Raise the config max for lpfc_fcp_mq_threshold variable to 256.
    
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    CC: Hannes Reinecke <hare@suse.de>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 9db6c14c36fc8f7824ade95f53bcdad43df678b4
Author: James Smart <jsmart2021@gmail.com>
Date:   Tue Aug 27 14:28:05 2019 -0700

    scsi: lpfc: Remove bg debugfs buffers
    
    Capturing and downloading dif command data and dif data was done a dozen
    years ago and no longer being used. Also creates a potential security hole.
    
    Remove the debugfs buffer for dif debugging.
    
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    CC: KyleMahlkuch <kmahlkuc@linux.vnet.ibm.com>
    CC: Hannes Reinecke <hare@suse.de>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 7f9989bace91a7a36051d64cbf46f7760c52bbf0
Author: James Smart <jsmart2021@gmail.com>
Date:   Tue Aug 27 14:27:46 2019 -0700

    scsi: lpfc: Resolve checker warning for lpfc_new_io_buf()
    
    Per Dan Carpenter:
    
    The patch d79c9e9d4b3d: "scsi: lpfc: Support dynamic unbounded SGL lists on
    G7 hardware." from Aug 14, 2019, leads to the following static checker
    warning:
    
       drivers/scsi/lpfc/lpfc_init.c:4107 lpfc_new_io_buf()
      error: not allocating enough data 784 vs 768
    
    There was no need to compare sizes nor to allocate size based on a define.
    
    Change allocation to use actual structure length
    
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    CC: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 844b17d7438bc6e8acbd85163b7c6b9bce0a6ea2
Author: zhengbin <zhengbin13@huawei.com>
Date:   Mon Aug 26 09:15:49 2019 +0800

    scsi: ufs: remove set but not used variable 'val'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/scsi/ufs/ufs-qcom.c: In function ufs_qcom_pwr_change_notify:
    drivers/scsi/ufs/ufs-qcom.c:808:6: warning: variable val set but not used [-Wunused-but-set-variable]
    
    Fixes: 1e1e465c6d23 ("scsi/ufs: qcom: Remove ufs_qcom_phy_*() calls from host")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Acked-by: Avri Altman <Avri.Altman@wdc.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 401fe8e99c71a51b61d24f237cb7c54842b9c662
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Aug 22 22:56:51 2019 +0100

    scsi: qla2xxx: fix spelling mistake "initializatin" -> "initialization"
    
    There is a spelling mistake in a ql_log message. Fix it.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 328bc6debf3dcaf8859dd1323882e8e24ec6e3f8
Author: zhengbin <zhengbin13@huawei.com>
Date:   Thu Aug 22 22:20:47 2019 +0800

    scsi: hisi_sas: remove set but not used variable 'irq_value'
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/scsi/hisi_sas/hisi_sas_v1_hw.c: In function cq_interrupt_v1_hw:
    drivers/scsi/hisi_sas/hisi_sas_v1_hw.c:1542:6: warning: variable irq_value set but not used [-Wunused-but-set-variable]
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Acked-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 8dc8d29a00e29c679f027102fb9c6709347ca8ca
Author: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Date:   Thu Aug 22 02:19:01 2019 -0400

    scsi: mpt3sas: Introduce module parameter to override queue depth
    
    This patch provides a module parameter and sysfs interface to select
    whether the queue depth for each device should be based on the
    protocol-specific value set by the driver (the default) or the maximum
    supported by the controller (can_queue).
    
    Although we have a sysfs interface per sdev to change the queue depth
    of individual scsi devices, this implementation provides a single
    sysfs entry per shost to switch between the controller max and the
    driver default.
    
    [mkp: tweaked commit desc]
    
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit dd93b143706c636d3dfefe6cf355065d748b2473
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Mon Aug 19 19:18:36 2019 -0700

    scsi: qla2xxx: Fix a recently introduced kernel warning
    
    According to the firmware documentation a status type 0 IOCB can be
    followed by one or more status continuation type 0 IOCBs. Hence do not
    complain if the completion function is not called from inside the status
    type 0 IOCB handler.
    
    WARNING: CPU: 10 PID: 425 at drivers/scsi/qla2xxx/qla_isr.c:2784
    qla2x00_status_entry.isra.7+0x484/0x17b0 [qla2xxx]
    CPU: 10 PID: 425 Comm: kworker/10:1 Tainted: G            E     5.3.0-rc4-next-20190813-autotest-autotest #1
    Workqueue: qla2xxx_wq qla25xx_free_rsp_que [qla2xxx]
    Call Trace:
     qla2x00_status_entry.isra.7+0x1484/0x17b0 [qla2xxx] (unreliable)
     qla24xx_process_response_queue+0x7d8/0xbd0 [qla2xxx]
     qla25xx_free_rsp_que+0x1a0/0x220 [qla2xxx]
     process_one_work+0x25c/0x520
     worker_thread+0x8c/0x5e0
     kthread+0x154/0x1a0
     ret_from_kernel_thread+0x5c/0x7c
    
    Cc: Himanshu Madhani <hmadhani@marvell.com>
    Cc: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
    Reported-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Tested-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
    Reviewed-by: Lee Duncan <lduncan@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit b557217c8475f40bc765ee20ff6b3b9124c8a4fe
Author: Stanley Chu <stanley.chu@mediatek.com>
Date:   Mon Aug 19 21:43:28 2019 +0800

    scsi: ufs: fix broken hba->outstanding_tasks
    
    Currently bits in hba->outstanding_tasks are cleared only after their
    corresponding task management commands are successfully done by
    __ufshcd_issue_tm_cmd().
    
    If timeout happens in a task management command, its corresponding bit in
    hba->outstanding_tasks will not be cleared until next task management
    command with the same tag used successfully finishes.
    
    This is wrong and can lead to some issues, like power issue.  For example,
    ufshcd_release() and ufshcd_gate_work() will do nothing if
    hba->outstanding_tasks is not zero even if both UFS host and devices are
    actually idle.
    
    Solution is referred from error handling of device commands: bits in
    hba->outstanding_tasks shall be cleared regardless of their execution
    results.
    
    Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
    Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
    Reviewed-by: Avri Altman <avri.altman@wdc.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit e8fd0b9f6f487820a05a46ce3ac4b5df11ad6799
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Aug 15 10:14:54 2019 +0100

    scsi: fcoe: remove redundant call to skb_transport_header
    
    Pointer fh is being assigned a return value from the call to
    skb_transport_header however this value is never read and fh is being
    re-assigned immediately afterwards with a new value.  Since there are
    side-effects from calling skb_transport_header the call is redundant and
    can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit e55f24ffa936e09673905a9176a8a9d22cf68d40
Author: Anil Varughese <aniljoy@cadence.com>
Date:   Tue Aug 13 08:42:50 2019 +0100

    scsi: ufs: Disable local LCC in .link_startup_notify() in Cadence UFS
    
    Some UFS devices have issues if LCC is enabled. So we are setting
    PA_LOCAL_TX_LCC_Enable to 0 before link startup which will make sure that
    both host and device TX LCC are disabled once link startup is completed.
    
    Signed-off-by: Anil Varughese <aniljoy@cadence.com>
    Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit c8a144b250dcd5fe6df95b8d101e9e2fe4c16201
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Thu Aug 29 14:31:05 2019 -0700

    Input: i8042 - enable wakeup on a stable struct device
    
    We don't know when the device will be added with device_add() in
    serio_add_port() because serio_add_port() is called from a workqueue
    that this driver schedules by calling serio_register_port(). The best we
    can know is that the device will definitely not have been added yet when
    the start callback is called on the serio device.
    
    While it hasn't been shown to be a problem, proactively move the wakeup
    enabling calls to the start hook so that we don't race with the
    workqueue calling device_add(). This will avoid racy situations where
    code tries to add wakeup sysfs attributes for this device from
    dpm_sysfs_add() but the path in device_set_wakeup_capable() has already
    done so.
    
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 5f6b4e1e09331938a818cf8f371025ae03dee069
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Jul 31 23:11:52 2019 +0100

    scsi: bfa: remove redundant assignment to variable error
    
    Variable error is being initialized with a value that is never read and
    error is being re-assigned a little later on. The assignment is redundant
    and hence can be removed.
    
    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

commit 66d9cec8a6c9f3eb1d81507d5f045e28272359fb
Author: Manasi Navare <manasi.d.navare@intel.com>
Date:   Wed Aug 28 15:47:01 2019 -0700

    drm/i915/display: Move the commit_tail() disable sequence to separate function
    
    Create a new function intel_commit_modeset_disables() consistent
    with the naming in drm atomic helpers and similar to the enable function.
    This helps better organize the disable sequence in atomic_commit_tail()
    
    No functional change
    
    v4:
    * Do not create a function pointer, just a function (Maarten)
    v3:
    * Rebase (Manasi)
    v2:
    * Create a helper for old_crtc_state disables (Lucas)
    
    Suggested-by: Daniel Vetter <daniel.vetter@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190828224701.422-1-manasi.d.navare@intel.com

commit 0c84127102ee240e3039d6e78a3dba0afff2f810
Author: Manasi Navare <manasi.d.navare@intel.com>
Date:   Tue Aug 27 15:17:34 2019 -0700

    drm/i915/display: Rename update_crtcs() to commit_modeset_enables()
    
    This patch has no functional changes. This just renames the update_crtcs()
    hooks to commit_modeset_enables() to match the drm_atomic helper naming
    conventions.
    
    v2:
    * Rebase on drm-tip
    
    Suggested-by: Daniel Vetter <daniel.vetter@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827221735.29351-2-manasi.d.navare@intel.com

commit 31444afb460ee627cb7800acee46548449c52368
Author: Matthew Auld <matthew.auld@intel.com>
Date:   Thu Aug 29 21:19:19 2019 +0100

    drm/i915: s/for_each_sgt_dma/for_each_sgt_daddr/
    
    The sg_table for our backing store might contain addresses from
    stolen-memory or in the future local-memory, at which point this is no
    longer a dma-iterator. As a consequence we should now break on NULL
    iter.sgp, instead of dmap == 0 which is considered an invalid dma
    address.
    
    As a bonus, gcc much prefers this construct,
    
      Function                                     old     new   delta
      gen8_ggtt_insert_entries                     211     192     -19
      gen6_ggtt_insert_entries                     292     262     -30
      i915_error_object_create                     996     954     -42
    
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829201919.21493-1-matthew.auld@intel.com

commit e1c14c43395c54c213a6bd415ba2db50fe503598
Author: Roman Li <Roman.Li@amd.com>
Date:   Thu Aug 8 16:26:44 2019 -0400

    drm/amdgpu: Enable DC on Renoir
    
    Enable DC support for renoir.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Roman Li <Roman.Li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 542816ff168d8a3159dedfd10a5579e7d04f2130
Author: Roman Li <Roman.Li@amd.com>
Date:   Thu Aug 8 15:14:25 2019 -0400

    drm/amd/display: Add DCN2.1 changes to DML
    
    Hook up the DML changes for renoir.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Roman Li <Roman.Li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit f82effc4e59260f6826b497e5158742a8f5b59df
Author: Roman Li <Roman.Li@amd.com>
Date:   Thu Aug 8 15:11:37 2019 -0400

    drm/amd/display: Correct order of RV family clk managers for Renoir
    
    Need to check for renoir first.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Roman Li <Roman.Li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 07842d54b95a1c236ba2bc237e32eeac476fc967
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:21:03 2019 -0400

    drm/amd/display: add Renoir to kconfig
    
    Add a kconfig option to enable renoir.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 25f9955b15298c7b3c4fe0f28f469ddb5125e93b
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:20:21 2019 -0400

    drm/amd/display: build dcn21 blocks
    
    Enable the building of dcn21 support.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit aa91916770d07cafafd24905b20e5350eb2dee30
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:16:47 2019 -0400

    drm/amd/display: add dcn21 core DC changes
    
    Add missing parameters, to make dcn21 compile
    without errors
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit dd44a63386e052304e965a36902bb3ce69ff665a
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:14:34 2019 -0400

    drm/amd/display: add dal_asic_id for renoir
    
    Add the rev id for renoir.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 1b2c7b2c6d615791a38be33d9e2d32a2736e70cb
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:09:35 2019 -0400

    drm/amd/display: call update_bw_bounding_box
    
    call update_bw_bounding_box in DC construct
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 30221ad8758b087c5eef6a62d492c7f98b1cd401
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:08:45 2019 -0400

    drm/amd/display: Handle Renoir in amdgpu_dm (v2)
    
    Hook up renoir support to KMS.
    
    v2: squash in "Fixes for Renoir in amdgpu_dm"
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit e22ece54ee782ac81838fb6a4b1a45c82e33461c
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 17:06:02 2019 -0400

    drm/amd/display: Handle Renoir in DC
    
    add Renoir DCN version in DC and handle it
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit aad37f26064aa55876287e73a8bfcaf3ce341d99
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 16:59:04 2019 -0400

    drm/amd/display: Fix register names
    
    rename VM_CONTEXT0 to  MMVM_CONTEXT0 as that is the name defined in
    the register files
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit b04641a3f4c54b00dab7ccd49fd45909c42c3fc2
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 16:52:06 2019 -0400

    drm/amd/display: Add Renoir DML
    
    DML provides the display configuration validation as provided
    by the hw teams.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 64ce485c4828799f223de9b3f930bed081ad4ec8
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 16:47:47 2019 -0400

    drm/amd/display: Add Renoir GPIO
    
    Misc display related configuration details.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 6f4e6361c3ff8457d45d2a898c418e3495e85e93
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 16:46:46 2019 -0400

    drm/amd/display: Add Renoir resource (v2)
    
    Manages the renoir display resources (crtcs, phys, plls, etc.).
    
    v2: rebase (Alex)
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 4edb6fc91878603f325c79314ee7675558932f7f
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Fri Jul 26 16:43:53 2019 -0400

    drm/amd/display: Add Renoir clock manager
    
    Controls display clocks and interfaces with powerplay for
    clock and power requirements.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 6f451b60e044b1a60f93087000b460e779f2da51
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 16:31:50 2019 -0400

    drm/amd/display: Add Renoir Hubbub (v2)
    
    Controls the display hw's interface to memory.
    
    v2: rebase (Alex)
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 35b82ba8f2fa9b4ba01df0551e6ad69099b8e6a3
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Wed Aug 28 10:22:02 2019 -0500

    drm/amd/display: Add Renoir hubbub registers list
    
    These are the registers used to program the hubbub hw.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit eced51f9babbccac23b398edf7215de82f944b04
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 16:19:17 2019 -0400

    drm/amd/display: Add hubp block for Renoir (v2)
    
    This provides the interface to memory for the display hw.
    
    v2: minor cleanup (Alex)
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 1e768c5b0f44ab061f56216a44cd6cc02764f987
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 16:00:15 2019 -0400

    drm/amd/display: Add Renoir irq_services (v2)
    
    Provides the interface to configure display interrrupts on renoir.
    
    v2: rebase fix (Alex)
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 82f9146832c60e5d1f0e4ed7ee82c7a18dff5cc1
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 15:58:18 2019 -0400

    drm/amd/display: Add pp_smu functions for Renoir
    
    This defines the interface for communicating requirements
    between DC and powerplay.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit ab61831227869b049227fa3c0f2d1ede095e1288
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Wed Aug 21 16:56:52 2019 -0500

    drm/amd/display: Add Renoir hw_seq register list
    
    These are the registers used to for the hw sequences
    for modesetting.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit ff54ecb095b549a8e79ee87922cecdba69f6bb79
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 15:51:09 2019 -0400

    drm/amd/display: Add Renoir clock registers list
    
    These are the registers used to program the clock hw.
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit b593bce59bfa25d9abbf220b6614396ccd965b1b
Author: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Date:   Thu Jul 25 15:51:41 2019 -0400

    drm/amd/display: Add Renoir registers (v3)
    
    add registers for dcn, clk, and renoir ip offsets
    
    v2: header cleanup (Alex)
    v3: Add DPCS registers (Hersen)
    
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit eee3258e8f8be822a6d7c15faa3f4a9e3081381e
Author: Prike Liang <Prike.Liang@amd.com>
Date:   Thu Aug 15 16:53:08 2019 +0800

    drm/amd/powerplay: add the interface for getting ultimate frequency v3
    
    add the get_dpm_ultimate_freq for supporting different swSMU.
    -v2:
            Handle the unsupported clock type and read smc message failed case and return error code.
            Move the smu12 uclk frequency retrieved logic to renoir ppt.
    -v3:
            Use goto clause to handle invalidate clk index.
            Add the limited tag for smu_get_dpm_uclk to avoid other likewise interface introduced.
    
    Signed-off-by: Prike Liang <Prike.Liang@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 296ae1038d43c54e0b0e7e4f398c867ba4beaaac
Author: Prike Liang <Prike.Liang@amd.com>
Date:   Fri Aug 16 11:22:13 2019 +0800

    drm/amd/powerplay: enable populate DPM clocks table for swSMU APU
    
    Should populate DPM clocks tables during hw init,otherwise will
    suffer from invalidate table.
    
    Signed-off-by: Prike Liang <Prike.Liang@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Reviewed-by: Aaron Liu <aaron.liu@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit ffe61cd6423c9e5db973eb9d9f35accaeec0d9d8
Author: Prike Liang <Prike.Liang@amd.com>
Date:   Thu Aug 15 09:39:06 2019 +0800

    drm/amd/powerplay: regards the APU always enable the dpm feature mask
    
    There is no driver message to enable/disable feature mask for APU.
    For the sake of APU reusing swSMU interface and assume APU supports all
    the feature.
    
    Signed-off-by: Prike Liang <Prike.Liang@amd.com>
    Reviewed-by: Evan Quan <evan.quan@amd.com>
    Reviewed-by: Aaron Liu <aaron.liu@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 334ffd0daa4357e998f43a4f914903013294f350
Author: Prike Liang <Prike.Liang@amd.com>
Date:   Mon Aug 26 16:46:34 2019 +0800

    drm/amdgpu: Initialize and update SDMA power gating
    
    Init SDMA HW base configuration and enable idle INT for rn.
    
    Signed-off-by: Prike Liang <Prike.Liang@amd.com>
    Reviewed-by: Aaron Liu <aaron.liu@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 12842d02c7fde1989616a490799bf8f86695b54a
Author: Tianci.Yin <tianci.yin@amd.com>
Date:   Wed Aug 28 10:03:40 2019 +0800

    drm/amdgpu/psp: keep TMR in visible vram region for SRIOV
    
    Fix compute ring test failure in sriov scenario.
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Tianci.Yin <tianci.yin@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 994dcfaa7ee321a23ec398f6b0e709f11ab2f577
Author: Tianci.Yin <tianci.yin@amd.com>
Date:   Wed Aug 28 18:51:19 2019 +0800

    drm/amdgpu: keep the stolen memory in visible vram region
    
    stolen memory should be fixed in visible region.
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Tianci.Yin <tianci.yin@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 92ead9fa6fc554e0ce43a4a83b26fac71f9b96ba
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Aug 29 01:51:56 2019 +0100

    drm/amdgpu: fix spelling mistake "jumpimng" -> "jumping"
    
    There is a spelling mistake in a DRM_DEBUG_DRIVER debug message.
    Fix it.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 53fd9b5ae87893540bbcd81a69ad809a13db5b89
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Wed Aug 28 08:47:34 2019 -0500

    drm/amdgpu/virtual_dce: drop error message in hw_init
    
    No need to add new asic cases.  This is a sw display
    implementation, so just drop the error message so when
    we add new asics, all we have to do is add the virtual
    dce IP module.
    
    Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 77efe48a729588527afb4d5811b9e0acb29f5e51
Author: Jean Delvare <jdelvare@suse.de>
Date:   Wed Aug 28 17:05:57 2019 +0200

    drm/amdgpu/si: fix ASIC tests
    
    Comparing adev->family with CHIP constants is not correct.
    adev->family can only be compared with AMDGPU_FAMILY constants and
    adev->asic_type is the struct member to compare with CHIP constants.
    They are separate identification spaces.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Fixes: 62a37553414a ("drm/amdgpu: add si implementation v10")
    Cc: Ken Wang <Qingqing.Wang@amd.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: "Christian König" <christian.koenig@amd.com>
    Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 1cdd229bec36212261f69702464913b5c2581d4d
Author: Jean Delvare <jdelvare@suse.de>
Date:   Wed Aug 28 10:27:29 2019 +0200

    drm/amd/amdgpu: hide voltage and power sensors on SI and KV parts
    
    The driver does not support these sensors yet and there is no point in
    creating sysfs attributes which will always return an error.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: "Christian König" <christian.koenig@amd.com>
    Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit e352625796b343cc85b7648a74a57e739b12dc27
Author: Monk Liu <Monk.Liu@amd.com>
Date:   Tue Aug 27 16:32:55 2019 +0800

    drm/amdgpu: introduce vram lost for reset (v2)
    
    for SOC15/vega10 the BACO reset & mode1 would introduce vram lost
    in high end address range, current kmd's vram lost checking cannot
    catch it since it only check very ahead visible frame buffer
    
    v2:
    cover NV as well
    
    Signed-off-by: Monk Liu <Monk.Liu@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 514ad79103f5d278cb6b190eb0c1f83461fa70a9
Author: Xiaojie Yuan <xiaojie.yuan@amd.com>
Date:   Tue Aug 27 14:26:08 2019 +0800

    drm/amd/powerplay: enable jpeg powergating for navi1x
    
    jpeg pg depends on vcn pg
    
    Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 5ef3b8acdcdf7fb61a304390e49a6d7df8720314
Author: Xiaojie Yuan <xiaojie.yuan@amd.com>
Date:   Tue Aug 27 11:06:13 2019 +0800

    drm/amdgpu: enable athub powergating for navi12
    
    Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit c1653ea05bcec582c82e7b134f5535d8fad42f48
Author: Xiaojie Yuan <xiaojie.yuan@amd.com>
Date:   Tue Aug 27 11:05:23 2019 +0800

    drm/amdgpu: enable vcn powergating for navi12
    
    Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 317f9cc97bdcfef1e873ba4dfa2b7af87a17775f
Author: Hawking Zhang <Hawking.Zhang@amd.com>
Date:   Tue Aug 27 17:13:47 2019 +0800

    drm/amdgpu: correct in_suspend setting for navi series
    
    in_suspend flag should be set in amdgpu_device_suspend/resume in pairs,
    instead of gfx10 ip suspend/resume function.
    
    Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

commit 7b60422cb796d40431337becf2129fd9944b2f05
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Mon Aug 26 17:55:05 2019 -0700

    libnvdimm/security: Consolidate 'security' operations
    
    The security operations are exported from libnvdimm/security.c to
    libnvdimm/dimm_devs.c, and libnvdimm/security.c is optionally compiled
    based on the CONFIG_NVDIMM_KEYS config symbol.
    
    Rather than export the operations across compile objects, just move the
    __security_store() entry point to live with the helpers.
    
    Acked-by: Jeff Moyer <jmoyer@redhat.com>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/156686730515.184120.10522747907309996674.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit bc4f2199ca3107809df96cf72f618b9559b00a21
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Mon Aug 26 17:55:00 2019 -0700

    libnvdimm/security: Tighten scope of nvdimm->busy vs security operations
    
    An attempt to freeze DIMMs currently runs afoul of default blocking of
    all security operations in the entry to the 'store' routine for the
    'security' sysfs attribute.
    
    The blanket blocking of all security operations while the DIMM is in
    active use in a region is too restrictive. The only security operations
    that need to be aware of the ->busy state are those that mutate the
    state of data, i.e. erase and overwrite.
    
    Refactor the ->busy checks to be applied at the entry common entry point
    in __security_store() rather than each of the helper routines to enable
    freeze to be run regardless of busy state.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
    Link: https://lore.kernel.org/r/156686729996.184120.3458026302402493937.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit d78c620a2e824d7b01a6e991208a8aa2c938cabe
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Mon Aug 26 17:54:54 2019 -0700

    libnvdimm/security: Introduce a 'frozen' attribute
    
    In the process of debugging a system with an NVDIMM that was failing to
    unlock it was found that the kernel is reporting 'locked' while the DIMM
    security interface is 'frozen'. Unfortunately the security state is
    tracked internally as an enum which prevents it from communicating the
    difference between 'locked' and 'locked + frozen'. It follows that the
    enum also prevents the kernel from communicating 'unlocked + frozen'
    which would be useful for debugging why security operations like 'change
    passphrase' are disabled.
    
    Ditch the security state enum for a set of flags and introduce a new
    sysfs attribute explicitly for the 'frozen' state. The regression risk
    is low because the 'frozen' state was already blocked behind the
    'locked' state, but will need to revisit if there were cases where
    applications need 'frozen' to show up in the primary 'security'
    attribute. The expectation is that communicating 'frozen' is mostly a
    helper for debug and status monitoring.
    
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Reported-by: Jeff Moyer <jmoyer@redhat.com>
    Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
    Link: https://lore.kernel.org/r/156686729474.184120.5835135644278860826.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit 2b90cb223320a93b1be6c2616efe6f9ff14d8b28
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Mon Jun 10 16:06:13 2019 -0500

    libnvdimm, region: Use struct_size() in kzalloc()
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct nd_region {
            ...
            struct nd_mapping mapping[0];
    };
    
    instance = kzalloc(sizeof(struct nd_region) + sizeof(struct nd_mapping) *
                              count, GFP_KERNEL);
    
    Instead of leaving these open-coded and prone to type mistakes, we can
    now use the new struct_size() helper:
    
    instance = kzalloc(struct_size(instance, mapping, count), GFP_KERNEL);
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20190610210613.GA21989@embeddedor
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit b42090256fba05dce1a0482a4ccd9bb6464cc499
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 15:56:40 2019 -0300

    perf tools: Remove debug.h from header files not needing it
    
    And fix the fallout, adding it to places that must have it since they
    use its definitions.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-1s3jel4i26chq2g0lydoz7i3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 0ac25fd0a04d8bd52ceac2476e71a4e497489987
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 15:42:40 2019 -0300

    perf tools: Remove perf.h from source files not needing it
    
    With the movement of lots of stuff out of perf.h to other headers we
    ended up not needing it in lots of places, remove it from those places.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-c718m0sxxwp73lp9d8vpihb4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit c1a604dff486399ae0be95e6396e0158df95ad5d
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 15:20:59 2019 -0300

    perf tools: Remove needless perf.h include directive from headers
    
    Its not needed there, add it to the places that need it and were getting
    it via those headers.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-5yulx1u16vyd0zmrbg1tjhju@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f37110205c3065546d6995b1463751c7bbb50e89
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 15:16:27 2019 -0300

    perf time-utils: Adopt rdclock() from perf.h
    
    Seems to be a better place for this function to live, further shrinking
    the hodge-podge that perf.h was.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-0zzt1u9rpyjukdy1ccr2u5r9@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 91854f9a077e18e43ed30ebe9c61f8089bec9166
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 14:59:50 2019 -0300

    perf tools: Move everything related to sys_perf_event_open() to perf-sys.h
    
    And remove unneeded include directives from perf-sys.h to prune the
    header dependency tree.
    
    Fixup the fallout in places where definitions were being used without
    the needed include directives that were being satisfied because they
    were in perf-sys.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-7b1zvugiwak4ibfa3j6ott7f@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit a77494026309711a5f1e4b078e353cd46c2dad9f
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 14:40:28 2019 -0300

    perf header: Move CPUINFO_PROC to the only file where it is used
    
    To reduce perf-sys.h and eventually nuke it.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-ars2j5m3if3gypsvkbbijucq@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 108a1bb9d1d88bff47d5eccd2cf18dc09a04fb9f
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Aug 29 13:00:28 2019 -0300

    perf tools: Remove needless libtraceevent include directives
    
    Remove traceevent/event-parse.h and traceevent/trace-seq.h from places
    where it is not needed.
    
    Should avoid rebuilding those files when these traceevent headers get
    changed.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com>
    Link: https://lkml.kernel.org/n/tip-26hn75jn9rdealn4uqtzend6@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit df552793493ff83b2b7289389d29d417b3ef6d6d
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:52 2019 -0500

    libperf: Warn when exceeding MAX_NR_CPUS in cpumap
    
    Display a warning when attempting to profile more than MAX_NR_CPU CPUs.
    This patch should not change any behavior.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-8-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit dc84187f32a3e8eb86bd97f3b10494e1f1fe5e7f
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:51 2019 -0500

    perf header: Replace MAX_NR_CPUS with cpu__max_cpu()
    
    The function cpu__max_cpu() returns the possible number of CPUs as
    defined in the sysfs and can be used as an alternative for MAX_NR_CPUS
    in write_cache.
    
    MAX_CACHES is replaced by cpu__max_cpu() * MAX_CACHE_LVL.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-7-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 8c7274691f0de5fb56f3b9fe9208ce7e515a2d2c
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:50 2019 -0500

    perf machine: Replace MAX_NR_CPUS with perf_env::nr_cpus_online
    
    nr_cpus, the number of CPUs online during a record session bound by
    MAX_NR_CPUS, can be used as a dynamic alternative for MAX_NR_CPUS in
    __machine__synthesize_threads and machine__set_current_tid.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-6-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 7df4e36a4785618f0c63f3dc2bacb164780ab0f6
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:49 2019 -0500

    perf session: Replace MAX_NR_CPUS with perf_env::nr_cpus_online
    
    nr_cpus, the number of CPUs online during a record session bound by
    MAX_NR_CPUS, can be used as a dynamic alternative for MAX_NR_CPUS in
    perf_session__cpu_bitmap.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-5-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 92b5a1545ad51e8225e691e9a29ba33cc9fe37bc
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:48 2019 -0500

    perf stat: Replace MAX_NR_CPUS with cpu__max_cpu()
    
    The function cpu__max_cpu() returns the possible number of CPUs as
    defined in the sysfs and can be used as an alternative for MAX_NR_CPUS
    in zero_per_pkg() and check_per_pkg().
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-4-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f78f96676a256d7fa171a54b271a2ad2c6555c9c
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:47 2019 -0500

    perf svghelper: Replace MAX_NR_CPUS with perf_env::nr_cpus_online
    
    'nr_cpus', the number of CPUs online during a record session bound by
    MAX_NR_CPUS, can be used as a dynamic alternative for MAX_NR_CPUS in
    svg_build_topology_map().
    
    The value of nr_cpus can be passed into str_to_bitmap(),
    scan_core_topology(), and svg_build_topology_map() to replace
    MAX_NR_CPUS as well.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-3-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 0ac1dd5b4a70cfc8591dd9426f800b484765badb
Author: Kyle Meyer <meyerk@hpe.com>
Date:   Tue Aug 27 16:43:46 2019 -0500

    perf timechart: Refactor svg_build_topology_map()
    
    Exchange the parameters of svg_build_topology_map() with 'struct
    perf_env *env' and adjust the function accordingly.
    
    This patch should not change any behavior, it is merely refactoring for
    the following patch.
    
    Committer notes:
    
    No need to include env.h from svghelper.h, all it needs is a forward
    declaration for 'struct perf_env', so move the include directive to
    svghelper.c, where it is really needed.
    
    Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
    Reviewed-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Link: http://lore.kernel.org/lkml/20190827214352.94272-2-meyerk@stormcage.eag.rdlabs.hpecorp.net
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 67260e8c0e681a9bb9ed861514b4c80c2d0eb2e5
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Tue Aug 20 16:02:19 2019 +0200

    perf c2c: Display proper cpu count in nodes column
    
    There's wrong bitmap considered when checking for cpu count of specific
    node.
    
    We do the needed computation for 'set' variable, but at the end we use
    the 'c2c_he->cpuset' weight, which shows misleading numbers.
    
    Fixes: 1e181b92a2da ("perf c2c report: Add 'node' sort key")
    Reported-by: Joe Mario <jmario@redhat.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20190820140219.28338-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 0183eb8bb59d45f26ec4fc73aaa416067fe6c0be
Author: Jean Delvare <jdelvare@suse.de>
Date:   Fri Aug 2 14:55:26 2019 +0200

    i2c: piix4: Add ACPI support
    
    Enable the i2c-piix4 SMBus controller driver to enumerate I2C slave
    devices using ACPI. It builds on the related I2C mux device work
    in commit 8eb5c87a92c0 ("i2c: add ACPI support for I2C mux ports")
    
    In the i2c-piix4 driver the adapters are enumerated as:
     Main SMBus adapter Port 0, Port 2, ..., aux port (i.e., ASF adapter)
    
    However, in the AMD BKDG documentation[1], the implied order of ports is:
     Main SMBus adapter Port 0, ASF adapter, Port 2, Port 3, ...
    
    This ordering difference is unfortunate. We assume that ACPI
    developers will use the AMD documentation ordering, so we have to
    pass an extra parameter to piix4_add_adapter().
    
    [1] 52740 BIOS and Kernel Developer's Guide (BKDG) for AMD Family 16h
    Models 30h-3Fh Processors
    
    Based on earlier work by Andrew Cooks.
    
    Reported-by: Andrew Cooks <andrew.cooks@opengear.com>
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 528d53a1592b0e27c423f7cafc1df85f77fc1163
Author: Jean Delvare <jdelvare@suse.de>
Date:   Fri Aug 2 14:54:38 2019 +0200

    i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h
    
    Prevent bus timeouts and resets on Family 16h Model 30h by not probing
    reserved Ports 3 and 4.
    
    According to the AMD BIOS and Kernel Developer's Guides (BKDG), Port 3
    and Port 4 are reserved on the following devices:
     - Family 15h Model 60h-6Fh
     - Family 15h Model 70h-7Fh
     - Family 16h Model 30h-3Fh
    
    Based on earlier work by Andrew Cooks.
    
    Reported-by: Andrew Cooks <andrew.cooks@opengear.com>
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit ba919403566dba52bf074851896ba0ca7f72c1e2
Author: Federico Vaga <federico.vaga@cern.ch>
Date:   Thu Aug 22 15:21:32 2019 +0200

    i2c: ocores: use request_any_context_irq() to register IRQ handler
    
    The i2c-ocores device is an HDL component that get instantiated in FPGA.
    The software stack used to drive an FPGA can be very different, and the
    i2c-ocore ip-core must work in different context. With respect to this
    patch the IRQ controller behind this device, and its driver, can have
    different implementations (nested threads). For this reason, it is safer
    to use `request_any_context_irq()` to avoid errors at probe time.
    
    Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Reviewed-by: Peter Korsgaard <peter@korsgaard.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit a6af48ec0712a0c98d8abe6b47c655b26026fceb
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Aug 19 13:31:30 2019 +0300

    i2c: designware: Fix optional reset error handling
    
    The commit bb475230b8e5 ("reset: make optional functions really optional")
    brought a missed part of the support for an optional reset handlers.
    
    Since that we don't need to have special error handling in the driver.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 71dc297ca9ab6311e7d39fc53811fd871d51854f
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Aug 19 13:24:23 2019 +0300

    i2c: designware: assert reset when error happen at ->probe()
    
    The commit c62ebb3d5f0d ("i2c: designware: Add support for an interface clock")
    introduced an optional clock while missed correct error handling.
    assert reset line back if error happen at ->probe().
    
    Fixes: c62ebb3d5f0d ("i2c: designware: Add support for an interface clock")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit f9bf7a899412b5f8c96b084343bde4168dc12efa
Author: Nishka Dasgupta <nishkadg.linux@gmail.com>
Date:   Mon Aug 19 13:16:01 2019 +0530

    i2c: taos-evm: Make structure tsl2550_info constant
    
    Static structure tsl2550_info, of type i2c_board_info, is referenced
    only twice: the first time in arguments to dev_info() (which does not
    modify it) and the second time as the last argument to function
    i2c_new_device() (where the corresponding parameter is declared as
    const). As tsl2550_info is therefore never modified, make it const to
    protect it from unintended modifications.
    Issue found with Coccinelle.
    
    Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
    Reviewed-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 70fb95e213147a88417eaae5b93ba6e59be087c0
Author: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Date:   Thu Aug 15 17:29:44 2019 +0300

    i2c: designware-pci: Add support for Elkhart Lake PSE I2C
    
    Add support for Intel(R) Programmable Services Engine (Intel(R) PSE) I2C
    controller in Intel Elkhart Lake when interface is assigned to the host
    processor.
    
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 21aa3983d619055cc3ecd0f0ceea4981dc8ee751
Author: Felipe Balbi <felipe.balbi@linux.intel.com>
Date:   Thu Aug 15 17:29:43 2019 +0300

    i2c: designware-pci: Switch over to MSI interrupts
    
    Some devices support MSI interrupts. Let's at least try to use them in
    platforms that provide MSI capability.
    
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit bc31c1eea99de9a8e65b011483716236af52f7ed
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Wed Aug 28 14:11:50 2019 +0300

    nvme-rdma: Use rq_dma_dir macro
    
    Remove code duplication.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit f15872c5dce43b69c3dee7739d7d3f54c54fc527
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Wed Aug 28 14:11:49 2019 +0300

    nvme-fc: Use rq_dma_dir macro
    
    Remove code duplication.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: James Smart <james.smart@broadcom.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit f2fa006f81cc5e7b5b9ef2c06dfeb50f52a47250
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Wed Aug 28 14:11:48 2019 +0300

    nvme-pci: Tidy up nvme_unmap_data
    
    Remove pointless local variable and use rq_dma_dir macro.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Keith Busch <kbusch@kernel.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit e7832cb48a654cd12b2bc9181b2f0ad49d526ac6
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Fri Aug 2 19:33:59 2019 -0700

    nvme: make fabrics command run on a separate request queue
    
    We have a fundamental issue that fabric commands use the admin_q.
    The reason is, that admin-connect, register reads and writes and
    admin commands cannot be guaranteed ordering while we are running
    controller resets.
    
    For example, when we reset a controller we perform:
    1. disable the controller
    2. teardown the admin queue
    3. re-establish the admin queue
    4. enable the controller
    
    In order to perform (3), we need to unquiesce the admin queue, however
    we may have some admin commands that are already pending on the
    quiesced admin_q and will immediate execute when we unquiesce it before
    we execute (4). The host must not send admin commands to the controller
    before enabling the controller.
    
    To fix this, we have the fabric commands (admin connect and property
    get/set, but not I/O queue connect) use a separate fabrics_q and make
    sure to quiesce the admin_q before we disable the controller, and
    unquiesce it only after we enable the controller.
    
    This fixes the error prints from nvmet in a controller reset storm test:
    kernel: nvmet: got cmd 6 while CC.EN == 0 on qid = 0
    Which indicate that the host is sending an admin command when the
    controller is not enabled.
    
    Reviewed-by:  James Smart <james.smart@broadcom.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit d38e9f04ebf667d9cb8185b45bff747485f1d3e9
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Wed Aug 7 17:51:22 2019 +1000

    nvme-pci: Support shared tags across queues for Apple 2018 controllers
    
    Another issue with the Apple T2 based 2018 controllers seem to be
    that they blow up (and shut the machine down) if there's a tag
    collision between the IO queue and the Admin queue.
    
    My suspicion is that they use our tags for their internal tracking
    and don't mix them with the queue id. They also seem to not like
    when tags go beyond the IO queue depth, ie 128 tags.
    
    This adds a quirk that marks tags 0..31 of the IO queue reserved
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Reviewed-by: Ming Lei <ming.lei@redhat.com>
    Acked-by: Keith Busch <keith.busch@intel.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 66341331ba0d2de4ff421cdc401a1e34de50502a
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Wed Aug 7 17:51:21 2019 +1000

    nvme-pci: Add support for Apple 2018+ models
    
    Based on reverse engineering and original patch by
    
    Paul Pawlowski <paul@mrarm.io>
    
    This adds support for Apple weird implementation of NVME in their
    2018 or later machines. It accounts for the twice-as-big SQ entries
    for the IO queues, and the fact that only interrupt vector 0 appears
    to function properly.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit c1e0cc7e1d319936271dfdd0a9405275c8091381
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Wed Aug 7 17:51:20 2019 +1000

    nvme-pci: Add support for variable IO SQ element size
    
    The size of a submission queue element should always be 6 (64 bytes)
    by spec.
    
    However some controllers such as Apple's are not properly implementing
    the standard and require a different size.
    
    This provides the ground work for the subsequent quirks for these
    controllers.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 8a1d09a668e7e245b8e4131cc9017c63fee02ee5
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Wed Aug 7 17:51:19 2019 +1000

    nvme-pci: Pass the queue to SQ_SIZE/CQ_SIZE macros
    
    This will make it easier to handle variable queue entry sizes
    later. No functional change.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 35fe0d12c8a3d5e45f297562732ddc9ba9dc58dd
Author: Hannes Reinecke <hare@suse.de>
Date:   Wed Jul 24 15:47:55 2019 +0200

    nvme: trace bio completion
    
    When native multipathing is enabled we cannot enable blktrace for
    the underlying paths, so any completion is never traced.
    
    Signed-off-by: Hannes Reinecke <hare@suse.com>
    [fixed-up by Mikhail for non-multipath-build]
    Signed-off-by: Mikhail Skorzhinskii <mskorzhinskiy@solarflare.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit e01f91dff91c7b16a6e3faf2565017d497a73f83
Author: Anton Eidelman <anton@lightbitslabs.com>
Date:   Fri Aug 16 13:00:10 2019 -0700

    nvme-multipath: fix ana log nsid lookup when nsid is not found
    
    ANA log parsing invokes nvme_update_ana_state() per ANA group desc.
    This updates the state of namespaces with nsids in desc->nsids[].
    
    Both ctrl->namespaces list and desc->nsids[] array are sorted by nsid.
    Hence nvme_update_ana_state() performs a single walk over ctrl->namespaces:
    - if current namespace matches the current desc->nsids[n],
      this namespace is updated, and n is incremented.
    - the process stops when it encounters the end of either
      ctrl->namespaces end or desc->nsids[]
    
    In case desc->nsids[n] does not match any of ctrl->namespaces,
    the remaining nsids following desc->nsids[n] will not be updated.
    Such situation was considered abnormal and generated WARN_ON_ONCE.
    
    However ANA log MAY contain nsids not (yet) found in ctrl->namespaces.
    For example, lets consider the following scenario:
    - nvme0 exposes namespaces with nsids = [2, 3] to the host
    - a new namespace nsid = 1 is added dynamically
    - also, a ANA topology change is triggered
    - NS_CHANGED aen is generated and triggers scan_work
    - before scan_work discovers nsid=1 and creates a namespace, a NOTICE_ANA
      aen was issues and ana_work receives ANA log with nsids=[1, 2, 3]
    
    Result: ana_work fails to update ANA state on existing namespaces [2, 3]
    
    Solution:
    Change the way nvme_update_ana_state() namespace list walk
    checks the current namespace against desc->nsids[n] as follows:
    a) ns->head->ns_id < desc->nsids[n]: keep walking ctrl->namespaces.
    b) ns->head->ns_id == desc->nsids[n]: match, update the namespace
    c) ns->head->ns_id >= desc->nsids[n]: skip to desc->nsids[n+1]
    
    This enables correct operation in the scenario described above.
    This also allows ANA log to contain nsids currently invisible
    to the host, i.e. inactive nsids.
    
    Signed-off-by: Anton Eidelman <anton@lightbitslabs.com>
    Reviewed-by:   James Smart <james.smart@broadcom.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 89275a9659fe57a3c7eef6778ec64f9e435c75eb
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Sun Aug 18 12:08:55 2019 +0300

    nvmet-tcp: Add TOS for tcp transport
    
    Set the outgoing packets type of service (TOS) according to the
    receiving TOS.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Suggested-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit bb13985d5a55b2830095640a2e64145bcb34929b
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Sun Aug 18 12:08:54 2019 +0300

    nvme-tcp: Add TOS for tcp transport
    
    TOS provide clients the ability to segregate traffic flows for
    different type of data.
    One of the TOS usage is bandwidth management which allows setting bandwidth
    limits for QoS classes, e.g. 80% bandwidth to controllers at QoS class A
    and 20% to controllers at QoS class B.
    
    usage examples:
    nvme connect --tos=0 --transport=tcp --traddr=10.0.1.1 --nqn=test-nvme
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 9924b0304ab278406aaee9184a1a2032b4778c65
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Sun Aug 18 12:08:53 2019 +0300

    nvme-tcp: Use struct nvme_ctrl directly
    
    This patch doesn't change any functionality.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit e63440d6a3134f7ae74bfb00bfc01db3efb8d3aa
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Sun Aug 18 12:08:52 2019 +0300

    nvme-rdma: Add TOS for rdma transport
    
    For RDMA transports, TOS is an extension of IB QoS to provide clients
    the ability to segregate traffic flows for different type of data.
    RDMA CM abstract it for ULPs using rdma_set_service_type().
    Internally, each traffic flow is represented by a connection with all of
    its independent resources like that of a normal connection, and is
    differentiated by service type. In other words, there can be multiple qp
    connections between an IP pair and each supports a unique service type.
    
    One of the TOS usage is bandwidth management which allows setting bandwidth
    limits for QoS classes, e.g. 80% bandwidth to controllers at QoS class A
    and 20% to controllers at QoS class B.
    
    Note: In addition to the TOS configuration, QOS must be configured on the
    relevant HCA on the target (send RDMA commands) and initiator to effect
    the traffic.
    
    usage examples:
    nvme connect --tos=0 --transport=rdma --traddr=10.0.1.1 --nqn=test-nvme
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 52b4451a9e5ae1e9ae739db16e8af61c77805389
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Sun Aug 18 12:08:51 2019 +0300

    nvme-fabrics: Add type of service (TOS) configuration
    
    TOS is user-defined and needs to be configured via nvme-cli.
    It must be set before initiating any traffic and once set the TOS
    cannot be changed.
    
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 35d1a938dcdaeb8e1d860f061a0cd11f67f42774
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Fri Aug 2 20:29:11 2019 -0700

    nvmet-tcp: fix possible memory leak
    
    when we uninit a command in error flow we also need to
    free an iovec if it was allocated.
    
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit b627200762c7e8153fe1620fdd52a68f4ca2f8a5
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Fri Aug 2 20:23:38 2019 -0700

    nvmet-tcp: fix possible NULL deref
    
    We must only call sgl_free for sgl that we actually
    allocated.
    
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 42df26d4df7b4437db7d3847c36abc3e5aa237f1
Author: Minwoo Im <minwoo.im.dev@gmail.com>
Date:   Sun Aug 4 16:50:50 2019 +0900

    nvmet: trace: parse Get LBA Status command in detail
    
    Four different fields are in CDWs of Get LBA Status command which means
    it would be great if we can see in detail when tracing in target side
    also.
    
    Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 177b06ed0997bdaa9671c615a37649ab9aec889e
Author: Minwoo Im <minwoo.im.dev@gmail.com>
Date:   Sun Aug 4 16:50:49 2019 +0900

    nvme: trace: parse Get LBA Status command in detail
    
    Four different fields are in CDWs of Get LBA Status command which means
    it would be great if we can see in detail when tracing.
    
    Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit a5ef757204bab6f80268a7437556cb57744ab7d4
Author: Minwoo Im <minwoo.im.dev@gmail.com>
Date:   Sun Aug 4 16:50:48 2019 +0900

    nvme: trace: support for Get LBA Status opcode parsed
    
    This patch adds Get LBA Status command's opcode to the macro that is
    used by the trace feature.  Now we can see "get_lba_status" instead of
    the opcode value itself.
    
    Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit c638984521f19ba218477d5ef9f10f9a6206bab6
Author: Minwoo Im <minwoo.im.dev@gmail.com>
Date:   Sun Aug 4 16:50:47 2019 +0900

    nvme: add Get LBA Status command opcode
    
    NVMe 1.4 added Get LBA Status command with opcode 0x86.
    
    Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 3bec2e3754becebd4c452999adb49bc62c575ea4
Author: Tom Wu <tomwu@mellanox.com>
Date:   Thu Aug 8 02:22:36 2019 +0000

    nvmet: fix data units read and written counters in SMART log
    
    In nvme spec 1.3 there is a definition for data write/read counters
    from SMART log, (See section 5.14.1.2):
            This value is reported in thousands (i.e., a value of 1
            corresponds to 1000 units of 512 bytes read) and is rounded up.
    
    However, in nvme target where value is reported with actual units,
    but not thousands of units as the spec requires.
    
    Signed-off-by: Tom Wu <tomwu@mellanox.com>
    Reviewed-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 1a9460cef571100487cde9c44110a5afff2e9ea2
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Wed Jul 3 14:08:04 2019 -0700

    nvme-tcp: support simple polling
    
    Simple polling support via socket busy_poll interface.
    Although we do not shutdown interrupts but simply hammer
    the socket poll, we can sometimes find completions faster
    than the normal interrupt driven RX path.
    
    We add per queue nr_cqe counter that resets every time
    RX path is invoked such that .poll callback can return it
    to stay consistent with the semantics.
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 79fd751d61aa8b9979d51357236890d69989ba04
Author: Minwoo Im <minwoo.im.dev@gmail.com>
Date:   Sun Jul 14 17:18:42 2019 +0900

    nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp
    
    The tcp host module is now taking those APIs from crypto ahash:
            (1) crypto_ahash_final()
            (2) crypto_ahash_digest()
            (3) crypto_alloc_ahash()
    
    nvme-tcp should depends on CRYPTO_CRC32C.
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Keith Busch <kbusch@kernel.org>
    Cc: Jens Axboe <axboe@fb.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit b5b0504878b884fb38e8983f1637a7be1d07fad3
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Mon Jul 22 17:06:54 2019 -0700

    nvme: don't pass cap to nvme_disable_ctrl
    
    All seem to call it with ctrl->cap so no need to pass it
    at all.
    
    Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit c0f2f45be2976abe973c8cd544f38e2d928771b0
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Mon Jul 22 17:06:53 2019 -0700

    nvme: move sqsize setting to the core
    
    nvme_enable_ctrl reads the cap register right after, so
    no need to do that locally in the transport driver. Have
    sqsize setting in nvme_init_identify.
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit aa22c8e6650d29a00196087caa2bbb32dc6117bc
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Thu Aug 22 10:51:17 2019 -0700

    nvme-pci: set ctrl sqsize to the device q_depth
    
    Align with what the rest of the transports are doing.
    
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 4fba445828fc047c095a3a955b4ceac62cd56964
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Mon Jul 22 17:06:52 2019 -0700

    nvme: have nvme_init_identify set ctrl->cap
    
    No need to use a stack cap variable.
    
    Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 10407ec9b42d30a6ebc49f7f84e2bb2131438699
Author: Potnuri Bharat Teja <bharat@chelsio.com>
Date:   Mon Jul 8 15:22:00 2019 +0530

    nvme-tcp: Use protocol specific operations while reading socket
    
    Using socket specific read_sock() calls instead of directly calling
    tcp_read_sock() helps lld module registered handlers if any, to be called
    from nvme-tcp host.
    This patch therefore replaces the tcp_read_sock() with socket specific
    prot_ops.
    
    Signed-off-by: Potnuri Bharat Teja <bharat@chelsio.com>
    Acked-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit 6be182607db98f9672865fed3ee3bf8b98e62dd4
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Fri Jul 19 12:46:46 2019 -0700

    nvme-tcp: cleanup nvme_tcp_recv_pdu
    
    Can return directly in the switch statement
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>

commit cc9bbb6cde6c321706f1eff79d077b4a91cd5d12
Author: Cezary Rojewski <cezary.rojewski@intel.com>
Date:   Wed Aug 28 11:51:02 2019 +0200

    ASoC: Intel: Baytrail: Fix implicit fallthrough warning
    
    Append fallthrough statement to fix warning reported during compilation.
    
    Fixes: b80d19c166c4 ("ASoC: Intel: Restore Baytrail ADSP streams only when ADSP was in reset")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190828095102.15737-1-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 696d05225cebffd172008d212657be90e823eac0
Author: Shengjiu Wang <shengjiu.wang@nxp.com>
Date:   Wed Aug 28 13:20:17 2019 -0400

    ASoC: fsl_ssi: Fix clock control issue in master mode
    
    The test case is
    arecord -Dhw:0 -d 10 -f S16_LE -r 48000 -c 2 temp.wav &
    aplay -Dhw:0 -d 30 -f S16_LE -r 48000 -c 2 test.wav
    
    There will be error after end of arecord:
    aplay: pcm_write:2051: write error: Input/output error
    
    Capture and Playback work in parallel in master mode, one
    substream stops, the other substream is impacted, the
    reason is that clock is disabled wrongly.
    
    The clock's reference count is not increased when second
    substream starts, the hw_param() function returns in the
    beginning because first substream is enabled, then in end
    of first substream, the hw_free() disables the clock.
    
    This patch is to move the clock enablement to the place
    before checking of the device enablement in hw_param().
    
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1567012817-12625-1-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit f0b576801d83cecab29888010017333babd61ede
Author: Adamski, Krzysztof (Nokia - PL/Wroclaw) <krzysztof.adamski@nokia.com>
Date:   Mon Aug 19 09:07:07 2019 +0000

    i2c: axxia: support slave mode
    
    This device contains both master and slave controllers which can be
    enabled simultaneously. Both controllers share the same SDA/SCL lines
    and interrupt source but has separate control and status registers.
    Controllers also works in loopback mode - slave device can communicate
    with its own master controller internally. The controller can handle up
    to two addresses, both of which may be 10 bit. Most of the logic
    (sending (N)ACK, handling repeated start or switching between
    write/read) is handled automatically which makes working with this
    controller quite easy.
    
    For simplicity, this patch adds basic support, limiting to only one
    slave address. Support for the 2nd device may be added in the future.
    
    Note that synchronize_irq() is used to ensure any running slave interrupt
    is finished to make sure slave i2c_client structure can be safely used
    by i2c_slave_event.
    
    Signed-off-by: Krzysztof Adamski <krzysztof.adamski@nokia.com>
    Reviewed-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 724041ae15ed9639b72bb54dabfac3279c6b4e55
Author: Max Staudt <max@enpas.org>
Date:   Mon Aug 19 14:16:18 2019 +0200

    i2c: icy: Add LTC2990 present on 2019 board revision
    
    Since the 2019 a1k.org community re-print of these PCBs sports an
    LTC2990 hwmon chip as an example use case, let this driver autoprobe
    for that as well. If it is present, modprobing ltc2990 is sufficient.
    
    The property_entry enables the three additional inputs available on
    this particular board:
    
      in1 will be the voltage of the 5V rail, divided by 2.
      in2 will be the voltage of the 12V rail, divided by 4.
      temp3 will be measured using a PCB loop next the chip.
    
    Signed-off-by: Max Staudt <max@enpas.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 4768e90ecaec6b503ff64229bda5d91186d2edd3
Author: Max Staudt <max@enpas.org>
Date:   Tue Aug 20 11:27:39 2019 +0200

    i2c: Add i2c-icy for I2C on m68k/Amiga
    
    This is the i2c-icy driver for the ICY board for Amiga computers.
    It connects a PCF8584 I2C controller to the Zorro bus, providing I2C
    connectivity. The original documentation can be found on Aminet:
    
    https://aminet.net/package/docs/hard/icy
    
    IRQ support is currently not implemented, as i2c-algo-pcf is built for
    the ISA bus and a straight implementation of the same stack locks up a
    Zorro machine.
    
    Signed-off-by: Max Staudt <max@enpas.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    [wsa: added a missing newline reported by checkpatch]
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit e2079e93f562c7f7a030eb7642017ee5eabaaa10
Author: Nathan Chancellor <natechancellor@gmail.com>
Date:   Mon Aug 26 17:41:55 2019 -0700

    kbuild: Do not enable -Wimplicit-fallthrough for clang for now
    
    This functionally reverts commit bfd77145f35c ("Makefile: Convert
    -Wimplicit-fallthrough=3 to just -Wimplicit-fallthrough for clang").
    
    clang enabled support for -Wimplicit-fallthrough in C in r369414 [1],
    which causes a lot of warnings when building the kernel for two reasons:
    
    1. Clang does not support the /* fall through */ comments. There seems
       to be a general consensus in the LLVM community that this is not
       something they want to support. Joe Perches wrote a script to convert
       all of the comments to a "fallthrough" keyword that will be added to
       compiler_attributes.h [2] [3], which catches the vast majority of the
       comments. There doesn't appear to be any consensus in the kernel
       community when to do this conversion.
    
    2. Clang and GCC disagree about falling through to final case statements
       with no content or cases that simply break:
    
       https://godbolt.org/z/c8csDu
    
       This difference contributes at least 50 warnings in an allyesconfig
       build for x86, not considering other architectures. This difference
       will need to be discussed to see which compiler is right [4] [5].
    
    [1]: https://github.com/llvm/llvm-project/commit/1e0affb6e564b7361b0aadb38805f26deff4ecfc
    [2]: https://lore.kernel.org/lkml/61ddbb86d5e68a15e24ccb06d9b399bbf5ce2da7.camel@perches.com/
    [3]: https://lore.kernel.org/lkml/1d2830aadbe9d8151728a7df5b88528fc72a0095.1564549413.git.joe@perches.com/
    [4]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91432
    [5]: https://github.com/ClangBuiltLinux/linux/issues/636
    
    Given these two problems need discussion and coordination, do not enable
    -Wimplicit-fallthrough with clang right now. Add a comment to explain
    what is going on as well. This commit should be reverted once these two
    issues are fully flushed out and resolved.
    
    Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
    Acked-by: Nick Desaulniers <ndesaulniers@google.com>
    Acked-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 990784b57731192b7d90c8d4049e6318d81e887d
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Aug 28 16:24:47 2019 +0200

    x86/mm/pti: Do not invoke PTI functions when PTI is disabled
    
    When PTI is disabled at boot time either because the CPU is not affected or
    PTI has been disabled on the command line, the boot code still calls into
    pti_finalize() which then unconditionally invokes:
    
         pti_clone_entry_text()
         pti_clone_kernel_text()
    
    pti_clone_kernel_text() was called unconditionally before the 32bit support
    was added and 32bit added the call to pti_clone_entry_text().
    
    The call has no side effects as cloning the page tables into the available
    second one, which was allocated for PTI does not create damage. But it does
    not make sense either and in case that this functionality would be extended
    later this might actually lead to hard to diagnose issues.
    
    Neither function should be called when PTI is runtime disabled. Make the
    invocation conditional.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
    Acked-by: Ingo Molnar <mingo@kernel.org>
    Acked-by: Song Liu <songliubraving@fb.com>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20190828143124.063353972@linutronix.de

commit 825d0b73cd7526b0bb186798583fae810091cbac
Author: Song Liu <songliubraving@fb.com>
Date:   Wed Aug 28 23:54:55 2019 +0200

    x86/mm/pti: Handle unaligned address gracefully in pti_clone_pagetable()
    
    pti_clone_pmds() assumes that the supplied address is either:
    
     - properly PUD/PMD aligned
    or
     - the address is actually mapped which means that independently
       of the mapping level (PUD/PMD/PTE) the next higher mapping
       exists.
    
    If that's not the case the unaligned address can be incremented by PUD or
    PMD size incorrectly. All callers supply mapped and/or aligned addresses,
    but for the sake of robustness it's better to handle that case properly and
    to emit a warning.
    
    [ tglx: Rewrote changelog and added WARN_ON_ONCE() ]
    
    Signed-off-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Ingo Molnar <mingo@kernel.org>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/alpine.DEB.2.21.1908282352470.1938@nanos.tec.linutronix.de

commit 250212b59a8e33f1b47f15ad9afa3db19ba0fc8d
Author: Stefan Wahren <wahrenst@gmx.net>
Date:   Tue Aug 27 19:04:16 2019 +0200

    i2c: bcm2835: Add full name of devicetree node to adapter name
    
    Inspired by Lori Hikichi's patch for iproc, this adds the full name of
    the devicetree node to the adapter name. With the introduction of
    BCM2711 it's very difficult to distinguish between the multiple instances.
    
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Acked-by: Scott Branden <scott.branden@broadcom.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 67de10fbaa12dc7d46412c5ab80f784ea8b4d7f8
Author: Stefan Wahren <wahrenst@gmx.net>
Date:   Tue Aug 27 19:04:15 2019 +0200

    i2c: bcm2835: Avoid clk stretch quirk for BCM2711
    
    The I2C block on the BCM2711 isn't affected by the clk stretching bug.
    So there is no need to apply the corresponding quirk.
    
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit ca85ee7457dc60771ec0173bfed58671177a74ab
Author: Stefan Wahren <wahrenst@gmx.net>
Date:   Tue Aug 27 19:04:14 2019 +0200

    dt-bindings: i2c: bcm2835: Add brcm,bcm2711 compatible
    
    Add a new compatible for the BCM2711, which hasn't the clock stretch bug.
    
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 9be02fde93e5b564663f10a48f19159fba718e3d
Author: Fernando Pacheco <fernando.pacheco@intel.com>
Date:   Thu Aug 29 10:41:53 2019 -0700

    drm/i915/uc: Extract common code from GuC stop/disable comm
    
    During normal driver unload we attempt to disable GuC communication
    while it is currently stopped. This results in a nop'd call to
    intel_guc_ct_disable within guc_disable_communication because
    stop/disable rely on the same flag to prevent further comms with CT.
    
    We can avoid the call to disable and still leave communication in a
    satisfactory state by extracting a set of shared steps from stop/disable.
    This set can include guc_disable_interrupts as we do not require the
    single caller of guc_stop_communication to be atomic:
    "drm/i915/selftests: Fixup atomic reset checking".
    
    This situation (stop -> disable) only occurs during intel_uc_fini_hw,
    so during fini, call guc_disable_communication only if currently enabled.
    The symmetric calls to enable/disable remain unmodified for all other
    scenarios.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110943
    Signed-off-by: Fernando Pacheco <fernando.pacheco@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829174154.14675-1-fernando.pacheco@intel.com

commit 61c65f47f30a1f32e0a84fe8335cd0360a028b48
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Thu Aug 29 13:17:21 2019 -0500

    rpmsg: glink: Use struct_size() helper
    
    One of the more common cases of allocation size calculations is finding
    the size of a structure that has a zero-sized array at the end, along
    with memory for some number of elements for that array. For example:
    
    struct {
            ...
            struct intent_pair intents[];
    } __packed * msg;
    
    Make use of the struct_size() helper instead of an open-coded version
    in order to avoid any potential type mistakes.
    
    So, replace the following form:
    
    sizeof(*msg) + sizeof(struct intent_pair) * count
    
    with:
    
    struct_size(msg, intents, count)
    
    This code was detected with the help of Coccinelle.
    
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

commit e7b6affd0baef7b3c5e2acd94236093dcf437105
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 29 18:08:48 2019 +0100

    drm/i915/selftests: cond_resched() within the longer buddy tests
    
    Let the scheduler have a breather in between passes of the longer buddy
    tests. Important if we are running under kasan etc and this takes far
    longer than usual!
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829170848.969-1-chris@chris-wilson.co.uk

commit cbc0425d3dd370a6f0bf23589dc7b6955a53a9ce
Author: Mimi Zohar <zohar@linux.ibm.com>
Date:   Sun Aug 25 09:58:16 2019 -0400

    sefltest/ima: support appended signatures (modsig)
    
    In addition to the PE/COFF and IMA xattr signatures, the kexec kernel
    image can be signed with an appended signature, using the same
    scripts/sign-file tool that is used to sign kernel modules.
    
    This patch adds support for detecting a kernel image signed with an
    appended signature and updates the existing test messages
    appropriately.
    
    Reviewed-by: Petr Vorel <pvorel@suse.cz>
    Acked-by: Shuah Khan <skhan@linuxfoundation.org>
    Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Reviewed-by: Jordan Hand <jorhand@linux.microsoft.com> (x86_64 QEMU)
    Tested-by: Jordan Hand <jorhand@linux.microsoft.com> (x86_64 QEMU)
    Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>

commit 87ce243206944a57383309dcbcdcc5750e6c905b
Author: Benjamin Weis <benjamin.weis@gmx.com>
Date:   Mon Jun 24 15:31:50 2019 +0200

    cpupower: update German translation
    
    Update the German translation of cpupower, and change the encoding
    to UTF-8.
    
    [skhan@linuxfoundation.org: fix merge conflicts]
    Signed-off-by: Benjamin Weis <benjamin.weis@gmx.com>
    Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 3532e7227243beb0b782266dc05c40b6184ad051
Author: Tejun Heo <tj@kernel.org>
Date:   Thu Aug 29 08:53:06 2019 -0700

    blkcg: fix missing free on error path of blk_iocost_init()
    
    blk_iocost_init() forgot to free its percpu stat on the error path.
    Fix it.
    
    Fixes: 7caa47151ab2 ("blkcg: implement blk-iocost")
    Reported-by: Hillf Danton <hdanton@sina.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 6fd4fe9b496d9ba3382992ff4fde3871d1b6f63d
Author: Anson Huang <Anson.Huang@nxp.com>
Date:   Tue Jul 16 15:18:58 2019 +0800

    rtc: snvs: fix possible race condition
    
    The RTC IRQ is requested before the struct rtc_device is allocated,
    this may lead to a NULL pointer dereference in IRQ handler.
    
    To fix this issue, allocating the rtc_device struct before requesting
    the RTC IRQ using devm_rtc_allocate_device, and use rtc_register_device
    to register the RTC device.
    
    Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
    Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
    Link: https://lore.kernel.org/r/20190716071858.36750-1-Anson.Huang@nxp.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

commit a73f6e2fbe8077811ea9546e0d44a7533111f0ba
Author: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Date:   Fri Jun 7 17:02:55 2019 +0200

    tools/power/cpupower: fix 64bit detection when cross-compiling
    
    When cross-compiling cpupower, 64bit detection is done with the host
    compiler instead of the cross-compiler and libcpupower.so.0 ends up in
    /usr/lib64 instead of /usr/lib for 32bit target.  Fix this by moving
    64bit detection after CC is defined.
    
    Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 828f369d76d16bffa97133f6f63a64c13a401953
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Mon Jun 17 16:51:15 2019 +0200

    cpupower: Add missing newline at end of file
    
    "git diff" says:
    
        \ No newline at end of file
    
    after modifying the files.
    
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

commit 8d1c1560c383004e09c6a39498094671cc664e6b
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date:   Thu Aug 29 09:43:34 2019 -0600

    blkcg: blk-iocost: predeclare used structs
    
    Fixes: 7caa47151ab2 ("blkcg: implement blk-iocost")
    Acked-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit f155e79ab516c9ed2adb2f337fb4ff58b7474428
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Thu Aug 29 23:38:08 2019 +0900

    ALSA: firewire-lib: fix isoc cycle count to which rx packet is scheduled
    
    When introducing the list of packet descriptor, for rx packet, the
    calculation of scheduled isoc cycle is omitted. This commit fixes the
    bug.
    
    Fixes: f4f6ae7b7c1f ("ALSA: firewire-lib: use packet descriptor for IT context")
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 6e26d193d15029a65e0904ad85d6d8634817c3a6
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Thu Aug 29 23:37:19 2019 +0900

    ALSA: dice: fix error path for initialization of stream structures
    
    When introducing AMDTP domain to ALSA dice driver, error path does not
    handle error correctly. This commit fixes the bug.
    
    Fixes: e9f21129b8d8 ("ALSA: dice: support AMDTP domain")
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 4ca76945b037cf93648170ff8cb958dbf1040374
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Sun Aug 25 10:31:39 2019 +0900

    kbuild: clean up subdir-ymn calculation in Makefile.clean
    
    Remove some variables.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 687ac1fa3164c75a3e1053ed8609f3a4e7a6186e
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Sun Aug 25 10:31:28 2019 +0900

    kbuild: remove unneeded '+' marker from cmd_clean
    
    This '+' was added a long time ago:
    
    | commit c23e6bf05f7802e92fd3da69a1ed35e56f9c85bb (HEAD)
    | Author: Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
    | Date:   Mon Oct 28 01:16:34 2002 -0600
    |
    |     kbuild: Fix a "make -j<N>" warning
    |
    | diff --git a/scripts/Makefile.clean b/scripts/Makefile.clean
    | index 2c843e0380bc..e7c392fd5788 100644
    | --- a/scripts/Makefile.clean
    | +++ b/scripts/Makefile.clean
    | @@ -42,7 +42,7 @@ quiet_cmd_clean = CLEAN   $(obj)
    |
    |  __clean: $(subdir-ymn)
    |  ifneq ($(strip $(__clean-files) $(clean-rule)),)
    | -        $(call cmd,clean)
    | +        +$(call cmd,clean)
    |  else
    |          @:
    |  endif
    
    At that time, cmd_clean contained $(clean-rule), which was able to
    invoke sub-make. That was why cleaning with the -j option showed:
    warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
    
    It is not the case any more; cmd_clean now just runs the 'rm' command.
    The '+' marker is pointless.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 1634f2bfdb846ed0a8b73131a9dff7c420fb3fe1
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Sun Aug 25 10:31:27 2019 +0900

    kbuild: remove clean-dirs syntax
    
    The only the difference between clean-files and clean-dirs is the -r
    option passed to the 'rm' command.
    
    You can always pass -r, and then remove the clean-dirs syntax.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 36de077b20d05321466f8eaba0ae01b9b18ad93c
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:13 2019 +0900

    kbuild: check clean srctree even earlier
    
    Move the outputmakefile target to the leftmost in the prerequisite list
    so that this is checked first. GNU Make processes the prerequisites
    left to right.
    
    GNU Make will keep to stick to this behavior, and it seems even
    POSIX standard, according to this:
    https://lists.gnu.org/archive/html/bug-make/2019-08/msg00030.html
    
    The POSIX standard of make is available here:
    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
    
    Of course, when the parallel option -j given, other targets will be run
    simultaneously but it is nice to show the error as early as possible.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit a5139fb368d2639afc6a3ea7e444f22a3e8ed3be
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:12 2019 +0900

    kbuild: remove prepare3 target
    
    Now prepare3 does nothing but depends on include/config/kernel.release
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit e8e83a236d36dac639b4846f17fa7c47013b4b95
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:11 2019 +0900

    kbuild: move the clean srctree check to the outputmakefile target
    
    With this commit, the error report is shown earlier, even before
    running kconfig.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 1a475d5486755fcf48d710cb7dc3a8a5f7bad573
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:10 2019 +0900

    kbuild: clarify where to run make mrproper when out-of-tree fails
    
    If you try out-of-tree build with an unclean source tree, Kbuild
    suggests to run make mrproper. The path to the source tree may be
    shown with a relative path, for example, "make O=foo" emits the
    following:
    
      .. is not clean, please run 'make mrproper'
      in the '..' directory.
    
    This is somewhat confusing if you ran "make O=foo" in the source tree.
    Using the absolute path will be clearer.
    
    This commit changes the error message like follows:
    
    ***
    *** The source tree is not clean, please run 'make mrproper'
    *** in /absolute/path/to/linux
    ***
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 621da4ba0e244ba3cfb2e8a9a9055299ec0ab0d3
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:09 2019 +0900

    kbuild: Inform user to pass ARCH= for make mrproper only when necessary
    
    Since commit 3a475b2166fd ("kbuild: Inform user to pass ARCH= for make
    mrproper"), if you try out-of-tree build with an unclean source tree,
    it suggests to run 'make ARCH=<ARCH> mrproper'.
    
    This looks odd when you are not cross-compiling the kernel. Show the
    'ARCH=<ARCH>' part only when ARCH= was given from the command line.
    If ARCH is the default (native build) or came from the environment,
    it should simply suggest 'make mrproper' as before.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 59747fb8693fee55d2184295d2a4b8b91e0203ee
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 13:46:08 2019 +0900

    kbuild: remove 'Using ... as source for kernel' message
    
    You already know the location of the source tree without this message.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 9c3ad4c14f7a3ac870d660bbc5f9961a8a79f356
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 12:59:11 2019 +0900

    kbuild: get rid of $(realpath ...) from scripts/mkmakefile
    
    Both relative path and absolute path have pros and cons. For example,
    we can move the source and objtree around together by using the
    relative path to the source tree.
    
    Do not force the absolute path to the source tree. If you prefer the
    absolute path, you can specify KBUILD_ABS_SRCTREE=1.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit bc7b752a7a1c8498f5c48f5b1b63147e32f649dc
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 02:33:21 2019 +0900

    kbuild: remove unneeded dependency for $(DOC_TARGETS)
    
    Commit 415008af3219 ("docs-rst: convert lsm from DocBook to ReST")
    stopped using if_changed_rule. There is no more users of if_changed*
    for the doc targets. Hence, fixdep is unneeded. Remove the dependency
    on scripts_basic.
    
    All the doc targets are phony. The dependency on FORCE is not needed
    either.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit fc01adc41679b19ee35a79e2bd2e9176aeba20c8
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Thu Aug 22 02:32:47 2019 +0900

    kbuild: remove unneeded comments and code from scripts/basic/Makefile
    
    Kbuild descends into scripts/basic/ even before the Kconfig.
    I do not expect any other host programs added to this Makefile.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit eb3aabbfbfc203082d06a64517df97a3746ba9ea
Author: Andrew Murray <andrew.murray@arm.com>
Date:   Wed Aug 28 18:50:09 2019 +0100

    arm64: atomics: Remove atomic_ll_sc compilation unit
    
    We no longer fall back to out-of-line atomics on systems with
    CONFIG_ARM64_LSE_ATOMICS where ARM64_HAS_LSE_ATOMICS is not set.
    
    Remove the unused compilation unit which provided these symbols.
    
    Signed-off-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 3337cb5aea594e4090a660e3fc3250bb669b1305
Author: Andrew Murray <andrew.murray@arm.com>
Date:   Wed Aug 28 18:50:08 2019 +0100

    arm64: avoid using hard-coded registers for LSE atomics
    
    Now that we have removed the out-of-line ll/sc atomics we can give
    the compiler the freedom to choose its own register allocation.
    
    Remove the hard-coded use of x30.
    
    Signed-off-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit addfc38672c73efd5c4e559a2e455b086e3e20c5
Author: Andrew Murray <andrew.murray@arm.com>
Date:   Wed Aug 28 18:50:07 2019 +0100

    arm64: atomics: avoid out-of-line ll/sc atomics
    
    When building for LSE atomics (CONFIG_ARM64_LSE_ATOMICS), if the hardware
    or toolchain doesn't support it the existing code will fallback to ll/sc
    atomics. It achieves this by branching from inline assembly to a function
    that is built with special compile flags. Further this results in the
    clobbering of registers even when the fallback isn't used increasing
    register pressure.
    
    Improve this by providing inline implementations of both LSE and
    ll/sc and use a static key to select between them, which allows for the
    compiler to generate better atomics code. Put the LL/SC fallback atomics
    in their own subsection to improve icache performance.
    
    Signed-off-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit db91427b6502e8e46db4b616e4eaa9b9cf4e6363
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Aug 26 09:22:13 2019 +0200

    MIPS: document mixing "slightly different CCAs"
    
    Based on an email from Paul Burton, quoting section 4.8 "Cacheability and
    Coherency Attributes and Access Types" of "MIPS Architecture Volume 1:
    Introduction to the MIPS32 Architecture" (MD00080, revision 6.01).
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Paul Burton <paul.burton@mips.com>

commit 3e4e1d3fb89193cc072858e1469d6f2926c603f7
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 3 12:38:31 2019 +0300

    arm64: document the choice of page attributes for pgprot_dmacoherent
    
    Based on an email from Will Deacon.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Will Deacon <will@kernel.org>
    Acked-by: Mark Rutland <mark.rutland@arm.com>

commit 8e3a68fb55e00e0760bd8023883e064f1f93c62d
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 3 12:42:15 2019 +0300

    dma-mapping: make dma_atomic_pool_init self-contained
    
    The memory allocated for the atomic pool needs to have the same
    mapping attributes that we use for remapping, so use
    pgprot_dmacoherent instead of open coding it.  Also deduct a
    suitable zone to allocate the memory from based on the presence
    of the DMA zones.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>

commit 419e2f1838819e954071dfa1d1f820ab3386ada1
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Aug 26 09:03:44 2019 +0200

    dma-mapping: remove arch_dma_mmap_pgprot
    
    arch_dma_mmap_pgprot is used for two things:
    
     1) to override the "normal" uncached page attributes for mapping
        memory coherent to devices that can't snoop the CPU caches
     2) to provide the special DMA_ATTR_WRITE_COMBINE semantics on older
        arm systems and some mips platforms
    
    Replace one with the pgprot_dmacoherent macro that is already provided
    by arm and much simpler to use, and lift the DMA_ATTR_WRITE_COMBINE
    handling to common code with an explicit arch opt-in.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>     # m68k
    Acked-by: Paul Burton <paul.burton@mips.com>            # mips

commit deffa48fb014f06f7cf8c4b3ea3c96160be3c854
Author: Harald Freudenberger <freude@linux.ibm.com>
Date:   Thu Aug 29 15:16:35 2019 +0200

    s390/zcrypt: fix wrong handling of cca cipher keygenflags
    
    Tests showed that the keygenflags parameter is not handled
    correctly within the zcrypt ccamisc generate cca cipher key
    code. A similar code is used with cca cipher key value import
    and there the flags are handled correctly. For unknown reason
    these lines have not been updated for the generate function
    and so this patch now introduces these two lines of code.
    
    This affects only pkey with the use of CCA cipher keys and
    the use of additional key generate flags.
    
    Fixes: 4bc123b18ce6 ("s390/zcrypt: Add low level functions for CCA AES cipher keys")
    Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit 580fa1b874711d633f9b145b7777b0e83ebf3787
Author: Andrew Murray <andrew.murray@arm.com>
Date:   Wed Aug 28 18:50:06 2019 +0100

    arm64: Use correct ll/sc atomic constraints
    
    The A64 ISA accepts distinct (but overlapping) ranges of immediates for:
    
     * add arithmetic instructions ('I' machine constraint)
     * sub arithmetic instructions ('J' machine constraint)
     * 32-bit logical instructions ('K' machine constraint)
     * 64-bit logical instructions ('L' machine constraint)
    
    ... but we currently use the 'I' constraint for many atomic operations
    using sub or logical instructions, which is not always valid.
    
    When CONFIG_ARM64_LSE_ATOMICS is not set, this allows invalid immediates
    to be passed to instructions, potentially resulting in a build failure.
    When CONFIG_ARM64_LSE_ATOMICS is selected the out-of-line ll/sc atomics
    always use a register as they have no visibility of the value passed by
    the caller.
    
    This patch adds a constraint parameter to the ATOMIC_xx and
    __CMPXCHG_CASE macros so that we can pass appropriate constraints for
    each case, with uses updated accordingly.
    
    Unfortunately prior to GCC 8.1.0 the 'K' constraint erroneously accepted
    '4294967295', so we must instead force the use of a register.
    
    Signed-off-by: Andrew Murray <andrew.murray@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 8f35eaa5f2de020073a48ad51112237c5932cfcc
Author: Andrew Murray <andrew.murray@arm.com>
Date:   Wed Aug 28 18:50:05 2019 +0100

    jump_label: Don't warn on __exit jump entries
    
    On architectures that discard .exit.* sections at runtime, a
    warning is printed for each jump label that is used within an
    in-kernel __exit annotated function:
    
    can't patch jump_label at ehci_hcd_cleanup+0x8/0x3c
    WARNING: CPU: 0 PID: 1 at kernel/jump_label.c:410 __jump_label_update+0x12c/0x138
    
    As these functions will never get executed (they are free'd along
    with the rest of initmem) - we do not need to patch them and should
    not display any warnings.
    
    The warning is displayed because the test required to satisfy
    jump_entry_is_init is based on init_section_contains (__init_begin to
    __init_end) whereas the test in __jump_label_update is based on
    init_kernel_text (_sinittext to _einittext) via kernel_text_address).
    
    Fixes: 19483677684b ("jump_label: Annotate entries that operate on __init code earlier")
    Signed-off-by: Andrew Murray <andrew.murray@arm.com>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit be6f55a60d28fb31864d3aab011cf4e1fc0dba04
Author: Thomas Huth <thuth@redhat.com>
Date:   Thu Aug 29 15:07:32 2019 +0200

    KVM: selftests: Add a test for the KVM_S390_MEM_OP ioctl
    
    Check that we can write and read the guest memory with this s390x
    ioctl, and that some error cases are handled correctly.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Link: https://lkml.kernel.org/r/20190829130732.580-1-thuth@redhat.com
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

commit b4d863c302e65515cc4706d184f1d54e6bbfc5a2
Author: Cornelia Huck <cohuck@redhat.com>
Date:   Thu Aug 29 14:47:46 2019 +0200

    KVM: s390: improve documentation for S390_MEM_OP
    
    Explicitly specify the valid ranges for size and ar, and reword
    buf requirements a bit.
    
    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Link: https://lkml.kernel.org/r/20190829124746.28665-1-cohuck@redhat.com
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

commit a13b03bbb4575b350b46090af4dfd30e735aaed1
Author: Thomas Huth <thuth@redhat.com>
Date:   Thu Aug 29 14:25:17 2019 +0200

    KVM: s390: Test for bad access register and size at the start of S390_MEM_OP
    
    If the KVM_S390_MEM_OP ioctl is called with an access register >= 16,
    then there is certainly a bug in the calling userspace application.
    We check for wrong access registers, but only if the vCPU was already
    in the access register mode before (i.e. the SIE block has recorded
    it). The check is also buried somewhere deep in the calling chain (in
    the function ar_translation()), so this is somewhat hard to find.
    
    It's better to always report an error to the userspace in case this
    field is set wrong, and it's safer in the KVM code if we block wrong
    values here early instead of relying on a check somewhere deep down
    the calling chain, so let's add another check to kvm_s390_guest_mem_op()
    directly.
    
    We also should check that the "size" is non-zero here (thanks to Janosch
    Frank for the hint!). If we do not check the size, we could call vmalloc()
    with this 0 value, and this will cause a kernel warning.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Link: https://lkml.kernel.org/r/20190829122517.31042-1-thuth@redhat.com
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

commit bdf8613d75ea7b4f3eb0fd0bd55342fb25e7286b
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:29 2019 -0700

    sparc: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Acked-by: David S. Miller <davem@davemloft.net>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit ed20d0bcc6de0f7d1f8a773ef0e2a855a205da45
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:28 2019 -0700

    mips: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Acked-by: Paul Burton <paul.burton@mips.com>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 2dfd7326c89cd20a8fefec6896c04286c696e1f2
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:27 2019 -0700

    arm: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 90929d70f1153956dc801ca028a7e82a971ca5b9
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:26 2019 -0700

    ia64: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 2e54e97cd5bbc8191291e5b6151558e7feb4b820
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:25 2019 -0700

    um: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit a43f3a6b2127c3f2c746f5814f06a59a1b076b49
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:24 2019 -0700

    parisc: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit c97e82b97f4bba00304905fe7965f923abd2d755
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:23 2019 -0700

    include/linux/compiler.h: prefer __section from compiler_attributes.h
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    This fixes an Oops observed in distro's that use systemd and not
    net.core.bpf_jit_enable=1, when their kernels are compiled with Clang.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Acked-by: Will Deacon <will@kernel.org>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 1faa6d6339f3d5f82a3f6f6a409416cc6beb47c2
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed Aug 28 15:55:22 2019 -0700

    s390/boot: fix section name escaping
    
    GCC unescapes escaped string section names while Clang does not. Because
    __section uses the `#` stringification operator for the section name, it
    doesn't need to be escaped.
    
    Instead, we should:
    1. Prefer __section(.section_name_no_quotes).
    2. Only use __attribute__((__section__(".section"))) when creating the
    section name via C preprocessor (see the definition of __define_initcall
    in arch/um/include/shared/init.h).
    
    This antipattern was found with:
    $ grep -e __section\(\" -e __section__\(\" -r
    
    See the discussions in:
    Link: https://bugs.llvm.org/show_bug.cgi?id=42950
    Link: https://marc.info/?l=linux-netdev&m=156412960619946&w=2
    Link: https://github.com/ClangBuiltLinux/linux/issues/619
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>

commit 042c1d29de8c0d4e4c9e77c64995b59be97aed33
Author: Vasily Gorbik <gor@linux.ibm.com>
Date:   Tue Aug 20 19:45:47 2019 +0200

    s390/kasan: add kdump support
    
    If kasan enabled kernel is used as crash kernel it crashes itself with
    program check loop during kdump execution. The reason for that is that
    kasan shadow memory backed by pages beyond OLDMEM_SIZE. Make kasan memory
    allocator respect physical memory limit imposed by kdump.
    
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit d0b319843baddc1a224ccdc73729aed55ec7787a
Author: Vasily Gorbik <gor@linux.ibm.com>
Date:   Mon Aug 19 17:32:44 2019 +0200

    s390/setup: avoid using strncmp with hardcoded length
    
    Replace strncmp usage in console mode setup code with simple strcmp.
    Replace strncmp which is used for prefix comparison with str_has_prefix.
    
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit 54fb07d030e1b2fa9d903a748f84398bbe6f213d
Author: Vasily Gorbik <gor@linux.ibm.com>
Date:   Mon Aug 19 17:13:04 2019 +0200

    s390/sclp: avoid using strncmp with hardcoded length
    
    "earlyprintk" option documentation does not clearly state which
    platform supports which additional values (e.g. ",keep"). Preserve old
    option behaviour and reuse str_has_prefix instead of strncmp for prefix
    testing.
    
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit b29cd7c4c482d895f4b13ef1dfe85550529f38c9
Author: Vasily Gorbik <gor@linux.ibm.com>
Date:   Mon Aug 19 17:05:44 2019 +0200

    s390/module: avoid using strncmp with hardcoded length
    
    Reuse str_has_prefix instead of strncmp with hardcoded length to
    make the intent of a comparison more obvious.
    
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit 8dec6bd4ef327f48eb790a48cba0e833109d4e41
Author: Vasily Gorbik <gor@linux.ibm.com>
Date:   Mon Aug 19 16:29:01 2019 +0200

    s390/pci: avoid using strncmp with hardcoded length
    
    Command line option values passed to __setup callbacks are always
    null-terminated and "s390_iommu=" may only accept "strict" as value.
    So replace strncmp with strcmp.
    
    While at it also make s390_iommu_setup return 1, which means this
    command line option is handled by this callback.
    
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>

commit 968bce2f59ce462d296af28610628fe7e03b120a
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Aug 28 22:22:41 2019 -0300

    media: imx: remove unused including <linux/version.h>
    
    Remove including <linux/version.h> that don't need it.
    
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

commit 90499a230d16e48282fc78591fd33461d8741fb6
Author: Markus Elfring <elfring@users.sourceforge.net>
Date:   Tue Aug 27 11:00:13 2019 -0300

    media: stm32-dcmi: Delete an unnecessary of_node_put() call in dcmi_probe()
    
    A null pointer would be passed to a call of the function “of_node_put”
    immediately after a call of the function “of_graph_get_next_endpoint”
    failed at one place.
    Remove this superfluous function call.
    
    This issue was detected by using the Coccinelle software.
    
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

commit 0fb68ce02ae73626a61b8d03eab1625021057af5
Author: Yizhuo <yzhai003@ucr.edu>
Date:   Mon Aug 26 20:55:28 2019 -0300

    media: pvrusb2: qctrl.flag will be uninitlaized if cx2341x_ctrl_query() returns error code
    
    Inside function ctrl_cx2341x_getv4lflags(), qctrl.flag
    will be uninitlaized if cx2341x_ctrl_query() returns -EINVAL.
    However, it will be used in the later if statement, which is
    potentially unsafe.
    
    Signed-off-by: Yizhuo <yzhai003@ucr.edu>
    Acked-by: Mike Isely <isely@pobox.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

commit ecbce48f1ff2442371ebcd12ec0ecddb431fbd72
Author: Markus Elfring <elfring@users.sourceforge.net>
Date:   Mon Aug 26 08:14:02 2019 -0300

    media: em28xx: Fix exception handling in em28xx_alloc_urbs()
    
    A null pointer would be passed to a call of the function "kfree" directly
    after a call of the function "kcalloc" failed at one place.
    Pass the data structure member "urb" instead for which memory
    was allocated before (so that this resource will be properly cleaned up).
    
    This issue was detected by using the Coccinelle software.
    
    Fixes: d571b592c6206d33731f41aa710fa0f69ac8611b ("media: em28xx: don't use coherent buffer for DMA transfers")
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

commit 333f31436d3db19f4286f8862a00ea1d8d8420a1
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Aug 29 09:52:02 2019 +0200

    ALSA: hda - Fix potential endless loop at applying quirks
    
    Since the chained quirks via chained_before flag is applied before the
    depth check, it may lead to the endless recursive calls, when the
    chain were set up incorrectly.  Fix it by moving the depth check at
    the beginning of the loop.
    
    Fixes: 1f57825077dc ("ALSA: hda - Add chained_before flag to the fixup entry")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit f480b969448ee3896f55ef6d037ad4a2df3914bf
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date:   Tue Aug 27 12:36:53 2019 +0200

    mtd: rawnand: omap2: Fix number of bitflips reporting with ELM
    
    omap_elm_correct_data() returns the number of bitflips for the whole
    page. This is wrong, it should return the maximum number of bitflips
    found in each ECC step.
    
    In my case with a 4k page size NAND mtcdore reported -EUCLEAN with
    only 12 bitflips on a page where we could correct up to 128 bits per
    page (provided they are distributed equally on the 8 ECC steps)
    
    Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

commit 7f852cc1579297fd763789f8cd370639d0c654b6
Author: Claire Lin <claire.lin@broadcom.com>
Date:   Mon Aug 26 15:57:56 2019 -0400

    mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page bitfips
    
    In brcmstb_nand_verify_erased_page(), the ECC chunk pointer calculation
    while correcting erased page bitflips is wrong, fix it.
    
    Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflips")
    Signed-off-by: Claire Lin <claire.lin@broadcom.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

commit 301011ba622513cb41ced59973972204e0da2f71
Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
Date:   Wed Aug 28 15:05:29 2019 -0400

    tools lib traceevent: Remove unneeded qsort and uses memmove instead
    
    While reading a trace data file that had 100,000s of tasks, the process
    took an extremely long time. I profiled it down to add_new_comm(), which
    was doing a qsort() call on an array that was pretty much already sorted
    (all but the last element. qsort() isn't very efficient when dealing
    with mostly sorted arrays, and this definitely showed its issues.
    
    When adding a new task to the task list, instead of using qsort(), do
    another bsearch() with a function that will find the element before
    where the new task will be inserted in. Then simply shift the rest of
    the array, and insert the task where it belongs.
    
    Fixes: f7d82350e597d ("tools/events: Add files to create libtraceevent.a")
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: linux-trace-devel@vger.kernel.org
    Link: http://lkml.kernel.org/r/20190828191820.127233764@goodmis.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit b0215e2d6a18d8331b2d4a8b38ccf3eff783edb1
Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
Date:   Wed Aug 28 15:05:28 2019 -0400

    tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure
    
    If the re-allocation of tep->cmdlines succeeds, then the previous
    allocation of tep->cmdlines will be freed. If we later fail in
    add_new_comm(), we must not free cmdlines, and also should assign
    tep->cmdlines to the new allocation. Otherwise when freeing tep, the
    tep->cmdlines will be pointing to garbage.
    
    Fixes: a6d2a61ac653a ("tools lib traceevent: Remove some die() calls")
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: linux-trace-devel@vger.kernel.org
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/20190828191819.970121417@goodmis.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit b397f8468fa27f08b83b348ffa56a226f72453af
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Wed Aug 28 16:48:50 2019 -0300

    perf evlist: Use unshare(CLONE_FS) in sb threads to let setns(CLONE_NEWNS) work
    
    When we started using a thread to catch the PERF_RECORD_BPF_EVENT meta
    data events to then ask the kernel for further info (BTF, etc) for BPF
    programs shortly after they get loaded, we forgot to use
    unshare(CLONE_FS) as was done in:
    
      868a832918f6 ("perf top: Support lookup of symbols in other mount namespaces.")
    
    Do it so that we can enter the namespaces to read the build-ids at the
    end of a 'perf record' session for the DSOs that had hits.
    
    Before:
    
    Starting a 'stress-ng --cpus 8' inside a container and then, outside the
    container running:
    
      # perf record -a --namespaces sleep 5
      # perf buildid-list | grep stress-ng
      #
    
    We would end up with a 'perf.data' file that had no entry in its
    build-id table for the /usr/bin/stress-ng binary inside the container
    that got tons of PERF_RECORD_SAMPLEs.
    
    After:
    
      # perf buildid-list | grep stress-ng
      f2ed02c68341183a124b9b0f6e2e6c493c465b29 /usr/bin/stress-ng
      #
    
    Then its just a matter of making sure that that binary debuginfo package
    gets available in a place that 'perf report' will look at build-id keyed
    ELF files, which, in my case, on a f30 notebook, was a matter of
    installing the debuginfo file for the distro used in the container,
    fedora 31:
    
      # rpm -ivh http://fedora.c3sl.ufpr.br/linux/development/31/Everything/x86_64/debug/tree/Packages/s/stress-ng-debuginfo-0.07.29-10.fc31.x86_64.rpm
    
    Then, because perf currently looks for those debuginfo files (richer ELF
    symtab) inside that namespace (look at the setns calls):
    
      openat(AT_FDCWD, "/proc/self/ns/mnt", O_RDONLY) = 137
      openat(AT_FDCWD, "/proc/13169/ns/mnt", O_RDONLY) = 139
      setns(139, CLONE_NEWNS)                 = 0
      stat("/usr/bin/stress-ng", {st_mode=S_IFREG|0755, st_size=3065416, ...}) = 0
      openat(AT_FDCWD, "/usr/bin/stress-ng", O_RDONLY) = 140
      fcntl(140, F_GETFD)                     = 0
      fstat(140, {st_mode=S_IFREG|0755, st_size=3065416, ...}) = 0
      mmap(NULL, 3065416, PROT_READ, MAP_PRIVATE, 140, 0) = 0x7ff2fdc5b000
      munmap(0x7ff2fdc5b000, 3065416)         = 0
      close(140)                              = 0
      stat("stress-ng-0.07.29-10.fc31.x86_64.debug", 0x7fff45d71260) = -1 ENOENT (No such file or directory)
      stat("/usr/bin/stress-ng-0.07.29-10.fc31.x86_64.debug", 0x7fff45d71260) = -1 ENOENT (No such file or directory)
      stat("/usr/bin/.debug/stress-ng-0.07.29-10.fc31.x86_64.debug", 0x7fff45d71260) = -1 ENOENT (No such file or directory)
      stat("/usr/lib/debug/usr/bin/stress-ng-0.07.29-10.fc31.x86_64.debug", 0x7fff45d71260) = -1 ENOENT (No such file or directory)
      stat("/root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29", 0x7fff45d711e0) = -1 ENOENT (No such file or directory)
    
    To only then go back to the "host" namespace to look just in the users's
    ~/.debug cache:
    
      setns(137, CLONE_NEWNS)                 = 0
      chdir("/root")                          = 0
      close(137)                              = 0
      close(139)                              = 0
      stat("/root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29/elf", 0x7fff45d732e0) = -1 ENOENT (No such file or directory)
    
    It continues to fail to resolve symbols:
    
      # perf report | grep stress-ng | head -5
         9.50%  stress-ng-cpu    stress-ng    [.] 0x0000000000021ac1
         8.58%  stress-ng-cpu    stress-ng    [.] 0x0000000000021ab4
         8.51%  stress-ng-cpu    stress-ng    [.] 0x0000000000021489
         7.17%  stress-ng-cpu    stress-ng    [.] 0x00000000000219b6
         3.93%  stress-ng-cpu    stress-ng    [.] 0x0000000000021478
      #
    
    To overcome that we use:
    
      # perf buildid-cache -v --add /usr/lib/debug/usr/bin/stress-ng-0.07.29-10.fc31.x86_64.debug
      Adding f2ed02c68341183a124b9b0f6e2e6c493c465b29 /usr/lib/debug/usr/bin/stress-ng-0.07.29-10.fc31.x86_64.debug: Ok
      #
      # ls -la /root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29/elf
      -rw-r--r--. 3 root root 2401184 Jul 27 07:03 /root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29/elf
      # file /root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29/elf
      /root/.debug/.build-id/f2/ed02c68341183a124b9b0f6e2e6c493c465b29/elf: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter \004, BuildID[sha1]=f2ed02c68341183a124b9b0f6e2e6c493c465b29, for GNU/Linux 3.2.0, with debug_info, not stripped, too many notes (256)
      #
    
    Now it finally works:
    
      # perf report | grep stress-ng | head -5
        23.59%  stress-ng-cpu    stress-ng    [.] ackermann
        23.33%  stress-ng-cpu    stress-ng    [.] is_prime
        17.36%  stress-ng-cpu    stress-ng    [.] stress_cpu_sieve
         6.08%  stress-ng-cpu    stress-ng    [.] stress_cpu_correlate
         3.55%  stress-ng-cpu    stress-ng    [.] queens_try
      #
    
    I'll make sure that it looks for the build-id keyed files in both the
    "host" namespace (the namespace the user running 'perf record' was a the
    time of the recording) and in the container namespace, as it shouldn't
    matter where a content based key lookup finds the ELF file to use in
    resolving symbols, etc.
    
    Reported-by: Karl Rister <krister@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: Krister Johansen <kjlx@templeofstupid.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Song Liu <songliubraving@fb.com>
    Cc: Stanislav Fomichev <sdf@google.com>
    Cc: Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>
    Fixes: 657ee5531903 ("perf evlist: Introduce side band thread")
    Link: https://lkml.kernel.org/n/tip-g79k0jz41adiaeuqud742t2l@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 653dd8e6e8e46591f864b7ad98e10819079d5a88
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:17 2019 +0200

    libperf: Move 'enum perf_user_event_type' to perf/event.h
    
    So it's available for libperf's users.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-24-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 72932371e78012cea96edb9e833d81f1c32dd892
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:16 2019 +0200

    libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix
    
    Even more, to have a "perf_record_" prefix, so that they match the
    PERF_RECORD_ enum they map to.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-23-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 7510410a38c71eb5d45217a4934e60eef88c04e1
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:15 2019 +0200

    libperf: Add 'union perf_event' to perf/event.h
    
    So it's available for libperf's users.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-22-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f5f684321791eb5ebb8c56d7d223e71fe08b5dd9
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:14 2019 +0200

    libperf: Add PERF_RECORD_COMPRESSED 'struct compressed_event' to perf/event.h
    
    Move the PERF_RECORD_COMPRESSED event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-21-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 1b8896fb296f4087c45c997c4b212544c639e272
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:13 2019 +0200

    libperf: Add PERF_RECORD_HEADER_FEATURE 'struct feature_event' to perf/event.h
    
    Move the PERF_RECORD_HEADER_FEATURE event definition to libperf's
    event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-20-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit bfd922d8f09a692f2a952a67451bc3eeaad3fb73
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:12 2019 +0200

    libperf: Add PERF_RECORD_TIME_CONV 'struct time_conv_event' to perf/event.h
    
    Move the PERF_RECORD_TIME_CONV event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-19-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 782adbe2964953803ea1a38b80f6255c336cdd7b
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:11 2019 +0200

    libperf: Add PERF_RECORD_STAT_ROUND 'struct stat_round_event' to perf/event.h
    
    Move the PERF_RECORD_STAT_ROUND event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-18-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 18a13a60f6f50f2fb1f7354f6d0b2ded01995443
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:10 2019 +0200

    libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h
    
    Move the PERF_RECORD_STAT event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-17-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit c5f416e6c69e333207666a1ddab0b41c6f12e588
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:09 2019 +0200

    libperf: Add PERF_RECORD_STAT_CONFIG 'struct stat_config_event' to perf/event.h
    
    Move the PERF_RECORD_STAT_CONFIG event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-16-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 3e4c453f5cbac75afec37eedd0ffcd8dac82e23e
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:08 2019 +0200

    libperf: Add PERF_RECORD_THREAD_MAP 'struct thread_map_event' to perf/event.h
    
    Move the PERF_RECORD_THREAD_MAP event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-15-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 6b49aaebd05fdbb29a4ab6e28b4fa91539c64877
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:07 2019 +0200

    libperf: Add PERF_RECORD_SWITCH 'struct context_switch_event' to perf/event.h
    
    Move the PERF_RECORD_SWITCH event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-14-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f279ad63a09da65766dfeaf03cfd659f95414936
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:06 2019 +0200

    libperf: Add PERF_RECORD_ITRACE_START 'struct itrace_start_event' to perf/event.h
    
    Move the PERF_RECORD_ITRACE_START event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-13-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit aedebdca09ca6efa7efbc0bf26d94cb235120ee4
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:05 2019 +0200

    libperf: Add PERF_RECORD_AUX 'struct aux_event' to perf/event.h
    
    Move the PERF_RECORD_AUX event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-12-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 3460efb2e842cccc4566756f194a1be0547f7098
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:04 2019 +0200

    libperf: Add PERF_RECORD_AUXTRACE_ERROR 'struct auxtrace_error_event' to perf/event.h
    
    Move the PERF_RECORD_AUXTRACE_ERROR event definition to libperf's
    event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-11-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 306c9d24c09d84d80ae54b36f7f907c8b8fa537a
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:03 2019 +0200

    libperf: Add PERF_RECORD_AUXTRACE 'struct auxtrace_event' to perf/event.h
    
    Move the PERF_RECORD_AUXTRACE event definition to libperf's event.h.
    
    Ipn order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-10-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 9a8dad0419552934573ddf94d11146faeda465b5
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:02 2019 +0200

    libperf: Add PERF_RECORD_AUXTRACE_INFO 'struct auxtrace_info_event' to perf/event.h
    
    Move the PERF_RECORD_AUXTRACE_INFO event definition to libperf's
    event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-9-jolsa@kernel.org
    [ Fix cs_etm__print_auxtrace_info() arg to be __u64 too to fix the CORESIGHT=1 build ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit a2ed4fd685cd23e98922f933d5dbccfbe82a4f08
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Aug 29 12:52:28 2019 +0200

    posix-cpu-timers: Make expiry_active check actually work correctly
    
    The state tracking changes broke the expiry active check by not writing to
    it and instead sitting timers_active, which is already set.
    
    That's not a big issue as the actual expiry is protected by sighand lock,
    so concurrent handling is not possible. That means that the second task
    which invokes that function executes the expiry code for nothing.
    
    Write to the proper flag.
    
    Also add a check whether the flag is set into check_process_timers(). That
    check had been missing in the code before the rework already. The check for
    another task handling the expiry of process wide timers was only done in
    the fastpath check. If the fastpath check returns true because a per task
    timer expired, then the checking of process wide timers was done in
    parallel which is as explained above just a waste of cycles.
    
    Fixes: 244d49e30653 ("posix-cpu-timers: Move state tracking to struct posix_cputimers")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Frederic Weisbecker <frederic@kernel.org>

commit 3a960339e08e168c03f0587b788f05fadf4e396d
Author: Tudor Ambarus <tudor.ambarus@microchip.com>
Date:   Wed Aug 28 10:35:17 2019 +0000

    mtd: spi-nor: remove superfluous pass of nor->info->sector_size
    
    We already pass a pointer to nor, we can obtain the sector_size
    by dereferencing it.
    
    Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
    Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>

commit bc605cd79edb68131d3be5b00b949aa312277d39
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Aug 29 18:44:17 2019 +1000

    powerpc/of/pci: Rewrite pci_parse_of_flags
    
    The existing code uses bunch of hardcoded values from the PCI Bus
    Binding to IEEE Std 1275 spec; and it does so in quite non-obvious
    way.
    
    This defines fields from the cell#0 of the "reg" property of a PCI
    device and uses them for parsing.
    
    This should cause no behavioral change.
    
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    [mpe: Unsplit some 80/81 char lines, space the code with some newlines]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190829084417.71873-1-aik@ozlabs.ru

commit d9430f96c051ede4e4a3d5a20e68518181e9cd3c
Author: Thierry Reding <treding@nvidia.com>
Date:   Thu Aug 29 09:29:32 2019 +0200

    driver core: platform: Export platform_get_irq_optional()
    
    This function can be used by modules, so it needs to be exported.
    
    Reported-by: kbuild test robot <lkp@intel.com>
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 807f6c8472da716e29744e1fa35480b08af3e4bc
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date:   Sat Aug 24 00:23:53 2019 +0300

    drm/ingenic: Hardcode panel type to DPI
    
    The ingenic driver supports DPI panels only at the moment, so hardcode
    their type to DPI instead of Unknown.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Paul Cercueil <paul@crapouillou.net>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823212353.29369-1-laurent.pinchart@ideasonboard.com
    # *** extracted tags ***
    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>

commit 6bbf87a131edd39040974f3843ff97e89310ebde
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:31 2019 +0100

    usb:cdns3 Fix for stuck packets in on-chip OUT buffer.
    
    Controller for OUT endpoints has shared on-chip buffers for all incoming
    packets, including ep0out. It's FIFO buffer, so packets must be handled
    by DMA in correct order. If the first packet in the buffer will not be
    handled, then the following packets directed for other endpoints and
    functions will be blocked.
    
    Additionally the packets directed to one endpoint can block entire on-chip
    buffers. In this case transfer to other endpoints also will blocked.
    
    To resolve this issue after raising the descriptor missing interrupt
    driver prepares internal usb_request object and use it to arm DMA
    transfer.
    
    The problematic situation was observed in case when endpoint has
    been enabled but no usb_request were queued. Driver try detects
    such endpoints and will use this workaround only for these endpoint.
    
    Driver use limited number of buffer. This number can be set by macro
    CDNS_WA2_NUM_BUFFERS.
    
    Such blocking situation was observed on ACM gadget. For this function
    host send OUT data packet but ACM function is not prepared for
    this packet. It's cause that buffer placed in on chip memory block
    transfer to other endpoints.
    
    Issue has been fixed for DEV_VER_V2 version of controller.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit 7733f6c32e36ff9d7adadf40001039bf219b1cbe
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:30 2019 +0100

    usb: cdns3: Add Cadence USB3 DRD Driver
    
    This patch introduce new Cadence USBSS DRD driver to Linux kernel.
    
    The Cadence USBSS DRD Controller is a highly configurable IP Core which
    can be instantiated as Dual-Role Device (DRD), Peripheral Only and
    Host Only (XHCI)configurations.
    
    The current driver has been validated with FPGA platform. We have
    support for PCIe bus, which is used on FPGA prototyping.
    
    The host side of USBSS-DRD controller is compliant with XHCI
    specification, so it works with standard XHCI Linux driver.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit f72429fc88b5f48ee9ff2617224bbe098e40e86f
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:29 2019 +0100

    usb: common: Simplify usb_decode_get_set_descriptor function.
    
    Patch moves switch responsible for decoding descriptor type
    outside snprintf. It improves code readability a little.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit 010665b44d596d1b2aa0249b0e093fd3df774f6e
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:28 2019 +0100

    usb: common: Patch simplify usb_decode_set_clear_feature function.
    
    Patch adds usb_decode_test_mode and usb_decode_device_feature functions,
    which allow to make more readable and simplify the
    usb_decode_set_clear_feature function.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit 91f255a26bce80d27b5f3dcbb0333b852b5dbe2c
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:27 2019 +0100

    usb: common: Separated decoding functions from dwc3 driver.
    
    Patch moves some decoding functions from driver/usb/dwc3/debug.h driver
    to driver/usb/common/debug.c file. These moved functions include:
        dwc3_decode_get_status
        dwc3_decode_set_clear_feature
        dwc3_decode_set_address
        dwc3_decode_get_set_descriptor
        dwc3_decode_get_configuration
        dwc3_decode_set_configuration
        dwc3_decode_get_intf
        dwc3_decode_set_intf
        dwc3_decode_synch_frame
        dwc3_decode_set_sel
        dwc3_decode_set_isoch_delay
        dwc3_decode_ctrl
    
    These functions are used also in inroduced cdns3 driver.
    
    All functions prefixes were changed from dwc3 to usb.
    Also, function's parameters has been extended according to the name
    of fields in standard SETUP packet.
    Additionally, patch adds usb_decode_ctrl function to
    include/linux/usb/ch9.h file.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit a7a3a6a941cf53d49c5f40529b669304d328caf4
Author: Pawel Laszczak <pawell@cadence.com>
Date:   Mon Aug 26 12:19:26 2019 +0100

    dt-bindings: add binding for USBSS-DRD controller.
    
    This patch aim at documenting USB related dt-bindings for the
    Cadence USBSS-DRD controller.
    
    Signed-off-by: Pawel Laszczak <pawell@cadence.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>

commit dcc935b06f1f29aa9f93008df3d13ab84ab0bbbb
Author: Zhuohao Lee <zhuohao@chromium.org>
Date:   Wed Aug 28 09:08:02 2019 +0300

    mtd: spi-nor: enable the debugfs for the partname and partid
    
    This patch adds spi_nor_debugfs_init() for the debugfs initialization.
    With this patch, we can read the partname and partid through the
    debugfs.
    
    The output of new debugfs nodes on my device are:
    cat /sys/kernel/debug/mtd/mtd0/partid
    spi-nor:ef6017
    cat /sys/kernel/debug/mtd/mtd0/partname
    w25q64dw
    
    Signed-off-by: Zhuohao Lee <zhuohao@chromium.org>
    Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
    Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>

commit 1018c94be6ea073115f6bcf993d6492138d2b8e3
Author: Zhuohao Lee <zhuohao@chromium.org>
Date:   Mon Jul 1 00:07:10 2019 +0800

    mtd: mtdcore: add debugfs nodes for querying the flash name and id
    
    Currently, we don't have vfs nodes for querying the underlying flash name
    and flash id. This information is important especially when we want to
    know the flash detail of the defective system. In order to support the
    query, we add mtd_debugfs_populate() to create two debugfs nodes
    (ie. partname and partid). The upper driver can assign the pointer to
    partname and partid before calling mtd_device_register().
    
    Signed-off-by: Zhuohao Lee <zhuohao@chromium.org>
    Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
    Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>

commit 23d103ae3e061b466dc68dd10a035dcd3b2de99a
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Fri Jul 12 05:46:58 2019 +0100

    ARM: 8891/1: EDAC: armada_xp: Add support for more SoCs
    
    The Armada 38x and other integrated SoCs use a reduced pin count so the
    width of the SDRAM interface is smaller than the Armada XP SoCs. This
    means that the definition of "full" and "half" width is reduced from
    64/32 to 32/16.
    
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 7f6998a41257a8930ee5b6866ba56a25230841ed
Author: Jan Luebbe <jlu@pengutronix.de>
Date:   Fri Jul 12 05:46:57 2019 +0100

    ARM: 8888/1: EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC
    
    Add support for the ECC functionality as found in the DDR RAM and L2
    cache controllers on the MV78230/MV78x60 SoCs. This driver has been
    tested on the MV78460 (on a custom board with a DDR3 ECC DIMM).
    
    [cp use SPDX license]
    
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 0ecace04a3b8444f3ffa6f18083e98198d9b9ec6
Author: Jan Luebbe <jlu@pengutronix.de>
Date:   Fri Jul 12 05:46:56 2019 +0100

    ARM: 8892/1: EDAC: Add missing debugfs_create_x32 wrapper
    
    We already have wrappers for x8 and x16, so add the missing x32 one.
    
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit c8abbd6f9dc47dffaea5adc7172ffa59a16401e3
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Fri Jul 12 05:46:55 2019 +0100

    ARM: 8890/1: l2x0: add marvell,ecc-enable property for aurora
    
    The aurora cache on the Marvell Armada-XP SoC supports ECC protection
    for the L2 data arrays. Add a "marvell,ecc-enable" device tree property
    which can be used to enable this.
    
    [jlu@pengutronix.de: use aurora specific define AURORA_ACR_ECC_EN]
    
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 4bf4770db4f0dbf495ca6236644abb413501f6e0
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Fri Jul 12 05:46:54 2019 +0100

    ARM: 8889/1: dt-bindings: document marvell,ecc-enable binding
    
    Add documentation for the marvell,ecc-enable properties which can be
    used to enable ECC on the Marvell aurora cache.
    
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit fd3bbde717b00a2db75d0c93264f412c1176008f
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Fri Jul 12 05:46:53 2019 +0100

    ARM: 8886/1: l2x0: support parity-enable/disable on aurora
    
    The aurora cache on the Marvell Armada-XP SoC supports the same tag
    parity features as the other l2x0 cache implementations.
    
    [jlu@pengutronix.de: use aurora specific define AURORA_ACR_PARITY_EN]
    
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 0770bc9214065e384080075ab9fcada8ad07038c
Author: Jan Luebbe <jlu@pengutronix.de>
Date:   Fri Jul 12 05:46:52 2019 +0100

    ARM: 8885/1: aurora-l2: add defines for parity and ECC registers
    
    These defines will be used by subsequent patches to add support for the
    parity check and error correction functionality in the Aurora L2 cache
    controller.
    
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 1a85cb4b0d2984a6d1afb03e2038855d654c9892
Author: Jan Luebbe <jlu@pengutronix.de>
Date:   Fri Jul 12 05:46:51 2019 +0100

    ARM: 8887/1: aurora-l2: add prefix to MAX_RANGE_SIZE
    
    The macro name is too generic, so add a AURORA_ prefix.
    
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 921a3fe5be2dd0aac70405faf32a970716f55e03
Author: Jan Luebbe <jlu@pengutronix.de>
Date:   Tue Aug 27 21:49:22 2019 +0100

    ARM: 8902/1: l2c: move cache-aurora-l2.h to asm/hardware
    
    This include file will be used by the AURORA EDAC code.
    
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 6dc5fd93b2f1ef75d5e50fced8cb193811f25f22
Author: Nathan Huckleberry <nhuck15@gmail.com>
Date:   Thu Aug 22 21:26:53 2019 +0100

    ARM: 8900/1: UNWINDER_FRAME_POINTER implementation for Clang
    
    The stackframe setup when compiled with clang is different.
    Since the stack unwinder expects the gcc stackframe setup it
    fails to print backtraces. This patch adds support for the
    clang stackframe setup.
    
    Link: https://github.com/ClangBuiltLinux/linux/issues/35
    
    Cc: clang-built-linux@googlegroups.com
    Suggested-by: Tri Vo <trong@google.com>
    Signed-off-by: Nathan Huckleberry <nhuck@google.com>
    Tested-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

commit 8f2edb4a78f7f5fa35c025849152b1d2dfaee4eb
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Aug 29 08:19:40 2019 +0200

    posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build
    
    The rework of the posix-cpu-timers patch series dropped the empty
    declaration of struct cpu_timer for the CONFIG_POSIX_TIMERS=n case which
    causes the build to fail:
    
    ./include/linux/posix-timers.h:218:20: error: field 'cpu' has incomplete type
    
    Add it back.
    
    Fixes: 60bda037f1dd ("posix-cpu-timers: Utilize timerqueue for storage")
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

commit 8504dea783b044cab620acbaef87b86ee84646fe
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:06:00 2019 -0700

    blkcg: add tools/cgroup/iocost_coef_gen.py
    
    Add a script which can be used to generate device-specific iocost
    linear model coefficients.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 6954ff185ee0811cdd2e0f388ff4dd7df17f11af
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:59 2019 -0700

    blkcg: add tools/cgroup/iocost_monitor.py
    
    Instead of mucking with debugfs and ->pd_stat(), add drgn based
    monitoring script.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Omar Sandoval <osandov@fb.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 7caa47151ab2e644dd221f741ec7578d9532c9a3
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:58 2019 -0700

    blkcg: implement blk-iocost
    
    This patchset implements IO cost model based work-conserving
    proportional controller.
    
    While io.latency provides the capability to comprehensively prioritize
    and protect IOs depending on the cgroups, its protection is binary -
    the lowest latency target cgroup which is suffering is protected at
    the cost of all others.  In many use cases including stacking multiple
    workload containers in a single system, it's necessary to distribute
    IO capacity with better granularity.
    
    One challenge of controlling IO resources is the lack of trivially
    observable cost metric.  The most common metrics - bandwidth and iops
    - can be off by orders of magnitude depending on the device type and
    IO pattern.  However, the cost isn't a complete mystery.  Given
    several key attributes, we can make fairly reliable predictions on how
    expensive a given stream of IOs would be, at least compared to other
    IO patterns.
    
    The function which determines the cost of a given IO is the IO cost
    model for the device.  This controller distributes IO capacity based
    on the costs estimated by such model.  The more accurate the cost
    model the better but the controller adapts based on IO completion
    latency and as long as the relative costs across differents IO
    patterns are consistent and sensible, it'll adapt to the actual
    performance of the device.
    
    Currently, the only implemented cost model is a simple linear one with
    a few sets of default parameters for different classes of device.
    This covers most common devices reasonably well.  All the
    infrastructure to tune and add different cost models is already in
    place and a later patch will also allow using bpf progs for cost
    models.
    
    Please see the top comment in blk-iocost.c and documentation for
    more details.
    
    v2: Rebased on top of RQ_ALLOC_TIME changes and folded in Rik's fix
        for a divide-by-zero bug in current_hweight() triggered by zero
        inuse_sum.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Andy Newell <newella@fb.com>
    Cc: Josef Bacik <jbacik@fb.com>
    Cc: Rik van Riel <riel@surriel.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 6f816b4b746c2241540e537682d30d8e9997d674
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:57 2019 -0700

    blk-mq: add optional request->alloc_time_ns
    
    There are currently two start time timestamps - start_time_ns and
    io_start_time_ns.  The former marks the request allocation and and the
    second issue-to-device time.  The planned io.weight controller needs
    to measure the total time bios take to execute after it leaves rq_qos
    including the time spent waiting for request to become available,
    which can easily dominate on saturated devices.
    
    This patch adds request->alloc_time_ns which records when the request
    allocation attempt started.  As it isn't used for the usual stats,
    make it optional behind CONFIG_BLK_RQ_ALLOC_TIME and
    QUEUE_FLAG_RQ_ALLOC_TIME so that it can be compiled out when there are
    no users and it's active only on queues which need it even when
    compiled in.
    
    v2: s/pre_start_time/alloc_time/ and add CONFIG_BLK_RQ_ALLOC_TIME
        gating as suggested by Jens.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit beab17fc2a507e85dd18b3cef83820c5770c5f34
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:56 2019 -0700

    blkcg: s/RQ_QOS_CGROUP/RQ_QOS_LATENCY/
    
    io.weight is gonna be another rq_qos cgroup mechanism.  Let's rename
    RQ_QOS_CGROUP which is being used by io.latency to RQ_QOS_LATENCY in
    preparation.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 9677a3e01f838622d2efc9a3ccb97090a2c3156a
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:55 2019 -0700

    block/rq_qos: implement rq_qos_ops->queue_depth_changed()
    
    wbt already gets queue depth changed notification through
    wbt_set_queue_depth().  Generalize it into
    rq_qos_ops->queue_depth_changed() so that other rq_qos policies can
    easily hook into the events too.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit d3e65ffff61c329fb2d0bf15736c440c2d0cfc97
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:54 2019 -0700

    block/rq_qos: add rq_qos_merge()
    
    Add a merge hook for rq_qos.  This will be used by io.weight.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 015d254cb02b6d8eec4b3366274bf4672f9e0b64
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:53 2019 -0700

    blkcg: separate blkcg_conf_get_disk() out of blkg_conf_prep()
    
    Separate out blkcg_conf_get_disk() so that it can be used by blkcg
    policy interface file input parsers before the policy is actually
    enabled.  This doesn't introduce any functional changes.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 86a5bba5c252e90d264c7460e29a0b9e633777e7
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:52 2019 -0700

    blkcg: make ->cpd_init_fn() optional
    
    For policies which can do enough initialization from ->cpd_alloc_fn(),
    make ->cpd_init_fn() optional.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit cf09a8ee19ad1f78b4e18cdde9f2a61133efacf5
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 15:05:51 2019 -0700

    blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn()
    
    Instead of @node, pass in @q and @blkcg so that the alloc function has
    more context.  This doesn't cause any behavior change and will be used
    by io.weight implementation.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit dc4f3eb08a123918e63843c6b10759598e7baf31
Author: Petr Machata <petrm@mellanox.com>
Date:   Wed Aug 28 18:54:37 2019 +0300

    mlxsw: spectrum_ptp: Add counters for GC events
    
    On Spectrum-1, timestamped PTP packets and the corresponding timestamps need to
    be kept in caches until both are available, at which point they are matched up
    and packets forwarded as appropriate. However, not all packets will ever see
    their timestamp, and not all timestamps will ever see their packet. It is
    necessary to dispose of such abandoned entries, so a garbage collector was
    introduced in commit 5d23e4159772 ("mlxsw: spectrum: PTP: Garbage-collect
    unmatched entries").
    
    If these GC events happen often, it is a sign of a problem. However because this
    whole mechanism is taking place behind the scenes, there is no direct way to
    determine whether garbage collection took place.
    
    Therefore to fix this, on Spectrum-1 only, expose four artificial ethtool
    counters for the GC events: GCd timestamps and packets, in TX and RX directions.
    
    Cc: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: Petr Machata <petrm@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 45bd634131fd17d5761876e09f81b921534bc2c4
Author: Ido Schimmel <idosch@mellanox.com>
Date:   Wed Aug 28 18:54:36 2019 +0300

    mlxsw: Bump firmware version to 13.2000.1886
    
    The new version supports extended error reporting from firmware via a
    new TLV in the EMAD packet. Similar to netlink extended ack.
    
    It also fixes an issue in the PCI code that can result in false AER
    errors under high Tx rate.
    
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3f61967f4197547fb1888642d5178a64ca9fb191
Author: Shalom Toledo <shalomt@mellanox.com>
Date:   Wed Aug 28 18:54:35 2019 +0300

    mlxsw: spectrum: Prevent auto negotiation on number of lanes
    
    After 50G-1-lane and 100G-2-lanes link modes were introduced, the driver
    is facing situations in which the hardware auto negotiates not only on
    speed and type, but also on number of lanes.
    
    Prevent auto negotiation on number of lanes by allowing only port speeds
    that can be supported on a given port according to its width.
    
    Signed-off-by: Shalom Toledo <shalomt@mellanox.com>
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b97cd891268de9ccc5454c189232c74f262961ae
Author: Amit Cohen <amitc@mellanox.com>
Date:   Wed Aug 28 18:54:34 2019 +0300

    mlxsw: Remove 56G speed support
    
    Commit 275e928f1911 ("mlxsw: spectrum: Prevent force of 56G") prevented
    the driver from setting a speed of 56G when auto-negotiation is off.
    This is the only speed supported by mlxsw that cannot be set when
    auto-negotiation is off, which makes it difficult to write generic
    tests.
    
    Further, the speed is not supported by newer ASICs such as Spectrum-2
    and to the best of our knowledge it is not used by current users.
    
    Therefore, remove 56G support from mlxsw.
    
    Signed-off-by: Amit Cohen <amitc@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 99d7a74110ef4c97f921b90fa8d897c6d71610a9
Author: José Roberto de Souza <jose.souza@intel.com>
Date:   Fri Aug 23 01:20:39 2019 -0700

    drm/i915/tgl: PSR link standby is not supported anymore
    
    According to BSpc if link standby is set on TGL+, PSR will not be
    enabled. Vendors should not use panels that requires link standby and
    even if they do, panel should assert a PSR error that will cause PSR to
    be disabled.
    
    BSpec: 50434
    Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823082055.5992-8-lucas.demarchi@intel.com

commit 074c77e3ec636fa5e2664e3c79aba397ec569761
Author: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Date:   Tue Aug 27 01:45:16 2019 -0700

    drm/i915/tgl: Gen-12 display loses Yf tiling and legacy CCS support
    
    Yf tiling was removed in gen-12, so do not expose Yf modifiers to user
    space. Gen-12 display also is incompatible with pre-gen12 Y-tiled
    CCS, so do not expose I915_FORMAT_MOD_Y_TILED_CCS.
    
    v2: Rebase to carry forward recently added gen11 formats.
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190827084516.6748-1-dhinakaran.pandiyan@intel.com

commit 95fb8bb3181bbe1ee87c95e91dff94f74f148c33
Author: Jian Shen <shenjian15@huawei.com>
Date:   Wed Aug 28 09:34:47 2019 +0800

    net: phy: force phy suspend when calling phy_stop
    
    Some ethernet drivers may call phy_start() and phy_stop() from
    ndo_open() and ndo_close() respectively.
    
    When network cable is unconnected, and operate like below:
    step 1: ifconfig ethX up -> ndo_open -> phy_start ->start
    autoneg, and phy is no link.
    step 2: ifconfig ethX down -> ndo_close -> phy_stop -> just stop
    phy state machine.
    
    This patch forces phy suspend even phydev->link is off.
    
    Signed-off-by: Jian Shen <shenjian15@huawei.com>
    Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 502a4440c0c1f94b32734744e4ab0947d53d31c6
Author: Logan Gunthorpe <logang@deltatee.com>
Date:   Thu Aug 22 10:10:13 2019 -0600

    PCI: Force trailing new line to resource_alignment_param in sysfs
    
    When 'pci=resource_alignment=' is specified on the command line, there is
    no trailing new line.  Then, when it's read through the corresponding sysfs
    attribute, there will be no newline and a cat command will not show
    correctly in a shell. If the parameter is set through sysfs a new line will
    be stored and it will 'cat' correctly.
    
    To solve this, append a new line character in the show function if one does
    not already exist.
    
    Link: https://lore.kernel.org/r/20190822161013.5481-4-logang@deltatee.com
    Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit f137553186751a9484d9e9130e759d539dcfa520
Author: Logan Gunthorpe <logang@deltatee.com>
Date:   Thu Aug 22 10:10:12 2019 -0600

    PCI: Move pci_[get|set]_resource_alignment_param() into their callers
    
    Both the functions pci_get_resource_alignment_param() and
    pci_set_resource_alignment_param() are now only called in one place:
    resource_alignment_show() and resource_alignment_store() respectively.
    
    There is no value in this extra set of functions so move both into their
    callers respectively.
    
    Link: https://lore.kernel.org/r/20190822161013.5481-3-logang@deltatee.com
    Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 41b5ef225daa9933540f2c554b0d35cc9d50e613
Author: Logan Gunthorpe <logang@deltatee.com>
Date:   Thu Aug 22 10:10:11 2019 -0600

    PCI: Clean up resource_alignment parameter to not require static buffer
    
    Clean up the 'resource_alignment' parameter code to use kstrdup() in the
    initcall routine instead of a static buffer that wastes memory regardless
    of whether the feature is used.  This allows us to drop 'COMMAND_LINE_SIZE'
    bytes (typically 256-4096 depending on architecture) of static data.
    
    This is similar to what has been done for the 'disable_acs_redir'
    parameter.
    
    Link: https://lore.kernel.org/r/20190822161013.5481-2-logang@deltatee.com
    Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 4a92352dd1ce6b6358c3d79730dab2e2f9f6cdc2
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Mon Aug 26 17:14:36 2019 +0200

    PCI: Use static const struct, not const static struct
    
    Move the static keyword to the front of declarations of pci_regs_behavior[]
    and pcie_cap_regs_behavior[], which resolves compiler warnings when
    building with "W=1":
    
      drivers/pci/pci-bridge-emul.c:41:1: warning: ‘static’ is not at beginning of
      declaration [-Wold-style-declaration]
       const static struct pci_bridge_reg_behavior pci_regs_behavior[] = {
       ^
      drivers/pci/pci-bridge-emul.c:176:1: warning: ‘static’ is not at beginning of
      declaration [-Wold-style-declaration]
       const static struct pci_bridge_reg_behavior pcie_cap_regs_behavior[] = {
       ^
    
    Link: https://lore.kernel.org/r/20190826151436.4672-1-kw@linux.com
    Link: https://lore.kernel.org/r/20190828131733.5817-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

commit 3894793e4b1ae85e7af38cc5ab65de8749b9442a
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:50:32 2019 +0800

    phy: mdio-sun4i: use devm_platform_ioremap_resource() to simplify code
    
    Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit bd51ce0583e20a6e962bfdbb62f396ff6a61d7b2
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:49:40 2019 +0800

    phy: mdio-mux-meson-g12a: use devm_platform_ioremap_resource() to simplify code
    
    Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ea7076923bde9c3c692f5c8d8a46b04ec3d00680
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:48:04 2019 +0800

    phy: mdio-moxart: use devm_platform_ioremap_resource() to simplify code
    
    Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ba869d3c40fc130649ba81326087802ec436c84f
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:47:22 2019 +0800

    phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code
    
    Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit bd301e05ba06548ef5afcd28d601dd3acf63fc92
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:46:16 2019 +0800

    phy: mdio-bcm-iproc: use devm_platform_ioremap_resource() to simplify code
    
    Use devm_platform_ioremap_resource() to simplify the code a bit.
    This is detected by coccinelle.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a3a90244c471854bbe79884fd5a48b84953faa75
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Aug 27 12:47:39 2019 +0100

    wimax/i2400m: remove redundant assignment to variable result
    
    Variable result is being assigned a value that is never read and result
    is being re-assigned a little later on. The assignment is redundant
    and hence can be removed.
    
    Addresses-Coverity: ("Ununsed value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 14105c191e09b698782026827dbac966cbd30446
Author: Eric Dumazet <edumazet@google.com>
Date:   Tue Aug 27 00:08:12 2019 -0700

    ipv6: shrink struct ipv6_mc_socklist
    
    Remove two holes on 64bit arches, to bring the size
    to one cache line exactly.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 146fa39943b1cf4ac60f5e1f90cfec9367d9469a
Author: Rob Herring <robh@kernel.org>
Date:   Tue Aug 20 14:40:33 2019 -0500

    dt-bindings: Convert Arm Mali Utgard GPU to DT schema
    
    Convert the Arm Utgard GPU binding to DT schema format.
    
    'allwinner,sun8i-a23-mali' compatible was not documented, so add it.
    
    The 'clocks' property is now required. This simplifies the schema as
    effectively all the users require 'clocks' already and the upstream
    driver requires clocks.
    
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Acked-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 842b4aecfff6acec2f1abcde920a22df20830447
Author: Rob Herring <robh@kernel.org>
Date:   Tue Aug 20 13:29:32 2019 -0500

    dt-bindings: Convert Arm Mali Bifrost GPU to DT schema
    
    Convert the Arm Bifrost GPU binding to DT schema format.
    
    The 'clocks' property is now required. This simplifies the schema as
    effectively all the users require 'clocks' already and the upstream
    driver requires at least one clock.
    
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Acked-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Rob Herring <robh@kernel.org>

commit 553cedf60056dc55366b060104cf9b694efe9bbf
Author: Rob Herring <robh@kernel.org>
Date:   Fri Aug 16 16:51:46 2019 -0500

    dt-bindings: Convert Arm Mali Midgard GPU to DT schema
    
    Convert the Arm Midgard GPU binding to DT schema format.
    
    The 'clocks' property is now required. This simplifies the schema as
    effectively all the users require 'clocks' already and the upstream
    driver requires at least one clock.
    
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Acked-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Rob Herring <robh@kernel.org>

commit eef3c2ba0a42a6aa709828e968b64bd11f4aeb19
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 11:04:15 2019 +0200

    soc: amlogic: Add support for Everything-Else power domains controller
    
    Add support for the General Purpose Amlogic Everything-Else Power controller,
    with the first support for G12A and SM1 SoCs dedicated to the VPU, PCIe,
    USB, NNA, GE2D and Ethernet Power Domains.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Kevin Hilman <khilman@baylibre.com>
    Tested-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit b84efad58ea42a5cfe49831140b141d1008a3595
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 11:04:14 2019 +0200

    dt-bindings: power: add Amlogic Everything-Else power domains bindings
    
    Add the bindings for the Amlogic Everything-Else power domains,
    controlling the Everything-Else peripherals power domains.
    
    The bindings targets the Amlogic G12A and SM1 compatible SoCs,
    support for earlier SoCs will be added later.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit fecb410030628d70401e06a98a585d735f61d7e2
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:01 2019 +0200

    libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h
    
    Move the PERF_RECORD_ID_INDEX event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Add the PRI_ld64 define, so we can use it in printf output.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-8-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit ffd337b45b1aedc86b1de3cf8de9a79c10fd3810
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:57:00 2019 +0200

    libperf: Add PERF_RECORD_HEADER_BUILD_ID 'struct build_id_event' to perf/event.h
    
    Move the PERF_RECORD_HEADER_BUILD_ID event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Adding the fix value for build_id variable, because it will never
    change.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-7-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 4fd7a4d220421bc6b63a6f693e45d4397d4da055
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:56:59 2019 +0200

    libperf: Add PERF_RECORD_HEADER_TRACING_DATA 'struct tracing_data_event' to perf/event.h
    
    Move the PERF_RECORD_HEADER_TRACING_DATA event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-6-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 0f5b1a28c03d416f7a66d47a9b2f18942e334fc6
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:56:58 2019 +0200

    libperf: Add PERF_RECORD_HEADER_EVENT_TYPE 'struct event_type_event' to perf/event.h
    
    Move the PERF_RECORD_HEADER_EVENT_TYPE event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-5-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 5ded068e923837068e39c0fd4ab40c0dacaa08e8
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:56:57 2019 +0200

    libperf: Add PERF_RECORD_EVENT_UPDATE 'struct event_update_event' to perf/event.h
    
    Move the PERF_RECORD_EVENT_UPDATE event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-4-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 78e5ea1620964c4e34e9bf43e98a3def77e6bcde
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:56:56 2019 +0200

    libperf: Add PERF_RECORD_CPU_MAP 'struct cpu_map_event' to perf/event.h
    
    Move the PERF_RECORD_CPU_MAP event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8'
    types used events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-3-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit c78ad994ad99a4e03ecefe446d39dced48ba254f
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Wed Aug 28 15:56:55 2019 +0200

    libperf: Add PERF_RECORD_HEADER_ATTR 'struct attr_event' to perf/event.h
    
    Move the PERF_RECORD_HEADER_ATTR event definition to libperf's event.h.
    
    In order to keep libperf simple, we switch 'u64/u32/u16/u8' types used
    events to their generic '__u*' versions.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190828135717.7245-2-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit be5863b7d9281bbb932542d16b7d758357fde267
Author: Namhyung Kim <namhyung@kernel.org>
Date:   Wed Aug 28 08:15:55 2019 +0900

    perf top: Fix event group with more than two events
    
    The event group feature links relevant hist entries among events so that
    they can be displayed together.  During the link process, each hist
    entry in non-leader events is connected to a hist entry in the leader
    event.  This is done in order of events specified in the command line so
    it assumes that events are linked in the order.
    
    But 'perf top' can break the assumption since it does the link process
    multiple times.  For example, a hist entry can be in the third event
    only at first so it's linked after the leader.  Some time later, second
    event has a hist entry for it and it'll be linked after the entry of the
    third event.
    
    This makes the code compilicated to deal with such unordered entries.
    This patch simply unlink all the entries after it's printed so that they
    can assume the correct order after the repeated link process.  Also it'd
    be easy to deal with decaying old entries IMHO.
    
    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lkml.kernel.org/r/20190827231555.121411-2-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit ea4385f804eadce3f4fd8698d4ffd9e85fb6d5e0
Author: Namhyung Kim <namhyung@kernel.org>
Date:   Wed Aug 28 08:15:54 2019 +0900

    perf top: Decay all events in the evlist
    
    Currently perf top only decays entries in a selected evsel.  I don't
    know whether it's intended (maybe due to performance reason?) but anyway
    it might show incorrect output when event group is used since users will
    see leader event is decayed but others are not.
    
    This patch moves the decay code into perf_top__resort_hists() so that
    stdio and TUI code shared the logic.
    
    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lkml.kernel.org/r/20190827231555.121411-1-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 630aec1a7fd60ac355d5f2d67b5454912c5971a6
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Wed Aug 28 09:59:10 2019 -0300

    perf clang: Delete needless util-cxx.h header
    
    It was put in place just to make sure the 'new' C++ operator wouldn't
    clash with some argument name in util.h, but there is not anymore any
    such argument and also the reason stated for util.h to be included there
    was to get the __maybe_unused definition, that is in linux/compiler.h,
    so use that instead and nuke util-cxx.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: He Kuang <hekuang@huawei.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-1r5tvfnwiydjxhukgqs6bi11@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 6e7e5c7fbc1c84e4ac657e0cb5bf9ca24492cc8f
Author: Thierry Reding <treding@nvidia.com>
Date:   Wed Aug 28 10:34:11 2019 +0200

    hwmon: pwm-fan: Use platform_get_irq_optional()
    
    The PWM fan interrupt is optional, so we don't want an error message in
    the kernel log if it wasn't specified.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Acked-by: Guenter Roeck <linux@roeck-us.net>
    Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Link: https://lore.kernel.org/r/20190828083411.2496-2-thierry.reding@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8973ea47901c81a1912bd05f1577bed9b5b52506
Author: Thierry Reding <treding@nvidia.com>
Date:   Wed Aug 28 10:34:10 2019 +0200

    driver core: platform: Introduce platform_get_irq_optional()
    
    In some cases the interrupt line of a device is optional. Introduce a
    new platform_get_irq_optional() that works much like platform_get_irq()
    but does not output an error on failure to find the interrupt.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Link: https://lore.kernel.org/r/20190828083411.2496-1-thierry.reding@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b2fcb285ade36c2339ee6638223a65829ee9907f
Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date:   Fri Aug 23 14:40:25 2019 +0800

    usb: xhci-mtk: add an optional xhci_ck clock
    
    Some SoCs may have an optional clock xhci_ck (125M or 200M), it
    usually uses the same PLL as sys_ck, so support it.
    
    Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
    Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Link: https://lore.kernel.org/r/1566542425-20082-2-git-send-email-chunfeng.yun@mediatek.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e74e8bbff6e3654db55a56d3000ef581a6166944
Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date:   Fri Aug 23 14:40:24 2019 +0800

    dt-bindings: usb: mtk-xhci: add an optional xhci_ck clock
    
    Add a new optional clock xhci_ck
    
    Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/1566542425-20082-1-git-send-email-chunfeng.yun@mediatek.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 630a0aa75ed6b69b9d882565677aa181b579781a
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Fri Aug 23 17:44:32 2019 +0200

    arm64: dts: meson: g12a: add reset to tdm formatters
    
    Add the reset to the TDM formatters of the g12a. This helps
    with channel mapping when a playback/capture uses more than 1 lane.
    
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 58e6a511f5ad980b18a30e6ebb35d9c1e29ac8f1
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Fri Aug 23 17:44:31 2019 +0200

    arm64: dts: meson: g12a: audio clock controller provides resets
    
    The clock controller dedicated to audio clocks also provides reset lines
    on the g12 SoC family
    
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit d4609acce187cd1404f0335f4b3593c67004e86c
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Mon Aug 26 09:25:39 2019 +0200

    arm64: dts: meson-sm1-sei610: enable DVFS
    
    This enables DVFS for the Amlogic SM1 based SEI610 board by:
    - Adding the SM1 SoC OPPs taken from the vendor tree
    - Selecting the SM1 Clock controller instead of the G12A one
    - Adding the CPU rail regulator, PWM and OPPs for each CPU nodes.
    
    Each power supply can achieve 0.69V to 1.05V using a single PWM
    output clocked at 666KHz with an inverse duty-cycle.
    
    DVFS has been tested by running the arm64 cpuburn at [1] and cycling
    between all the possible cpufreq translations of the cpu cluster and
    checking the final frequency using the clock-measurer, script at [2].
    
    [1] https://github.com/ssvb/cpuburn-arm/blob/master/cpuburn-a53.S
    [2] https://gist.github.com/superna9999/d4de964dbc0f84b7d527e1df2ddea25f
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Kevin Hilman <khilman@baylibre.com>
    Tested-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 5b3fd41e48fe7912f41faf6ae2613478a2c58f43
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:28 2019 +0400

    arm64: dts: meson-gxm-khadas-vim2: use rc-khadas keymap
    
    Swap to the rc-khadas keymap that maps the mouse button to KEY_MUTE.
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 34c4e5fd2b2b3f1bf9707312c2ff127ddddd256f
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:27 2019 +0400

    arm64: dts: meson-gxl-s905w-tx3-mini: add rc-tx3mini keymap
    
    add the rc-tx3mini keymap to the ir node
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 33cdbdaa86d968ce656569b168745f7752649cbe
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:26 2019 +0400

    arm64: dts: meson-gxl-s905x-khadas-vim: use rc-khadas keymap
    
    Swap to the rc-khadas keymap that maps the mouse button to KEY_MUTE.
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit aa23acef958990891b81baa79e60814ea7433269
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:25 2019 +0400

    arm64: dts: meson-gxbb-wetek-play2: add rc-wetek-play2 keymap
    
    add the rc-wetek-play2 keymap to the ir node
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 7fc697b8f2f009a01bf3a9a8293bb17cd67e9714
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:24 2019 +0400

    arm64: dts: meson-gxbb-wetek-hub: add rc-wetek-hub keymap
    
    add the rc-wetek-hub keymap to the ir node
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 24810b978b0d35fc56d2dc45f6f0082d9a4963a9
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:23 2019 +0400

    arm64: dts: meson-g12a-x96-max: add rc-x96max keymap
    
    add the rc-x96max keymap to the ir node
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit d3fb99dc8141cba30d20657f1256dc934cafca23
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Sun Aug 25 08:01:22 2019 +0400

    arm64: dts: meson-g12b-odroid-n2: add rc-odroid keymap
    
    add the rc-odroid keymap to the ir node
    
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 6197c74c05bdc9705f31dd3d5742b2d3033f0006
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 11:04:18 2019 +0200

    arm64: dts: meson-sm1-sei610: add USB support
    
    Add the USB properties for the Amlogic SM1 Based SEI610 Board in order to
    support the USB DRD Type-C port and the USB3 Type A port.
    
    The USB DRD Type-C controller uses the ID signal to toggle the USB role
    between the DWC3 Host controller and the DWC2 Device controller.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 616b360846fe0c419b2638e9d0a9185ddb150ec9
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 11:04:17 2019 +0200

    arm64: dts: meson-sm1-sei610: add HDMI display support
    
    Add the HDMI support nodes for the Amlogic SM1 Based SEI610 Board.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 45ccf77a05751134cf47ea6cc3a410bec875925f
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 11:04:16 2019 +0200

    arm64: meson-g12: add Everything-Else power domain controller
    
    Replace the VPU-centric power domain controller by the generic system-wide
    Everything-Else power domain controller and setup the right power-domains
    properties on the VPU, Ethernet & USB nodes.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit c6244339c09dc85da80dbb2a75476758824eb860
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:48 2019 +0200

    arm64: dts: meson: fix boards regulators states format
    
    This fixes the following DT schemas check errors:
    meson-gxbb-odroidc2.dt.yaml: gpio-regulator-tf_io: states:0: Additional items are not allowed (1800000, 1 were unexpected)
    meson-gxbb-odroidc2.dt.yaml: gpio-regulator-tf_io: states:0: [3300000, 0, 1800000, 1] is too long
    meson-gxbb-nexbox-a95x.dt.yaml: gpio-regulator: states:0: Additional items are not allowed (3300000, 1 were unexpected)
    meson-gxbb-nexbox-a95x.dt.yaml: gpio-regulator: states:0: [1800000, 0, 3300000, 1] is too long
    meson-gxbb-p200.dt.yaml: gpio-regulator: states:0: Additional items are not allowed (3300000, 1 were unexpected)
    meson-gxbb-p200.dt.yaml: gpio-regulator: states:0: [1800000, 0, 3300000, 1] is too long
    meson-gxl-s905x-hwacom-amazetv.dt.yaml: gpio-regulator: states:0: Additional items are not allowed (3300000, 1 were unexpected)
    meson-gxl-s905x-hwacom-amazetv.dt.yaml: gpio-regulator: states:0: [1800000, 0, 3300000, 1] is too long
    meson-gxbb-p201.dt.yaml: gpio-regulator: states:0: Additional items are not allowed (3300000, 1 were unexpected)
    meson-gxbb-p201.dt.yaml: gpio-regulator: states:0: [1800000, 0, 3300000, 1] is too long
    meson-g12b-odroid-n2.dt.yaml: gpio-regulator-tf_io: states:0: Additional items are not allowed (1800000, 1 were unexpected)
    meson-g12b-odroid-n2.dt.yaml: gpio-regulator-tf_io: states:0: [3300000, 0, 1800000, 1] is too long
    meson-gxl-s905x-nexbox-a95x.dt.yaml: gpio-regulator: states:0: Additional items are not allowed (3300000, 1 were unexpected)
    meson-gxl-s905x-nexbox-a95x.dt.yaml: gpio-regulator: states:0: [1800000, 0, 3300000, 1] is too long
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 2258af108994eeb764162d79709f98394edde05c
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:47 2019 +0200

    arm64: dts: meson-gxbb-p201: fix snps, reset-delays-us format
    
    This fixes the following DT schemas check errors:
    meson-gxbb-p201.dt.yaml: ethernet@c9410000: snps,reset-delays-us: [[0, 10000, 1000000]] is too short
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 35a8a061ad25a9c308c83577363b0aeeacbcb1b3
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:46 2019 +0200

    arm64: dts: meson-gxbb-nanopi-k2: add missing model
    
    This fixes the following DT schemas check errors:
    meson-gxbb-nanopi-k2.dt.yaml: /: 'model' is a required property
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit c61bf6cb5fd6de1bce7526d8e3d778dbcf30ce75
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:45 2019 +0200

    arm64: dts: meson-g12a-x96-max: fix compatible
    
    This fixes the following DT schemas check errors:
    meson-g12a-x96-max.dt.yaml: /: compatible: ['amediatech,x96-max', 'amlogic,u200', 'amlogic,g12a'] is not valid under any of the given schemas
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 382a77ca51d9f4d01d8891ffa7c7a5730cd2b322
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:44 2019 +0200

    arm64: dts: meson-g12a: fix reset controller compatible
    
    This fixes the following DT schemas check errors:
    meson-g12a-u200.dt.yaml: reset-controller@1004: compatible:0: 'amlogic,meson-g12a-reset' is not one of ['amlogic,meson8b-reset', 'amlogic,meson-gxbb-reset', 'amlogic,meson-axg-reset']
    meson-g12a-sei510.dt.yaml: reset-controller@1004: compatible:0: 'amlogic,meson-g12a-reset' is not one of ['amlogic,meson8b-reset', 'amlogic,meson-gxbb-reset', 'amlogic,meson-axg-reset']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit c75b9f52939ddcdc9ab1e14c72f8fd9f1e5ac3f6
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:43 2019 +0200

    arm64: dts: meson-axg: fix MHU compatible
    
    This fixes the following DT schemas check errors:
    meson-axg-s400.dt.yaml: mailbox@ff63c404: compatible:0: 'amlogic,meson-gx-mhu' is not one of ['amlogic,meson-gxbb-mhu']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit f43860f4a5d068c1205098b582ff667903ebcf0e
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:42 2019 +0200

    arm64: dts: meson-gxl: fix internal phy compatible
    
    This fixes the following DT schemas check errors:
    meson-gxl-s805x-libretech-ac.dt.yaml: ethernet-phy@8: compatible: ['ethernet-phy-id0181.4400', 'ethernet-phy-ieee802.3-c22'] is not valid under any of the given schemas
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 8671370cd71294e0d8436ab431855ff5e8da9fc6
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:41 2019 +0200

    arm64: dts: meson-gx: fix periphs bus node name
    
    This fixes the following DT schemas check errors:
    meson-gxbb-nanopi-k2.dt.yaml: periphs@c8834000: $nodename:0: 'periphs@c8834000' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
    meson-gxl-s805x-libretech-ac.dt.yaml: periphs@c8834000: $nodename:0: 'periphs@c8834000' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit c424d73194933d714a027e43ba33c58e8398a68e
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:40 2019 +0200

    arm64: dts: meson-gx: fix mhu compatible
    
    This fixes the following DT schemas check errors:
    meson-gxbb-nanopi-k2.dt.yaml: mailbox@404: compatible:0: 'amlogic,meson-gx-mhu' is not one of ['amlogic,meson-gxbb-mhu']
    meson-gxl-s805x-libretech-ac.dt.yaml: mailbox@404: compatible:0: 'amlogic,meson-gx-mhu' is not one of ['amlogic,meson-gxbb-mhu']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 3d6f4dbee58d639809e2fffa70a6650868a34daa
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:39 2019 +0200

    arm64: dts: meson-gx: fix watchdog compatible
    
    This fixes the following DT schemas check errors:
    meson-gxbb-nanopi-k2.dt.yaml: watchdog@98d0: compatible:0: 'amlogic,meson-gx-wdt' is not one of ['amlogic,meson-gxbb-wdt']
    meson-gxl-s805x-libretech-ac.dt.yaml: watchdog@98d0: compatible:0: 'amlogic,meson-gx-wdt' is not one of ['amlogic,meson-gxbb-wdt']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 9afc3c5d3bf338e072ba0ce3a7697f490b9440b2
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:38 2019 +0200

    arm64: dts: meson-gx: fix spifc compatible
    
    This fixes the following DT schemas check errors:
    meson-gxl-s805x-libretech-ac.dt.yaml: spi@8c80: compatible:0: 'amlogic,meson-gx-spifc' is not one of ['amlogic,meson6-spifc', 'amlogic,meson-gxbb-spifc']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 2e655d4a8027690fc2e29d5ccd4fde69d89efe25
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:37 2019 +0200

    arm64: dts: meson-gx: fix reset controller compatible
    
    This fixes the following DT schemas check errors:
    meson-gxbb-nanopi-k2.dt.yaml: reset-controller@4404: compatible:0: 'amlogic,meson-gx-reset' is not one of ['amlogic,meson8b-reset', 'amlogic,meson-gxbb-reset', 'amlogic,meson-axg-reset']
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit e117ba5dbc769ea21879f01c3ad97abfe12c2d96
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:36 2019 +0200

    arm64: dts: meson-gx: drop the vpu dmc memory cell
    
    This fixes the following DT schemas check errors:
    meson-gxl-s805x-libretech-ac.dt.yaml: vpu@d0100000: reg-names: Additional items are not allowed ('dmc' was unexpected)
    meson-gxl-s805x-libretech-ac.dt.yaml: vpu@d0100000: reg-names: ['vpu', 'hhi', 'dmc'] is too long
    
    The 'dmc' register area was replaced by the amlogic,canvas property
    which was introduced in commit f1726043426c73 ("arm64: dts: meson-gx:
    add dmcbus and canvas nodes.") and commit cf34287986d0b6 ("arm64: dts:
    meson-gx: Add canvas provider node to the vpu")
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit 1e6714c713712cc0410e83f4a1e89d07570b9002
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Fri Aug 23 09:02:35 2019 +0200

    arm64: dts: meson: fix ethernet mac reg format
    
    This fixes the following DT schemas check errors:
    meson-axg-s400.dt.yaml: soc: ethernet@ff3f0000:reg:0: [0, 4282318848, 0, 65536, 0, 4284695872, 0, 8] is too long
    meson-axg-s400.dt.yaml: ethernet@ff3f0000: reg: [[0, 4282318848, 0, 65536, 0, 4284695872, 0, 8]] is too short
    meson-g12a-u200.dt.yaml: soc: ethernet@ff3f0000:reg:0: [0, 4282318848, 0, 65536, 0, 4284695872, 0, 8] is too long
    meson-g12a-u200.dt.yaml: ethernet@ff3f0000: reg: [[0, 4282318848, 0, 65536, 0, 4284695872, 0, 8]] is too short
    meson-gxbb-nanopi-k2.dt.yaml: soc: ethernet@c9410000:reg:0: [0, 3376480256, 0, 65536, 0, 3364046144, 0, 4] is too long
    meson-gxl-s805x-libretech-ac.dt.yaml: soc: ethernet@c9410000:reg:0: [0, 3376480256, 0, 65536, 0, 3364046144, 0, 4] is too lon
    
    while here, also drop the redundant reg property from meson-gxl.dtsi
    because it had the same value as meson-gx.dtsi from which it inherits.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>

commit c1442b4afc4461d24fedaec02db2898641f94a79
Author: David Howells <dhowells@redhat.com>
Date:   Wed Mar 27 14:15:16 2019 +0000

    vfs: Create fs_context-aware mount_bdev() replacement
    
    Create a function, vfs_get_block_super(), that is fs_context-aware and a
    replacement for mount_bdev().  It caches the block device pointer and file
    open mode in the fs_context struct so that this information can be passed
    into sget_fc()'s test and set functions.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Jens Axboe <axboe@kernel.dk>
    cc: linux-block@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit b5efb8f672c97b638952998badb2717f1320a37a
Author: David Howells <dhowells@redhat.com>
Date:   Wed Mar 20 23:31:05 2019 +0000

    vfs: Convert functionfs to use the new mount API
    
    Convert the functionfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Acked-by: Michal Nazarewicz <mina86@mina86.com>
    cc: linux-usb@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 85ed84b1bce945ad9c8d674f7f02526bf0910a33
Author: David Howells <dhowells@redhat.com>
Date:   Fri Mar 22 16:36:22 2019 +0000

    vfs: Convert ubifs to use the new mount API
    
    Convert the ubifs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Richard Weinberger <richard@nod.at>
    cc: Artem Bityutskiy <dedekind1@gmail.com>
    cc: Adrian Hunter <adrian.hunter@intel.com>
    cc: linux-mtd@lists.infradead.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit cbc5ff0b36a00dcae9f03a9b3a735dbed7da5695
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 15:41:33 2019 +0000

    vfs: Convert orangefs to use the new mount API
    
    Convert the orangefs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    cc: Mike Marshall <hubcap@omnibond.com>
    cc: Martin Brandenburg <martin@omnibond.com>
    cc: devel@lists.orangefs.org
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit b51c9a932c460b13070917f3f74d58568ab4a543
Author: David Howells <dhowells@redhat.com>
Date:   Fri Mar 22 14:58:36 2019 +0000

    vfs: Convert bpf to use the new mount API
    
    Convert the bpf filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Alexei Starovoitov <ast@kernel.org>
    cc: Daniel Borkmann <daniel@iogearbox.net>
    cc: Martin KaFai Lau <kafai@fb.com>
    cc: Song Liu <songliubraving@fb.com>
    cc: Yonghong Song <yhs@fb.com>
    cc: netdev@vger.kernel.org
    cc: bpf@vger.kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 74ed8bca963169f7e1e1eb7165e1c84f7dcafb4e
Author: David Howells <dhowells@redhat.com>
Date:   Fri Mar 22 12:56:55 2019 +0000

    vfs: Convert devpts to use the new mount API
    
    Convert the devpts filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Christian Brauner <christian@brauner.io>
    cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 38de9fe6b1d1619ddd14adb3b104ce08946d441c
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 13:48:06 2019 +0000

    vfs: Convert autofs to use the new mount API
    
    Convert the autofs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d5eda3a44c62f89094336b5e89f4448d8b258af7
Author: David Howells <dhowells@redhat.com>
Date:   Thu Mar 21 12:52:45 2019 +0000

    vfs: Convert coda to use the new mount API
    
    Convert the coda filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Note this is slightly tricky as coda currently only has a binary mount data
    interface.  This is handled through the parse_monolithic hook.
    
    Also add a more conventional interface with a parameter named "fd" that
    takes an fd that refers to a coda psdev, thereby specifying the index to
    use.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Jan Harkes <jaharkes@cs.cmu.edu>
    cc: coda@cs.cmu.edu
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit aecfd324a1f85ad94ac156d78cb317d26ec6c263
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: Make fs_parse() handle fs_param_is_fd-type params better
    
    Make fs_parse() handle fs_param_is_fd-type parameters that are passed a
    string by converting it to an integer (in addition to handling direct fd
    specification).
    
    Also range check the integer.
    
    [fix from  Yin Fengwei folded]
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 5088ec1c12d42c0da49d5bed00f5efa65473dae9
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:26 2019 +0000

    vfs: Convert binderfs to use the new mount API
    
    Convert the binderfs filesystem to the new internal mount API as the old
    one will be obsoleted and removed.  This allows greater flexibility in
    communication of mount parameters between userspace, the VFS and the
    filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Christian Brauner <christian@brauner.io>
    cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    cc: "Arve Hjønnevåg" <arve@android.com>
    cc: Todd Kjos <tkjos@android.com>
    cc: Martijn Coenen <maco@android.com>
    cc: Joel Fernandes <joel@joelfernandes.org>
    cc: devel@driverdev.osuosl.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 8bb3c61bafa8c1cd222ada602bb94ff23119e738
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API
    
    Convert the ramfs, shmem, tmpfs, devtmpfs and rootfs filesystems to the new
    internal mount API as the old one will be obsoleted and removed.  This
    allows greater flexibility in communication of mount parameters between
    userspace, the VFS and the filesystem.
    
    See Documentation/filesystems/mount_api.txt for more information.
    
    Note that tmpfs is slightly tricky as it can contain embedded commas, so it
    can't be trivially split up using strsep() to break on commas in
    generic_parse_monolithic().  Instead, tmpfs has to supply its own generic
    parser.
    
    However, if tmpfs changes, then devtmpfs and rootfs, which are wrappers
    around tmpfs or ramfs, must change too - and thus so must ramfs, so these
    had to be converted also.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: Hugh Dickins <hughd@google.com>
    cc: linux-mm@kvack.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 63228b974a6e1e398e1436edf34fc65d99b85dc9
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jun 1 18:56:53 2019 -0400

    make shmem_fill_super() static
    
    ... have callers use shmem_mount()
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit d154e3b55d9e6c58b6e7e01e47ac39344166d773
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jun 1 18:51:15 2019 -0400

    make ramfs_fill_super() static
    
    all users should just call ramfs_mount()
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit e941159e9d79e1412348dc62e6b8cf22bdb0fccb
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Jun 1 18:43:09 2019 -0400

    devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()
    
    Create an internal-only type matching the current devtmpfs, never
    register it and have one kernel-internal mount done.  That thing
    gets mounted only once, so it is free to use mount_nodev().
    
    The "public" devtmpfs (the one we do register, and only after
    the internal mount of the real thing is done) simply gets and
    returns an extra reference to the internal superblock.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

commit 4a2dbeddd3d54484d2e9c12965e4f9bfa1a0ee36
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Tue Aug 27 11:49:51 2019 +0200

    PCI/ACPI: Remove unnecessary struct hotplug_program_ops
    
    Move the ACPI-specific structs hpx_type0, hpx_type1, hpx_type2 and
    hpx_type3 to drivers/pci/pci-acpi.c as they are not used anywhere else.
    Then remove the struct hotplug_program_ops that has been shared between
    drivers/pci/probe.c and drivers/pci/pci-acpi.c from drivers/pci/pci.h as it
    is no longer needed.
    
    The struct hotplug_program_ops was added by 87fcf12e846a ("PCI/ACPI: Remove
    the need for 'struct hotplug_params'") and replaced previously used struct
    hotplug_params enabling the support for the _HPX Type 3 Setting Record that
    was added by f873c51a155a ("PCI/ACPI: Implement _HPX Type 3 Setting
    Record").
    
    The new struct allowed for the static functions such program_hpx_type0(),
    program_hpx_type1(), etc., from the drivers/pci/probe.c to be called from
    the function pci_acpi_program_hp_params() in the drivers/pci/pci-acpi.c.
    
    Previously a programming of _HPX Type 0 was as follows:
    
      drivers/pci/probe.c:
    
        program_hpx_type0()
        ...
        pci_configure_device()
          hp_ops = {
            .program_type0 = program_hpx_type0,
            ...
          }
          pci_acpi_program_hp_params(&hp_ops)
    
      drivers/pci/pci-acpi.c:
    
        pci_acpi_program_hp_params(&hp_ops)
          acpi_run_hpx(hp_ops)
            decode_type0_hpx_record()
              hp_ops->program_type0     # program_hpx_type0() called via hp_ops
    
    After the ACPI-specific functions, structs, enums, etc., have been moved to
    drivers/pci/pci-acpi.c there is no need for the hotplug_program_ops as all
    of the _HPX Type 0, 1, 2 and 3 are directly accessible.
    
    Link: https://lore.kernel.org/r/20190827094951.10613-4-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 8c3aac6e1b6146ce771b1cabd78e593136d3e5f2
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Tue Aug 27 11:49:50 2019 +0200

    PCI/ACPI: Move _HPP & _HPX functions to pci-acpi.c
    
    Move program_hpx_type0(), program_hpx_type1(), etc., and enums
    hpx_type3_dev_type, hpx_type3_fn_type and hpx_type3_cfg_loc to
    drivers/pci/pci-acpi.c as these functions and enums are ACPI-specific.
    
    Move structs hpx_type0, hpx_type1, hpx_type2 and hpx_type3 to
    drivers/pci/pci.h as these are shared between drivers/pci/pci-acpi.c and
    drivers/pci/probe.c.
    
    Link: https://lore.kernel.org/r/20190827094951.10613-3-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 3982f1df00df57768f0782bc702fc4fbea347ca2
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Aug 27 21:13:46 2019 +0800

    staging: most: sound: Fix error path of audio_init
    
    If most_register_configfs_subsys() fails, we should
    call most_deregister_component() do cleanup.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 919c03ae11b9 ("staging: most: enable configfs support")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20190827131346.12704-1-yuehaibing@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a1617c8c3d39b1348e72d04548229e2ed9bf8121
Author: Stephen Brennan <stephen@brennan.io>
Date:   Tue Aug 27 21:35:42 2019 -0700

    staging: rtl8192u: Fix indentation
    
    Checkpatch reports WARNING:SUSPECT_CODE_INDENT in several places. Fix
    this by aligning code properly with tabs.
    
    Signed-off-by: Stephen Brennan <stephen@brennan.io>
    Link: https://lore.kernel.org/r/20190828043542.3753-1-stephen@brennan.io
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2da39f1cc36bff4cc53dc32a4afb3def488cc766
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Tue Aug 27 11:51:18 2019 -0300

    perf evlist: Remove needless util.h from evlist.h
    
    There is no need for that util/util.h include there and, remove it,
    pruning the include tree, fix the fallout by adding necessary headers to
    places that were getting needed includes indirectly from evlist.h ->
    util.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-s9f7uve8wvykr5itcm7m7d8q@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit efa73d37c11af5082a5605665186c368f1196381
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Tue Aug 27 11:32:09 2019 -0300

    perf tools: Remove needless util.h include from builtin.h
    
    And fix up places where util.h is needed but was obtained indirectly via
    builtin.h.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-a01ig3c4t76ye5wkqmtgk9qn@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit d06e5fad8c4692c6e5f1bd626056f23716bfe4a6
Author: Igor Lubashev <ilubashe@akamai.com>
Date:   Mon Aug 26 21:39:16 2019 -0400

    perf tools: Warn that perf_event_paranoid can restrict kernel symbols
    
    Warn that /proc/sys/kernel/perf_event_paranoid can also restrict kernel
    symbols.
    
    Signed-off-by: Igor Lubashev <ilubashe@akamai.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1566869956-7154-6-git-send-email-ilubashe@akamai.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 8859aedefefe7eeea5e67968b7fe39c828d589a0
Author: Igor Lubashev <ilubashe@akamai.com>
Date:   Mon Aug 26 21:39:15 2019 -0400

    perf symbols: Use CAP_SYSLOG with kptr_restrict checks
    
    The kernel is using CAP_SYSLOG capability instead of uid==0 and euid==0
    when checking kptr_restrict. Make perf do the same.
    
    Also, the kernel is a more restrictive than "no restrictions" in case of
    kptr_restrict==0, so add the same logic to perf.
    
    Signed-off-by: Igor Lubashev <ilubashe@akamai.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1566869956-7154-5-git-send-email-ilubashe@akamai.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit aa97293ff129f504e7c8589e56007ecfe3e3e835
Author: Igor Lubashev <ilubashe@akamai.com>
Date:   Mon Aug 26 21:39:14 2019 -0400

    perf evsel: Kernel profiling is disallowed only when perf_event_paranoid > 1
    
    Perf was too restrictive about sysctl kernel.perf_event_paranoid. The
    kernel only disallows profiling when perf_event_paranoid > 1. Make perf
    do the same.
    
    Committer testing:
    
    For a non-root user:
    
      $ id
      uid=1000(acme) gid=1000(acme) groups=1000(acme),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
      $
    
    Before:
    
    We were restricting it to just userspace (:u suffix) even for a
    workload started by the user:
    
      $ perf record sleep 1
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.001 MB perf.data (8 samples) ]
      $ perf evlist
      cycles:u
      $ perf evlist -v
      cycles:u: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, read_format: ID, disabled: 1, inherit: 1, exclude_kernel: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 3, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1, bpf_event: 1
      $ perf report --stdio
      # To display the perf.data header info, please use --header/--header-only options.
      #
      # Total Lost Samples: 0
      #
      # Samples: 8  of event 'cycles:u'
      # Event count (approx.): 1040396
      #
      # Overhead  Command  Shared Object     Symbol
      # ........  .......  ................  ......................
      #
          68.36%  sleep    libc-2.29.so      [.] _dl_addr
          27.33%  sleep    ld-2.29.so        [.] dl_main
           3.80%  sleep    ld-2.29.so        [.] _dl_setup_hash
      #
      # (Tip: Order by the overhead of source file name and line number: perf report -s srcline)
      #
      $
      $
    
    After:
    
    When the kernel allows profiling the kernel in that scenario:
    
      $ perf record sleep 1
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.023 MB perf.data (11 samples) ]
      $ perf evlist
      cycles
      $ perf evlist -v
      cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 3, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1, bpf_event: 1
      $
      $ perf report --stdio
      # To display the perf.data header info, please use --header/--header-only options.
      #
      # Total Lost Samples: 0
      #
      # Samples: 11  of event 'cycles'
      # Event count (approx.): 1601964
      #
      # Overhead  Command  Shared Object     Symbol
      # ........  .......  ................  ..........................
      #
          28.14%  sleep    [kernel.vmlinux]  [k] __rb_erase_color
          27.21%  sleep    [kernel.vmlinux]  [k] unmap_page_range
          27.20%  sleep    ld-2.29.so        [.] __tunable_get_val
          15.24%  sleep    [kernel.vmlinux]  [k] thp_get_unmapped_area
           1.96%  perf     [kernel.vmlinux]  [k] perf_event_exec
           0.22%  perf     [kernel.vmlinux]  [k] native_sched_clock
           0.02%  perf     [kernel.vmlinux]  [k] intel_bts_enable_local
           0.00%  perf     [kernel.vmlinux]  [k] native_write_msr
      #
      # (Tip: Boolean options have negative forms, e.g.: perf report --no-children)
      #
      $
    
    Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Igor Lubashev <ilubashe@akamai.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1566869956-7154-4-git-send-email-ilubashe@akamai.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit dda1bf8ea78add78739d128a20b555c4a1a19c27
Author: Igor Lubashev <ilubashe@akamai.com>
Date:   Mon Aug 26 21:39:13 2019 -0400

    perf tools: Use CAP_SYS_ADMIN with perf_event_paranoid checks
    
    The kernel is using CAP_SYS_ADMIN instead of euid==0 to override
    perf_event_paranoid check. Make perf do the same.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> # coresight part
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1566869956-7154-3-git-send-email-ilubashe@akamai.com
    Signed-off-by: Igor Lubashev <ilubashe@akamai.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit e9a6882f267a8105461066e3ea6b4b6b9be1b807
Author: Igor Lubashev <ilubashe@akamai.com>
Date:   Mon Aug 26 21:39:12 2019 -0400

    perf event: Check ref_reloc_sym before using it
    
    Check for ref_reloc_sym before using it instead of checking
    symbol_conf.kptr_restrict and relying solely on that check.
    
    Reported-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Igor Lubashev <ilubashe@akamai.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1566869956-7154-2-git-send-email-ilubashe@akamai.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit e2797ad31fb40f4ff59ebc4314d6f000d713bad9
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Tue Aug 27 11:49:49 2019 +0200

    PCI/ACPI: Rename _HPX structs from hpp_* to hpx_*
    
    The names of the hpp_type0, hpp_type1 and hpp_type2 structs suggest that
    they're related to _HPP, when in fact they're related to _HPX.
    
    The struct hpp_type0 denotes an _HPX Type 0 setting record that supersedes
    the _HPP setting record, and it has been used interchangeably for _HPP as
    per the ACPI specification (see version 6.3, section 6.2.9.1) which states
    that it should be applied to PCI, PCI-X and PCI Express devices, with
    settings being ignored if they are not applicable.
    
    Rename them to hpx_type0, hpx_type1 and hpx_type2 to reflect their relation
    to _HPX rather than _HPP.
    
    Link: https://lore.kernel.org/r/20190827094951.10613-2-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 9770f22077981cac2bd2f4dd6caa6269892cd3f7
Author: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
Date:   Thu Aug 22 17:46:55 2019 -0700

    drm/i915/tgl: Enabling DSC on Pipe A for TGL
    
    DSC was not supported on Pipe A for previous platforms. Tigerlake onwards,
    all the pipes support DSC. Hence, the DSC and FEC restriction on
    Pipe A needs to be removed.
    
    v2: Changes in the logic around removing the restriction around
        Pipe A (Manasi, Lucas)
    
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Signed-off-by: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
    Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823004655.28905-1-madhumitha.tolakanahalli.pradeep@intel.com

commit 556d971bdae643de4cd7e2976e14f70ca2a3061d
Author: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Date:   Wed Aug 7 21:43:18 2019 -0300

    ima: Fix use after free in ima_read_modsig()
    
    If we can't parse the PKCS7 in the appended modsig, we will free the modsig
    structure and then access one of its members to determine the error value.
    
    Fixes: 39b07096364a ("ima: Implement support for module-style appended signatures")
    Reported-by: kbuild test robot <lkp@intel.com>
    Reported-by: Julia Lawall <julia.lawall@lip6.fr>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
    Reviewed-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>

commit 25948b87dda284664edeb3b3dab689df0a7dc889
Author: Marina Varshaver <marinav@mellanox.com>
Date:   Tue Aug 20 04:59:11 2019 +0300

    net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP
    tunnels
    
    Add TX offloads support for IP-in-IP tunneled packets by reporting
    the needed netdev features.
    
    Signed-off-by: Marina Varshaver <marinav@mellanox.com>
    Signed-off-by: Avihu Hagag <avihuh@mellanox.com>
    Reviewed-by: Aya Levin <ayal@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit e3a53bc536fc279de2ace13b8d6d54b071afb722
Author: Marina Varshaver <marinav@mellanox.com>
Date:   Tue Aug 20 03:36:29 2019 +0300

    net/mlx5e: Improve stateless offload capability check
    
    Use generic function for checking tunnel stateless offload capability
    instead of separate macros.
    
    Signed-off-by: Marina Varshaver <marinav@mellanox.com>
    Reviewed-by: Aya Levin <ayal@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit a795d8db2a6d3c6f80e7002dd6357e6736dad1b6
Author: Aya Levin <ayal@mellanox.com>
Date:   Mon Apr 29 17:45:52 2019 +0300

    net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets
    
    Add support for inner header RSS on IP-in-IP and IPv6 tunneled packets.
    
    Add rules to the steering table regarding outer IP header, with
    IPv4/6->IP-in-IP. Tunneled packets with protocol numbers: 0x4 (IP-in-IP)
    and 0x29 (IPv6) are RSS-ed on the inner IP header.
    Separate FW dependencies between flow table inner IP capabilities and
    GRE offload support. Allowing this feature even if GRE offload is not
    supported.  Tested with multi stream TCP traffic tunneled with IPnIP.
    Verified that:
    Without this patch, only a single RX ring was processing the traffic.
    With this patch, multiple RX rings were processing the traffic.
    Verified with and without GRE offload support.
    
    Signed-off-by: Aya Levin <ayal@mellanox.com>
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit a49e1f31ae155d64355d0cd0e0afa5b2bc8544cd
Author: Aya Levin <ayal@mellanox.com>
Date:   Thu Aug 8 16:16:28 2019 +0300

    net/mlx5e: Change function's position to a more fitting file
    
    Move function which indicates whether tunnel inner flow table is
    supported from en.h to en_fs.c. It fits better right after tunnel
    protocol rules definitions.
    
    Signed-off-by: Aya Levin <ayal@mellanox.com>
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 0cfafd4b4ddff99d6c21e028704a13ec1a578b8b
Author: Moshe Shemesh <moshe@mellanox.com>
Date:   Sun Aug 4 17:53:09 2019 +0300

    net/mlx5e: Add device out of buffer counter
    
    Added the following packets drop counter:
    Device out of buffer - counts packets which were dropped due to full
    device internal receive queue.
    This counter will be shown on ethtool as a new counter called
    dev_out_of_buffer.
    The counter is read from FW by command QUERY_VNIC_ENV.
    
    Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 45f171b1182b9c4ab6d854d6f7fd7dd771fed591
Author: Maxim Mikityanskiy <maximmi@mellanox.com>
Date:   Wed Aug 7 17:46:15 2019 +0300

    net/mlx5e: Support LAG TX port affinity distribution
    
    When the VF LAG is in use, round-robin the TX affinity of channels among
    the different ports, if supported by the firmware. Create a set of TISes
    per port, while doing round-robin of the channels over the different
    sets. Let all SQs of a channel share the same set of TISes.
    
    If lag_tx_port_affinity HCA cap bit is supported, num_lag_ports > 1 and
    we aren't the LACP owner (PF in the regular use), assign the affinities,
    otherwise use tx_affinity == 0 in TIS context to let the FW assign the
    affinities itself. The TISes of the LACP owner are mapped only to the
    native physical port.
    
    For VFs, the starting port for round-robin is determined by its vhca_id,
    because a VF may have only one channel if attached to a single-core VM.
    
    Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Mark Bloch <markb@mellanox.com>
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 3c14562663c603bc523b6619a2b19a411e1cdc8e
Author: Tariq Toukan <tariqt@mellanox.com>
Date:   Mon Jun 24 12:03:02 2019 +0300

    net/mlx5e: Expose new function for TIS destroy loop
    
    For better modularity and code sharing.
    Function internal change to be introduced in the next patches.
    
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit d5e1c0ef550e4fa4577e6567f829a460a7f4ab6e
Author: Erez Alfasi <ereza@mellanox.com>
Date:   Wed Aug 7 17:56:02 2019 +0300

    net/mlx5e: ethtool, Fix a typo in WOL function names
    
    Fix a typo in 'mlx5e_refomrat_wol_mode_mlx5_to_linux' and
    'mlx5e_refomrat_wol_mode_linux_to_mlx5' function names:
    "refomrat" -> "reformat".
    
    Fixes: 928cfe8745a6 ("net/mlx5e: Wake On LAN support")
    Signed-off-by: Erez Alfasi <ereza@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 274b924088e93593c76fb122d24bc0ef18d0ddf4
Author: Jeff Moyer <jmoyer@redhat.com>
Date:   Wed Aug 28 11:49:46 2019 -0400

    libnvdimm/pfn: Fix namespace creation on misaligned addresses
    
    Yi reported[1] that after commit a3619190d62e ("libnvdimm/pfn: stop
    padding pmem namespaces to section alignment"), it was no longer
    possible to create a device dax namespace with a 1G alignment.  The
    reason was that the pmem region was not itself 1G-aligned.  The code
    happily skips past the first 512M, but fails to account for a now
    misaligned end offset (since space was allocated starting at that
    misaligned address, and extending for size GBs).  Reintroduce
    end_trunc, so that the code correctly handles the misaligned end
    address.  This results in the same behavior as before the introduction
    of the offending commit.
    
    [1] https://lists.01.org/pipermail/linux-nvdimm/2019-July/022813.html
    
    Fixes: a3619190d62e ("libnvdimm/pfn: stop padding pmem namespaces ...")
    Reported-and-tested-by: Yi Zhang <yi.zhang@redhat.com>
    Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
    Link: https://lore.kernel.org/r/x49ftll8f39.fsf@segfault.boston.devel.redhat.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit 0f7dc62068bb2b929e213e759dba1eb038448a5c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Aug 26 08:21:27 2019 +0100

    drm/i915: Protect our local workers against I915_FENCE_TIMEOUT
    
    Trust our own workers to not cause unnecessary delays and disable the
    automatic timeout on their asynchronous fence waits. (Along the same
    lines that we trust our own requests to complete eventually, if
    necessary by force.)
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826072149.9447-6-chris@chris-wilson.co.uk

commit ce3b487f60189c56a4c3340ab7504971dac97338
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Wed Aug 21 02:09:39 2019 +0900

    init/Kconfig: rework help of CONFIG_CC_OPTIMIZE_FOR_SIZE
    
    CONFIG_CC_OPTIMIZE_FOR_SIZE was originally an independent boolean
    option, but commit 877417e6ffb9 ("Kbuild: change CC_OPTIMIZE_FOR_SIZE
    definition") turned it into a choice between _PERFORMANCE and _SIZE.
    
    The phrase "If unsure, say N." sounds like an independent option.
    Reword the help text to make it appropriate for the choice menu.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit d20558d1de4e2d5bec236a8f0e99d5f1efdd39b8
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Wed Aug 14 19:54:00 2019 +0900

    docs: kbuild: remove cc-ldoption from document again
    
    Commit 055efab3120b ("kbuild: drop support for cc-ldoption") correctly
    removed the cc-ldoption from Documentation/kbuild/makefiles.txt, but
    commit cd238effefa2 ("docs: kbuild: convert docs to ReST and rename
    to *.rst") revived it. I guess it was a rebase mistake.
    
    Remove it again.
    
    Fixes: cd238effefa2 ("docs: kbuild: convert docs to ReST and rename to *.rst")
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 4fef9dece5785f4ca522a13600de1014943d1fba
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Wed Aug 14 19:53:59 2019 +0900

    docs: kbuild: fix invalid ReST syntax
    
    I see the following warnings when I open this document with a ReST
    viewer, retext:
    
    /home/masahiro/ref/linux/Documentation/kbuild/makefiles.rst:1142: (WARNING/2) Inline emphasis start-string without end-string.
    /home/masahiro/ref/linux/Documentation/kbuild/makefiles.rst:1152: (WARNING/2) Inline emphasis start-string without end-string.
    /home/masahiro/ref/linux/Documentation/kbuild/makefiles.rst:1154: (WARNING/2) Inline emphasis start-string without end-string.
    
    These hunks were added by commit e846f0dc57f4 ("kbuild: add support
    for ensuring headers are self-contained") and commit 1e21cbfada87
    ("kbuild: support header-test-pattern-y"), respectively. They were
    written not for ReST but for the plain text, and merged via the
    kbuild tree.
    
    In the same development cycle, this document was converted to ReST
    by commit cd238effefa2 ("docs: kbuild: convert docs to ReST and rename
    to *.rst"), and merged via the doc sub-system.
    
    Merging them together into Linus' tree resulted in the current situation.
    
    To fix the syntax, surround the asterisks with back-quotes, and
    use :: for the code sample.
    
    Fixes: 39ceda5ce1b0 ("Merge tag 'kbuild-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild")
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

commit 8a84bacba19c154bdcb278657d0b7594ce2d939c
Author: Imre Deak <imre.deak@intel.com>
Date:   Fri Aug 23 13:07:11 2019 +0300

    drm/i915: Align power domain names with port names
    
    There is a difference in BSpec's and the driver's designation of DDI
    ports. BSpec uses the following names:
    - before GEN11:
      BSpec/driver:
            port A/B/C/D etc
    - GEN11:
      BSpec/driver:
            port A-F
    - GEN12:
      BSpec:
            port A/B/C for combo PHY ports
            port TC1-6 for Type C PHY ports
      driver:
            port A-I.
      The driver's port D name matches BSpec's TC1 port name.
    
    So far power domains were named according to the BSpec designation, to
    make it easier to match the code against the specification. That however
    can be confusing when a power domain needs to be matched to a port on
    GEN12+. To resolve that use the driver's port A-I designation for power
    domain names too and rename the corresponding power wells so that they
    reflect the mapping from the driver's to BSpec's port name.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823100711.27833-1-imre.deak@intel.com

commit 325b916a9e1b11d28c40b02e24734750946a1785
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Aug 26 14:38:37 2019 +0100

    drm/i915/selftests: Ignore coherency failures on Broadwater
    
    We've been ignoring similar coherency issues in IGT for Broadwater, and
    specifically Broadwater (original gen4) and not, for example, Crestline
    (same generation as Broadwater, but the mobile variant). Without any
    means to reproduce locally (I have a 965GM but alas no 965G), fixing will
    be slow, so tell CI to ignore any failure until we are ready with a fix.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Acked-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190826133837.6784-1-chris@chris-wilson.co.uk

commit 98c09b8c9767c61f97976c358c47ba17c026dc77
Author: Lijun Ou <oulijun@huawei.com>
Date:   Wed Aug 21 21:14:36 2019 +0800

    RDMA/hns: Fix wrong assignment of qp_access_flags
    
    We used wrong shifts when set qp_attr->qp_access_flag,
    this patch exchange V2_QP_RRE_S and V2_QP_RWE_S to fix it.
    
    Fixes: 2a3d923f8730 ("RDMA/hns: Replace magic numbers with #defines")
    Signed-off-by: Weihang Li <liweihang@hisilicon.com>
    Signed-off-by: Lijun Ou <oulijun@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-10-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit afca2a2b837a8a93d8376f0843f225dd967aac12
Author: Wenpeng Liang <liangwenpeng@huawei.com>
Date:   Wed Aug 21 21:14:35 2019 +0800

    RDMA/hns: Delete the not-used lines
    
    Delete the assignment of srq->ibsrq.ext.xrc.srq_num, beacause this
    value is not used.
    
    Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
    Signed-off-by: Lijun Ou <oulijun@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-9-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit 18df508c7970c2c5e8bcaed48469bb28f9075e89
Author: Wenpeng Liang <liangwenpeng@huawei.com>
Date:   Wed Aug 21 21:14:34 2019 +0800

    RDMA/hns: Remove if-else judgment statements for creating srq
    
    Because if the value of srqwqe_buf_pg_sz is zero, npages and
    ib_umem_page_count are equivalent, page_shif and PAGE_SHIFT
    are equivalent in hns_roce_create_srq. Here remove it.
    
    Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
    Signed-off-by: Lijun Ou <oulijun@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-8-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit e075da5e7c47ee1c20b4e8f9a20c6105be99b10f
Author: Lang Cheng <chenglang@huawei.com>
Date:   Wed Aug 21 21:14:33 2019 +0800

    RDMA/hns: Add reset process for function-clear
    
    If the hardware is resetting, the driver should not perform
    the mailbox operation.Function-clear needs to add relevant judgment.
    
    Signed-off-by: Lang Cheng <chenglang@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-7-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit bfe860351e31e71913d4e6c46aae5724b661a519
Author: Lang Cheng <chenglang@huawei.com>
Date:   Wed Aug 21 21:14:32 2019 +0800

    RDMA/hns: Fix cast from or to restricted __le32 for driver
    
    Sparse is whining about the u32 and __le32 mixed usage in the driver.
    The roce_set_field() is used to __le32 data of hardware only.
    If a variable is not delivered to the hardware, the __le32 type and
    related operations are not required.
    
    Signed-off-by: Lang Cheng <chenglang@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-6-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit 90c559b1864aa52518c10d5535bf5d5ea74189e5
Author: Lijun Ou <oulijun@huawei.com>
Date:   Wed Aug 21 21:14:31 2019 +0800

    RDMA/hns: Remove the some magic number
    
    Here uses the meaningful macro instead of the magic number
    for readability.
    
    Signed-off-by: Lijun Ou <oulijun@huawei.com>
    Signed-off-by: Lang Chen <chenglang@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-5-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit 82e620d9c3a096108e8a2f90ce7199bdad2040eb
Author: Lang Cheng <chenglang@huawei.com>
Date:   Wed Aug 21 21:14:30 2019 +0800

    RDMA/hns: Modify the data structure of hns_roce_av
    
    we change type of some members to u32/u8 from __le32 as well as
    split sl_tclass_flowlabel into three variables in hns_roce_av.
    
    Signed-off-by: Lang Cheng <chenglang@huawei.com>
    Link: https://lore.kernel.org/r/1566393276-42555-4-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>

commit 7f313eda8fcc6a250803abb1aef3d6dc5c32f9ad
Author: Eric Sandeen <sandeen@redhat.com>
Date:   Tue Aug 27 17:35:12 2019 -0700

    xfs: log proper length of btree block in scrub/repair
    
    xfs_trans_log_buf() takes a final argument of the last byte to
    log in the buffer; b_length is in basic blocks, so this isn't
    the correct last byte.  Fix it.
    
    Signed-off-by: Eric Sandeen <sandeen@redhat.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

commit ffb5696f7555e44c04b7c1212fcd83ddedc43498
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:05 2019 -0700

    xfs: reinitialize rm_flags when unpacking an offset into an rmap irec
    
    In xfs_rmap_irec_offset_unpack, we should always clear the contents of
    rm_flags before we begin unpacking the encoded (ondisk) offset into the
    incore rm_offset and incore rm_flags fields.  Remove the open-coded
    field zeroing as this encourages api misuse.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit 3e08f42ae7828bac2e7445a950f5de2b08203352
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:04 2019 -0700

    xfs: remove unnecessary int returns from deferred bmap functions
    
    Remove the return value from the functions that schedule deferred bmap
    operations since they never fail and do not return status.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit 74b4c5d4a9c073162a37d1c20c95cb33152ca474
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:04 2019 -0700

    xfs: remove unnecessary int returns from deferred refcount functions
    
    Remove the return value from the functions that schedule deferred
    refcount operations since they never fail and do not return status.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit bc46ac64713f11c86cbbe11a86abd2a71274b15f
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:03 2019 -0700

    xfs: remove unnecessary int returns from deferred rmap functions
    
    Remove the return value from the functions that schedule deferred rmap
    operations since they never fail and do not return status.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit 2ca09177ab9dae7cc0a888137bd2421f5829cd87
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:02 2019 -0700

    xfs: remove unnecessary parameter from xfs_iext_inc_seq
    
    This function doesn't use the @state parameter, so get rid of it.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit b521c89027f4b86af418083cb75db60a0e7a5997
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:02 2019 -0700

    xfs: fix sign handling problem in xfs_bmbt_diff_two_keys
    
    In xfs_bmbt_diff_two_keys, we perform a signed int64_t subtraction with
    two unsigned 64-bit quantities.  If the second quantity is actually the
    "maximum" key (all ones) as used in _query_all, the subtraction
    effectively becomes addition of two positive numbers and the function
    returns incorrect results.  Fix this with explicit comparisons of the
    unsigned values.  Nobody needs this now, but the online repair patches
    will need this to work properly.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit 7380e8fec16b3527baa1153255da9cc8d5d4d309
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:01 2019 -0700

    xfs: don't return _QUERY_ABORT from xfs_rmap_has_other_keys
    
    The xfs_rmap_has_other_keys helper aborts the iteration as soon as it
    has an answer.  Don't let this abort leak out to callers.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>

commit c94613feefd7714ad0d03a1914632c15782114ff
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Aug 26 17:06:01 2019 -0700

    xfs: fix maxicount division by zero error
    
    In xfs_ialloc_setup_geometry, it's possible for a malicious/corrupt fs
    image to set an unreasonably large value for sb_inopblog which will
    cause ialloc_blks to be zero.  If sb_imax_pct is also set, this results
    in a division by zero error in the second do_div call.  Therefore, force
    maxicount to zero if ialloc_blks is zero.
    
    Note that the kernel metadata verifiers will catch the garbage inopblog
    value and abort the fs mount long before it tries to set up the inode
    geometry; this is needed to avoid a crash in xfs_db while setting up the
    xfs_mount structure.
    
    Found by fuzzing sb_inopblog to 122 in xfs/350.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>

commit e003f9af9b8dc110dd62b7eaa3a796fd81d4d256
Author: Rui Miguel Silva <rui.silva@linaro.org>
Date:   Wed Aug 28 13:48:25 2019 +0100

    staging: greybus: fix more header declarations
    
    More headers needed to be fixed when moving greybus out of staging and
    enabling the COMPILE_TEST option.
    
    Add forward declarations for the needed structures.
    
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
    Reviewed-by: Johan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20190828124825.20800-1-rui.silva@linaro.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 55b9a0549e4303ca43481f9ba2cdfa305277d97d
Author: Rob Herring <robh@kernel.org>
Date:   Thu Aug 22 21:12:14 2019 -0500

    drm/panfrost: Use mutex_trylock in panfrost_gem_purge
    
    Lockdep reports a circular locking dependency with pages_lock taken in
    the shrinker callback. The deadlock can't actually happen with current
    users at least as a BO will never be purgeable when pages_lock is held.
    To be safe, let's use mutex_trylock() instead and bail if a BO is locked
    already.
    
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-7-robh@kernel.org

commit edbd7f318cd66cec4588a28ba6985b014456dbca
Author: Rob Herring <robh@kernel.org>
Date:   Thu Aug 22 21:12:13 2019 -0500

    drm/shmem: Use mutex_trylock in drm_gem_shmem_purge
    
    Lockdep reports a circular locking dependency with pages_lock taken in
    the shrinker callback. The deadlock can't actually happen with current
    users at least as a BO will never be purgeable when pages_lock is held.
    To be safe, let's use mutex_trylock() instead and bail if a BO is locked
    already.
    
    WARNING: possible circular locking dependency detected
    5.3.0-rc1+ #100 Tainted: G             L
    ------------------------------------------------------
    kswapd0/171 is trying to acquire lock:
    000000009b9823fd (&shmem->pages_lock){+.+.}, at: drm_gem_shmem_purge+0x20/0x40
    
    but task is already holding lock:
    00000000f82369b6 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x40
    
    which lock already depends on the new lock.
    
    the existing dependency chain (in reverse order) is:
    
    -> #1 (fs_reclaim){+.+.}:
           fs_reclaim_acquire.part.18+0x34/0x40
           fs_reclaim_acquire+0x20/0x28
           __kmalloc_node+0x6c/0x4c0
           kvmalloc_node+0x38/0xa8
           drm_gem_get_pages+0x80/0x1d0
           drm_gem_shmem_get_pages+0x58/0xa0
           drm_gem_shmem_get_pages_sgt+0x48/0xd0
           panfrost_mmu_map+0x38/0xf8 [panfrost]
           panfrost_gem_open+0xc0/0xe8 [panfrost]
           drm_gem_handle_create_tail+0xe8/0x198
           drm_gem_handle_create+0x3c/0x50
           panfrost_gem_create_with_handle+0x70/0xa0 [panfrost]
           panfrost_ioctl_create_bo+0x48/0x80 [panfrost]
           drm_ioctl_kernel+0xb8/0x110
           drm_ioctl+0x244/0x3f0
           do_vfs_ioctl+0xbc/0x910
           ksys_ioctl+0x78/0xa8
           __arm64_sys_ioctl+0x1c/0x28
           el0_svc_common.constprop.0+0x90/0x168
           el0_svc_handler+0x28/0x78
           el0_svc+0x8/0xc
    
    -> #0 (&shmem->pages_lock){+.+.}:
           __lock_acquire+0xa2c/0x1d70
           lock_acquire+0xdc/0x228
           __mutex_lock+0x8c/0x800
           mutex_lock_nested+0x1c/0x28
           drm_gem_shmem_purge+0x20/0x40
           panfrost_gem_shrinker_scan+0xc0/0x180 [panfrost]
           do_shrink_slab+0x208/0x500
           shrink_slab+0x10c/0x2c0
           shrink_node+0x28c/0x4d8
           balance_pgdat+0x2c8/0x570
           kswapd+0x22c/0x638
           kthread+0x128/0x130
           ret_from_fork+0x10/0x18
    
    other info that might help us debug this:
    
     Possible unsafe locking scenario:
    
           CPU0                    CPU1
           ----                    ----
      lock(fs_reclaim);
                                   lock(&shmem->pages_lock);
                                   lock(fs_reclaim);
      lock(&shmem->pages_lock);
    
     *** DEADLOCK ***
    
    3 locks held by kswapd0/171:
     #0: 00000000f82369b6 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x40
     #1: 00000000ceb37808 (shrinker_rwsem){++++}, at: shrink_slab+0xbc/0x2c0
     #2: 00000000f31efa81 (&pfdev->shrinker_lock){+.+.}, at: panfrost_gem_shrinker_scan+0x34/0x180 [panfrost]
    
    Fixes: 17acb9f35ed7 ("drm/shmem: Add madvise state and purge helpers")
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Maxime Ripard <maxime.ripard@bootlin.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-6-robh@kernel.org

commit fe20d1cc95827e240cfcb21490b05ef38518ee4e
Author: Rob Herring <robh@kernel.org>
Date:   Thu Aug 22 21:12:12 2019 -0500

    drm/shmem: Do dma_unmap_sg before purging pages
    
    Calling dma_unmap_sg() in drm_gem_shmem_free_object() is too late if the
    backing pages have already been released by the shrinker. The result is
    the following abort:
    
    Unable to handle kernel paging request at virtual address ffff8000098ed000
    Mem abort info:
      ESR = 0x96000147
      Exception class = DABT (current EL), IL = 32 bits
      SET = 0, FnV = 0
      EA = 0, S1PTW = 0
    Data abort info:
      ISV = 0, ISS = 0x00000147
      CM = 1, WnR = 1
    swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000002f51000
    [ffff8000098ed000] pgd=00000000401f8003, pud=00000000401f7003, pmd=00000000401b1003, pte=00e80000098ed712
    Internal error: Oops: 96000147 [#1] SMP
    Modules linked in: panfrost gpu_sched
    CPU: 5 PID: 902 Comm: gnome-shell Not tainted 5.3.0-rc1+ #95
    Hardware name: 96boards Rock960 (DT)
    pstate: 40000005 (nZcv daif -PAN -UAO)
    pc : __dma_inv_area+0x40/0x58
    lr : arch_sync_dma_for_cpu+0x28/0x30
    sp : ffff00001321ba30
    x29: ffff00001321ba30 x28: ffff00001321bd08
    x27: 0000000000000000 x26: 0000000000000009
    x25: 0000ffffc1f86170 x24: 0000000000000000
    x23: 0000000000000000 x22: 0000000000000000
    x21: 0000000000021000 x20: ffff80003bb2d810
    x19: 00000000098ed000 x18: 0000000000000000
    x17: 0000000000000000 x16: ffff800023fd9480
    x15: 0000000000000000 x14: 0000000000000000
    x13: 0000000000000000 x12: 0000000000000000
    x11: 00000000fffb9fff x10: 0000000000000000
    x9 : 0000000000000000 x8 : ffff800023fd9c18
    x7 : 0000000000000000 x6 : 00000000ffffffff
    x5 : 0000000000000000 x4 : 0000000000021000
    Purging 5693440 bytes
    x3 : 000000000000003f x2 : 0000000000000040
    x1 : ffff80000990e000 x0 : ffff8000098ed000
    Call trace:
     __dma_inv_area+0x40/0x58
     dma_direct_sync_single_for_cpu+0x7c/0x80
     dma_direct_unmap_page+0x80/0x88
     dma_direct_unmap_sg+0x54/0x80
     drm_gem_shmem_free_object+0xfc/0x108
     panfrost_gem_free_object+0x118/0x128 [panfrost]
     drm_gem_object_free+0x18/0x90
     drm_gem_object_put_unlocked+0x58/0x80
     drm_gem_object_handle_put_unlocked+0x64/0xb0
     drm_gem_object_release_handle+0x70/0x98
     drm_gem_handle_delete+0x64/0xb0
     drm_gem_close_ioctl+0x28/0x38
     drm_ioctl_kernel+0xb8/0x110
     drm_ioctl+0x244/0x3f0
     do_vfs_ioctl+0xbc/0x910
     ksys_ioctl+0x78/0xa8
     __arm64_sys_ioctl+0x1c/0x28
     el0_svc_common.constprop.0+0x88/0x150
     el0_svc_handler+0x28/0x78
     el0_svc+0x8/0xc
     Code: 8a230000 54000060 d50b7e20 14000002 (d5087620)
    
    Fixes: 17acb9f35ed7 ("drm/shmem: Add madvise state and purge helpers")
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Maxime Ripard <maxime.ripard@bootlin.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-5-robh@kernel.org

commit aebe8c22a9121e89cdd5c725f2ebed1ee237ff16
Author: Rob Herring <robh@kernel.org>
Date:   Thu Aug 22 21:12:09 2019 -0500

    drm/panfrost: Fix possible suspend in panfrost_remove
    
    Calls to panfrost_device_fini() access the h/w, but we already done a
    pm_runtime_put_sync_autosuspend() beforehand. This only works if the
    autosuspend delay is long enough. A 0ms delay will hang the system when
    removing the device. Fix this by moving the pm_runtime_put_sync_suspend()
    after the panfrost_device_fini() call.
    
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-2-robh@kernel.org

commit c90f30812a79abeb9f7f0f78e69d314104b825be
Author: Steven Price <steven.price@arm.com>
Date:   Thu Aug 22 10:32:18 2019 +0100

    drm/panfrost: Add missing check for pfdev->regulator
    
    When modifying panfrost_devfreq_target() to support a device without a
    regulator defined I missed the check on the error path. Let's add it.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Fixes: e21dd290881b ("drm/panfrost: Enable devfreq to work without regulator")
    Signed-off-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190822093218.26014-1-steven.price@arm.com

commit 5b8f3df6239c3a9b625ab4bdc69c54d4768a4f06
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 28 16:19:55 2019 +0200

    pagewalk: use lockdep_assert_held for locking validation
    
    Use lockdep to check for held locks instead of using home grown asserts.
    
    Link: https://lore.kernel.org/r/20190828141955.22210-4-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 923bfc561e7535f7dc2be136da75690582268cf2
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 28 16:19:54 2019 +0200

    pagewalk: separate function pointers from iterator data
    
    The mm_walk structure currently mixed data and code.  Split out the
    operations vectors into a new mm_walk_ops structure, and while we are
    changing the API also declare the mm_walk structure inside the
    walk_page_range and walk_page_vma functions.
    
    Based on patch from Linus Torvalds.
    
    Link: https://lore.kernel.org/r/20190828141955.22210-3-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 4e10e8c36663a011f77d39c937aaa473fad90de3
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 28 16:19:53 2019 +0200

    mm: split out a new pagewalk.h header from mm.h
    
    Add a new header for the two handful of users of the walk_page_range /
    walk_page_vma interface instead of polluting all users of mm.h with it.
    
    Link: https://lore.kernel.org/r/20190828141955.22210-2-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 318dd7698a435faad72d9971ddd589aa4c9743f8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Aug 26 22:14:25 2019 +0200

    mm/mmu_notifiers: annotate with might_sleep()
    
    Since mmu notifiers don't exist for many processes, but could block in
    interesting places, add some annotations. This should help make sure the
    core mm keeps up its end of the mmu notifier contract.
    
    The checks here are outside of all notifier checks because of that.
    They compile away without CONFIG_DEBUG_ATOMIC_SLEEP.
    
    Link: https://lore.kernel.org/r/20190826201425.17547-6-daniel.vetter@ffwll.ch
    Suggested-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 45256bbec203e6fc81a23eab24f50b098bbb5e2a
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Aug 26 22:14:22 2019 +0200

    mm/mmu_notifiers: prime lockdep
    
    We want to teach lockdep that mmu notifiers can be called from direct
    reclaim paths, since on many CI systems load might never reach that
    level (e.g. when just running fuzzer or small functional tests).
    
    I've put the annotation into mmu_notifier_register since only when we have
    mmu notifiers registered is there any point in teaching lockdep about
    them. Also, we already have a kmalloc(, GFP_KERNEL), so this is safe.
    
    Link: https://lore.kernel.org/r/20190826201425.17547-3-daniel.vetter@ffwll.ch
    Suggested-by: Jason Gunthorpe <jgg@mellanox.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit d2b219ed03d45a9799e4ba780c209edf9c510d3b
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Aug 26 22:14:21 2019 +0200

    mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end
    
    This is a similar idea to the fs_reclaim fake lockdep lock. It's fairly
    easy to provoke a specific notifier to be run on a specific range: Just
    prep it, and then munmap() it.
    
    A bit harder, but still doable, is to provoke the mmu notifiers for all
    the various callchains that might lead to them. But both at the same time
    is really hard to reliably hit, especially when you want to exercise paths
    like direct reclaim or compaction, where it's not easy to control what
    exactly will be unmapped.
    
    By introducing a lockdep map to tie them all together we allow lockdep to
    see a lot more dependencies, without having to actually hit them in a
    single challchain while testing.
    
    On Jason's suggestion this is is rolled out for both
    invalidate_range_start and invalidate_range_end. They both have the same
    calling context, hence we can share the same lockdep map. Note that the
    annotation for invalidate_ranage_start is outside of the
    mm_has_notifiers(), to make sure lockdep is informed about all paths
    leading to this context irrespective of whether mmu notifiers are present
    for a given context. We don't do that on the invalidate_range_end side to
    avoid paying the overhead twice, there the lockdep annotation is pushed
    down behind the mm_has_notifiers() check.
    
    Link: https://lore.kernel.org/r/20190826201425.17547-2-daniel.vetter@ffwll.ch
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit f0ade90a8aa1ea523eb366d1d1e8bd3463d9cf8a
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 28 16:21:09 2019 +0200

    mm/mmu_notifiers: remove the __mmu_notifier_invalidate_range_start/end exports
    
    No modular code uses these, which makes a lot of sense given the wrappers
    around them are only called by core mm code.
    
    Link: https://lore.kernel.org/r/20190828142109.29012-1-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit e8e4eb0fbeda570b16464208aebf5caccfb6eb95
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Thu Aug 8 20:19:48 2019 +0200

    asm-generic/div64: Fix documentation of do_div() parameter
    
    Contrary to the description, the first parameter (n) should not be passed
    as a pointer, but directly as an lvalue. This is possible because do_div() is
    a macro.
    
    Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lkml.kernel.org/r/20190808181948.27659-1-j.neuschaefer@gmx.net

commit 67d94c21361959668da5b32ba1b1c1d4a3ddba21
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Aug 28 16:34:36 2019 +0200

    ALSA: hda - Update descriptions about new position_fix values
    
    The new values for the recent Intel and AMD chips are missing in the
    documentation.  Add the new descriptions.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 75e46fc02c975f401e70a53ecd55d475081d13a3
Author: Michael Guralnik <michaelgur@mellanox.com>
Date:   Mon Aug 19 15:08:15 2019 +0300

    IB/mlx5: Add page fault handler for DC initiator WQE
    
    Parsing DC initiator WQEs upon page fault requires skipping an address
    vector segment, as in UD WQEs.
    
    Link: https://lore.kernel.org/r/20190819120815.21225-4-leon@kernel.org
    Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 29af94987ba68a0244b73e8a0b051addb8853f93
Author: Michael Guralnik <michaelgur@mellanox.com>
Date:   Mon Aug 19 15:08:14 2019 +0300

    IB/mlx5: Remove check of FW capabilities in ODP page fault handling
    
    As page fault handling is initiated by FW, there is no need to check that
    the ODP supports the operation and transport.
    
    Link: https://lore.kernel.org/r/20190819120815.21225-3-leon@kernel.org
    Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>

commit 6350d0ce1b8ed53ac8d332cda15eb00bd78ee21d
Author: Johannes Thumshirn <jthumshirn@suse.de>
Date:   Mon Jun 3 16:58:59 2019 +0200

    btrfs: add sha256 as another checksum algorithm
    
    Now that we everything in place, we can add SHA-256 as another checksum
    algorithm.
    
    SHA-256 was taken as it was the cryptographically strongest algorithm that
    can fit into the 32 Bytes we have left.
    
    Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit eec947e0991c3b3fe4fb0a842f2d66b1ddb9f983
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Jul 25 14:12:22 2019 +0800

    btrfs: ctree: Checking key orders before merged tree blocks
    
    [BUG]
    With crafted image, btrfs can panic at btrfs_del_csums().
      kernel BUG at fs/btrfs/ctree.c:3188!
      invalid opcode: 0000 [#1] SMP PTI
      CPU: 0 PID: 1156 Comm: btrfs-transacti Not tainted 5.0.0-rc8+ #9
      RIP: 0010:btrfs_set_item_key_safe+0x16c/0x180
      Code: b7 48 8d 7d bf 4c 89 fe 48 89 45 c8 0f b6 45 b6 88 45 c7 48 8b 45 ae 48 89 45 bf e8 ce f2 ff ff 85 c0 0f 8f 48 ff ff ff 0f 0b <0f> 0b e8 dd 8d be ff 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 66 66
      RSP: 0018:ffff976141257ab8 EFLAGS: 00010202
      RAX: 0000000000000001 RBX: ffff898a6b890930 RCX: 0000000004b70000
      RDX: 0000000000000000 RSI: ffff976141257bae RDI: ffff976141257acf
      RBP: ffff976141257b10 R08: 0000000000001000 R09: ffff9761412579a8
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff976141257abe
      R13: 0000000000000003 R14: ffff898a6a8be578 R15: ffff976141257bae
      FS: 0000000000000000(0000) GS:ffff898a77a00000(0000) knlGS:0000000000000000
      CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f779d9cd624 CR3: 000000022b2b4006 CR4: 00000000000206f0
      Call Trace:
      truncate_one_csum+0xac/0xf0
      btrfs_del_csums+0x24f/0x3a0
      __btrfs_free_extent.isra.72+0x5a7/0xbe0
      __btrfs_run_delayed_refs+0x539/0x1120
      btrfs_run_delayed_refs+0xdb/0x1b0
      btrfs_commit_transaction+0x52/0x950
      ? start_transaction+0x94/0x450
      transaction_kthread+0x163/0x190
      kthread+0x105/0x140
      ? btrfs_cleanup_transaction+0x560/0x560
      ? kthread_destroy_worker+0x50/0x50
      ret_from_fork+0x35/0x40
      Modules linked in:
      ---[ end trace 93bf9db00e6c374e ]---
    
    [CAUSE]
    This crafted image has a very tricky key order corruption:
    
      checksum tree key (CSUM_TREE ROOT_ITEM 0)
      node 29741056 level 1 items 14 free 107 generation 19 owner CSUM_TREE
              ...
              key (EXTENT_CSUM EXTENT_CSUM 73785344) block 29757440 gen 19
              key (EXTENT_CSUM EXTENT_CSUM 77594624) block 29753344 gen 19
              ...
    
      leaf 29757440 items 5 free space 150 generation 19 owner CSUM_TREE
              item 0 key (EXTENT_CSUM EXTENT_CSUM 73785344) itemoff 2323 itemsize 1672
                      range start 73785344 end 75497472 length 1712128
              item 1 key (EXTENT_CSUM EXTENT_CSUM 75497472) itemoff 2319 itemsize 4
                      range start 75497472 end 75501568 length 4096
              item 2 key (EXTENT_CSUM EXTENT_CSUM 75501568) itemoff 579 itemsize 1740
                      range start 75501568 end 77283328 length 1781760
              item 3 key (EXTENT_CSUM EXTENT_CSUM 77283328) itemoff 575 itemsize 4
                      range start 77283328 end 77287424 length 4096
              item 4 key (EXTENT_CSUM EXTENT_CSUM 4120596480) itemoff 275 itemsize 300 <<<
                      range start 4120596480 end 4120903680 length 307200
      leaf 29753344 items 3 free space 1936 generation 19 owner CSUM_TREE
              item 0 key (18446744073457893366 EXTENT_CSUM 77594624) itemoff 2323 itemsize 1672
                      range start 77594624 end 79306752 length 1712128
              ...
    
    Note the item 4 key of leaf 29757440, which is obviously too large, and
    even larger than the first key of the next leaf.
    
    However it still follows the key order in that tree block, thus tree
    checker is unable to detect it at read time, since tree checker can only
    work inside a leaf, thus such complex corruption can't be rejected in
    advance.
    
    [FIX]
    The next timing to detect such problem is at tree block merge time,
    which is in push_node_left(), balance_node_right(), push_leaf_left() and
    push_leaf_right().
    
    Now we check if the key order of the right most key of the left node is
    larger than the left most key of the right node.
    
    By this we don't need to call the full tree-check, while still keeps the
    key order correct as key order in each node is already checked by tree
    checker thus we only need to check the above two slots.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=202833
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 6ee09c4f608974cc59fc86296d2c531756062564
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Jul 25 14:12:21 2019 +0800

    btrfs: extent-tree: Kill the BUG_ON() in insert_inline_extent_backref()
    
    [BUG]
    With crafted image, btrfs can panic at insert_inline_extent_backref():
      kernel BUG at fs/btrfs/extent-tree.c:1857!
      invalid opcode: 0000 [#1] SMP PTI
      CPU: 0 PID: 1117 Comm: btrfs-transacti Not tainted 5.0.0-rc8+ #9
      RIP: 0010:insert_inline_extent_backref+0xcc/0xe0
      Code: 45 20 49 8b 7e 50 49 89 d8 4c 8b 4d 10 48 8b 55 c8 4c 89 e1 41 57 4c 89 ee 50 ff 75 18 e8 cc bf ff ff 31 c0 48 83 c4 18 eb b2 <0f> 0b e8 9d df bd ff 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 66 66
      RSP: 0018:ffffac4dc1287be8 EFLAGS: 00010293
      RAX: 0000000000000000 RBX: 0000000000000007 RCX: 0000000000000001
      RDX: 0000000000001000 RSI: 0000000000000000 RDI: 0000000000000000
      RBP: ffffac4dc1287c28 R08: ffffac4dc1287ab8 R09: ffffac4dc1287ac0
      R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
      R13: ffff8febef88a540 R14: ffff8febeaa7bc30 R15: 0000000000000000
      FS: 0000000000000000(0000) GS:ffff8febf7a00000(0000) knlGS:0000000000000000
      CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f663ace94c0 CR3: 0000000235698006 CR4: 00000000000206f0
      Call Trace:
      ? _cond_resched+0x1a/0x50
      __btrfs_inc_extent_ref.isra.64+0x7e/0x240
      ? btrfs_merge_delayed_refs+0xa5/0x330
      __btrfs_run_delayed_refs+0x653/0x1120
      btrfs_run_delayed_refs+0xdb/0x1b0
      btrfs_commit_transaction+0x52/0x950
      ? start_transaction+0x94/0x450
      transaction_kthread+0x163/0x190
      kthread+0x105/0x140
      ? btrfs_cleanup_transaction+0x560/0x560
      ? kthread_destroy_worker+0x50/0x50
      ret_from_fork+0x35/0x40
      Modules linked in:
      ---[ end trace 2ad8b3de903cf825 ]---
    
    [CAUSE]
    Due to extent tree corruption (still valid by itself, but bad cross ref),
    we can allocate an extent which is still in extent tree.
    The offending tree block of that case is from csum tree.
    The newly allocated tree block is also for csum tree.
    
    Then we will try to insert an tree block ref for the existing tree block
    ref.
    
    For btrfs tree extent item, a tree block can never be shared directly by
    the same tree twice.
    We have such BUG_ON() to prevent such problem, but BUG_ON() is
    definitely not good enough.
    
    [FIX]
    Replace that BUG_ON() with proper error message and leaf dump for debug
    build.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=202829
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 8d8ae38ea61b67ad6fdd2946f9994fb4beb2b320
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Jul 25 14:12:20 2019 +0800

    btrfs: Detect unbalanced tree with empty leaf before crashing btree operations
    
    [BUG]
    With crafted image, btrfs will panic at btree operations:
      kernel BUG at fs/btrfs/ctree.c:3894!
      invalid opcode: 0000 [#1] SMP PTI
      CPU: 0 PID: 1138 Comm: btrfs-transacti Not tainted 5.0.0-rc8+ #9
      RIP: 0010:__push_leaf_left+0x6b6/0x6e0
      Code: 00 00 48 98 48 8d 04 80 48 8d 74 80 65 e8 42 5a 04 00 48 8b bd 78 ff ff ff 8b bf 90 d0 00 00 89 7d 98 83 ef 65 e9 06 ff ff ff <0f> 0b 0f 0b 48 8b 85 78 ff ff ff 8b 90 90 d0 00 00 e9 eb fe ff ff
      RSP: 0018:ffffc0bd4128b990 EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffffa0a4ab8f0e38 RCX: 0000000000000000
      RDX: ffffa0a280000000 RSI: 0000000000000000 RDI: ffffa0a4b3814000
      RBP: ffffc0bd4128ba38 R08: 0000000000001000 R09: ffffc0bd4128b948
      R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000240
      R13: ffffa0a4b556fb60 R14: ffffa0a4ab8f0af0 R15: ffffa0a4ab8f0af0
      FS: 0000000000000000(0000) GS:ffffa0a4b7a00000(0000) knlGS:0000000000000000
      CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f2461c80020 CR3: 000000022b32a006 CR4: 00000000000206f0
      Call Trace:
      ? _cond_resched+0x1a/0x50
      push_leaf_left+0x179/0x190
      btrfs_del_items+0x316/0x470
      btrfs_del_csums+0x215/0x3a0
      __btrfs_free_extent.isra.72+0x5a7/0xbe0
      __btrfs_run_delayed_refs+0x539/0x1120
      btrfs_run_delayed_refs+0xdb/0x1b0
      btrfs_commit_transaction+0x52/0x950
      ? start_transaction+0x94/0x450
      transaction_kthread+0x163/0x190
      kthread+0x105/0x140
      ? btrfs_cleanup_transaction+0x560/0x560
      ? kthread_destroy_worker+0x50/0x50
      ret_from_fork+0x35/0x40
      Modules linked in:
      ---[ end trace c2425e6e89b5558f ]---
    
    [CAUSE]
    The offending csum tree looks like this:
    checksum tree key (CSUM_TREE ROOT_ITEM 0)
    node 29741056 level 1 items 14 free 107 generation 19 owner CSUM_TREE
            ...
            key (EXTENT_CSUM EXTENT_CSUM 85975040) block 29630464 gen 17
            key (EXTENT_CSUM EXTENT_CSUM 89911296) block 29642752 gen 17 <<<
            key (EXTENT_CSUM EXTENT_CSUM 92274688) block 29646848 gen 17
            ...
    
    leaf 29630464 items 6 free space 1 generation 17 owner CSUM_TREE
            item 0 key (EXTENT_CSUM EXTENT_CSUM 85975040) itemoff 3987 itemsize 8
                    range start 85975040 end 85983232 length 8192
            ...
    leaf 29642752 items 0 free space 3995 generation 17 owner 0
                        ^ empty leaf            invalid owner ^
    
    leaf 29646848 items 1 free space 602 generation 17 owner CSUM_TREE
            item 0 key (EXTENT_CSUM EXTENT_CSUM 92274688) itemoff 627 itemsize 3368
                    range start 92274688 end 95723520 length 3448832
    
    So we have a corrupted csum tree where one tree leaf is completely
    empty, causing unbalanced btree, thus leading to unexpected btree
    balance error.
    
    [FIX]
    For this particular case, we handle it in two directions to catch it:
    - Check if the tree block is empty through btrfs_verify_level_key()
      So that invalid tree blocks won't be read out through
      btrfs_search_slot() and its variants.
    
    - Check 0 tree owner in tree checker
      NO tree is using 0 as its tree owner, detect it and reject at tree
      block read time.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=202821
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 7e3c60ecf47f35784d3e19c1e64c6d607f882ffe
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Jul 25 14:12:19 2019 +0800

    btrfs: extent-tree: Kill BUG_ON() in __btrfs_free_extent() and do better comment
    
    __btrfs_free_extent() is one of the best cases to show how optimization
    could make a function hard to read.
    
    In fact __btrfs_free_extent() is only doing two major works:
    1. Reduce the refs number of an extent backref
       Either it's an inlined extent backref (inside EXTENT/METADATA item) or
       a keyed extent backref (SHARED_* item).
       We only need to locate that backref line, either reduce the number or
       remove the backref line completely.
    
    2. Update the refs count in EXTENT/METADATA_ITEM
    
    But in real world, we do it in a complex but somewhat efficient way.
    During step 1), we will try to locate the EXTENT/METADATA_ITEM without
    triggering another btrfs_search_slot() as fast path.
    
    Only when we failed to locate that item, we will trigger another
    btrfs_search_slot() to get that EXTENT/METADATA_ITEM after we
    updated/deleted the backref line.
    
    And we have a lot of restrict check on things like refs_to_drop against
    extent refs and special case check for single ref extent.
    
    All of these results:
    - 7 BUG_ON()s in a single function
      Although all these BUG_ON() are doing correct check, they're super
      easy to get triggered for fuzzed images.
      It's never a good idea to piss the end user.
    
    - Near 300 lines without much useful comments but a lot of hidden
      conditions
      I believe even the author needs several minutes to recall what the
      code is doing
      Not to mention a lot of BUG_ON() conditions needs to go back tens of
      lines to find out why.
    
    This patch address all these problems by:
    - Introduce two examples to show what __btrfs_free_extent() is doing
      One inlined backref case and one keyed case.
      Should cover most cases.
    
    - Kill all BUG_ON()s with proper error message and optional leaf dump
    
    - Add comment to show the overall workflow
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=202819
    [ The report triggers one BUG_ON() in __btrfs_free_extent() ]
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit ef271e612b5fea5708f3180ba57846c154a9d092
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Jul 25 14:12:18 2019 +0800

    btrfs: extent_io: Do extra check for extent buffer read write functions
    
    Although we have start, len check for extent buffer reader/write (e.g.
    read_extent_buffer()), those checks has its limitations:
    - No overflow check
      Values like start = 1024 len = -1024 can still pass the basic
       (start + len) > eb->len check.
    
    - Checks are not consistent
      For read_extent_buffer() we only check (start + len) against eb->len.
      While for memcmp_extent_buffer() we also check start against eb->len.
    
    - Different error reporting mechanism
      We use WARN() in read_extent_buffer() but BUG() in
      memcpy_extent_buffer().
    
    - Still modify memory if the request is obviously wrong
      In read_extent_buffer() even we find (start + len) > eb->len, we still
      call memset(dst, 0, len), which can eaisly cause memory access error
      if start + len overflows.
    
    To address above problems, this patch creates a new common function to
    check such access, check_eb_range().
    - Add overflow check
      This function checks start, start + len against eb->len and overflow
      check.
    
    - Unified checks
    
    - Unified error reports
      Will call WARN() if CONFIG_BTRFS_DEBUG is configured.
      And also do btrfs_warn() message for non-debug build.
    
    - Exit ASAP if check fails
      No more possible memory corruption.
    
    - Add extra comment for @start @len used in those functions
      Even experienced developers sometimes get confused with the @start
      @len with logical address in those functions.
      I'm not sure what's the cause, maybe it's the extent_buffer::start
      naming.
      For now, just add some comment.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=202817
    [ Inspired by above report, the report itself is already addressed ]
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 21113fbc17d6e9c20c5ccc5cdf3488c05a37e5dc
Author: Chris Mason <clm@fb.com>
Date:   Wed Jul 10 12:28:18 2019 -0700

    Btrfs: extent_write_locked_range() should attach inode->i_wb
    
    extent_write_locked_range() is used when we're falling back to buffered
    IO from inside of compression.  It allocates its own wbc and should
    associate it with the inode's i_wb to make sure the IO goes down from
    the correct cgroup.
    
    Signed-off-by: Chris Mason <clm@fb.com>
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 29bc0f7f648a68d9e9b69a7f60e288b188962f53
Author: Chris Mason <clm@fb.com>
Date:   Wed Jul 10 12:28:17 2019 -0700

    Btrfs: use REQ_CGROUP_PUNT for worker thread submitted bios
    
    Async CRCs and compression submit IO through helper threads, which
    means they have IO priority inversions when cgroup IO controllers are
    in use.
    
    This flags all of the writes submitted by btrfs helper threads as
    REQ_CGROUP_PUNT.  submit_bio() will punt these to dedicated per-blkcg
    work items to avoid the priority inversion.
    
    For the compression code, we take a reference on the wbc's blkg css and
    pass it down to the async workers.
    
    For the async crcs, the bio already has the correct css, we just need to
    tell the block layer to use REQ_CGROUP_PUNT.
    
    Signed-off-by: Chris Mason <clm@fb.com>
    Modified-and-reviewed-by: Tejun Heo <tj@kernel.org>
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit c08c353edfbc6a2e86a1a77e6a72fb120ab50cff
Author: Chris Mason <clm@fb.com>
Date:   Wed Jul 10 12:28:16 2019 -0700

    Btrfs: only associate the locked page with one async_cow struct
    
    The btrfs writepages function collects a large range of pages flagged
    for delayed allocation, and then sends them down through the COW code
    for processing.  When compression is on, we allocate one async_cow
    structure for every 512K, and then run those pages through the
    compression code for IO submission.
    
    writepages starts all of this off with a single page, locked by
    the original call to extent_write_cache_pages(), and it's important to
    keep track of this page because it has already been through
    clear_page_dirty_for_io().
    
    The btrfs async_cow struct has a pointer to the locked_page, and when
    we're redirtying the page because compression had to fallback to
    uncompressed IO, we use page->index to decide if a given async_cow
    struct really owns that page.
    
    But, this is racey.  If a given delalloc range is broken up into two
    async_cows (cow_A and cow_B), we can end up with something like this:
    
    compress_file_range(cowA)
    submit_compress_extents(cowA)
    submit compressed bios(cowA)
    put_page(locked_page)
    
                                    compress_file_range(cowB)
                                    ...
    
    The end result is that cowA is completed and cleaned up before cowB even
    starts processing.  This means we can free locked_page() and reuse it
    elsewhere.  If we get really lucky, it'll have the same page->index in
    its new home as it did before.
    
    While we're processing cowB, we might decide we need to fall back to
    uncompressed IO, and so compress_file_range() will call
    __set_page_dirty_nobufers() on cowB->locked_page.
    
    Without cgroups in use, this creates as a phantom dirty page, which
    isn't great but isn't the end of the world.  With cgroups in use, we
    might crash in the accounting code because page->mapping->i_wb isn't
    set.
    
    [ 8308.523110] BUG: unable to handle kernel NULL pointer dereference at 00000000000000d0
    [ 8308.531084] IP: percpu_counter_add_batch+0x11/0x70
    [ 8308.538371] PGD 66534e067 P4D 66534e067 PUD 66534f067 PMD 0
    [ 8308.541750] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    [ 8308.551948] CPU: 16 PID: 2172 Comm: rm Not tainted
    [ 8308.566883] RIP: 0010:percpu_counter_add_batch+0x11/0x70
    [ 8308.567891] RSP: 0018:ffffc9000a97bbe0 EFLAGS: 00010286
    [ 8308.568986] RAX: 0000000000000005 RBX: 0000000000000090 RCX: 0000000000026115
    [ 8308.570734] RDX: 0000000000000030 RSI: ffffffffffffffff RDI: 0000000000000090
    [ 8308.572543] RBP: 0000000000000000 R08: fffffffffffffff5 R09: 0000000000000000
    [ 8308.573856] R10: 00000000000260c0 R11: ffff881037fc26c0 R12: ffffffffffffffff
    [ 8308.580099] R13: ffff880fe4111548 R14: ffffc9000a97bc90 R15: 0000000000000001
    [ 8308.582520] FS:  00007f5503ced480(0000) GS:ffff880ff7200000(0000) knlGS:0000000000000000
    [ 8308.585440] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 8308.587951] CR2: 00000000000000d0 CR3: 00000001e0459005 CR4: 0000000000360ee0
    [ 8308.590707] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 8308.592865] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 8308.594469] Call Trace:
    [ 8308.595149]  account_page_cleaned+0x15b/0x1f0
    [ 8308.596340]  __cancel_dirty_page+0x146/0x200
    [ 8308.599395]  truncate_cleanup_page+0x92/0xb0
    [ 8308.600480]  truncate_inode_pages_range+0x202/0x7d0
    [ 8308.617392]  btrfs_evict_inode+0x92/0x5a0
    [ 8308.619108]  evict+0xc1/0x190
    [ 8308.620023]  do_unlinkat+0x176/0x280
    [ 8308.621202]  do_syscall_64+0x63/0x1a0
    [ 8308.623451]  entry_SYSCALL_64_after_hwframe+0x42/0xb7
    
    The fix here is to make asyc_cow->locked_page NULL everywhere but the
    one async_cow struct that's allowed to do things to the locked page.
    
    Signed-off-by: Chris Mason <clm@fb.com>
    Fixes: 771ed689d2cd ("Btrfs: Optimize compressed writeback and reads")
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit e1353c578b59f5d90d786d34c86e8fa6681430ed
Author: Chris Mason <clm@fb.com>
Date:   Wed Jul 10 12:28:15 2019 -0700

    Btrfs: delete the entire async bio submission framework
    
    Now that we're not using btrfs_schedule_bio() anymore, delete all the
    code that supported it.
    
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 8a33f02c3fb602decf3f28b3c366d9375114a6ff
Author: Chris Mason <clm@fb.com>
Date:   Wed Jul 10 12:28:14 2019 -0700

    Btrfs: stop using btrfs_schedule_bio()
    
    btrfs_schedule_bio() hands IO off to a helper thread to do the actual
    submit_bio() call.  This has been used to make sure async crc and
    compression helpers don't get stuck on IO submission.  To maintain good
    performance, over time the IO submission threads duplicated some IO
    scheduler characteristics such as high and low priority IOs and they
    also made some ugly assumptions about request allocation batch sizes.
    
    All of this cost at least one extra context switch during IO submission,
    and doesn't fit well with the modern blkmq IO stack.  So, this commit stops
    using btrfs_schedule_bio().  We may need to adjust the number of async
    helper threads for crcs and compression, but long term it's a better
    path.
    
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit de37970b3636bfef01bd96529b851babc24517a9
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Aug 22 15:25:00 2019 +0800

    btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
    
    The state is introduced in commit 4a9d8bdee368 ("Btrfs: make the state
    of the transaction more readable"), then in commit 302167c50b32
    ("btrfs: don't end the transaction for delayed refs in throttle") the
    state is completely removed.
    
    So we can just clean up the state since it's only compared but never
    set.
    
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 680407965a133d060dbad6acd27963c8c590957d
Author: Qu Wenruo <wqu@suse.com>
Date:   Thu Aug 22 15:24:59 2019 +0800

    btrfs: transaction: Add comment for btrfs transaction lifespan
    
    Just a overview of the basic btrfs transaction lifespan, including the
    following states:
    - No transaction states
    - Transaction N [[TRANS_STATE_RUNNING]]
    - Transaction N [[TRANS_STATE_COMMIT_START]]
    - Transaction N [[TRANS_STATE_COMMIT_DOING]]
    - Transaction N [[TRANS_STATE_UNBLOCKED]]
    - Transaction N [[TRANS_STATE_COMPLETED]]
    
    For each states, the comment will include:
    - Basic explaination about current state
    - How to go next stage
    - What will happen if we call variant start_transaction() functions
    - Relationship to transaction N+1
    
    This doesn't provide much tech details, but just a cheat sheet for
    reader to get into the code a little easier.
    
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 03570b8126bc8384b92a0e2890654d17686f1cca
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:19:04 2019 -0400

    btrfs: add enospc debug messages for ticket failure
    
    When debugging weird enospc problems it's handy to be able to dump the
    space info when we wake up all tickets, and see what the ticket values
    are.  This helped me figure out cases where we were enospc'ing when we
    shouldn't have been.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit ea44a14e86087ee48376ad569258dc9807310998
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:19:03 2019 -0400

    btrfs: do not account global reserve in can_overcommit
    
    We ran into a problem in production where a box with plenty of space was
    getting wedged doing ENOSPC flushing.  These boxes only had 20% of the
    disk allocated, but their metadata space + global reserve was right at
    the size of their metadata chunk.
    
    In this case can_overcommit should be allowing allocations without
    problem, but there's logic in can_overcommit that doesn't allow us to
    overcommit if there's not enough real space to satisfy the global
    reserve.
    
    This is for historical reasons.  Before there were only certain places
    we could allocate chunks.  We could go to commit the transaction and not
    have enough space for our pending delayed refs and such and be unable to
    allocate a new chunk.  This would result in a abort because of ENOSPC.
    This code was added to solve this problem.
    
    However since then we've gained the ability to always be able to
    allocate a chunk.  So we can easily overcommit in these cases without
    risking a transaction abort because of ENOSPC.
    
    Also prior to now the global reserve really would be used because that's
    the space we relied on for delayed refs.  With delayed refs being
    tracked separately we no longer have to worry about running out of
    delayed refs space while committing.  We are much less likely to
    exhaust our global reserve space during transaction commit.
    
    Fix the can_overcommit code to simply see if our current usage + what we
    want is less than our current free space plus whatever slack space we
    have in the disk is.  This solves the problem we were seeing in
    production and keeps us from flushing as aggressively as we approach our
    actual metadata size usage.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 14ca778ffa232c63b8d83a48a422ab8b9e661598
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:19:02 2019 -0400

    btrfs: use btrfs_try_granting_tickets in update_global_rsv
    
    We have some annoying xfstests tests that will create a very small fs,
    fill it up, delete it, and repeat to make sure everything works right.
    This trips btrfs up sometimes because we may commit a transaction to
    free space, but most of the free metadata space was being reserved by
    the global reserve.  So we commit and update the global reserve, but the
    space is simply added to bytes_may_use directly, instead of trying to
    add it to existing tickets.  This results in ENOSPC when we really did
    have space.  Fix this by calling btrfs_try_granting_tickets once we add
    back our excess space to wake any pending tickets.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 002d0c8552ab2c05ef1136987a612c461e3135c5
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:19:01 2019 -0400

    btrfs: always reserve our entire size for the global reserve
    
    While messing with the overcommit logic I noticed that sometimes we'd
    ENOSPC out when really we should have run out of space much earlier.  It
    turns out it's because we'll only reserve up to the free amount left in
    the space info for the global reserve, but that doesn't make sense with
    overcommit because we could be well above our actual size.  This results
    in the global reserve not carving out it's entire reservation, and thus
    not putting enough pressure on the rest of the infrastructure to do the
    right thing and ENOSPC out at a convenient time.  Fix this by always
    taking our full reservation amount for the global reserve.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 3ae92b3782182d282a92573abe95c96d34ca6e73
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:19:00 2019 -0400

    btrfs: change the minimum global reserve size
    
    It made sense to have the global reserve set at 16M in the past, but
    since it is used less nowadays set the minimum size to the number of
    items we'll need to update the main trees we update during a transaction
    commit, plus some slop area so we can do unlinks if we need to.
    
    In practice this doesn't affect normal file systems, but for xfstests
    where we do things like fill up a fs and then rm * it can fall over in
    weird ways.  This enables us for more sane behavior at extremely small
    file system sizes.
    
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit d8c9054ce036903552956c7921ebdbcaedbc673f
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:11:02 2019 -0400

    btrfs: rename btrfs_space_info_add_old_bytes
    
    This name doesn't really fit with how the space reservation stuff works
    now, rename it to btrfs_space_info_free_bytes_may_use so it's clear what
    the function is doing.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit f10d2305e9acc586c74e6d66655534f352c0cd6c
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:11:01 2019 -0400

    btrfs: remove orig_bytes from reserve_ticket
    
    Now that we do not do partial filling of tickets simply remove
    orig_bytes, it is no longer needed.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 70b2ab4990ca5a1ee1b857bca2611a96cf7e630f
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:11:00 2019 -0400

    btrfs: fix may_commit_transaction to deal with no partial filling
    
    Now that we aren't partially filling tickets we may have some slack
    space left in the space_info.  We need to account for this in
    may_commit_transaction, otherwise we may choose to not commit the
    transaction despite it actually having enough space to satisfy our
    ticket.
    
    Calculate the free space we have in the space_info, if any, and subtract
    this from the ticket we have and use that amount to determine if we will
    need to commit to reclaim enough space.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 5ab178e94efacc19b757d11f15ae21abe7bf00f7
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:59 2019 -0400

    btrfs: rework wake_all_tickets
    
    Now that we no longer partially fill tickets we need to rework
    wake_all_tickets to call btrfs_try_to_wakeup_tickets() in order to see
    if any subsequent tickets are able to be satisfied.  If our tickets_id
    changes we know something happened and we can keep flushing.
    
    Also if we find a ticket that is smaller than the first ticket in our
    queue then we want to retry the flushing loop again in case
    may_commit_transaction() decides we could satisfy the ticket by
    committing the transaction.
    
    Rename this to maybe_fail_all_tickets() while we're at it, to better
    reflect what the function is actually doing.
    
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 3c6fbd22afa83cb883553b1c4f0e07ac2d0c30c8
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:58 2019 -0400

    btrfs: refactor the ticket wakeup code
    
    Now that btrfs_space_info_add_old_bytes simply checks if we can make the
    reservation and updates bytes_may_use, there's no reason to have both
    helpers in place.
    
    Factor out the ticket wakeup logic into it's own helper, make
    btrfs_space_info_add_old_bytes() update bytes_may_use and then call the
    wakeup helper, and replace all calls to btrfs_space_info_add_new_bytes()
    with the wakeup helper.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 2b440fb2f677d8c581305c2fec3cf38dd546aee8
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:57 2019 -0400

    btrfs: rework btrfs_space_info_add_old_bytes
    
    If there are pending tickets and we are overcommitted we will simply
    return free'd reservations to space_info->bytes_may_use if we cannot
    overcommit any more.  This is problematic because we assume any free
    space would have been added to the tickets, and so if we go from an
    overcommitted state to not overcommitted we could have plenty of space
    in our space_info but be unable to make progress on our tickets because
    we only refill tickets from previous reservations.
    
    Consider the following example.  We were allowed to overcommit to
    space_info->total_bytes + 2mib.  Now we've allocated all of our chunks
    and are no longer allowed to overcommit those extra 2mib.  Assume there
    is a 3mib reservation we are now freeing.  Because we can no longer
    overcommit we do not partially refill the ticket with the 3mib, instead
    we subtract it from space_info->bytes_may_use.  Now the total reserved
    space is 1mib less than total_bytes, meaning we have 1mib of space we
    could reserve.  Now assume that our ticket is 2mib, and we only have
    1mib of space to reclaim, so we have a partial refilling to 1mib.  We
    keep trying to flush and eventually give up and ENOSPC the ticket, when
    there was the remaining 1mib left in the space_info for usage.
    
    Instead of doing this partial filling of tickets dance we need to simply
    add our space to the space_info, and then do the normal check to see if
    we can satisfy the whole reservation.  If we can then we wake up the
    ticket and carry on.  This solves the above problem and makes it much
    more straightforward to understand how the tickets are satisfied.
    
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit e5a047c6fb50842486818a2cae7b46ca4a419d62
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:56 2019 -0400

    btrfs: add space reservation tracepoint for reserved bytes
    
    I noticed when folding the trace_btrfs_space_reservation() tracepoint
    into the btrfs_space_info_update_* helpers that we didn't emit a
    tracepoint when doing btrfs_add_reserved_bytes().  I know this is
    because we were swapping bytes_may_use for bytes_reserved, so in my mind
    there was no reason to have the tracepoint there.  But now there is
    because we always emit the unreserve for the bytes_may_use side, and
    this would have broken if compression was on anyway.  Add a tracepoint
    to cover the bytes_reserved counter so the math still comes out right.
    
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 2dc70e4c48d71953dbe9f5dfc99023a4a71da746
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:55 2019 -0400

    btrfs: roll tracepoint into btrfs_space_info_update helper
    
    We duplicate this tracepoint everywhere we call these helpers, so update
    the helper to have the tracepoint as well.
    
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 8d03977706c03ab320993d655ee2014d4fe125f6
Author: Josef Bacik <josef@toxicpanda.com>
Date:   Thu Aug 22 15:10:54 2019 -0400

    btrfs: do not allow reservations if we have pending tickets
    
    If we already have tickets on the list we don't want to steal their
    reservations.  This is a preparation patch for upcoming changes,
    technically this shouldn't happen today because of the way we add bytes
    to tickets before adding them to the space_info in most cases.
    
    This does not change the FIFO nature of reserve tickets, it simply
    allows us to enforce it in a different way.  Previously it was enforced
    because any new space would be added to the first ticket on the list,
    which would result in new reservations getting a reserve ticket.  This
    replaces that mechanism by simply checking to see if we have outstanding
    reserve tickets and skipping straight to adding a ticket for our
    reservation.
    
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 592a7c5e082e237c7508f37b2c3494a731acad88
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Fri Aug 9 17:56:53 2019 +0300

    drm/i915: Extend non readable mcr range
    
    Our current avoidance of non readable mcr range was not
    inclusive enough. Extend the start and end.
    
    References: HSDES#1405586840
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190809145653.2279-1-mika.kuoppala@linux.intel.com

commit 7a786b84790789eff5bad49e3f6c15f75b7bf691
Author: Matthew Michilot <matthew.michilot@gmail.com>
Date:   Thu Aug 15 17:40:54 2019 +0000

    USB: serial: ftdi_sio: add support for FT232H CBUS gpios
    
    Enable support for cbus gpios on FT232H. The cbus configuration is
    stored in two words in the EEPROM at byte-offset 0x1a with the mux
    config for ACBUS5, ACBUS6, ACBUS8 and ACBUS9 (only pins that can be
    configured as I/O mode).
    
    Tested using FT232H by configuring one ACBUS pin at a time.
    
    Reviewed-by: Tim Harvey <tharvey@gateworks.com>
    Signed-off-by: Matthew Michilot <matthew.michilot@gmail.com>
    [ johan: fix copy-paste error in commit message ]
    Signed-off-by: Johan Hovold <johan@kernel.org>

commit 3724e186fead350d1446d5202cd92fa6250bffda
Author: Joakim Zhang <qiangqing.zhang@nxp.com>
Date:   Wed Aug 28 12:07:56 2019 +0000

    docs/perf: Add documentation for the i.MX8 DDR PMU
    
    Add some documentation describing the DDR PMU residing in the Freescale
    i.MDX SoC and its perf driver implementation in Linux.
    
    Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
    Signed-off-by: Will Deacon <will@kernel.org>

commit 7ce2e76a0420801fb4b53b9e6850940e6b326433
Author: Krzysztof Wilczynski <kw@linux.com>
Date:   Tue Aug 27 11:56:20 2019 +0200

    PCI: Move ASPM declarations to linux/pci.h
    
    Move ASPM definitions and function prototypes from include/linux/pci-aspm.h
    to include/linux/pci.h so users only need to include <linux/pci.h>:
    
      PCIE_LINK_STATE_L0S
      PCIE_LINK_STATE_L1
      PCIE_LINK_STATE_CLKPM
      pci_disable_link_state()
      pci_disable_link_state_locked()
      pcie_no_aspm()
    
    No functional changes intended.
    
    Link: https://lore.kernel.org/r/20190827095620.11213-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 0a56e0603fa13af08816d673f6f71b68cda2fb2e
Author: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Date:   Tue Aug 27 12:44:58 2019 +0530

    perf arch powerpc: Sync powerpc syscall.tbl
    
    Copy over powerpc syscall.tbl to grab changes from the below commits:
    
      commit cee3536d24a1 ("powerpc: Wire up clone3 syscall")
      commit 1a271a68e030 ("arch: mark syscall number 435 reserved for clone3")
      commit 7615d9e1780e ("arch: wire-up pidfd_open()")
      commit d8076bdb56af ("uapi: Wire up the mount API syscalls on non-x86 arches [ver #2]")
      commit 39036cd27273 ("arch: add pidfd and io_uring syscalls everywhere")
      commit 48166e6ea47d ("y2038: add 64-bit time_t syscalls to all 32-bit architectures")
      commit d33c577cccd0 ("y2038: rename old time and utime syscalls")
      commit 00bf25d693e7 ("y2038: use time32 syscall names on 32-bit")
      commit 8dabe7245bbc ("y2038: syscalls: rename y2038 compat syscalls")
      commit 0d6040d46817 ("arch: add split IPC system calls where needed")
    
    Reported-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/20190827071458.19897-1-naveen.n.rao@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

commit f2902a2fb40c589b886d21518ef8a1ee87f76b0c
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Aug 14 15:22:30 2019 +0200

    powerpc: use the generic dma coherent remap allocator
    
    This switches to using common code for the DMA allocations, including
    potential use of the CMA allocator if configured.
    
    Switching to the generic code enables DMA allocations from atomic
    context, which is required by the DMA API documentation, and also
    adds various other minor features drivers start relying upon.  It
    also makes sure we have on tested code base for all architectures
    that require uncached pte bits for coherent DMA allocations.
    
    Another advantage is that consistent memory allocations now share
    the general vmalloc pool instead of needing an explicit careout
    from it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Tested-by: Christophe Leroy <christophe.leroy@c-s.fr> # tested on 8xx
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190814132230.31874-2-hch@lst.de

commit 555e28179d37e431e97d78d106fc917bec2c6f93
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Tue Aug 27 13:30:07 2019 +1000

    powerpc/64: remove support for kernel-mode syscalls
    
    There is support for the kernel to execute the 'sc 0' instruction and
    make a system call to itself. This is a relic that is unused in the
    tree, therefore untested. It's also highly questionable for modules to
    be doing this.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190827033010.28090-3-npiggin@gmail.com

commit facd04a904ff6cdc6ee85d6e85d500f478a1bec4
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Tue Aug 27 13:30:06 2019 +1000

    powerpc: convert to copy_thread_tls
    
    Commit 3033f14ab78c3 ("clone: support passing tls argument via C rather
    than pt_regs magic") introduced the HAVE_COPY_THREAD_TLS option. Use it
    to avoid a subtle assumption about the argument ordering of clone type
    syscalls.
    
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190827033010.28090-2-npiggin@gmail.com

commit c7bf1252d5b3891b4ab7072b240a8422fb9da793
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Mon Aug 26 15:52:19 2019 +0000

    powerpc/32: don't use CPU_FTR_COHERENT_ICACHE
    
    Only 601 and E200 have CPU_FTR_COHERENT_ICACHE.
    
    Just use #ifdefs instead of feature fixup.
    
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/5f3e92ccd64d06477b27626f6007a9da3b8da157.1566834712.git.christophe.leroy@c-s.fr

commit e0291f1decd6e8d447067f7d2cf01b1091b7cb3f
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Mon Aug 26 15:52:18 2019 +0000

    powerpc/32: drop CPU_FTR_UNIFIED_ID_CACHE
    
    Only 601 and e200 have unified I/D cache.
    
    Drop the feature and use CONFIG_PPC_BOOK3S_601 and CONFIG_E200.
    
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/b5902144266d2f4eed1ffea53915bd0245841e02.1566834712.git.christophe.leroy@c-s.