Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge/20190723 #1093

Merged
merged 10,000 commits into from
Jul 30, 2019
Merged

Merge/20190723 #1093

merged 10,000 commits into from
Jul 30, 2019
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jul 18, 2019

  1. selftests/bpf: fix test_xdp_noinline on s390

    test_xdp_noinline fails on s390 due to a handful of endianness issues.
    Use ntohs for parsing eth_proto.
    Replace bswaps with ntohs/htons.
    
    Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Acked-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    iii-i authored and Alexei Starovoitov committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    59fd348 View commit details
    Browse the repository at this point in the history
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

    Alexei Starovoitov says:
    
    ====================
    pull-request: bpf 2019-07-18
    
    The following pull-request contains BPF updates for your *net* tree.
    
    The main changes are:
    
    1) verifier precision propagation fix, from Andrii.
    
    2) BTF size fix for typedefs, from Andrii.
    
    3) a bunch of big endian fixes, from Ilya.
    
    4) wide load from bpf_sock_addr fixes, from Stanislav.
    
    5) a bunch of misc fixes from a number of developers.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    bb74523 View commit details
    Browse the repository at this point in the history
  3. sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT

    Add a new entry to the preemption menu which enables the real-time support
    for the kernel. The choice is only enabled when an architecture supports
    it.
    
    It selects PREEMPT as the RT features depend on it. To achieve that the
    existing PREEMPT choice is renamed to PREEMPT_LL which select PREEMPT as
    well.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Paul E. McKenney <paulmck@linux.ibm.com>
    Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Acked-by: Clark Williams <williams@redhat.com>
    Acked-by: Daniel Bristot de Oliveira <bristot@redhat.com>
    Acked-by: Frederic Weisbecker <frederic@kernel.org>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Marc Zyngier <marc.zyngier@arm.com>
    Acked-by: Daniel Wagner <wagi@monom.org>
    Acked-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
    Acked-by: Julia Cartwright <julia@ni.com>
    Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
    Acked-by: Gratian Crisan <gratian.crisan@ni.com>
    Acked-by: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: Andrew Morton <akpm@linuxfoundation.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Tejun Heo <tj@kernel.org>
    Link: http://lkml.kernel.org/r/alpine.DEB.2.21.1907172200190.1778@nanos.tec.linutronix.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    KAGA-KOKO authored and Ingo Molnar committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    a50a3f4 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'nfs-for-5.3-1' of git://git.linux-nfs.org/projects/trondmy…

    …/linux-nfs
    
    Pull NFS client updates from Trond Myklebust:
     "Highlights include:
    
      Stable fixes:
    
       - SUNRPC: Ensure bvecs are re-synced when we re-encode the RPC
         request
    
       - Fix an Oops in ff_layout_track_ds_error due to a PTR_ERR()
         dereference
    
       - Revert buggy NFS readdirplus optimisation
    
       - NFSv4: Handle the special Linux file open access mode
    
       - pnfs: Fix a problem where we gratuitously start doing I/O through
         the MDS
    
      Features:
    
       - Allow NFS client to set up multiple TCP connections to the server
         using a new 'nconnect=X' mount option. Queue length is used to
         balance load.
    
       - Enhance statistics reporting to report on all transports when using
         multiple connections.
    
       - Speed up SUNRPC by removing bh-safe spinlocks
    
       - Add a mechanism to allow NFSv4 to request that containers set a
         unique per-host identifier for when the hostname is not set.
    
       - Ensure NFSv4 updates the lease_time after a clientid update
    
      Bugfixes and cleanup:
    
       - Fix use-after-free in rpcrdma_post_recvs
    
       - Fix a memory leak when nfs_match_client() is interrupted
    
       - Fix buggy file access checking in NFSv4 open for execute
    
       - disable unsupported client side deduplication
    
       - Fix spurious client disconnections
    
       - Fix occasional RDMA transport deadlock
    
       - Various RDMA cleanups
    
       - Various tracepoint fixes
    
       - Fix the TCP callback channel to guarantee the server can actually
         send the number of callback requests that was negotiated at mount
         time"
    
    * tag 'nfs-for-5.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (68 commits)
      pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS
      pnfs: Fix a problem where we gratuitously start doing I/O through the MDS
      SUNRPC: Optimise transport balancing code
      SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request
      pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error
      NFSv4: Don't use the zero stateid with layoutget
      SUNRPC: Fix up backchannel slot table accounting
      SUNRPC: Fix initialisation of struct rpc_xprt_switch
      SUNRPC: Skip zero-refcount transports
      SUNRPC: Replace division by multiplication in calculation of queue length
      NFSv4: Validate the stateid before applying it to state recovery
      nfs4.0: Refetch lease_time after clientid update
      nfs4: Rename nfs41_setup_state_renewal
      nfs4: Make nfs4_proc_get_lease_time available for nfs4.0
      nfs: Fix copy-and-paste error in debug message
      NFS: Replace 16 seq_printf() calls by seq_puts()
      NFS: Use seq_putc() in nfs_show_stats()
      Revert "NFS: readdirplus optimization by cache mechanism" (memleak)
      SUNRPC: Fix transport accounting when caller specifies an rpc_xprt
      NFS: Record task, client ID, and XID in xdr_status trace points
      ...
    torvalds committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    6860c98 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'for-5.3/dm-changes-2' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/device-mapper/linux-dm
    
    Pull more device mapper updates from Mike Snitzer:
    
     - Fix zone state management race in DM zoned target by eliminating the
       unnecessary DMZ_ACTIVE state.
    
     - A couple fixes for issues the DM snapshot target's optional discard
       support added during first week of the 5.3 merge.
    
     - Increase default size of outstanding IO that is allowed for a each
       dm-kcopyd client and introduce tunable to allow user adjust.
    
     - Update DM core to use printk ratelimiting functions rather than
       duplicate them and in doing so fix an issue where DMDEBUG_LIMIT()
       rate limited KERN_DEBUG messages had excessive "callbacks suppressed"
       messages.
    
    * tag 'for-5.3/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm: use printk ratelimiting functions
      dm kcopyd: Increase default sub-job size to 512KB
      dm snapshot: fix oversights in optional discard support
      dm zoned: fix zone state management race
    torvalds committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    3bfe1fc View commit details
    Browse the repository at this point in the history
  6. smb3: optimize open to not send query file internal info

    We can cut one third of the traffic on open by not querying the
    inode number explicitly via SMB3 query_info since it is now
    returned on open in the qfid context.
    
    This is better in multiple ways, and
    speeds up file open about 10% (more if network is slow).
    
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Steve French committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    89a5bfa View commit details
    Browse the repository at this point in the history
  7. cifs: flush before set-info if we have writeable handles

    Servers can defer destaging any data and updating the mtime until close().
    This means that if we do a setinfo to modify the mtime while other handles
    are open for write the server may overwrite our setinfo timestamps when
    if flushes the file on close() of the writeable handle.
    
    To solve this we add an explicit flush when the mtime is about to
    be updated.
    
    This fixes "cp -p" to preserve mtime when copying a file onto an SMB2 share.
    
    CC: Stable <stable@vger.kernel.org>
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Ronnie Sahlberg authored and Steve French committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    aa08185 View commit details
    Browse the repository at this point in the history
  8. cifs: update internal module number

    To 2.21
    
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Steve French committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    2a957ac View commit details
    Browse the repository at this point in the history
  9. gve: replace kfree with kvfree

    Variables allocated by kvzalloc should not be freed by kfree.
    Because they may be allocated by vmalloc.
    So we replace kfree with kvfree here.
    
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    WillLester authored and davem330 committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    8ec1e90 View commit details
    Browse the repository at this point in the history
  10. net: dsa: sja1105: Fix missing unlock on error in sk_buff()

    Add the missing unlock before return from function sk_buff()
    in the error handling case.
    
    Fixes: f3097be ("net: dsa: sja1105: Add a state machine for RX timestamping")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
    Reviewed-by: Vivien Didelot <vivien.didelot@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Wei Yongjun authored and davem330 committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    008cfba View commit details
    Browse the repository at this point in the history
  11. bnxt_en: Fix VNIC accounting when enabling aRFS on 57500 chips.

    Unlike legacy chips, 57500 chips don't need additional VNIC resources
    for aRFS/ntuple.  Fix the code accordingly so that we don't reserve
    and allocate additional VNICs on 57500 chips.  Without this patch,
    the driver is failing to initialize when it tries to allocate extra
    VNICs.
    
    Fixes: ac33906 ("bnxt_en: Add support for aRFS on 57500 chips.")
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Michael Chan authored and davem330 committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    9b3d15e View commit details
    Browse the repository at this point in the history
  12. usb: qmi_wwan: add D-Link DWM-222 A2 device ID

    Signed-off-by: Rogan Dawes <rogan@dawes.za.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    RoganDawes authored and davem330 committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    7d60530 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2019

  1. mm/memory_hotplug: simplify and fix check_hotplug_memory_range()

    Patch series "mm/memory_hotplug: Factor out memory block devicehandling", v3.
    
    We only want memory block devices for memory to be onlined/offlined
    (add/remove from the buddy).  This is required so user space can
    online/offline memory and kdump gets notified about newly onlined
    memory.
    
    Let's factor out creation/removal of memory block devices.  This helps
    to further cleanup arch_add_memory/arch_remove_memory() and to make
    implementation of new features easier - especially sub-section memory
    hot add from Dan.
    
    Anshuman Khandual is currently working on arch_remove_memory().  I added
    a temporary solution via "arm64/mm: Add temporary arch_remove_memory()
    implementation", that is sufficient as a firsts tep in the context of
    this series.  (we don't cleanup page tables in case anything goes wrong
    already)
    
    Did a quick sanity test with DIMM plug/unplug, making sure all devices
    and sysfs links properly get added/removed.  Compile tested on s390x and
    x86-64.
    
    This patch (of 11):
    
    By converting start and size to page granularity, we actually ignore
    unaligned parts within a page instead of properly bailing out with an
    error.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-2-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    cec3ebd View commit details
    Browse the repository at this point in the history
  2. s390x/mm: fail when an altmap is used for arch_add_memory()

    ZONE_DEVICE is not yet supported, fail if an altmap is passed, so we
    don't forget arch_add_memory()/arch_remove_memory() when unlocking
    support.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-3-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Suggested-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    973de24 View commit details
    Browse the repository at this point in the history
  3. s390x/mm: implement arch_remove_memory()

    Will come in handy when wanting to handle errors after
    arch_add_memory().
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-4-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    18c8650 View commit details
    Browse the repository at this point in the history
  4. arm64/mm: add temporary arch_remove_memory() implementation

    A proper arch_remove_memory() implementation is on its way, which also
    cleanly removes page tables in arch_add_memory() in case something goes
    wrong.
    
    As we want to use arch_remove_memory() in case something goes wrong
    during memory hotplug after arch_add_memory() finished, let's add a
    temporary hack that is sufficient enough until we get a proper
    implementation that cleans up page table entries.
    
    We will remove CONFIG_MEMORY_HOTREMOVE around this code in follow up
    patches.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-5-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: Yu Zhao <yuzhao@google.com>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    22eb634 View commit details
    Browse the repository at this point in the history
  5. drivers/base/memory: pass a block_id to init_memory_block()

    We'll rework hotplug_memory_register() shortly, so it no longer consumes
    pass a section.
    
    [cai@lca.pw: fix a compilation warning]
      Link: http://lkml.kernel.org/r/1559320186-28337-1-git-send-email-cai@lca.pw
    Link: http://lkml.kernel.org/r/20190527111152.16324-6-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Signed-off-by: Qian Cai <cai@lca.pw>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    1811582 View commit details
    Browse the repository at this point in the history
  6. mm/memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_H…

    …OTREMOVE
    
    We want to improve error handling while adding memory by allowing to use
    arch_remove_memory() and __remove_pages() even if
    CONFIG_MEMORY_HOTREMOVE is not set to e.g., implement something like:
    
    	arch_add_memory()
    	rc = do_something();
    	if (rc) {
    		arch_remove_memory();
    	}
    
    We won't get rid of CONFIG_MEMORY_HOTREMOVE for now, as it will require
    quite some dependencies for memory offlining.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-7-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    80ec922 View commit details
    Browse the repository at this point in the history
  7. mm/memory_hotplug: create memory block devices after arch_add_memory()

    Only memory to be added to the buddy and to be onlined/offlined by user
    space using /sys/devices/system/memory/...  needs (and should have!)
    memory block devices.
    
    Factor out creation of memory block devices.  Create all devices after
    arch_add_memory() succeeded.  We can later drop the want_memblock
    parameter, because it is now effectively stale.
    
    Only after memory block devices have been added, memory can be onlined
    by user space.  This implies, that memory is not visible to user space
    at all before arch_add_memory() succeeded.
    
    While at it
     - use WARN_ON_ONCE instead of BUG_ON in moved unregister_memory()
     - introduce find_memory_block_by_id() to search via block id
     - Use find_memory_block_by_id() in init_memory_block() to catch
       duplicates
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-8-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    db051a0 View commit details
    Browse the repository at this point in the history
  8. mm/memory_hotplug: drop MHP_MEMBLOCK_API

    No longer needed, the callers of arch_add_memory() can handle this
    manually.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-9-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    05f800a View commit details
    Browse the repository at this point in the history
  9. mm/memory_hotplug: remove memory block devices before arch_remove_mem…

    …ory()
    
    Let's factor out removing of memory block devices, which is only
    necessary for memory added via add_memory() and friends that created
    memory block devices.  Remove the devices before calling
    arch_remove_memory().
    
    This finishes factoring out memory block device handling from
    arch_add_memory() and arch_remove_memory().
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-10-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    4c4b7f9 View commit details
    Browse the repository at this point in the history
  10. mm/memory_hotplug: make unregister_memory_block_under_nodes() never fail

    We really don't want anything during memory hotunplug to fail.  We
    always pass a valid memory block device, that check can go.  Avoid
    allocating memory and eventually failing.  As we are always called under
    lock, we can use a static piece of memory.  This avoids having to put
    the structure onto the stack, having to guess about the stack size of
    callers.
    
    Patch inspired by a patch from Oscar Salvador.
    
    In the future, there might be no need to iterate over nodes at all.
    mem->nid should tell us exactly what to remove.  Memory block devices
    with mixed nodes (added during boot) should properly fenced off and
    never removed.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-11-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    a31b264 View commit details
    Browse the repository at this point in the history
  11. mm/memory_hotplug: remove "zone" parameter from sparse_remove_one_sec…

    …tion
    
    The parameter is unused, so let's drop it.  Memory removal paths should
    never care about zones.  This is the job of memory offlining and will
    require more refactorings.
    
    Link: http://lkml.kernel.org/r/20190527111152.16324-12-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chintan Pandya <cpandya@codeaurora.org>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Jun Yao <yaojun8558363@gmail.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Mathieu Malaterre <malat@debian.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: "mike.travis@hpe.com" <mike.travis@hpe.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qian Cai <cai@lca.pw>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    b9bf8d3 View commit details
    Browse the repository at this point in the history
  12. mm/sparse.c: set section nid for hot-add memory

    In case of NODE_NOT_IN_PAGE_FLAGS is set, we store section's node id in
    section_to_node_table[].  While for hot-add memory, this is missed.
    Without this information, page_to_nid() may not give the right node id.
    
    BTW, current online_pages works because it leverages nid in
    memory_block.  But the granularity of node id should be mem_section
    wide.
    
    Link: http://lkml.kernel.org/r/20190618005537.18878-1-richardw.yang@linux.intel.com
    Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Wei Yang authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    26f26be View commit details
    Browse the repository at this point in the history
  13. mm: thp: make transhuge_vma_suitable available for anonymous THP

    transhuge_vma_suitable() was only available for shmem THP, but anonymous
    THP has the same check except pgoff check.  And, it will be used for THP
    eligible check in the later patch, so make it available for all kind of
    THPs.  This also helps reduce code duplication slightly.
    
    Since anonymous THP doesn't have to check pgoff, so make pgoff check
    shmem vma only.
    
    And regroup some functions in include/linux/mm.h to solve compile issue
    since transhuge_vma_suitable() needs call vma_is_anonymous() which was
    defined after huge_mm.h is included.
    
    [akpm@linux-foundation.org: fix typo]
    [yang.shi@linux.alibaba.com: v4]
      Link: http://lkml.kernel.org/r/1563400758-124759-2-git-send-email-yang.shi@linux.alibaba.com
    Link: http://lkml.kernel.org/r/1560401041-32207-2-git-send-email-yang.shi@linux.alibaba.com
    Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Yang Shi authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    43675e6 View commit details
    Browse the repository at this point in the history
  14. mm: thp: fix false negative of shmem vma's THP eligibility

    Commit 7635d9c ("mm, thp, proc: report THP eligibility for each
    vma") introduced THPeligible bit for processes' smaps.  But, when
    checking the eligibility for shmem vma, __transparent_hugepage_enabled()
    is called to override the result from shmem_huge_enabled().  It may
    result in the anonymous vma's THP flag override shmem's.  For example,
    running a simple test which create THP for shmem, but with anonymous THP
    disabled, when reading the process's smaps, it may show:
    
      7fc92ec00000-7fc92f000000 rw-s 00000000 00:14 27764 /dev/shm/test
      Size:               4096 kB
      ...
      [snip]
      ...
      ShmemPmdMapped:     4096 kB
      ...
      [snip]
      ...
      THPeligible:    0
    
    And, /proc/meminfo does show THP allocated and PMD mapped too:
    
      ShmemHugePages:     4096 kB
      ShmemPmdMapped:     4096 kB
    
    This doesn't make too much sense.  The shmem objects should be treated
    separately from anonymous THP.  Calling shmem_huge_enabled() with
    checking MMF_DISABLE_THP sounds good enough.  And, we could skip stack
    and dax vma check since we already checked if the vma is shmem already.
    
    Also check if vma is suitable for THP by calling
    transhuge_vma_suitable().
    
    And minor fix to smaps output format and documentation.
    
    Link: http://lkml.kernel.org/r/1560401041-32207-3-git-send-email-yang.shi@linux.alibaba.com
    Fixes: 7635d9c ("mm, thp, proc: report THP eligibility for each vma")
    Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Yang Shi authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    c063066 View commit details
    Browse the repository at this point in the history
  15. resource: fix locking in find_next_iomem_res()

    Since resources can be removed, locking should ensure that the resource
    is not removed while accessing it.  However, find_next_iomem_res() does
    not hold the lock while copying the data of the resource.
    
    Keep holding the lock while the data is copied.  While at it, change the
    return value to a more informative value.  It is disregarded by the
    callers.
    
    [akpm@linux-foundation.org: fix find_next_iomem_res() documentation]
    Link: http://lkml.kernel.org/r/20190613045903.4922-2-namit@vmware.com
    Fixes: ff3cc95 ("resource: Add remove_resource interface")
    Signed-off-by: Nadav Amit <namit@vmware.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    anadav authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    49f17c2 View commit details
    Browse the repository at this point in the history
  16. resource: avoid unnecessary lookups in find_next_iomem_res()

    find_next_iomem_res() shows up to be a source for overhead in dax
    benchmarks.
    
    Improve performance by not considering children of the tree if the top
    level does not match.  Since the range of the parents should include the
    range of the children such check is redundant.
    
    Running sysbench on dax (pmem emulation, with write_cache disabled):
    
      sysbench fileio --file-total-size=3G --file-test-mode=rndwr \
       --file-io-mode=mmap --threads=4 --file-fsync-mode=fdatasync run
    
    Provides the following results:
    
    		events (avg/stddev)
    		-------------------
      5.2-rc3:	1247669.0000/16075.39
      w/patch:	1286320.5000/16402.72	(+3%)
    
    Link: http://lkml.kernel.org/r/20190613045903.4922-3-namit@vmware.com
    Signed-off-by: Nadav Amit <namit@vmware.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    anadav authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    7563987 View commit details
    Browse the repository at this point in the history
  17. mm: section numbers use the type "unsigned long"

    Patch series "mm: Further memory block device cleanups", v1.
    
    Some further cleanups around memory block devices.  Especially, clean up
    and simplify walk_memory_range().  Including some other minor cleanups.
    
    This patch (of 6):
    
    We are using a mixture of "int" and "unsigned long".  Let's make this
    consistent by using "unsigned long" everywhere.  We'll do the same with
    memory block ids next.
    
    While at it, turn the "unsigned long i" in removable_show() into an int
    - sections_per_block is an int.
    
    [akpm@linux-foundation.org: s/unsigned long i/unsigned long nr/]
    [david@redhat.com: v3]
      Link: http://lkml.kernel.org/r/20190620183139.4352-2-david@redhat.com
    Link: http://lkml.kernel.org/r/20190614100114.311-2-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Baoquan He <bhe@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    2491f0a View commit details
    Browse the repository at this point in the history
  18. drivers/base/memory: use "unsigned long" for block ids

    Block ids are just shifted section numbers, so let's also use "unsigned
    long" for them, too.
    
    Link: http://lkml.kernel.org/r/20190614100114.311-3-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    90ec010 View commit details
    Browse the repository at this point in the history
  19. mm: make register_mem_sect_under_node() static

    It is only used internally.
    
    Link: http://lkml.kernel.org/r/20190614100114.311-4-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Keith Busch <keith.busch@intel.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    8d595c4 View commit details
    Browse the repository at this point in the history
  20. mm/memory_hotplug: rename walk_memory_range() and pass start+size ins…

    …tead of pfns
    
    walk_memory_range() was once used to iterate over sections.  Now, it
    iterates over memory blocks.  Rename the function, fixup the
    documentation.
    
    Also, pass start+size instead of PFNs, which is what most callers
    already have at hand.  (we'll rework link_mem_sections() most probably
    soon)
    
    Follow-up patches will rework, simplify, and move walk_memory_blocks()
    to drivers/base/memory.c.
    
    Note: walk_memory_blocks() only works correctly right now if the
    start_pfn is aligned to a section start.  This is the case right now,
    but we'll generalize the function in a follow up patch so the semantics
    match the documentation.
    
    [akpm@linux-foundation.org: remove unused variable]
    Link: http://lkml.kernel.org/r/20190614100114.311-5-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Rashmica Gupta <rashmica.g@gmail.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Michael Neuling <mikey@neuling.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    fbcf73c View commit details
    Browse the repository at this point in the history
  21. mm/memory_hotplug: move and simplify walk_memory_blocks()

    Let's move walk_memory_blocks() to the place where memory block logic
    resides and simplify it.  While at it, add a type for the callback
    function.
    
    Link: http://lkml.kernel.org/r/20190614100114.311-6-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Mike Travis <mike.travis@hpe.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Qian Cai <cai@lca.pw>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    ea88464 View commit details
    Browse the repository at this point in the history
  22. drivers/base/memory.c: get rid of find_memory_block_hinted()

    No longer needed, let's remove it.  Also, drop the "hint" parameter
    completely from "find_memory_block_by_id", as nobody needs it anymore.
    
    [david@redhat.com: v3]
      Link: http://lkml.kernel.org/r/20190620183139.4352-7-david@redhat.com
    [david@redhat.com: handle zero-length walks]
      Link: http://lkml.kernel.org/r/1c2edc22-afd7-2211-c4c7-40e54e5007e8@redhat.com
    Link: http://lkml.kernel.org/r/20190614100114.311-7-david@redhat.com
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Tested-by: Qian Cai <cai@lca.pw>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Andrew Banman <andrew.banman@hpe.com>
    Cc: Mike Travis <mike.travis@hpe.com>
    Cc: Oscar Salvador <osalvador@suse.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Arun KS <arunks@codeaurora.org>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    davidhildenbrand authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    dd62528 View commit details
    Browse the repository at this point in the history
  23. mm/sparsemem: introduce struct mem_section_usage

    Patch series "mm: Sub-section memory hotplug support", v10.
    
    The memory hotplug section is an arbitrary / convenient unit for memory
    hotplug.  'Section-size' units have bled into the user interface
    ('memblock' sysfs) and can not be changed without breaking existing
    userspace.  The section-size constraint, while mostly benign for typical
    memory hotplug, has and continues to wreak havoc with 'device-memory'
    use cases, persistent memory (pmem) in particular.  Recall that pmem
    uses devm_memremap_pages(), and subsequently arch_add_memory(), to
    allocate a 'struct page' memmap for pmem.  However, it does not use the
    'bottom half' of memory hotplug, i.e.  never marks pmem pages online and
    never exposes the userspace memblock interface for pmem.  This leaves an
    opening to redress the section-size constraint.
    
    To date, the libnvdimm subsystem has attempted to inject padding to
    satisfy the internal constraints of arch_add_memory().  Beyond
    complicating the code, leading to bugs [2], wasting memory, and limiting
    configuration flexibility, the padding hack is broken when the platform
    changes this physical memory alignment of pmem from one boot to the
    next.  Device failure (intermittent or permanent) and physical
    reconfiguration are events that can cause the platform firmware to
    change the physical placement of pmem on a subsequent boot, and device
    failure is an everyday event in a data-center.
    
    It turns out that sections are only a hard requirement of the
    user-facing interface for memory hotplug and with a bit more
    infrastructure sub-section arch_add_memory() support can be added for
    kernel internal usages like devm_memremap_pages().  Here is an analysis
    of the current design assumptions in the current code and how they are
    addressed in the new implementation:
    
    Current design assumptions:
    
     - Sections that describe boot memory (early sections) are never
       unplugged / removed.
    
     - pfn_valid(), in the CONFIG_SPARSEMEM_VMEMMAP=y, case devolves to a
       valid_section() check
    
     - __add_pages() and helper routines assume all operations occur in
       PAGES_PER_SECTION units.
    
     - The memblock sysfs interface only comprehends full sections
    
    New design assumptions:
    
     - Sections are instrumented with a sub-section bitmask to track (on
       x86) individual 2MB sub-divisions of a 128MB section.
    
     - Partially populated early sections can be extended with additional
       sub-sections, and those sub-sections can be removed with
       arch_remove_memory(). With this in place we no longer lose usable
       memory capacity to padding.
    
     - pfn_valid() is updated to look deeper than valid_section() to also
       check the active-sub-section mask. This indication is in the same
       cacheline as the valid_section() so the performance impact is
       expected to be negligible. So far the lkp robot has not reported any
       regressions.
    
     - Outside of the core vmemmap population routines which are replaced,
       other helper routines like shrink_{zone,pgdat}_span() are updated to
       handle the smaller granularity. Core memory hotplug routines that
       deal with online memory are not touched.
    
     - The existing memblock sysfs user api guarantees / assumptions are not
       touched since this capability is limited to !online
       !memblock-sysfs-accessible sections.
    
    Meanwhile the issue reports continue to roll in from users that do not
    understand when and how the 128MB constraint will bite them.  The current
    implementation relied on being able to support at least one misaligned
    namespace, but that immediately falls over on any moderately complex
    namespace creation attempt.  Beyond the initial problem of 'System RAM'
    colliding with pmem, and the unsolvable problem of physical alignment
    changes, Linux is now being exposed to platforms that collide pmem ranges
    with other pmem ranges by default [3].  In short, devm_memremap_pages()
    has pushed the venerable section-size constraint past the breaking point,
    and the simplicity of section-aligned arch_add_memory() is no longer
    tenable.
    
    These patches are exposed to the kbuild robot on a subsection-v10 branch
    [4], and a preview of the unit test for this functionality is available
    on the 'subsection-pending' branch of ndctl [5].
    
    [2]: https://lore.kernel.org/r/155000671719.348031.2347363160141119237.stgit@dwillia2-desk3.amr.corp.intel.com
    [3]: pmem/ndctl#76
    [4]: https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git/log/?h=subsection-v10
    [5]: pmem/ndctl@7c59b4867e1c
    
    This patch (of 13):
    
    Towards enabling memory hotplug to track partial population of a section,
    introduce 'struct mem_section_usage'.
    
    A pointer to a 'struct mem_section_usage' instance replaces the existing
    pointer to a 'pageblock_flags' bitmap.  Effectively it adds one more
    'unsigned long' beyond the 'pageblock_flags' (usemap) allocation to house
    a new 'subsection_map' bitmap.  The new bitmap enables the memory
    hot{plug,remove} implementation to act on incremental sub-divisions of a
    section.
    
    SUBSECTION_SHIFT is defined as global constant instead of per-architecture
    value like SECTION_SIZE_BITS in order to allow cross-arch compatibility of
    subsection users.  Specifically a common subsection size allows for the
    possibility that persistent memory namespace configurations be made
    compatible across architectures.
    
    The primary motivation for this functionality is to support platforms that
    mix "System RAM" and "Persistent Memory" within a single section, or
    multiple PMEM ranges with different mapping lifetimes within a single
    section.  The section restriction for hotplug has caused an ongoing saga
    of hacks and bugs for devm_memremap_pages() users.
    
    Beyond the fixups to teach existing paths how to retrieve the 'usemap'
    from a section, and updates to usemap allocation path, there are no
    expected behavior changes.
    
    Link: http://lkml.kernel.org/r/156092349845.979959.73333291612799019.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Qian Cai <cai@lca.pw>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    f1eca35 View commit details
    Browse the repository at this point in the history
  24. mm/sparsemem: introduce a SECTION_IS_EARLY flag

    In preparation for sub-section hotplug, track whether a given section
    was created during early memory initialization, or later via memory
    hotplug.  This distinction is needed to maintain the coarse expectation
    that pfn_valid() returns true for any pfn within a given section even if
    that section has pages that are reserved from the page allocator.
    
    For example one of the of goals of subsection hotplug is to support
    cases where the system physical memory layout collides System RAM and
    PMEM within a section.  Several pfn_valid() users expect to just check
    if a section is valid, but they are not careful to check if the given
    pfn is within a "System RAM" boundary and instead expect pgdat
    information to further validate the pfn.
    
    Rather than unwind those paths to make their pfn_valid() queries more
    precise a follow on patch uses the SECTION_IS_EARLY flag to maintain the
    traditional expectation that pfn_valid() returns true for all early
    sections.
    
    Link: https://lore.kernel.org/lkml/1560366952-10660-1-git-send-email-cai@lca.pw/
    Link: http://lkml.kernel.org/r/156092350358.979959.5817209875548072819.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reported-by: Qian Cai <cai@lca.pw>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    326e1b8 View commit details
    Browse the repository at this point in the history
  25. mm/sparsemem: add helpers track active portions of a section at boot

    Prepare for hot{plug,remove} of sub-ranges of a section by tracking a
    sub-section active bitmask, each bit representing a PMD_SIZE span of the
    architecture's memory hotplug section size.
    
    The implications of a partially populated section is that pfn_valid()
    needs to go beyond a valid_section() check and either determine that the
    section is an "early section", or read the sub-section active ranges
    from the bitmask.  The expectation is that the bitmask (subsection_map)
    fits in the same cacheline as the valid_section() / early_section()
    data, so the incremental performance overhead to pfn_valid() should be
    negligible.
    
    The rationale for using early_section() to short-ciruit the
    subsection_map check is that there are legacy code paths that use
    pfn_valid() at section granularity before validating the pfn against
    pgdat data.  So, the early_section() check allows those traditional
    assumptions to persist while also permitting subsection_map to tell the
    truth for purposes of populating the unused portions of early sections
    with PMEM and other ZONE_DEVICE mappings.
    
    Link: http://lkml.kernel.org/r/156092350874.979959.18185938451405518285.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reported-by: Qian Cai <cai@lca.pw>
    Tested-by: Jane Chu <jane.chu@oracle.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    f46edbd View commit details
    Browse the repository at this point in the history
  26. mm/hotplug: prepare shrink_{zone, pgdat}_span for sub-section removal

    Sub-section hotplug support reduces the unit of operation of hotplug
    from section-sized-units (PAGES_PER_SECTION) to sub-section-sized units
    (PAGES_PER_SUBSECTION).  Teach shrink_{zone,pgdat}_span() to consider
    PAGES_PER_SUBSECTION boundaries as the points where pfn_valid(), not
    valid_section(), can toggle.
    
    [osalvador@suse.de: fix shrink_{zone,node}_span]
      Link: http://lkml.kernel.org/r/20190717090725.23618-3-osalvador@suse.de
    Link: http://lkml.kernel.org/r/156092351496.979959.12703722803097017492.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Oscar Salvador <osalvador@suse.de>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    49ba3c6 View commit details
    Browse the repository at this point in the history
  27. mm/sparsemem: convert kmalloc_section_memmap() to populate_section_me…

    …mmap()
    
    Allow sub-section sized ranges to be added to the memmap.
    
    populate_section_memmap() takes an explict pfn range rather than
    assuming a full section, and those parameters are plumbed all the way
    through to vmmemap_populate().  There should be no sub-section usage in
    current deployments.  New warnings are added to clarify which memmap
    allocation paths are sub-section capable.
    
    Link: http://lkml.kernel.org/r/156092352058.979959.6551283472062305149.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    e9c0a3f View commit details
    Browse the repository at this point in the history
  28. mm/hotplug: kill is_dev_zone() usage in __remove_pages()

    The zone type check was a leftover from the cleanup that plumbed altmap
    through the memory hotplug path, i.e.  commit da02451 "mm: pass the
    vmem_altmap to arch_remove_memory and __remove_pages".
    
    Link: http://lkml.kernel.org/r/156092352642.979959.6664333788149363039.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    96da435 View commit details
    Browse the repository at this point in the history
  29. mm: kill is_dev_zone() helper

    Given there are no more usages of is_dev_zone() outside of 'ifdef
    CONFIG_ZONE_DEVICE' protection, kill off the compilation helper.
    
    Link: http://lkml.kernel.org/r/156092353211.979959.1489004866360828964.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
    Acked-by: David Hildenbrand <david@redhat.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    46d945a View commit details
    Browse the repository at this point in the history
  30. mm/sparsemem: prepare for sub-section ranges

    Prepare the memory hot-{add,remove} paths for handling sub-section
    ranges by plumbing the starting page frame and number of pages being
    handled through arch_{add,remove}_memory() to
    sparse_{add,remove}_one_section().
    
    This is simply plumbing, small cleanups, and some identifier renames.
    No intended functional changes.
    
    Link: http://lkml.kernel.org/r/156092353780.979959.9713046515562743194.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    7ea6216 View commit details
    Browse the repository at this point in the history
  31. mm/sparsemem: support sub-section hotplug

    The libnvdimm sub-system has suffered a series of hacks and broken
    workarounds for the memory-hotplug implementation's awkward
    section-aligned (128MB) granularity.
    
    For example the following backtrace is emitted when attempting
    arch_add_memory() with physical address ranges that intersect 'System
    RAM' (RAM) with 'Persistent Memory' (PMEM) within a given section:
    
        # cat /proc/iomem | grep -A1 -B1 Persistent\ Memory
        100000000-1ffffffff : System RAM
        200000000-303ffffff : Persistent Memory (legacy)
        304000000-43fffffff : System RAM
        440000000-23ffffffff : Persistent Memory
        2400000000-43bfffffff : Persistent Memory
          2400000000-43bfffffff : namespace2.0
    
        WARNING: CPU: 38 PID: 928 at arch/x86/mm/init_64.c:850 add_pages+0x5c/0x60
        [..]
        RIP: 0010:add_pages+0x5c/0x60
        [..]
        Call Trace:
         devm_memremap_pages+0x460/0x6e0
         pmem_attach_disk+0x29e/0x680 [nd_pmem]
         ? nd_dax_probe+0xfc/0x120 [libnvdimm]
         nvdimm_bus_probe+0x66/0x160 [libnvdimm]
    
    It was discovered that the problem goes beyond RAM vs PMEM collisions as
    some platform produce PMEM vs PMEM collisions within a given section.
    The libnvdimm workaround for that case revealed that the libnvdimm
    section-alignment-padding implementation has been broken for a long
    while.
    
    A fix for that long-standing breakage introduces as many problems as it
    solves as it would require a backward-incompatible change to the
    namespace metadata interpretation.  Instead of that dubious route [1],
    address the root problem in the memory-hotplug implementation.
    
    Note that EEXIST is no longer treated as success as that is how
    sparse_add_section() reports subsection collisions, it was also obviated
    by recent changes to perform the request_region() for 'System RAM'
    before arch_add_memory() in the add_memory() sequence.
    
    [1] https://lore.kernel.org/r/155000671719.348031.2347363160141119237.stgit@dwillia2-desk3.amr.corp.intel.com
    
    [osalvador@suse.de: fix deactivate_section for early sections]
      Link: http://lkml.kernel.org/r/20190715081549.32577-2-osalvador@suse.de
    Link: http://lkml.kernel.org/r/156092354368.979959.6232443923440952359.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Oscar Salvador <osalvador@suse.de>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    ba72b4c View commit details
    Browse the repository at this point in the history
  32. mm: document ZONE_DEVICE memory-model implications

    Explain the general mechanisms of 'ZONE_DEVICE' pages and list the users
    of 'devm_memremap_pages()'.
    
    [dan.j.williams@intel.com: update ZONE_DEVICE memory model documentation]
      Link: http://lkml.kernel.org/r/156109575458.1409767.1885676287099277666.stgit@dwillia2-desk3.amr.corp.intel.com
    Link: http://lkml.kernel.org/r/156092354985.979959.15763234410543451710.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reported-by: Mike Rapoport <rppt@linux.ibm.com>
    Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    a065340 View commit details
    Browse the repository at this point in the history
  33. mm/devm_memremap_pages: enable sub-section remap

    Teach devm_memremap_pages() about the new sub-section capabilities of
    arch_{add,remove}_memory().  Effectively, just replace all usage of
    align_start, align_end, and align_size with res->start, res->end, and
    resource_size(res).  The existing sanity check will still make sure that
    the two separate remap attempts do not collide within a sub-section (2MB
    on x86).
    
    Link: http://lkml.kernel.org/r/156092355542.979959.10060071713397030576.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    7cc7867 View commit details
    Browse the repository at this point in the history
  34. libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields

    At namespace creation time there is the potential for the "expected to
    be zero" fields of a 'pfn' info-block to be filled with indeterminate
    data.  While the kernel buffer is zeroed on allocation it is immediately
    overwritten by nd_pfn_validate() filling it with the current contents of
    the on-media info-block location.  For fields like, 'flags' and the
    'padding' it potentially means that future implementations can not rely on
    those fields being zero.
    
    In preparation to stop using the 'start_pad' and 'end_trunc' fields for
    section alignment, arrange for fields that are not explicitly
    initialized to be guaranteed zero.  Bump the minor version to indicate
    it is safe to assume the 'padding' and 'flags' are zero.  Otherwise,
    this corruption is expected to benign since all other critical fields
    are explicitly initialized.
    
    Note The cc: stable is about spreading this new policy to as many
    kernels as possible not fixing an issue in those kernels.  It is not
    until the change titled "libnvdimm/pfn: Stop padding pmem namespaces to
    section alignment" where this improper initialization becomes a problem.
    So if someone decides to backport "libnvdimm/pfn: Stop padding pmem
    namespaces to section alignment" (which is not tagged for stable), make
    sure this pre-requisite is flagged.
    
    Link: http://lkml.kernel.org/r/156092356065.979959.6681003754765958296.stgit@dwillia2-desk3.amr.corp.intel.com
    Fixes: 32ab0a3 ("libnvdimm, pmem: 'struct page' for pmem")
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: <stable@vger.kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jeff Moyer <jmoyer@redhat.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    7e3e888 View commit details
    Browse the repository at this point in the history
  35. libnvdimm/pfn: stop padding pmem namespaces to section alignment

    Now that the mm core supports section-unaligned hotplug of ZONE_DEVICE
    memory, we no longer need to add padding at pfn/dax device creation
    time.  The kernel will still honor padding established by older kernels.
    
    Link: http://lkml.kernel.org/r/156092356588.979959.6793371748950931916.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reported-by: Jeff Moyer <jmoyer@redhat.com>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>	[ppc64]
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jane Chu <jane.chu@oracle.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Wei Yang <richardw.yang@linux.intel.com>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    a361919 View commit details
    Browse the repository at this point in the history
  36. mm/sparsemem: cleanup 'section number' data types

    David points out that there is a mixture of 'int' and 'unsigned long'
    usage for section number data types.  Update the memory hotplug path to
    use 'unsigned long' consistently for section numbers.
    
    [akpm@linux-foundation.org: fix printk format]
    Link: http://lkml.kernel.org/r/156107543656.1329419.11505835211949439815.stgit@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Reported-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Jason Gunthorpe <jgg@mellanox.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    djbw authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    9a84503 View commit details
    Browse the repository at this point in the history
  37. mm: migrate: remove unused mode argument

    migrate_page_move_mapping() doesn't use the mode argument.  Remove it
    and update callers accordingly.
    
    Link: http://lkml.kernel.org/r/20190508210301.8472-1-keith.busch@intel.com
    Signed-off-by: Keith Busch <keith.busch@intel.com>
    Reviewed-by: Zi Yan <ziy@nvidia.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Keith Busch authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    3710969 View commit details
    Browse the repository at this point in the history
  38. proc/sysctl: add shared variables for range check

    In the sysctl code the proc_dointvec_minmax() function is often used to
    validate the user supplied value between an allowed range.  This
    function uses the extra1 and extra2 members from struct ctl_table as
    minimum and maximum allowed value.
    
    On sysctl handler declaration, in every source file there are some
    readonly variables containing just an integer which address is assigned
    to the extra1 and extra2 members, so the sysctl range is enforced.
    
    The special values 0, 1 and INT_MAX are very often used as range
    boundary, leading duplication of variables like zero=0, one=1,
    int_max=INT_MAX in different source files:
    
        $ git grep -E '\.extra[12].*&(zero|one|int_max)' |wc -l
        248
    
    Add a const int array containing the most commonly used values, some
    macros to refer more easily to the correct array member, and use them
    instead of creating a local one for every object file.
    
    This is the bloat-o-meter output comparing the old and new binary
    compiled with the default Fedora config:
    
        # scripts/bloat-o-meter -d vmlinux.o.old vmlinux.o
        add/remove: 2/2 grow/shrink: 0/2 up/down: 24/-188 (-164)
        Data                                         old     new   delta
        sysctl_vals                                    -      12     +12
        __kstrtab_sysctl_vals                          -      12     +12
        max                                           14      10      -4
        int_max                                       16       -     -16
        one                                           68       -     -68
        zero                                         128      28    -100
        Total: Before=20583249, After=20583085, chg -0.00%
    
    [mcroce@redhat.com: tipc: remove two unused variables]
      Link: http://lkml.kernel.org/r/20190530091952.4108-1-mcroce@redhat.com
    [akpm@linux-foundation.org: fix net/ipv6/sysctl_net_ipv6.c]
    [arnd@arndb.de: proc/sysctl: make firmware loader table conditional]
      Link: http://lkml.kernel.org/r/20190617130014.1713870-1-arnd@arndb.de
    [akpm@linux-foundation.org: fix fs/eventpoll.c]
    Link: http://lkml.kernel.org/r/20190430180111.10688-1-mcroce@redhat.com
    Signed-off-by: Matteo Croce <mcroce@redhat.com>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Aaron Tomlin <atomlin@redhat.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    teknoraver authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    eec4844 View commit details
    Browse the repository at this point in the history
  39. ag71xx: fix error return code in ag71xx_probe()

    Fix to return error code -ENOMEM from the dmam_alloc_coherent() error
    handling case instead of 0, as done elsewhere in this function.
    
    Fixes: d51b6ce ("net: ethernet: add ag71xx driver")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Wei Yongjun authored and davem330 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    6f5fa8d View commit details
    Browse the repository at this point in the history
  40. ag71xx: fix return value check in ag71xx_probe()

    In case of error, the function of_get_mac_address() returns ERR_PTR()
    and never returns NULL. The NULL test in the return value check should
    be replaced with IS_ERR().
    
    Fixes: d51b6ce ("net: ethernet: add ag71xx driver")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Wei Yongjun authored and davem330 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    269b7c5 View commit details
    Browse the repository at this point in the history
  41. tcp: fix tcp_set_congestion_control() use from bpf hook

    Neal reported incorrect use of ns_capable() from bpf hook.
    
    bpf_setsockopt(...TCP_CONGESTION...)
      -> tcp_set_congestion_control()
       -> ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)
        -> ns_capable_common()
         -> current_cred()
          -> rcu_dereference_protected(current->cred, 1)
    
    Accessing 'current' in bpf context makes no sense, since packets
    are processed from softirq context.
    
    As Neal stated : The capability check in tcp_set_congestion_control()
    was written assuming a system call context, and then was reused from
    a BPF call site.
    
    The fix is to add a new parameter to tcp_set_congestion_control(),
    so that the ns_capable() call is only performed under the right
    context.
    
    Fixes: 91b5b21 ("bpf: Add support for changing congestion control")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Lawrence Brakmo <brakmo@fb.com>
    Reported-by: Neal Cardwell <ncardwell@google.com>
    Acked-by: Neal Cardwell <ncardwell@google.com>
    Acked-by: Lawrence Brakmo <brakmo@fb.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Eric Dumazet authored and davem330 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    8d650cd View commit details
    Browse the repository at this point in the history
  42. csky: Select intc & timer drivers

    Let arch help to select interrupt controller's and timer's drivers
    instead of people using menuconfig to select. This help the mini system
    boot up.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    1994cc4 View commit details
    Browse the repository at this point in the history
  43. csky: Fixup no panic in kernel for some traps

    These traps couldn't be hanppen in kernel and we must panic there not
    send a signal to userspace.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    3158d28 View commit details
    Browse the repository at this point in the history
  44. csky: Init pmu as a device

    This patch change the csky pmu initialization from arch init to
    device init. The pmu can be configued with information from
    device tree(pmu device name, irq number and etc.).
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Mao Han authored and guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    f132076 View commit details
    Browse the repository at this point in the history
  45. csky: Add count-width property for csky pmu

    The csky pmu counter may have different io width. When the counter is
    smaller then 64 bits and counter value is smaller than the old value, it
    will result to a extremely large delta value. So the sampled value should
    be extend to 64 bits to avoid this, the extension bits base on the
    count-width property from dts.
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Mao Han authored and guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    ccffa1a View commit details
    Browse the repository at this point in the history
  46. csky: Add pmu interrupt support

    This patch add interrupt request and handler for csky pmu.
    perf can record on hardware event with this patch applied.
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Mao Han authored and guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    f622fbf View commit details
    Browse the repository at this point in the history
  47. csky: Fix perf record in kernel/user space

    csky_pmu_event_init is called several times during the perf record
    initialzation. After configure the event counter in either kernel
    space or user space, csky_pmu_event_init is called twice with no
    attr specified. Configuration will be overwritten with sampling in
    both kernel space and user space. --all-kernel/--all-user is
    useless without this patch applied.
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Mao Han authored and guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    d41435d View commit details
    Browse the repository at this point in the history
  48. csky: Fixup some error count in 810 & 860.

    CK810 pmu only support event with index 0-8 and 0xd; CK860 only
    support event 1~4, 0xa~0x1b. So do not register unsupport event
    to hardware cache event, which may leader to unknown behavior.
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    e753419 View commit details
    Browse the repository at this point in the history
  49. dt-bindings: interrupt-controller: Update csky mpintc

    Add trigger type setting for csky,mpintc. The driver also could
    support #interrupt-cells <1> and it wouldn't invalidate existing
    DTs. Here we only show the complete format.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Reviewed-by: Rob Herring <robh+dt@kernel.org>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    69d812f View commit details
    Browse the repository at this point in the history
  50. dt-bindings: csky: Add csky PMU bindings

    This patch adds the documentation to describe that how to add pmu node in
    dts.
    
    Signed-off-by: Mao Han <han_mao@c-sky.com>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Cc: Rob Herring <robh+dt@kernel.org>
    Mao Han authored and guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    4d58103 View commit details
    Browse the repository at this point in the history
  51. csky: Revert mmu ASID mechanism

    Current C-SKY ASID mechanism is from mips and it doesn't work well
    with multi-cores. ASID per core mechanism is not suitable for C-SKY
    SMP tlb maintain operations, eg: tlbi.vas need share the same asid
    in all processors and it'll invalid the tlb entry in all cores with
    the same asid.
    
    This patch is prepare for new ASID mechanism.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    9d35dc3 View commit details
    Browse the repository at this point in the history
  52. csky: Add new asid lib code from arm

    This patch only contains asid help code from arm for next patch to
    use.
    
    The asid allocator use five level check to reduce the cost of
    switch_mm.
    
     1. Check if the asid version is the same (it's general)
     2. Check reserved_asid which is set in rollover flush_context()
        and key point is to keep the same bit position with the current
        asid version instead of input version.
     3. Check if the position of bitmap is free then it could be set &
        used directly.
     4. find_next_zero_bit() (a little performance cost)
     5. flush_context  (this is the worst cost with increase current asid
        version)
    
    Check is level by level and cost is also higher with the next level.
    The reserved_asid and bitmap mechanism prevent unnecessary
    find_next_zero_bit().
    
    The atomic 64 bit asid is also suitable for 32-bit system and it
    won't cost a lot in 1th 2th 3th level check.
    
    The operation of set/clear mm_cpumask was removed in arm64 compared to
    arm32. It seems no side effect on current arm64 system, but from
    software meaning it's wrong. Although csky also needn't it, we add it
    back for csky.
    
    The asid_per_ctxt is no use for csky and it reserves the lowest bits for
    other use, maybe: trust zone ? Ok, just keep it in csky copy.
    
    Seems it also could be used by other archs and it's worth to move asid
    code to generic in future.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Julien Grall <julien.grall@arm.com>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    a231b88 View commit details
    Browse the repository at this point in the history
  53. csky: Use generic asid algorithm to implement switch_mm

    Use linux generic asid/vmid algorithm to implement csky
    switch_mm function. The algorithm is from arm and it could
    work with SMP system. It'll help reduce tlb flush for
    switch_mm in task/vm switch.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    22d55f0 View commit details
    Browse the repository at this point in the history
  54. csky: Improve tlb operation with help of asid

    There are two generations of tlb operation instruction for C-SKY.
    First generation is use mcr register and it need software do more
    things, second generation is use specific instructions, eg:
     tlbi.va, tlbi.vas, tlbi.alls
    
    We implemented the following functions:
    
     - flush_tlb_range (a range of entries)
     - flush_tlb_page (one entry)
    
     Above functions use asid from vma->mm to invalid tlb entries and
     we could use tlbi.vas instruction for newest generation csky cpu.
    
     - flush_tlb_kernel_range
     - flush_tlb_one
    
     Above functions don't care asid and it invalid the tlb entries only
     with vpn and we could use tlbi.vaas instruction for newest generat-
     ion csky cpu.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    4e562c1 View commit details
    Browse the repository at this point in the history
  55. csky: Fixup abiv1 memset error

    Current memset implementation in abiv1 is wrong and it'll cause unalign
    access. Just remove it and use the generic one. This patch will cause
    performance degradation and we will improve it with a new design in next
    patchset.
    
    Signed-off-by: Guo Ren <ren_guo@c-sky.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    guoren83 committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    bdfeb0c View commit details
    Browse the repository at this point in the history
  56. drm/nouveau/mcp89/mmu: Use mcp77_mmu_new instead of g84_mmu_new on MC…

    …P89.
    
    Fix a crash or broken depth testing in all OpenGL applications that use the
    depth buffer on MCP89 (GeForce 320M) seen on a MacBook Pro Late 2010.
    
    The bug is tracked in https://bugs.freedesktop.org/show_bug.cgi?id=108500
    
    Signed-off-by: Timo Wiren <timo.wiren@gmail.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    bioglaze authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    bb2b407 View commit details
    Browse the repository at this point in the history
  57. drm/nouveau/disp/nv50-: force scaler for any non-default LVDS/eDP modes

    Higher layers tend to add a lot of modes not actually in the EDID, such
    as the standard DMT modes. Changing this would be extremely intrusive to
    everyone, so just force the scaler more often. There are no practical
    cases we're aware of where a LVDS/eDP panel has multiple resolutions
    exposed, and i915 already does it this way.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110660
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    imirkin authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    f8d6211 View commit details
    Browse the repository at this point in the history
  58. drm/nouveau/disp/nv50-: fix center/aspect-corrected scaling

    Previously center scaling would get scaling applied to it (when it was
    only supposed to center the image), and aspect-corrected scaling did not
    always correctly pick whether to reduce width or height for a particular
    combination of inputs/outputs.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110660
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    imirkin authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    533f475 View commit details
    Browse the repository at this point in the history
  59. drm/nouveau/kms: disallow dual-link harder if hdmi connection detected

    The fallthrough cases (pre-Fermi) would accidentally allow dual-link pixel
    clocks even where they shouldn't be.  This leads to a high resolution HDMI
    displays, connected via a DVI->HDMI adapter, to fail on the original NV50.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    d108418 View commit details
    Browse the repository at this point in the history
  60. drm/nouveau/core: recognise TU116 chipset

    Modesetting only, still waiting on ACR/GR firmware from NVIDIA for Turing
    graphics/compute bring-up.
    
    Each subsystem was compared with traces, along with various tests to check
    that things generally work as they should, and appears compatible enough
    with the current TU117 code to enable support.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    75dec32 View commit details
    Browse the repository at this point in the history
  61. drm/nouveau/disp/tu102-: wire up scdc parameter setter

    Regs seem valid here still, and tested on TU116.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    3485b7b View commit details
    Browse the repository at this point in the history
  62. drm/nouveau/i2c: Enable i2c pads & busses during preinit

    It turns out that while disabling i2c bus access from software when the
    GPU is suspended was a step in the right direction with:
    
    commit 342406e ("drm/nouveau/i2c: Disable i2c bus access after
    ->fini()")
    
    We also ended up accidentally breaking the vbios init scripts on some
    older Tesla GPUs, as apparently said scripts can actually use the i2c
    bus. Since these scripts are executed before initializing any
    subdevices, we end up failing to acquire access to the i2c bus which has
    left a number of cards with their fan controllers uninitialized. Luckily
    this doesn't break hardware - it just means the fan gets stuck at 100%.
    
    This also means that we've always been using our i2c busses before
    initializing them during the init scripts for older GPUs, we just didn't
    notice it until we started preventing them from being used until init.
    It's pretty impressive this never caused us any issues before!
    
    So, fix this by initializing our i2c pad and busses during subdev
    pre-init. We skip initializing aux busses during pre-init, as those are
    guaranteed to only ever be used by nouveau for DP aux transactions.
    
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Tested-by: Marc Meledandri <m.meledandri@gmail.com>
    Fixes: 342406e ("drm/nouveau/i2c: Disable i2c bus access after ->fini()")
    Cc: stable@vger.kernel.org
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Lyude authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    7cb95ee View commit details
    Browse the repository at this point in the history
  63. drm/nouveau: fix bogus GPL-2 license header

    The bulk SPDX addition made all these files into GPL-2.0 licensed files.
    However the remainder of the project is MIT-licensed, these files
    (primarily header files) were simply missing the boiler plate and got
    caught up in the global update.
    
    Fixes: b244131 (License cleanup: add SPDX GPL-2.0 license identifier to files with no license)
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
    Acked-by: Karol Herbst <kherbst@redhat.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    imirkin authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    b7019ac View commit details
    Browse the repository at this point in the history
  64. drm/nouveau: fix bogus GPL-2 license header

    The bulk SPDX addition made all these files into GPL-2.0 licensed files.
    However the remainder of the project is MIT-licensed, these files
    were simply missing the boiler plate and got caught up in the global update.
    
    Fixes: 96ac6d4 (treewide: Add SPDX license identifier - Kbuild)
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    b0f84a8 View commit details
    Browse the repository at this point in the history
  65. drm/nouveau/hwmon: return EINVAL if the GPU is powered down for senso…

    …rs reads
    
    fixes bogus values userspace gets from hwmon while the GPU is powered down
    
    Signed-off-by: Karol Herbst <kherbst@redhat.com>
    Reviewed-by: Rhys Kidd <rhyskidd@gmail.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    karolherbst authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    68bf8b5 View commit details
    Browse the repository at this point in the history
  66. drm/nouveau/dmem: missing mutex_lock in error path

    In nouveau_dmem_pages_alloc(), the drm->dmem->mutex is unlocked before
    calling nouveau_dmem_chunk_alloc() as shown when CONFIG_PROVE_LOCKING
    is enabled:
    
    [ 1294.871933] =====================================
    [ 1294.876656] WARNING: bad unlock balance detected!
    [ 1294.881375] 5.2.0-rc3+ thesofproject#5 Not tainted
    [ 1294.885048] -------------------------------------
    [ 1294.889773] test-malloc-vra/6299 is trying to release lock (&drm->dmem->mutex) at:
    [ 1294.897482] [<ffffffffa01a220f>] nouveau_dmem_migrate_alloc_and_copy+0x79f/0xbf0 [nouveau]
    [ 1294.905782] but there are no more locks to release!
    [ 1294.910690]
    [ 1294.910690] other info that might help us debug this:
    [ 1294.917249] 1 lock held by test-malloc-vra/6299:
    [ 1294.921881]  #0: 0000000016e10454 (&mm->mmap_sem#2){++++}, at: nouveau_svmm_bind+0x142/0x210 [nouveau]
    [ 1294.931313]
    [ 1294.931313] stack backtrace:
    [ 1294.935702] CPU: 4 PID: 6299 Comm: test-malloc-vra Not tainted 5.2.0-rc3+ thesofproject#5
    [ 1294.942786] Hardware name: ASUS X299-A/PRIME X299-A, BIOS 1401 05/21/2018
    [ 1294.949590] Call Trace:
    [ 1294.952059]  dump_stack+0x7c/0xc0
    [ 1294.955469]  ? nouveau_dmem_migrate_alloc_and_copy+0x79f/0xbf0 [nouveau]
    [ 1294.962213]  print_unlock_imbalance_bug.cold.52+0xca/0xcf
    [ 1294.967641]  lock_release+0x306/0x380
    [ 1294.971383]  ? nouveau_dmem_migrate_alloc_and_copy+0x79f/0xbf0 [nouveau]
    [ 1294.978089]  ? lock_downgrade+0x2d0/0x2d0
    [ 1294.982121]  ? find_held_lock+0xac/0xd0
    [ 1294.985979]  __mutex_unlock_slowpath+0x8f/0x3f0
    [ 1294.990540]  ? wait_for_completion+0x230/0x230
    [ 1294.995002]  ? rwlock_bug.part.2+0x60/0x60
    [ 1294.999197]  nouveau_dmem_migrate_alloc_and_copy+0x79f/0xbf0 [nouveau]
    [ 1295.005751]  ? page_mapping+0x98/0x110
    [ 1295.009511]  migrate_vma+0xa74/0x1090
    [ 1295.013186]  ? move_to_new_page+0x480/0x480
    [ 1295.017400]  ? __kmalloc+0x153/0x300
    [ 1295.021052]  ? nouveau_dmem_migrate_vma+0xd8/0x1e0 [nouveau]
    [ 1295.026796]  nouveau_dmem_migrate_vma+0x157/0x1e0 [nouveau]
    [ 1295.032466]  ? nouveau_dmem_init+0x490/0x490 [nouveau]
    [ 1295.037612]  ? vmacache_find+0xc2/0x110
    [ 1295.041537]  nouveau_svmm_bind+0x1b4/0x210 [nouveau]
    [ 1295.046583]  ? nouveau_svm_fault+0x13e0/0x13e0 [nouveau]
    [ 1295.051912]  drm_ioctl_kernel+0x14d/0x1a0
    [ 1295.055930]  ? drm_setversion+0x330/0x330
    [ 1295.059971]  drm_ioctl+0x308/0x530
    [ 1295.063384]  ? drm_version+0x150/0x150
    [ 1295.067153]  ? find_held_lock+0xac/0xd0
    [ 1295.070996]  ? __pm_runtime_resume+0x3f/0xa0
    [ 1295.075285]  ? mark_held_locks+0x29/0xa0
    [ 1295.079230]  ? _raw_spin_unlock_irqrestore+0x3c/0x50
    [ 1295.084232]  ? lockdep_hardirqs_on+0x17d/0x250
    [ 1295.088768]  nouveau_drm_ioctl+0x9a/0x100 [nouveau]
    [ 1295.093661]  do_vfs_ioctl+0x137/0x9a0
    [ 1295.097341]  ? ioctl_preallocate+0x140/0x140
    [ 1295.101623]  ? match_held_lock+0x1b/0x230
    [ 1295.105646]  ? match_held_lock+0x1b/0x230
    [ 1295.109660]  ? find_held_lock+0xac/0xd0
    [ 1295.113512]  ? __do_page_fault+0x324/0x630
    [ 1295.117617]  ? lock_downgrade+0x2d0/0x2d0
    [ 1295.121648]  ? mark_held_locks+0x79/0xa0
    [ 1295.125583]  ? handle_mm_fault+0x352/0x430
    [ 1295.129687]  ksys_ioctl+0x60/0x90
    [ 1295.133020]  ? mark_held_locks+0x29/0xa0
    [ 1295.136964]  __x64_sys_ioctl+0x3d/0x50
    [ 1295.140726]  do_syscall_64+0x68/0x250
    [ 1295.144400]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
    [ 1295.149465] RIP: 0033:0x7f1a3495809b
    [ 1295.153053] Code: 0f 1e fa 48 8b 05 ed bd 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d bd bd 0c 00 f7 d8 64 89 01 48
    [ 1295.171850] RSP: 002b:00007ffef7ed1358 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
    [ 1295.179451] RAX: ffffffffffffffda RBX: 00007ffef7ed1628 RCX: 00007f1a3495809b
    [ 1295.186601] RDX: 00007ffef7ed13b0 RSI: 0000000040406449 RDI: 0000000000000004
    [ 1295.193759] RBP: 00007ffef7ed13b0 R08: 0000000000000000 R09: 000000000157e770
    [ 1295.200917] R10: 000000000151c010 R11: 0000000000000246 R12: 0000000040406449
    [ 1295.208083] R13: 0000000000000004 R14: 0000000000000000 R15: 0000000000000000
    
    Reacquire the lock before continuing to the next page.
    
    Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ralph Campbell authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    d304654 View commit details
    Browse the repository at this point in the history
  67. drm/nouveau: fix memory leak in nouveau_conn_reset()

    In nouveau_conn_reset(), if connector->state is true,
    __drm_atomic_helper_connector_destroy_state() will be called,
    but the memory pointed by asyc isn't freed. Memory leak happens
    in the following function __drm_atomic_helper_connector_reset(),
    where newly allocated asyc->state will be assigned to connector->state.
    
    So using nouveau_conn_atomic_destroy_state() instead of
    __drm_atomic_helper_connector_destroy_state to free the "old" asyc.
    
    Here the is the log showing memory leak.
    
    unreferenced object 0xffff8c5480483c80 (size 192):
      comm "kworker/0:2", pid 188, jiffies 4294695279 (age 53.179s)
      hex dump (first 32 bytes):
        00 f0 ba 7b 54 8c ff ff 00 00 00 00 00 00 00 00  ...{T...........
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<000000005005c0d0>] kmem_cache_alloc_trace+0x195/0x2c0
        [<00000000a122baed>] nouveau_conn_reset+0x25/0xc0 [nouveau]
        [<000000004fd189a2>] nouveau_connector_create+0x3a7/0x610 [nouveau]
        [<00000000c73343a8>] nv50_display_create+0x343/0x980 [nouveau]
        [<000000002e2b03c3>] nouveau_display_create+0x51f/0x660 [nouveau]
        [<00000000c924699b>] nouveau_drm_device_init+0x182/0x7f0 [nouveau]
        [<00000000cc029436>] nouveau_drm_probe+0x20c/0x2c0 [nouveau]
        [<000000007e961c3e>] local_pci_probe+0x47/0xa0
        [<00000000da14d569>] work_for_cpu_fn+0x1a/0x30
        [<0000000028da4805>] process_one_work+0x27c/0x660
        [<000000001d415b04>] worker_thread+0x22b/0x3f0
        [<0000000003b69f1f>] kthread+0x12f/0x150
        [<00000000c94c29b7>] ret_from_fork+0x3a/0x50
    
    Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    liux2085 authored and Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    09b90e2 View commit details
    Browse the repository at this point in the history
  68. drm/nouveau/flcn/gp102-: improve implementation of bind_context() on …

    …SEC2/GSP
    
    Fixes various issues encountered while attempting to initialise ACR.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    5210e96 View commit details
    Browse the repository at this point in the history
  69. drm/nouveau/secboot/gp102-: remove WAR for SEC2 RTOS start bug

    Appears to be fixed by "flcn/gp102-: improve implementation of
    bind_context() on SEC2/GSP".
    
    Tested on GP10[24678] and GV100.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Ben Skeggs committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    4d352db View commit details
    Browse the repository at this point in the history
  70. Merge tag 'drm-next-5.3-2019-07-18' of git://people.freedesktop.org/~…

    …agd5f/linux into drm-next
    
    drm-next-5.3-2019-07-18:
    
    amdgpu:
    - Navi DC fix for secondary adapters
    - Fix Navi flickering with high res panels
    - Navi SMU fixes
    - Vega20 SMU fixes
    - Fixes for audio hotplug on HG systems
    - Fix for potential integer overflows on large buffer
      migrations
    - debugfs fixes for umr
    - Various other small fixes
    
    amdkfd:
    - Apply noretry setting consistently
    - Fix hang in eviction
    - Properly clean up GWS on uninit
    
    UAPI:
    - clarify a comment on ctx priority
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexdeucher@gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190718211525.3374-1-alexander.deucher@amd.com
    airlied committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    9fb7dc7 View commit details
    Browse the repository at this point in the history
  71. Merge branch 'linux-5.3' of git://github.com/skeggsb/linux into drm-next

    nouveau fixes and TU116 enablement.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Ben Skeggs <skeggsb@gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/CACAvsv5hZ3B4S9cVTPd2-Ug7dMSasLPJrWMyoDo4MOg8cbXWkA@mail.gmail.com
    airlied committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    8ee7956 View commit details
    Browse the repository at this point in the history
  72. x86/hyper-v: Zero out the VP ASSIST PAGE on allocation

    The VP ASSIST PAGE is an "overlay" page (see Hyper-V TLFS's Section
    5.2.1 "GPA Overlay Pages" for the details) and here is an excerpt:
    
    "The hypervisor defines several special pages that "overlay" the guest's
     Guest Physical Addresses (GPA) space. Overlays are addressed GPA but are
     not included in the normal GPA map maintained internally by the hypervisor.
     Conceptually, they exist in a separate map that overlays the GPA map.
    
     If a page within the GPA space is overlaid, any SPA page mapped to the
     GPA page is effectively "obscured" and generally unreachable by the
     virtual processor through processor memory accesses.
    
     If an overlay page is disabled, the underlying GPA page is "uncovered",
     and an existing mapping becomes accessible to the guest."
    
    SPA = System Physical Address = the final real physical address.
    
    When a CPU (e.g. CPU1) is onlined, hv_cpu_init() allocates the VP ASSIST
    PAGE and enables the EOI optimization for this CPU by writing the MSR
    HV_X64_MSR_VP_ASSIST_PAGE. From now on, hvp->apic_assist belongs to the
    special SPA page, and this CPU *always* uses hvp->apic_assist (which is
    shared with the hypervisor) to decide if it needs to write the EOI MSR.
    
    When a CPU is offlined then on the outgoing CPU:
    1. hv_cpu_die() disables the EOI optimizaton for this CPU, and from
       now on hvp->apic_assist belongs to the original "normal" SPA page;
    2. the remaining work of stopping this CPU is done
    3. this CPU is completely stopped.
    
    Between 1 and 3, this CPU can still receive interrupts (e.g. reschedule
    IPIs from CPU0, and Local APIC timer interrupts), and this CPU *must* write
    the EOI MSR for every interrupt received, otherwise the hypervisor may not
    deliver further interrupts, which may be needed to completely stop the CPU.
    
    So, after the EOI optimization is disabled in hv_cpu_die(), it's required
    that the hvp->apic_assist's bit0 is zero, which is not guaranteed by the
    current allocation mode because it lacks __GFP_ZERO. As a consequence the
    bit might be set and interrupt handling would not write the EOI MSR causing
    interrupt delivery to become stuck.
    
    Add the missing __GFP_ZERO to the allocation.
    
    Note 1: after the "normal" SPA page is allocted and zeroed out, neither the
    hypervisor nor the guest writes into the page, so the page remains with
    zeros.
    
    Note 2: see Section 10.3.5 "EOI Assist" for the details of the EOI
    optimization. When the optimization is enabled, the guest can still write
    the EOI MSR register irrespective of the "No EOI required" value, but
    that's slower than the optimized assist based variant.
    
    Fixes: ba69642 ("x86/hyper-v: Implement EOI assist")
    Signed-off-by: Dexuan Cui <decui@microsoft.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/ <PU1P153MB0169B716A637FABF07433C04BFCB0@PU1P153MB0169.APCP153.PROD.OUTLOOK.COM
    dcui authored and KAGA-KOKO committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    e320ab3 View commit details
    Browse the repository at this point in the history
  73. Input: add Apple SPI keyboard and trackpad driver

    The keyboard and trackpad on recent MacBook's (since 8,1) and
    MacBookPro's (13,* and 14,*) are attached to an SPI controller instead
    of USB, as previously. The higher level protocol is not publicly
    documented and hence has been reverse engineered. As a consequence there
    are still a number of unknown fields and commands. However, the known
    parts have been working well and received extensive testing and use.
    
    In order for this driver to work, the proper SPI drivers need to be
    loaded too; for MB8,1 these are spi_pxa2xx_platform and spi_pxa2xx_pci;
    for all others they are spi_pxa2xx_platform and intel_lpss_pci.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=99891
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=108331
    Signed-off-by: Ronald Tschalär <ronald@innovation.ch>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    roadrunner2 authored and dtor committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    038b1a0 View commit details
    Browse the repository at this point in the history
  74. Input: applespi - remove set but not used variables 'sts'

    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/input/keyboard/applespi.c: In function applespi_set_bl_level:
    drivers/input/keyboard/applespi.c:902:6: warning: variable sts set but not used [-Wunused-but-set-variable]
    
    Fixes: b426ac0 ("Input: add Apple SPI keyboard and trackpad driver")
    Signed-off-by: Mao Wenan <maowenan@huawei.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Mao Wenan authored and dtor committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    d56fef0 View commit details
    Browse the repository at this point in the history
  75. Input: psmouse - fix build error of multiple definition

    trackpoint_detect() should be static inline while
    CONFIG_MOUSE_PS2_TRACKPOINT is not set, otherwise, we build fails:
    
    drivers/input/mouse/alps.o: In function `trackpoint_detect':
    alps.c:(.text+0x8e00): multiple definition of `trackpoint_detect'
    drivers/input/mouse/psmouse-base.o:psmouse-base.c:(.text+0x1b50): first defined here
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 55e3d92 ("Input: psmouse - allow disabing certain protocol extensions")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    YueHaibing authored and dtor committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    49e6979 View commit details
    Browse the repository at this point in the history
  76. Input: alps - fix a mismatch between a condition check and its comment

    In the function alps_is_cs19_trackpoint(), we check if the param[1] is
    in the 0x20~0x2f range, but the code we wrote for this checking is not
    correct:
    (param[1] & 0x20) does not mean param[1] is in the range of 0x20~0x2f,
    it also means the param[1] is in the range of 0x30~0x3f, 0x60~0x6f...
    
    Now fix it with a new condition checking ((param[1] & 0xf0) == 0x20).
    
    Fixes: 7e4935c ("Input: alps - don't handle ALPS cs19 trackpoint-only device")
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang <hui.wang@canonical.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    jason77-wang authored and dtor committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    771a081 View commit details
    Browse the repository at this point in the history
  77. dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/d…

    …evice
    
    dma_map_sg() may use swiotlb buffer when the kernel command line includes
    "swiotlb=force" or the dma_addr is out of dev->dma_mask range.  After
    DMA complete the memory moving from device to memory, then user call
    dma_sync_sg_for_cpu() to sync with DMA buffer, and copy the original
    virtual buffer to other space.
    
    So dma_direct_sync_sg_for_cpu() should use swiotlb physical addr, not
    the original physical addr from sg_phys(sg).
    
    dma_direct_sync_sg_for_device() also has the same issue, correct it as
    well.
    
    Fixes: 55897af("dma-direct: merge swiotlb_dma_ops into the dma_direct code")
    Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    fugangduan authored and Christoph Hellwig committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    449fa54 View commit details
    Browse the repository at this point in the history
  78. ALSA: pcm: Fix refcount_inc() on zero usage

    The recent rewrite of PCM link lock management introduced the refcount
    in snd_pcm_group object, managed by the kernel refcount_t API.  This
    caused unexpected kernel warnings when the kernel is built with
    CONFIG_REFCOUNT_FULL=y.  As the warning line indicates, the problem is
    obviously that we start with refcount=0 and do refcount_inc() for
    adding each PCM link, while refcount_t API doesn't like refcount_inc()
    performed on zero.
    
    For adapting the proper refcount_t usage, this patch changes the logic
    slightly:
    - The initial refcount is 1, assuming the single list entry
    - The refcount is incremented / decremented at each PCM link addition
      and deletion
    - ... which allows us concentrating only on the refcount as a release
      condition
    
    Fixes: f57f3df ("ALSA: pcm: More fine-grained PCM link locking")
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204221
    Reported-and-tested-by: Duncan Overbruck <kernel@duncano.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    0e279dc View commit details
    Browse the repository at this point in the history
  79. tracing: Fix user stack trace "??" output

    Commit c5c27a0 ("x86/stacktrace: Remove the pointless ULONG_MAX
    marker") removes ULONG_MAX marker from user stack trace entries but
    trace_user_stack_print() still uses the marker and it outputs unnecessary
    "??".
    
    For example:
    
                less-1911  [001] d..2    34.758944: <user stack trace>
       =>  <00007f16f2295910>
       => ??
       => ??
       => ??
       => ??
       => ??
       => ??
       => ??
    
    The user stack trace code zeroes the storage before saving the stack, so if
    the trace is shorter than the maximum number of entries it can terminate
    the print loop if a zero entry is detected.
    
    Link: http://lkml.kernel.org/r/20190630085438.25545-1-devel@etsukata.com
    
    Cc: stable@vger.kernel.org
    Fixes: 4285f2f ("tracing: Remove the ULONG_MAX stack trace hackery")
    Signed-off-by: Eiichi Tsukata <devel@etsukata.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Etsukata authored and rostedt committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    6d54ceb View commit details
    Browse the repository at this point in the history
  80. Merge branch 'akpm' (patches from Andrew)

    Merge yet more updates from Andrew Morton:
     "The rest of MM and a kernel-wide procfs cleanup.
    
      Summary of the more significant patches:
    
       - Patch series "mm/memory_hotplug: Factor out memory block
         devicehandling", v3. David Hildenbrand.
    
         Some spring-cleaning of the memory hotplug code, notably in
         drivers/base/memory.c
    
       - "mm: thp: fix false negative of shmem vma's THP eligibility". Yang
         Shi.
    
         Fix /proc/pid/smaps output for THP pages used in shmem.
    
       - "resource: fix locking in find_next_iomem_res()" + 1. Nadav Amit.
    
         Bugfix and speedup for kernel/resource.c
    
       - Patch series "mm: Further memory block device cleanups", David
         Hildenbrand.
    
         More spring-cleaning of the memory hotplug code.
    
       - Patch series "mm: Sub-section memory hotplug support". Dan
         Williams.
    
         Generalise the memory hotplug code so that pmem can use it more
         completely. Then remove the hacks from the libnvdimm code which
         were there to work around the memory-hotplug code's constraints.
    
       - "proc/sysctl: add shared variables for range check", Matteo Croce.
    
         We have about 250 instances of
    
              int zero;
              ...
                      .extra1 = &zero,
    
         in the tree. This is a tree-wide sweep to make all those private
         "zero"s and "one"s use global variables.
    
         Alas, it isn't practical to make those two global integers const"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (38 commits)
      proc/sysctl: add shared variables for range check
      mm: migrate: remove unused mode argument
      mm/sparsemem: cleanup 'section number' data types
      libnvdimm/pfn: stop padding pmem namespaces to section alignment
      libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields
      mm/devm_memremap_pages: enable sub-section remap
      mm: document ZONE_DEVICE memory-model implications
      mm/sparsemem: support sub-section hotplug
      mm/sparsemem: prepare for sub-section ranges
      mm: kill is_dev_zone() helper
      mm/hotplug: kill is_dev_zone() usage in __remove_pages()
      mm/sparsemem: convert kmalloc_section_memmap() to populate_section_memmap()
      mm/hotplug: prepare shrink_{zone, pgdat}_span for sub-section removal
      mm/sparsemem: add helpers track active portions of a section at boot
      mm/sparsemem: introduce a SECTION_IS_EARLY flag
      mm/sparsemem: introduce struct mem_section_usage
      drivers/base/memory.c: get rid of find_memory_block_hinted()
      mm/memory_hotplug: move and simplify walk_memory_blocks()
      mm/memory_hotplug: rename walk_memory_range() and pass start+size instead of pfns
      mm: make register_mem_sect_under_node() static
      ...
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    249be85 View commit details
    Browse the repository at this point in the history
  81. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    Pull networking fixes from David Miller:
    
     1) Fix AF_XDP cq entry leak, from Ilya Maximets.
    
     2) Fix handling of PHY power-down on RTL8411B, from Heiner Kallweit.
    
     3) Add some new PCI IDs to iwlwifi, from Ihab Zhaika.
    
     4) Fix handling of neigh timers wrt. entries added by userspace, from
        Lorenzo Bianconi.
    
     5) Various cases of missing of_node_put(), from Nishka Dasgupta.
    
     6) The new NET_ACT_CT needs to depend upon NF_NAT, from Yue Haibing.
    
     7) Various RDS layer fixes, from Gerd Rausch.
    
     8) Fix some more fallout from TCQ_F_CAN_BYPASS generalization, from
        Cong Wang.
    
     9) Fix FIB source validation checks over loopback, also from Cong Wang.
    
    10) Use promisc for unsupported number of filters, from Justin Chen.
    
    11) Missing sibling route unlink on failure in ipv6, from Ido Schimmel.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits)
      tcp: fix tcp_set_congestion_control() use from bpf hook
      ag71xx: fix return value check in ag71xx_probe()
      ag71xx: fix error return code in ag71xx_probe()
      usb: qmi_wwan: add D-Link DWM-222 A2 device ID
      bnxt_en: Fix VNIC accounting when enabling aRFS on 57500 chips.
      net: dsa: sja1105: Fix missing unlock on error in sk_buff()
      gve: replace kfree with kvfree
      selftests/bpf: fix test_xdp_noinline on s390
      selftests/bpf: fix "valid read map access into a read-only array 1" on s390
      net/mlx5: Replace kfree with kvfree
      MAINTAINERS: update netsec driver
      ipv6: Unlink sibling route in case of failure
      liquidio: Replace vmalloc + memset with vzalloc
      udp: Fix typo in net/ipv4/udp.c
      net: bcmgenet: use promisc for unsupported filters
      ipv6: rt6_check should return NULL if 'from' is NULL
      tipc: initialize 'validated' field of received packets
      selftests: add a test case for rp_filter
      fib: relax source validation check for loopback packets
      mlxsw: spectrum: Do not process learned records with a dummy FID
      ...
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    5f4fc6d View commit details
    Browse the repository at this point in the history
  82. Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/viro/vfs
    
    Pull vfs mount updates from Al Viro:
     "The first part of mount updates.
    
      Convert filesystems to use the new mount API"
    
    * 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
      mnt_init(): call shmem_init() unconditionally
      constify ksys_mount() string arguments
      don't bother with registering rootfs
      init_rootfs(): don't bother with init_ramfs_fs()
      vfs: Convert smackfs to use the new mount API
      vfs: Convert selinuxfs to use the new mount API
      vfs: Convert securityfs to use the new mount API
      vfs: Convert apparmorfs to use the new mount API
      vfs: Convert openpromfs to use the new mount API
      vfs: Convert xenfs to use the new mount API
      vfs: Convert gadgetfs to use the new mount API
      vfs: Convert oprofilefs to use the new mount API
      vfs: Convert ibmasmfs to use the new mount API
      vfs: Convert qib_fs/ipathfs to use the new mount API
      vfs: Convert efivarfs to use the new mount API
      vfs: Convert configfs to use the new mount API
      vfs: Convert binfmt_misc to use the new mount API
      convenience helper: get_tree_single()
      convenience helper get_tree_nodev()
      vfs: Kill sget_userns()
      ...
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    933a90b View commit details
    Browse the repository at this point in the history
  83. Merge branch 'work.adfs' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull adfs updates from Al Viro:
     "More ADFS patches from Russell King"
    
    * 'work.adfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      fs/adfs: add time stamp and file type helpers
      fs/adfs: super: limit idlen according to directory type
      fs/adfs: super: fix use-after-free bug
      fs/adfs: super: safely update options on remount
      fs/adfs: super: correct superblock flags
      fs/adfs: clean up indirect disc addresses and fragment IDs
      fs/adfs: clean up error message printing
      fs/adfs: use %pV for error messages
      fs/adfs: use format_version from disc_record
      fs/adfs: add helper to get filesystem size
      fs/adfs: add helper to get discrecord from map
      fs/adfs: correct disc record structure
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    d2fbf4b View commit details
    Browse the repository at this point in the history
  84. Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull misc vfs updates from Al Viro:
     "Assorted stuff"
    
    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      perf_event_get(): don't bother with fget_raw()
      vfs: update d_make_root() description
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    4f5ed13 View commit details
    Browse the repository at this point in the history
  85. Merge tag 'iomap-5.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/…

    …xfs-linux
    
    Pull iomap split/cleanup from Darrick Wong:
     "As promised, here's the second part of the iomap merge for 5.3, in
      which we break up iomap.c into smaller files grouped by functional
      area so that it'll be easier in the long run to maintain cohesiveness
      of code units and to review incoming patches. There are no functional
      changes and fs/iomap.c split cleanly.
    
      Summary:
    
       - Regroup the fs/iomap.c code by major functional area so that we can
         start development for 5.4 from a more stable base"
    
    * tag 'iomap-5.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      iomap: move internal declarations into fs/iomap/
      iomap: move the main iteration code into a separate file
      iomap: move the buffered IO code into a separate file
      iomap: move the direct IO code into a separate file
      iomap: move the SEEK_HOLE code into a separate file
      iomap: move the file mapping reporting code into a separate file
      iomap: move the swapfile code into a separate file
      iomap: start moving code to fs/iomap/
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    26473f8 View commit details
    Browse the repository at this point in the history
  86. Merge tag 'for-linus-5.3a-rc1-tag' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/xen/tip
    
    Pull xen updates from Juergen Gross:
     "Fixes and features:
    
       - A series to introduce a common command line parameter for disabling
         paravirtual extensions when running as a guest in virtualized
         environment
    
       - A fix for int3 handling in Xen pv guests
    
       - Removal of the Xen-specific tmem driver as support of tmem in Xen
         has been dropped (and it was experimental only)
    
       - A security fix for running as Xen dom0 (XSA-300)
    
       - A fix for IRQ handling when offlining cpus in Xen guests
    
       - Some small cleanups"
    
    * tag 'for-linus-5.3a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
      xen: let alloc_xenballooned_pages() fail if not enough memory free
      xen/pv: Fix a boot up hang revealed by int3 self test
      x86/xen: Add "nopv" support for HVM guest
      x86/paravirt: Remove const mark from x86_hyper_xen_hvm variable
      xen: Map "xen_nopv" parameter to "nopv" and mark it obsolete
      x86: Add "nopv" parameter to disable PV extensions
      x86/xen: Mark xen_hvm_need_lapic() and xen_x2apic_para_available() as __init
      xen: remove tmem driver
      Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"
      xen/events: fix binding user event channels to cpus
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    b5d72dd View commit details
    Browse the repository at this point in the history
  87. Merge tag 'csky-for-linus-5.3-rc1' of git://github.com/c-sky/csky-linux

    Pull arch/csky pupdates from Guo Ren:
     "This round of csky subsystem gives two features (ASID algorithm
      update, Perf pmu record support) and some fixups.
    
      ASID updates:
       - Revert mmu ASID mechanism
       - Add new asid lib code from arm
       - Use generic asid algorithm to implement switch_mm
       - Improve tlb operation with help of asid
    
      Perf pmu record support:
       - Init pmu as a device
       - Add count-width property for csky pmu
       - Add pmu interrupt support
       - Fix perf record in kernel/user space
       - dt-bindings: Add csky PMU bindings
    
      Fixes:
       - Fixup no panic in kernel for some traps
       - Fixup some error count in 810 & 860.
       - Fixup abiv1 memset error"
    
    * tag 'csky-for-linus-5.3-rc1' of git://github.com/c-sky/csky-linux:
      csky: Fixup abiv1 memset error
      csky: Improve tlb operation with help of asid
      csky: Use generic asid algorithm to implement switch_mm
      csky: Add new asid lib code from arm
      csky: Revert mmu ASID mechanism
      dt-bindings: csky: Add csky PMU bindings
      dt-bindings: interrupt-controller: Update csky mpintc
      csky: Fixup some error count in 810 & 860.
      csky: Fix perf record in kernel/user space
      csky: Add pmu interrupt support
      csky: Add count-width property for csky pmu
      csky: Init pmu as a device
      csky: Fixup no panic in kernel for some traps
      csky: Select intc & timer drivers
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    a84d2d2 View commit details
    Browse the repository at this point in the history
  88. Merge tag 'trace-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/rostedt/linux-trace
    
    Pull tracing fix from Steven Rostedt:
     "Eiichi Tsukata found a small bug from the fixup of the stack code
    
      Removing ULONG_MAX as the marker for the user stack trace end, made
      the tracing code not know where the end is. The end is now marked with
      a zero (NULL) pointer. Eiichi fixed this in the tracing code"
    
    * tag 'trace-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Fix user stack trace "??" output
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    41ba485 View commit details
    Browse the repository at this point in the history
  89. Remove references to dead website.

    This fell into disrepair a while ago, and the majority of hits to the
    snapshots were from bots, so it's more trouble to keep running than it's worth.
    
    Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    kernelslacker authored and torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    40ef768 View commit details
    Browse the repository at this point in the history
  90. Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
    
     - Fix missed wake-up race in padata
    
     - Use crypto_memneq in ccp
    
     - Fix version check in ccp
    
     - Fix fuzz test failure in ccp
    
     - Fix potential double free in crypto4xx
    
     - Fix compile warning in stm32
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      padata: use smp_mb in padata_reorder to avoid orphaned padata jobs
      crypto: ccp - Fix SEV_VERSION_GREATER_OR_EQUAL
      crypto: ccp/gcm - use const time tag comparison.
      crypto: ccp - memset structure fields to zero before reuse
      crypto: crypto4xx - fix a potential double free in ppc4xx_trng_probe
      crypto: stm32/hash - Fix incorrect printk modifier for size_t
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    dd4542d View commit details
    Browse the repository at this point in the history
  91. Merge tag 'drm-next-2019-07-19' of git://anongit.freedesktop.org/drm/drm

    Pull drm fixes from Daniel Vetter:
     "Dave is back in shape, but now family got it so I'm doing the pull.
      Two things worthy of note:
    
       - nouveau feature pull was way too late, Dave&me decided to not take
         that, so Ben spun up a pull with just the fixes.
    
       - after some chatting with the arm display maintainers we decided to
         change a bit how that's maintained, for more oversight/review and
         cross vendor collab.
    
      More details below:
    
      nouveau:
       - bugfixes
       - TU116 enabling (minor iteration) :w
    
      amdgpu:
       - large pile of fixes for new hw support this release (navi, vega20)
       - audio hotplug fix
       - bunch of corner cases and small fixes all over for amdgpu/kfd
    
      komeda:
       - back out some new properties (from this merge window) that needs
         more pondering.
    
      bochs:
       - fb pitch setup
    
      core:
       - a new panel quirk
       - misc fixes"
    
    * tag 'drm-next-2019-07-19' of git://anongit.freedesktop.org/drm/drm: (73 commits)
      drm/nouveau/secboot/gp102-: remove WAR for SEC2 RTOS start bug
      drm/nouveau/flcn/gp102-: improve implementation of bind_context() on SEC2/GSP
      drm/nouveau: fix memory leak in nouveau_conn_reset()
      drm/nouveau/dmem: missing mutex_lock in error path
      drm/nouveau/hwmon: return EINVAL if the GPU is powered down for sensors reads
      drm/nouveau: fix bogus GPL-2 license header
      drm/nouveau: fix bogus GPL-2 license header
      drm/nouveau/i2c: Enable i2c pads & busses during preinit
      drm/nouveau/disp/tu102-: wire up scdc parameter setter
      drm/nouveau/core: recognise TU116 chipset
      drm/nouveau/kms: disallow dual-link harder if hdmi connection detected
      drm/nouveau/disp/nv50-: fix center/aspect-corrected scaling
      drm/nouveau/disp/nv50-: force scaler for any non-default LVDS/eDP modes
      drm/nouveau/mcp89/mmu: Use mcp77_mmu_new instead of g84_mmu_new on MCP89.
      drm/amd/display: init res_pool dccg_ref, dchub_ref with xtalin_freq
      drm/amdgpu/pm: remove check for pp funcs in freq sysfs handlers
      drm/amd/display: Force uclk to max for every state
      drm/amdkfd: Remove GWS from process during uninit
      drm/amd/amdgpu: Fix offset for vmid selection in debugfs interface
      drm/amd/powerplay: update vega20 driver if to fit latest SMU firmware
      ...
    torvalds committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    31cc088 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2019

  1. Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/soc/soc
    
    Pull ARM SoC platform updates from Olof Johansson:
     "SoC platform changes. Main theme this merge window:
    
       - The Netx platform (Netx 100/500) platform is removed by Linus
         Walleij-- the SoC doesn't have active maintainers with hardware,
         and in discussions with the vendor the agreement was that it's OK
         to remove.
    
       - Russell King has a series of patches that cleans up and refactors
         SA1101 and RiscPC support"
    
    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (47 commits)
      ARM: stm32: use "depends on" instead of "if" after prompt
      ARM: sa1100: convert to common clock framework
      ARM: exynos: Cleanup cppcheck shifting warning
      ARM: pxa/lubbock: remove lubbock_set_misc_wr() from global view
      ARM: exynos: Only build MCPM support if used
      arm: add missing include platform-data/atmel.h
      ARM: davinci: Use GPIO lookup table for DA850 LEDs
      ARM: OMAP2: drop explicit assembler architecture
      ARM: use arch_extension directive instead of arch argument
      ARM: imx: Switch imx7d to imx-cpufreq-dt for speed-grading
      ARM: bcm: Enable PINCTRL for ARCH_BRCMSTB
      ARM: bcm: Enable ARCH_HAS_RESET_CONTROLLER for ARCH_BRCMSTB
      ARM: riscpc: enable chained scatterlist support
      ARM: riscpc: reduce IRQ handling code
      ARM: riscpc: move RiscPC assembly files from arch/arm/lib to mach-rpc
      ARM: riscpc: parse video information from tagged list
      ARM: riscpc: add ecard quirk for Atomwide 3port serial card
      MAINTAINERS: mvebu: Add git entry
      soc: ti: pm33xx: Add a print while entering RTC only mode with DDR in self-refresh
      ARM: OMAP2+: Make some variables static
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    24e4491 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/soc/soc
    
    Pull ARM SoC-related driver updates from Olof Johansson:
     "Various driver updates for platforms and a couple of the small driver
      subsystems we merge through our tree:
    
       - A driver for SCU (system control) on NXP i.MX8QXP
    
       - Qualcomm Always-on Subsystem messaging driver (AOSS QMP)
    
       - Qualcomm PM support for MSM8998
    
       - Support for a newer version of DRAM PHY driver for Broadcom (DPFE)
    
       - Reset controller support for Bitmain BM1880
    
       - TI SCI (System Control Interface) support for CPU control on AM654
         processors
    
       - More TI sysc refactoring and rework"
    
    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (84 commits)
      reset: remove redundant null check on pointer dev
      soc: rockchip: work around clang warning
      dt-bindings: reset: imx7: Fix the spelling of 'indices'
      soc: imx: Add i.MX8MN SoC driver support
      soc: aspeed: lpc-ctrl: Fix probe error handling
      soc: qcom: geni: Add support for ACPI
      firmware: ti_sci: Fix gcc unused-but-set-variable warning
      firmware: ti_sci: Use the correct style for SPDX License Identifier
      soc: imx8: Use existing of_root directly
      soc: imx8: Fix potential kernel dump in error path
      firmware/psci: psci_checker: Park kthreads before stopping them
      memory: move jedec_ddr.h from include/memory to drivers/memory/
      memory: move jedec_ddr_data.c from lib/ to drivers/memory/
      MAINTAINERS: Remove myself as qcom maintainer
      soc: aspeed: lpc-ctrl: make parameter optional
      soc: qcom: apr: Don't use reg for domain id
      soc: qcom: fix QCOM_AOSS_QMP dependency and build errors
      memory: tegra: Fix -Wunused-const-variable
      firmware: tegra: Early resume BPMP
      soc/tegra: Select pinctrl for Tegra194
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    8362fd6 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/soc/soc
    
    Pull ARM Devicetree updates from Olof Johansson:
     "We continue to see a lot of new material. I've highlighted some of it
      below, but there's been more beyond that as well.
    
      One of the sweeping changes is that many boards have seen their ARM
      Mali GPU devices added to device trees, since the DRM drivers have now
      been merged.
    
      So, with the caveat that I have surely missed several great
      contributions, here's a collection of the material this time around:
    
      New SoCs:
    
       - Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53)
    
       - TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA)
    
       - Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53)
    
      New Boards / platforms:
    
       - Aspeed BMC support for a number of new server platforms
    
       - Kontron SMARC SoM (several i.MX6 versions)
    
       - Novtech's Meerkat96 (i.MX7)
    
       - ST Micro Avenger96 board
    
       - Hardkernel ODROID-N2 (Amlogic G12B)
    
       - Purism Librem5 devkit (i.MX8MQ)
    
       - Google Cheza (Qualcomm SDM845)
    
       - Qualcomm Dragonboard 845c (Qualcomm SDM845)
    
       - Hugsun X99 TV Box (Rockchip RK3399)
    
       - Khadas Edge/Edge-V/Captain (Rockchip RK3399)
    
      Updated / expanded boards and platforms:
    
       - Renesas r7s9210 has a lot of new peripherals added
    
       - Fixes and polish for Rockchip-based Chromebooks
    
       - Amlogic G12A has a lot of peripherals added
    
       - Nvidia Jetson Nano sees various fixes and improvements, and is now
         at feature parity with TX1"
    
    * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (586 commits)
      ARM: dts: gemini: Set DIR-685 SPI CS as active low
      ARM: dts: exynos: Adjust buck[78] regulators to supported values on Arndale Octa
      ARM: dts: exynos: Adjust buck[78] regulators to supported values on Odroid XU3 family
      ARM: dts: exynos: Move Mali400 GPU node to "/soc"
      ARM: dts: exynos: Fix imprecise abort on Mali GPU probe on Exynos4210
      arm64: dts: qcom: qcs404: Add missing space for cooling-cells property
      arm64: dts: rockchip: Fix USB3 Type-C on rk3399-sapphire
      arm64: dts: rockchip: Update DWC3 modules on RK3399 SoCs
      arm64: dts: rockchip: enable rk3328 watchdog clock
      ARM: dts: rockchip: add display nodes for rk322x
      ARM: dts: rockchip: fix vop iommu-cells on rk322x
      arm64: dts: rockchip: Add support for Hugsun X99 TV Box
      arm64: dts: rockchip: Define values for the IPA governor for rock960
      arm64: dts: rockchip: Fix multiple thermal zones conflict in rk3399.dtsi
      arm64: dts: rockchip: add core dtsi file for RK3399Pro SoCs
      arm64: dts: rockchip: improve rk3328-roc-cc rgmii performance.
      Revert "ARM: dts: rockchip: set PWM delay backlight settings for Minnie"
      ARM: dts: rockchip: Configure BT_DEV_WAKE in on rk3288-veyron
      arm64: dts: qcom: sdm845-cheza: add initial cheza dt
      ARM: dts: msm8974-FP2: Add vibration motor
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    af6af87 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/soc/soc
    
    Pull ARM SoC defconfig updates from Olof Johansson:
     "We keep this in a separate branch to avoid cross-branch conflicts, but
      most of the material here is fairly boring -- some new drivers turned
      on for hardware since they were merged, and some refreshed files due
      to time having moved a lot of entries around"
    
    * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (47 commits)
      ARM: configs: multi_v5: Remove duplicate ASPEED options
      arm64: defconfig: Enable CONFIG_KEYBOARD_SNVS_PWRKEY as module
      ARM: imx_v6_v7_defconfig: Enable CONFIG_ARM_IMX_CPUFREQ_DT
      defconfig: arm64: enable i.MX8 SCU octop driver
      arm64: defconfig: Add i.MX SCU SoC info driver
      arm64: defconfig: Enable CONFIG_QORIQ_THERMAL
      ARM: imx_v6_v7_defconfig: Select CONFIG_NVMEM_SNVS_LPGPR
      arm64: defconfig: ARM_IMX_CPUFREQ_DT=m
      ARM: imx_v6_v7_defconfig: Add TPM PWM support by default
      ARM: imx_v6_v7_defconfig: Enable the OV2680 camera driver
      ARM: imx_v6_v7_defconfig: Enable CONFIG_THERMAL_STATISTICS
      arm64: defconfig: NVMEM_IMX_OCOTP=y for imx8m
      ARM: multi_v7_defconfig: enable STMFX pinctrl support
      arm64 defconfig: enable LVM support
      ARM: configs: multi_v5: Add more ASPEED devices
      arm64: defconfig: Add Tegra194 PCIe driver
      ARM: configs: aspeed: Add new drivers
      ARM: exynos_defconfig: Enable Panfrost and Lima drivers
      ARM: multi_v7_defconfig: Enable Panfrost and Lima drivers
      arm64 defconfig: enable Mellanox cards
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    abdfd52 View commit details
    Browse the repository at this point in the history
  5. kbuild: update compile-test header list for v5.3-rc1

     - Some headers graduated from the blacklist
    
     - hyperv_timer.h joined the header-test when CONFIG_X86=y
    
     - nf_tables*.h joined the header-test when CONFIG_NF_TABLES is
       enabled.
    
     - The entry for nf_tables_offload.h was added to fix build error for
       the combination of CONFIG_NF_TABLES=n and CONFIG_KERNEL_HEADER_TEST=y.
    
     - The entry for iomap.h was added because this header is supposed to
       be included only when CONFIG_BLOCK=y
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    masahir0y committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    67bf474 View commit details
    Browse the repository at this point in the history
  6. kbuild: add -fcf-protection=none when using retpoline flags

    The gcc -fcf-protection=branch option is not compatible with
    -mindirect-branch=thunk-extern. The latter is used when
    CONFIG_RETPOLINE is selected, and this will fail to build with
    a gcc which has -fcf-protection=branch enabled by default. Adding
    -fcf-protection=none when building with retpoline enabled
    prevents such build failures.
    
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Seth Forshee authored and masahir0y committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    29be86d View commit details
    Browse the repository at this point in the history
  7. Merge branch 'next' into for-linus

    Prepare second round of input updates for 5.3 merge window.
    dtor committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    c39f2d9 View commit details
    Browse the repository at this point in the history
  8. KVM: LAPIC: Inject timer interrupt via posted interrupt

    Dedicated instances are currently disturbed by unnecessary jitter due
    to the emulated lapic timers firing on the same pCPUs where the
    vCPUs reside.  There is no hardware virtual timer on Intel for guest
    like ARM, so both programming timer in guest and the emulated timer fires
    incur vmexits.  This patch tries to avoid vmexit when the emulated timer
    fires, at least in dedicated instance scenario when nohz_full is enabled.
    
    In that case, the emulated timers can be offload to the nearest busy
    housekeeping cpus since APICv has been found for several years in server
    processors. The guest timer interrupt can then be injected via posted interrupts,
    which are delivered by the housekeeping cpu once the emulated timer fires.
    
    The host should tuned so that vCPUs are placed on isolated physical
    processors, and with several pCPUs surplus for busy housekeeping.
    If disabled mwait/hlt/pause vmexits keep the vCPUs in non-root mode,
    ~3% redis performance benefit can be observed on Skylake server, and the
    number of external interrupt vmexits drops substantially.  Without patch
    
                VM-EXIT  Samples  Samples%  Time%   Min Time  Max Time   Avg time
    EXTERNAL_INTERRUPT    42916    49.43%   39.30%   0.47us   106.09us   0.71us ( +-   1.09% )
    
    While with patch:
    
                VM-EXIT  Samples  Samples%  Time%   Min Time  Max Time         Avg time
    EXTERNAL_INTERRUPT    6871     9.29%     2.96%   0.44us    57.88us   0.72us ( +-   4.02% )
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Wanpeng Li authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    0c5f81d View commit details
    Browse the repository at this point in the history
  9. KVM: SVM: Fix detection of AMD Errata 1096

    When CPU raise #NPF on guest data access and guest CR4.SMAP=1, it is
    possible that CPU microcode implementing DecodeAssist will fail
    to read bytes of instruction which caused #NPF. This is AMD errata
    1096 and it happens because CPU microcode reading instruction bytes
    incorrectly attempts to read code as implicit supervisor-mode data
    accesses (that is, just like it would read e.g. a TSS), which are
    susceptible to SMAP faults. The microcode reads CS:RIP and if it is
    a user-mode address according to the page tables, the processor
    gives up and returns no instruction bytes.  In this case,
    GuestIntrBytes field of the VMCB on a VMEXIT will incorrectly
    return 0 instead of the correct guest instruction bytes.
    
    Current KVM code attemps to detect and workaround this errata, but it
    has multiple issues:
    
    1) It mistakenly checks if guest CR4.SMAP=0 instead of guest CR4.SMAP=1,
    which is required for encountering a SMAP fault.
    
    2) It assumes SMAP faults can only occur when guest CPL==3.
    However, in case guest CR4.SMEP=0, the guest can execute an instruction
    which reside in a user-accessible page with CPL<3 priviledge. If this
    instruction raise a #NPF on it's data access, then CPU DecodeAssist
    microcode will still encounter a SMAP violation.  Even though no sane
    OS will do so (as it's an obvious priviledge escalation vulnerability),
    we still need to handle this semanticly correct in KVM side.
    
    Note that (2) *is* a useful optimization, because CR4.SMAP=1 is an easy
    triggerable condition and guests usually enable SMAP together with SMEP.
    If the vCPU has CR4.SMEP=1, the errata could indeed be encountered onlt
    at guest CPL==3; otherwise, the CPU would raise a SMEP fault to guest
    instead of #NPF.  We keep this condition to avoid false positives in
    the detection of the errata.
    
    In addition, to avoid future confusion and improve code readbility,
    include details of the errata in code and not just in commit message.
    
    Fixes: 05d5a48 ("KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation)")
    Cc: Singh Brijesh <brijesh.singh@amd.com>
    Cc: Sean Christopherson <sean.j.christopherson@intel.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: Liran Alon <liran.alon@oracle.com>
    Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Liran Alon authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    118154b View commit details
    Browse the repository at this point in the history
  10. KVM: selftests: Remove superfluous define from vmx.c

    The code in vmx.c does not use "program_invocation_name", so there
    is no need to "#define _GNU_SOURCE" here.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    huth authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    2417c87 View commit details
    Browse the repository at this point in the history
  11. KVM: Boost vCPUs that are delivering interrupts

    Inspired by commit 9cac38d (KVM/s390: Set preempted flag during
    vcpu wakeup and interrupt delivery), we want to also boost not just
    lock holders but also vCPUs that are delivering interrupts. Most
    smp_call_function_many calls are synchronous, so the IPI target vCPUs
    are also good yield candidates.  This patch introduces vcpu->ready to
    boost vCPUs during wakeup and interrupt delivery time; unlike s390 we do
    not reuse vcpu->preempted so that voluntarily preempted vCPUs are taken
    into account by kvm_vcpu_on_spin, but vmx_vcpu_pi_put is not affected
    (VT-d PI handles voluntary preemption separately, in pi_pre_block).
    
    Testing on 80 HT 2 socket Xeon Skylake server, with 80 vCPUs VM 80GB RAM:
    ebizzy -M
    
                vanilla     boosting    improved
    1VM          21443       23520         9%
    2VM           2800        8000       180%
    3VM           1800        3100        72%
    
    Testing on my Haswell desktop 8 HT, with 8 vCPUs VM 8GB RAM, two VMs,
    one running ebizzy -M, the other running 'stress --cpu 2':
    
    w/ boosting + w/o pv sched yield(vanilla)
    
                vanilla     boosting   improved
                  1570         4000      155%
    
    w/ boosting + w/ pv sched yield(vanilla)
    
                vanilla     boosting   improved
                  1844         5157      179%
    
    w/o boosting, perf top in VM:
    
     72.33%  [kernel]       [k] smp_call_function_many
      4.22%  [kernel]       [k] call_function_i
      3.71%  [kernel]       [k] async_page_fault
    
    w/ boosting, perf top in VM:
    
     38.43%  [kernel]       [k] smp_call_function_many
      6.31%  [kernel]       [k] async_page_fault
      6.13%  libc-2.23.so   [.] __memcpy_avx_unaligned
      4.88%  [kernel]       [k] call_function_interrupt
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Paul Mackerras <paulus@ozlabs.org>
    Cc: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Wanpeng Li authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    d73eb57 View commit details
    Browse the repository at this point in the history
  12. KVM: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup

    Use kvm_vcpu_wake_up() in kvm_s390_vcpu_wakeup().
    
    Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Wanpeng Li authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    d984740 View commit details
    Browse the repository at this point in the history
  13. KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed

    If a perf_event creation fails due to any reason of the host perf
    subsystem, it has no chance to log the corresponding event for guest
    which may cause abnormal sampling data in guest result. In debug mode,
    this message helps to understand the state of vPMC and we may not
    limit the number of occurrences but not in a spamming style.
    
    Suggested-by: Joe Perches <joe@perches.com>
    Signed-off-by: Like Xu <like.xu@linux.intel.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Like Xu authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    6fc3977 View commit details
    Browse the repository at this point in the history
  14. KVM: VMX: dump VMCS on failed entry

    This is useful for debugging, and is ratelimited nowadays.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    3b20e03 View commit details
    Browse the repository at this point in the history
  15. KVM: nVMX: do not use dangling shadow VMCS after guest reset

    If a KVM guest is reset while running a nested guest, free_nested will
    disable the shadow VMCS execution control in the vmcs01.  However,
    on the next KVM_RUN vmx_vcpu_run would nevertheless try to sync
    the VMCS12 to the shadow VMCS which has since been freed.
    
    This causes a vmptrld of a NULL pointer on my machime, but Jan reports
    the host to hang altogether.  Let's see how much this trivial patch fixes.
    
    Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
    Cc: Liran Alon <liran.alon@oracle.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    88dddc1 View commit details
    Browse the repository at this point in the history
  16. KVM: x86: Add fixed counters to PMU filter

    Updates KVM_CAP_PMU_EVENT_FILTER so it can also whitelist or blacklist
    fixed counters.
    
    Signed-off-by: Eric Hankland <ehankland@google.com>
    [No need to check padding fields for zero. - Paolo]
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    ehankland authored and bonzini committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    30cd860 View commit details
    Browse the repository at this point in the history
  17. smp: Warn on function calls from softirq context

    It's clearly documented that smp function calls cannot be invoked from
    softirq handling context. Unfortunately nothing enforces that or emits a
    warning.
    
    A single function call can be invoked from softirq context only via
    smp_call_function_single_async().
    
    The only legit context is task context, so add a warning to that effect.
    
    Reported-by: luferry <luferry@163.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20190718160601.GP3402@hirez.programming.kicks-ass.net
    Peter Zijlstra authored and KAGA-KOKO committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    19dbdcb View commit details
    Browse the repository at this point in the history
  18. x86/entry/64: Prevent clobbering of saved CR2 value

    The recent fix for CR2 corruption introduced a new way to reliably corrupt
    the saved CR2 value.
    
    CR2 is saved early in the entry code in RDX, which is the third argument to
    the fault handling functions. But it missed that between saving and
    invoking the fault handler enter_from_user_mode() can be called. RDX is a
    caller saved register so the invoked function can freely clobber it with
    the obvious consequences.
    
    The TRACE_IRQS_OFF call is safe as it calls through the thunk which
    preserves RDX, but TRACE_IRQS_OFF_DEBUG is not because it also calls into
    C-code outside of the thunk.
    
    Store CR2 in R12 instead which is a callee saved register and move R12 to
    RDX just before calling the fault handler.
    
    Fixes: a0d14b8 ("x86/mm, tracing: Fix CR2 corruption")
    Reported-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/alpine.DEB.2.21.1907201020540.1782@nanos.tec.linutronix.de
    KAGA-KOKO committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    6879298 View commit details
    Browse the repository at this point in the history
  19. Merge branch 'work.dcache2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/viro/vfs
    
    Pull dcache and mountpoint updates from Al Viro:
     "Saner handling of refcounts to mountpoints.
    
      Transfer the counting reference from struct mount ->mnt_mountpoint
      over to struct mountpoint ->m_dentry. That allows us to get rid of the
      convoluted games with ordering of mount shutdowns.
    
      The cost is in teaching shrink_dcache_{parent,for_umount} to cope with
      mixed-filesystem shrink lists, which we'll also need for the Slab
      Movable Objects patchset"
    
    * 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      switch the remnants of releasing the mountpoint away from fs_pin
      get rid of detach_mnt()
      make struct mountpoint bear the dentry reference to mountpoint, not struct mount
      Teach shrink_dcache_parent() to cope with mixed-filesystem shrink lists
      fs/namespace.c: shift put_mountpoint() to callers of unhash_mnt()
      __detach_mounts(): lookup_mountpoint() can't return ERR_PTR() anymore
      nfs: dget_parent() never returns NULL
      ceph: don't open-code the check for dead lockref
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    18253e0 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'kbuild-v5.3-2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/masahiroy/linux-kbuild
    
    Pull more Kbuild updates from Masahiro Yamada:
    
     - match the directory structure of the linux-libc-dev package to that
       of Debian-based distributions
    
     - fix incorrect include/config/auto.conf generation when Kconfig
       creates it along with the .config file
    
     - remove misleading $(AS) from documents
    
     - clean up precious tag files by distclean instead of mrproper
    
     - add a new coccinelle patch for devm_platform_ioremap_resource
       migration
    
     - refactor module-related scripts to read modules.order instead of
       $(MODVERDIR)/*.mod files to get the list of created modules
    
     - remove MODVERDIR
    
     - update list of header compile-test
    
     - add -fcf-protection=none flag to avoid conflict with the retpoline
       flags when CONFIG_RETPOLINE=y
    
     - misc cleanups
    
    * tag 'kbuild-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (25 commits)
      kbuild: add -fcf-protection=none when using retpoline flags
      kbuild: update compile-test header list for v5.3-rc1
      kbuild: split out *.mod out of {single,multi}-used-m rules
      kbuild: remove 'prepare1' target
      kbuild: remove the first line of *.mod files
      kbuild: create *.mod with full directory path and remove MODVERDIR
      kbuild: export_report: read modules.order instead of .tmp_versions/*.mod
      kbuild: modpost: read modules.order instead of $(MODVERDIR)/*.mod
      kbuild: modsign: read modules.order instead of $(MODVERDIR)/*.mod
      kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod
      scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver
      kbuild: remove duplication from modules.order in sub-directories
      kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin}
      kbuild: do not create empty modules.order in the prepare stage
      coccinelle: api: add devm_platform_ioremap_resource script
      kbuild: compile-test headers listed in header-test-m as well
      kbuild: remove unused hostcc-option
      kbuild: remove tag files by distclean instead of mrproper
      kbuild: add --hash-style= and --build-id unconditionally
      kbuild: get rid of misleading $(AS) from documents
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    168c799 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "This is the final round of mostly small fixes in our initial submit.
    
      It's mostly minor fixes and driver updates. The only change of note is
      adding a virt_boundary_mask to the SCSI host and host template to
      parametrise this for NVMe devices instead of having them do a call in
      slave_alloc. It's a fairly straightforward conversion except in the
      two NVMe handling drivers that didn't set it who now have a virtual
      infinity parameter added"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits)
      scsi: megaraid_sas: set an unlimited max_segment_size
      scsi: mpt3sas: set an unlimited max_segment_size for SAS 3.0 HBAs
      scsi: IB/srp: set virt_boundary_mask in the scsi host
      scsi: IB/iser: set virt_boundary_mask in the scsi host
      scsi: storvsc: set virt_boundary_mask in the scsi host template
      scsi: ufshcd: set max_segment_size in the scsi host template
      scsi: core: take the DMA max mapping size into account
      scsi: core: add a host / host template field for the virt boundary
      scsi: core: Fix race on creating sense cache
      scsi: sd_zbc: Fix compilation warning
      scsi: libfc: fix null pointer dereference on a null lport
      scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized
      scsi: zfcp: fix request object use-after-free in send path causing wrong traces
      scsi: zfcp: fix request object use-after-free in send path causing seqno errors
      scsi: megaraid_sas: Update driver version to 07.710.50.00
      scsi: megaraid_sas: Add module parameter for FW Async event logging
      scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers
      scsi: megaraid_sas: Fix calculation of target ID
      scsi: lpfc: reduce stack size with CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE
      scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    f65420d View commit details
    Browse the repository at this point in the history
  22. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull more KVM updates from Paolo Bonzini:
     "Mostly bugfixes, but also:
    
       - s390 support for KVM selftests
    
       - LAPIC timer offloading to housekeeping CPUs
    
       - Extend an s390 optimization for overcommitted hosts to all
         architectures
    
       - Debugging cleanups and improvements"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (25 commits)
      KVM: x86: Add fixed counters to PMU filter
      KVM: nVMX: do not use dangling shadow VMCS after guest reset
      KVM: VMX: dump VMCS on failed entry
      KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed
      KVM: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup
      KVM: Boost vCPUs that are delivering interrupts
      KVM: selftests: Remove superfluous define from vmx.c
      KVM: SVM: Fix detection of AMD Errata 1096
      KVM: LAPIC: Inject timer interrupt via posted interrupt
      KVM: LAPIC: Make lapic timer unpinned
      KVM: x86/vPMU: reset pmc->counter to 0 for pmu fixed_counters
      KVM: nVMX: Ignore segment base for VMX memory operand when segment not FS or GS
      kvm: x86: ioapic and apic debug macros cleanup
      kvm: x86: some tsc debug cleanup
      kvm: vmx: fix coccinelle warnings
      x86: kvm: avoid constant-conversion warning
      x86: kvm: avoid -Wsometimes-uninitized warning
      KVM: x86: expose AVX512_BF16 feature to guest
      KVM: selftests: enable pgste option for the linker on s390
      KVM: selftests: Move kvm_create_max_vcpus test to generic code
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    07ab9d5 View commit details
    Browse the repository at this point in the history
  23. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull CONFIG_PREEMPT_RT stub config from Thomas Gleixner:
     "The real-time preemption patch set exists for almost 15 years now and
      while the vast majority of infrastructure and enhancements have found
      their way into the mainline kernel, the final integration of RT is
      still missing.
    
      Over the course of the last few years, we have worked on reducing the
      intrusivenness of the RT patches by refactoring kernel infrastructure
      to be more real-time friendly. Almost all of these changes were
      benefitial to the mainline kernel on their own, so there was no
      objection to integrate them.
    
      Though except for the still ongoing printk refactoring, the remaining
      changes which are required to make RT a first class mainline citizen
      are not longer arguable as immediately beneficial for the mainline
      kernel. Most of them are either reordering code flows or adding RT
      specific functionality.
    
      But this now has hit a wall and turned into a classic hen and egg
      problem:
    
         Maintainers are rightfully wary vs. these changes as they make only
         sense if the final integration of RT into the mainline kernel takes
         place.
    
      Adding CONFIG_PREEMPT_RT aims to solve this as a clear sign that RT
      will be fully integrated into the mainline kernel. The final
      integration of the missing bits and pieces will be of course done with
      the same careful approach as we have used in the past.
    
      While I'm aware that you are not entirely enthusiastic about that, I
      think that RT should receive the same treatment as any other widely
      used out of tree functionality, which we have accepted into mainline
      over the years.
    
      RT has become the de-facto standard real-time enhancement and is
      shipped by enterprise, embedded and community distros. It's in use
      throughout a wide range of industries: telecommunications, industrial
      automation, professional audio, medical devices, data acquisition,
      automotive - just to name a few major use cases.
    
      RT development is backed by a Linuxfoundation project which is
      supported by major stakeholders of this technology. The funding will
      continue over the actual inclusion into mainline to make sure that the
      functionality is neither introducing regressions, regressing itself,
      nor becomes subject to bitrot. There is also a lifely user community
      around RT as well, so contrary to the grim situation 5 years ago, it's
      a healthy project.
    
      As RT is still a good vehicle to exercise rarely used code paths and
      to detect hard to trigger issues, you could at least view it as a QA
      tool if nothing else"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    70e6e1b View commit details
    Browse the repository at this point in the history
  24. Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull smp fix from Thomas Gleixner:
     "Add warnings to the smp function calls so callers from wrong contexts
      get detected"
    
    * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      smp: Warn on function calls from softirq context
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    4b01f5a View commit details
    Browse the repository at this point in the history
  25. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull core fixes from Thomas Gleixner:
    
     - A collection of objtool fixes which address recent fallout partially
       exposed by newer toolchains, clang, BPF and general code changes.
    
     - Force USER_DS for user stack traces
    
    [ Note: the "objtool fixes" are not all to objtool itself, but for
      kernel code that triggers objtool warnings.
    
      Things like missing function size annotations, or code that confuses
      the unwinder etc.   - Linus]
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
      objtool: Support conditional retpolines
      objtool: Convert insn type to enum
      objtool: Fix seg fault on bad switch table entry
      objtool: Support repeated uses of the same C jump table
      objtool: Refactor jump table code
      objtool: Refactor sibling call detection logic
      objtool: Do frame pointer check before dead end check
      objtool: Change dead_end_function() to return boolean
      objtool: Warn on zero-length functions
      objtool: Refactor function alias logic
      objtool: Track original function across branches
      objtool: Add mcsafe_handle_tail() to the uaccess safe list
      bpf: Disable GCC -fgcse optimization for ___bpf_prog_run()
      x86/uaccess: Remove redundant CLACs in getuser/putuser error paths
      x86/uaccess: Don't leak AC flag into fentry from mcsafe_handle_tail()
      x86/uaccess: Remove ELF function annotation from copy_user_handle_tail()
      x86/head/64: Annotate start_cpu0() as non-callable
      x86/entry: Fix thunk function ELF sizes
      x86/kvm: Don't call kvm_spurious_fault() from .fixup
      x86/kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    e6023ad View commit details
    Browse the repository at this point in the history
  26. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf tooling updates from Thomas Gleixner:
     "A set of perf improvements and fixes:
    
      perf db-export:
       - Improvements in how COMM details are exported to databases for post
         processing and use in the sql-viewer.py UI.
    
       - Export switch events to the database.
    
      BPF:
       - Bump rlimit(MEMLOCK) for 'perf test bpf' and 'perf trace', just
         like selftests/bpf/bpf_rlimit.h do, which makes errors due to
         exhaustion of this limit, which are kinda cryptic (EPERM sometimes)
         less frequent.
    
      perf version:
       - Fix segfault due to missing OPT_END(), noticed on PowerPC.
    
      perf vendor events:
       - Add JSON files for IBM s/390 machine type 8561.
    
      perf cs-etm (ARM):
       - Fix two cases of error returns not bing done properly: Invalid
         ERR_PTR() use and loss of propagation error codes"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
      perf version: Fix segfault due to missing OPT_END()
      perf vendor events s390: Add JSON files for machine type 8561
      perf cs-etm: Return errcode in cs_etm__process_auxtrace_info()
      perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info
      perf scripts python: export-to-postgresql.py: Export switch events
      perf scripts python: export-to-sqlite.py: Export switch events
      perf db-export: Export switch events
      perf db-export: Factor out db_export__threads()
      perf script: Add scripting operation process_switch()
      perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column
      perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons
      perf scripts python: export-to-postgresql.py: Add has_calls column to comms table
      perf scripts python: export-to-sqlite.py: Add has_calls column to comms table
      perf db-export: Also export thread's current comm
      perf db-export: Factor out db_export__comm()
      perf scripts python: export-to-postgresql.py: Export comm details
      perf scripts python: export-to-sqlite.py: Export comm details
      perf db-export: Export comm details
      perf db-export: Fix a white space issue in db_export__sample()
      perf db-export: Move export__comm_thread into db_export__sample()
      ...
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    46f5c0c View commit details
    Browse the repository at this point in the history
  27. Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull x86 fixes from Thomas Gleixner:
     "A set of x86 specific fixes and updates:
    
       - The CR2 corruption fixes which store CR2 early in the entry code
         and hand the stored address to the fault handlers.
    
       - Revert a forgotten leftover of the dropped FSGSBASE series.
    
       - Plug a memory leak in the boot code.
    
       - Make the Hyper-V assist functionality robust by zeroing the shadow
         page.
    
       - Remove a useless check for dead processes with LDT
    
       - Update paravirt and VMware maintainers entries.
    
       - A few cleanup patches addressing various compiler warnings"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/entry/64: Prevent clobbering of saved CR2 value
      x86/hyper-v: Zero out the VP ASSIST PAGE on allocation
      x86, boot: Remove multiple copy of static function sanitize_boot_params()
      x86/boot/compressed/64: Remove unused variable
      x86/boot/efi: Remove unused variables
      x86/mm, tracing: Fix CR2 corruption
      x86/entry/64: Update comments and sanity tests for create_gap
      x86/entry/64: Simplify idtentry a little
      x86/entry/32: Simplify common_exception
      x86/paravirt: Make read_cr2() CALLEE_SAVE
      MAINTAINERS: Update PARAVIRT_OPS_INTERFACE and VMWARE_HYPERVISOR_INTERFACE
      x86/process: Delete useless check for dead process with LDT
      x86: math-emu: Hide clang warnings for 16-bit overflow
      x86/e820: Use proper booleans instead of 0/1
      x86/apic: Silence -Wtype-limits compiler warnings
      x86/mm: Free sme_early_buffer after init
      x86/boot: Fix memory leak in default_get_smp_config()
      Revert "x86/ptrace: Prevent ptrace from clearing the FS/GS selector" and fix the test
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    c6dd78f View commit details
    Browse the repository at this point in the history
  28. Merge tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dm…

    …a-mapping
    
    Pull dma-mapping fixes from Christoph Hellwig:
     "Fix various regressions:
    
       - force unencrypted dma-coherent buffers if encryption bit can't fit
         into the dma coherent mask (Tom Lendacky)
    
       - avoid limiting request size if swiotlb is not used (me)
    
       - fix swiotlb handling in dma_direct_sync_sg_for_cpu/device (Fugang
         Duan)"
    
    * tag 'dma-mapping-5.3-1' of git://git.infradead.org/users/hch/dma-mapping:
      dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device
      dma-direct: only limit the mapping size if swiotlb could be used
      dma-mapping: add a dma_addressing_limited helper
      dma-direct: Force unencrypted DMA under SME for certain DMA masks
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    ac60602 View commit details
    Browse the repository at this point in the history
  29. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    Pull more input updates from Dmitry Torokhov:
    
     - Apple SPI keyboard and trackpad driver for newer Macs
    
     - ALPS driver will ignore trackpoint-only devices to give the
       trackpoint driver a chance to handle them properly
    
     - another Lenovo is switched over to SMbus from PS/2
    
     - assorted driver fixups.
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: alps - fix a mismatch between a condition check and its comment
      Input: psmouse - fix build error of multiple definition
      Input: applespi - remove set but not used variables 'sts'
      Input: add Apple SPI keyboard and trackpad driver
      Input: alps - don't handle ALPS cs19 trackpoint-only device
      Input: hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer
      Input: adp5589 - initialize GPIO controller parent device
      Input: iforce - remove empty multiline comments
      Input: synaptics - fix misuse of strlcpy
      Input: auo-pixcir-ts - switch to using  devm_add_action_or_reset()
      Input: gtco - bounds check collection indent level
      Input: mtk-pmic-keys - add of_node_put() before return
      Input: sun4i-lradc-keys - add of_node_put() before return
      Input: synaptics - whitelist Lenovo T580 SMBus intertouch
    torvalds committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    f1a3b43 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2019

  1. dt-bindings: Ensure child nodes are of type 'object'

    Properties which are child node definitions need to have an explict
    type. Otherwise, a matching (DT) property can silently match when an
    error is desired. Fix this up tree-wide. Once this is fixed, the
    meta-schema will enforce this on any child node definitions.
    
    Cc: Chen-Yu Tsai <wens@csie.org>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Brian Norris <computersforpeace@gmail.com>
    Cc: Marek Vasut <marek.vasut@gmail.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Vignesh Raghavendra <vigneshr@ti.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
    Cc: linux-mtd@lists.infradead.org
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-stm32@st-md-mailman.stormreply.com
    Cc: linux-spi@vger.kernel.org
    Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Acked-by: Mark Brown <broonie@kernel.org>
    Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    15ffef1 View commit details
    Browse the repository at this point in the history
  2. dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes

    Matching on the 'cpus' node was a bad choice because the schema is
    incorrectly applied to non-RiscV cpus nodes. As we now have a common cpus
    schema which checks the general structure, it is also redundant to do so
    in the Risc-V CPU schema.
    
    The downside is one could conceivably mix different architecture's cpu
    nodes or have typos in the compatible string. The latter problem pretty
    much exists for every schema.
    
    Acked-by: Paul Walmsley <paul.walmsley@sifive.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    7d9ef7f View commit details
    Browse the repository at this point in the history
  3. dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors

    The Aspeed pinctl schema have errors in the 'compatible' schema:
    
    Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml: \
    properties:compatible:enum: ['aspeed', 'ast2400-pinctrl', 'aspeed', 'g4-pinctrl'] has non-unique elements
    Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml: \
    properties:compatible:enum: ['aspeed', 'ast2500-pinctrl', 'aspeed', 'g5-pinctrl'] has non-unique elements
    
    Flow style sequences have to be quoted if the vales contain ','. Fix
    this by using the more common one line per entry formatting.
    
    Fixes: 0a617de ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
    Fixes: 0745793 ("dt-bindings: pinctrl: aspeed: Convert AST2400 bindings to json-schema")
    Cc: Andrew Jeffery <andrew@aj.id.au>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Joel Stanley <joel@jms.id.au>
    Cc: linux-aspeed@lists.ozlabs.org
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Acked-by: Andrew Jeffery <andrew@aj.id.au>
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    ad21a4c View commit details
    Browse the repository at this point in the history
  4. dt-bindings: pinctrl: aspeed: Fix AST2500 example errors

    The schema examples are now validated against the schema itself. The
    AST2500 pinctrl schema has a couple of errors:
    
    Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
    example-0: $nodename:0: 'example-0' does not match '^(bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
    Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.example.dt.yaml: \
    pinctrl: aspeed,external-nodes: [[1, 2]] is too short
    
    Fixes: 0a617de ("dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema")
    Cc: Andrew Jeffery <andrew@aj.id.au>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Joel Stanley <joel@jms.id.au>
    Cc: linux-aspeed@lists.ozlabs.org
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Acked-by: Andrew Jeffery <andrew@aj.id.au>
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    fcbe7e3 View commit details
    Browse the repository at this point in the history
  5. dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example

    Now that examples are validated against the DT schema, a typo in
    avia-hx711 example generates a warning:
    
    Documentation/devicetree/bindings/iio/adc/avia-hx711.example.dt.yaml: weight: 'avdd-supply' is a required property
    
    Fix the typo.
    
    Fixes: 5150ec3 ("avia-hx711.yaml: transform DT binding to YAML")
    Cc: Andreas Klinger <ak@it-klinger.de>
    Cc: Jonathan Cameron <jic23@kernel.org>
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    fbbf2b6 View commit details
    Browse the repository at this point in the history
  6. dt-bindings: iio: ad7124: Fix dtc warnings in example

    With the conversion to DT schema, the examples are now compiled with
    dtc. The ad7124 binding example has the following warning:
    
    Documentation/devicetree/bindings/iio/adc/adi,ad7124.example.dts:19.11-21: \
    Warning (reg_format): /example-0/adc@0:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
    
    There's a default #size-cells and #address-cells values of 1 for
    examples. For examples needing different values such as this one on a
    SPI bus, they need to provide a SPI bus parent node.
    
    Fixes: 26ae15e ("Convert AD7124 bindings documentation to YAML format.")
    
    Cc: Jonathan Cameron <jic23@kernel.org>
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    20051f5 View commit details
    Browse the repository at this point in the history
  7. dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples

    Now that examples are validated against the DT schema, an error with
    required 'clocks' property missing is exposed:
    
    Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
    pinctrl@40020000: gpio@0: 'clocks' is a required property
    Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
    pinctrl@50020000: gpio@1000: 'clocks' is a required property
    Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.example.dt.yaml: \
    pinctrl@50020000: gpio@2000: 'clocks' is a required property
    
    Add the missing 'clocks' properties to the examples to fix the errors.
    
    Fixes: 2c9239c ("dt-bindings: pinctrl: Convert stm32 pinctrl bindings to json-schema")
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-stm32@st-md-mailman.stormreply.com
    Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    robherring committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    e2297f7 View commit details
    Browse the repository at this point in the history
  8. typo fix: it's d_make_root, not d_make_inode...

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Al Viro committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    1b03bc5 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'ntb-5.3' of git://github.com/jonmason/ntb

    Pull NTB updates from Jon Mason:
     "New feature to add support for NTB virtual MSI interrupts, the ability
      to test and use this feature in the NTB transport layer.
    
      Also, bug fixes for the AMD and Switchtec drivers, as well as some
      general patches"
    
    * tag 'ntb-5.3' of git://github.com/jonmason/ntb: (22 commits)
      NTB: Describe the ntb_msi_test client in the documentation.
      NTB: Add MSI interrupt support to ntb_transport
      NTB: Add ntb_msi_test support to ntb_test
      NTB: Introduce NTB MSI Test Client
      NTB: Introduce MSI library
      NTB: Rename ntb.c to support multiple source files in the module
      NTB: Introduce functions to calculate multi-port resource index
      NTB: Introduce helper functions to calculate logical port number
      PCI/switchtec: Add module parameter to request more interrupts
      PCI/MSI: Support allocating virtual MSI interrupts
      ntb_hw_switchtec: Fix setup MW with failure bug
      ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case
      ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function
      NTB: correct ntb_dev_ops and ntb_dev comment typos
      NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask()
      ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
      NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed
      NTB: ntb_hw_amd: set peer limit register
      NTB: ntb_perf: Clear stale values in doorbell and command SPAD register
      NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers
      ...
    torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    bec5545 View commit details
    Browse the repository at this point in the history
  10. hexagon: switch to generic version of pte allocation

    The hexagon implementation pte_alloc_one(), pte_alloc_one_kernel(),
    pte_free_kernel() and pte_free() is identical to the generic except of
    lack of __GFP_ACCOUNT for the user PTEs allocation.
    
    Switch hexagon to use generic version of these functions.
    
    Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    rppt authored and torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    618381f View commit details
    Browse the repository at this point in the history
  11. iommu/amd: fix a crash in iova_magazine_free_pfns

    The commit b3aa14f ("iommu: remove the mapping_error dma_map_ops
    method") incorrectly changed the checking from dma_ops_alloc_iova() in
    map_sg() causes a crash under memory pressure as dma_ops_alloc_iova()
    never return DMA_MAPPING_ERROR on failure but 0, so the error handling
    is all wrong.
    
       kernel BUG at drivers/iommu/iova.c:801!
        Workqueue: kblockd blk_mq_run_work_fn
        RIP: 0010:iova_magazine_free_pfns+0x7d/0xc0
        Call Trace:
         free_cpu_cached_iovas+0xbd/0x150
         alloc_iova_fast+0x8c/0xba
         dma_ops_alloc_iova.isra.6+0x65/0xa0
         map_sg+0x8c/0x2a0
         scsi_dma_map+0xc6/0x160
         pqi_aio_submit_io+0x1f6/0x440 [smartpqi]
         pqi_scsi_queue_command+0x90c/0xdd0 [smartpqi]
         scsi_queue_rq+0x79c/0x1200
         blk_mq_dispatch_rq_list+0x4dc/0xb70
         blk_mq_sched_dispatch_requests+0x249/0x310
         __blk_mq_run_hw_queue+0x128/0x200
         blk_mq_run_work_fn+0x27/0x30
         process_one_work+0x522/0xa10
         worker_thread+0x63/0x5b0
         kthread+0x1d2/0x1f0
         ret_from_fork+0x22/0x40
    
    Fixes: b3aa14f ("iommu: remove the mapping_error dma_map_ops method")
    Signed-off-by: Qian Cai <cai@lca.pw>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Qian Cai authored and torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    8cf6650 View commit details
    Browse the repository at this point in the history
  12. Merge tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6

    Pull cifs fixes from Steve French:
     "Two fixes for stable, one that had dependency on earlier patch in this
      merge window and can now go in, and a perf improvement in SMB3 open"
    
    * tag '5.3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: update internal module number
      cifs: flush before set-info if we have writeable handles
      smb3: optimize open to not send query file internal info
      cifs: copy_file_range needs to strip setuid bits and update timestamps
      CIFS: fix deadlock in cached root handling
    torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    91962d0 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull vfs documentation typo fix from Al Viro.
    
    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      typo fix: it's d_make_root, not d_make_inode...
    torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    d6788eb View commit details
    Browse the repository at this point in the history
  14. Merge tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/robh/linux
    
    Pull Devicetree fixes from Rob Herring:
     "Fix several warnings/errors in validation of binding schemas"
    
    * tag 'devicetree-fixes-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      dt-bindings: pinctrl: stm32: Fix missing 'clocks' property in examples
      dt-bindings: iio: ad7124: Fix dtc warnings in example
      dt-bindings: iio: avia-hx711: Fix avdd-supply typo in example
      dt-bindings: pinctrl: aspeed: Fix AST2500 example errors
      dt-bindings: pinctrl: aspeed: Fix 'compatible' schema errors
      dt-bindings: riscv: Limit cpus schema to only check RiscV 'cpu' nodes
      dt-bindings: Ensure child nodes are of type 'object'
    torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    c7bf0a0 View commit details
    Browse the repository at this point in the history
  15. Linus 5.3-rc1

    torvalds committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    5f9e832 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2019

  1. ALSA: line6: Fix a typo

    s/Vairax/Variax/
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tititiou36 authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    e4091bd View commit details
    Browse the repository at this point in the history
  2. ALSA: hda/hdmi - Don't report spurious jack state changes

    The HDMI jack handling reports the state change always via
    snd_jack_report() whenever hdmi_present_sense() is called, even if the
    state itself doesn't change from the previous time.  This is mostly
    harmless but still a bit confusing to user-space.
    
    This patch reduces such spurious jack state changes and reports only
    when the state really changed.  Also, as a minor optimization, avoid
    overwriting the pin ELD data when the state is identical.
    
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    551626e View commit details
    Browse the repository at this point in the history
  3. ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI

    AMD/ATI and Nvidia HDMI codec drivers didn't have the audio component
    binding like i915, but it worked only with the traditional HD-audio
    unsolicited event for the HDMI hotplug detection and the ELD read-up
    thereafter.  This has been a problem in many ways: first of all, it
    goes through the hardware event transition (from GPU register write,
    HD-audio controller trigger, and finally to HD-audio unsolicited event
    handling), which is often unreliable and may miss some opportunities.
    Second, each unsol event handling and ELD read-up need the explicit
    power up / down when the codec is in the runtime suspend.  Last but
    not least, which is the most important, the hotplug wakeup may be
    missed when the HD-audio controller is in runtime suspend.  Especially
    the last point is a big problem due to the recent change relevant with
    vga_switcheroo that forcibly enables the runtime PM for AMD HDMI
    controllers.
    
    These issues are solved by introducing the audio component; the
    hotplug notification is done by a direct function callback, which is
    more accurate and reliable, and it can be processed without the actual
    hardware access, i.e. no runtime PM trigger is needed, and the
    HD-audio gets the event even if it's in runtime suspend.  The same for
    ELD query, as it's read directly from the cached ELD bytes stored in
    the DRM driver, hence the whole hardware access can be skipped.
    
    So here it is: this patch implements the audio component binding with
    AMD/ATI and Nouveau DRM drivers.  The biggest difference from i915
    implementation is that this binding is fully optional and it can be
    enabled asynchronously on the fly.  That is, the driver will switch
    from the HD-audio unsolicited event to the notify callback once when
    the DRM component gets bound.  Similarly, when DRM driver gets
    unloaded, the HDMI event handling returns to the legacy mode, too.
    
    Also, another difference from i915 is that the new code registers the
    component in the codec driver, while i915 HDMI codec assumes the
    component binding was already done in the HD-audio controller driver.
    Hence the new code does need to de-register the component binding at
    the codec exit, too.
    
    Some other details:
    - The match component ops assumes that both VGA and HD-audio
      controller PCI entries belong to the same PCI bus, and only accepts
      such an entry.
    
    - The pin2port audio_ops is implemented with assumption of the fixed
      widget layout.  For AMD, it's starting from 3, with step 2 (3, 5, 7,
      ...), while for Nvidia, it's starting from 4, with step 1 (4, 5, 6,
      ...)
    
    As of this patch, the corresponding component isn't implemented in DRM
    side, so this change alone won't give any benefit.  By the following
    changes in DRM sides, the mission will be completed.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    ade49db View commit details
    Browse the repository at this point in the history
  4. ALSA: hda: Flush interrupts on disabling

    I was looking at
    
    <4> [241.835158] general protection fault: 0000 [#1] PREEMPT SMP PTI
    <4> [241.835181] CPU: 1 PID: 214 Comm: kworker/1:3 Tainted: G     U            5.2.0-CI-CI_DRM_6509+ #1
    <4> [241.835199] Hardware name: Dell Inc.                 OptiPlex 745                 /0GW726, BIOS 2.3.1  05/21/2007
    <4> [241.835234] Workqueue: events snd_hdac_bus_process_unsol_events [snd_hda_core]
    <4> [241.835256] RIP: 0010:input_handle_event+0x16d/0x5e0
    <4> [241.835270] Code: 48 8b 93 58 01 00 00 8b 52 08 89 50 04 8b 83 f8 06 00 00 48 8b 93 00 07 00 00 8d 70 01 48 8d 04 c2 83 e1 08 89 b3 f8 06 00 00 <66> 89 28 66 44 89 60 02 44 89 68 04 8b 93 f8 06 00 00 0f 84 fd fe
    <4> [241.835304] RSP: 0018:ffffc9000019fda0 EFLAGS: 00010046
    <4> [241.835317] RAX: 6b6b6b6ec6c6c6c3 RBX: ffff8880290fefc8 RCX: 0000000000000000
    <4> [241.835332] RDX: 000000006b6b6b6b RSI: 000000006b6b6b6c RDI: 0000000000000046
    <4> [241.835347] RBP: 0000000000000005 R08: 0000000000000000 R09: 0000000000000001
    <4> [241.835362] R10: ffffc9000019faa0 R11: 0000000000000000 R12: 0000000000000004
    <4> [241.835377] R13: 0000000000000000 R14: ffff8880290ff1d0 R15: 0000000000000293
    <4> [241.835392] FS:  0000000000000000(0000) GS:ffff88803de80000(0000) knlGS:0000000000000000
    <4> [241.835409] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    <4> [241.835422] CR2: 00007ffe9a99e9b7 CR3: 000000002f588000 CR4: 00000000000006e0
    <4> [241.835436] Call Trace:
    <4> [241.835449]  input_event+0x45/0x70
    <4> [241.835464]  snd_jack_report+0xdc/0x100
    <4> [241.835490]  snd_hda_jack_report_sync+0x83/0xc0 [snd_hda_codec]
    <4> [241.835512]  snd_hdac_bus_process_unsol_events+0x5a/0x70 [snd_hda_core]
    <4> [241.835530]  process_one_work+0x245/0x610
    
    which has the hallmarks of a worker queued from interrupt after it was
    supposedly cancelled (note the POISON_FREE), and I could not see where
    the interrupt would be flushed on shutdown so added the likely suspects.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111174
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    ickle authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    caa8422 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'topic/hda-acomp-base' into for-next

    Pull the support for AMD / Nvidia HD-audio compmonent notification
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    4df4888 View commit details
    Browse the repository at this point in the history
  6. ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks

    DPCM uses snd_soc_dapm_dai_get_connected_widgets to build a
    list of the widgets connected to a specific front end DAI so it
    can search through this list for available back end DAIs. The
    custom_stop_condition was added to is_connected_ep to facilitate this
    list not containing more widgets than is necessary. Doing so both
    speeds up the DPCM handling as less widgets need to be searched and
    avoids issues with CODEC to CODEC links as these would be confused
    with back end DAIs if they appeared in the list of available widgets.
    
    custom_stop_condition was implemented by aborting the graph walk
    when the condition is triggered, however there is an issue with this
    approach. Whilst walking the graph is_connected_ep should update the
    endpoints cache on each widget, if the walk is aborted the number
    of attached end points is unknown for that sub-graph. When the stop
    condition triggered, the original patch ignored the triggering widget
    and returned zero connected end points; a later patch updated this
    to set the triggering widget's cache to 1 and return that. Both of
    these approaches result in inaccurate values being stored in various
    end point caches as the values propagate back through the graph,
    which can result in later issues with widgets powering/not powering
    unexpectedly.
    
    As the original goal was to reduce the size of the widget list passed
    to the DPCM code, the simplest solution is to limit the functionality
    of the custom_stop_condition to the widget list. This means the rest
    of the graph will still be processed resulting in correct end point
    caches, but only widgets up to the stop condition will be added to the
    returned widget list.
    
    Fixes: 6742064 ("ASoC: dapm: support user-defined stop condition in dai_get_connected_widgets")
    Fixes: 5fdd022 ("ASoC: dpcm: play nice with CODEC<->CODEC links")
    Fixes: 0946497 ("ASoC: dapm: Fix to return correct path list in is_connected_ep.")
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20190718084333.15598-1-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    8dd26df View commit details
    Browse the repository at this point in the history
  7. ASoC: cs42xx8: Fix MFREQ selection issue for async mode

    When sample rate of TX is different with sample rate of RX in
    async mode, the MFreq selection will be wrong.
    
    For example, sysclk = 24.576MHz, TX rate = 96000Hz, RX rate = 48000Hz.
    Then ratio of TX = 256, ratio of RX = 512, For MFreq is shared by TX
    and RX instance, the correct value of MFreq is 2 for both TX and RX.
    
    But original method will cause MFreq = 0 for TX, MFreq = 2 for RX.
    If TX is started after RX, RX will be impacted, RX work abnormal with
    MFreq = 0.
    
    This patch is to select proper MFreq value according to TX rate and
    RX rate.
    
    Fixes: 0c516b4 ("ASoC: cs42xx8: Add codec driver support for CS42448/CS42888")
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/20190716094547.46787-1-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    48dfd37 View commit details
    Browse the repository at this point in the history
  8. SoC: rockchip: rockchip_max98090: Enable MICBIAS for headset keypress…

    … detection
    
    The TS3A227E says that the headset keypress detection needs the MICBIAS
    power in order to report the key events to ensure proper operation
    The headset keypress detection needs the MICBIAS power in order to report
    the key events all the time as long as MIC is present. So MICBIAS pin
    is forced on when a MICROPHONE is detected.
    
    On Veyron Minnie I observed that if the MICBIAS power is not present and
    the key press detection is activated (just because it is enabled when you
    insert a headset), it randomly reports a keypress on insert.
    E.g. (KEY_PLAYPAUSE)
    
     Event: (SW_HEADPHONE_INSERT), value 1
     Event: (SW_MICROPHONE_INSERT), value 1
     Event: -------------- SYN_REPORT ------------
     Event: (KEY_PLAYPAUSE), value 1
    
    Userspace thinks that KEY_PLAYPAUSE is pressed and produces the annoying
    effect that the media player starts a play/pause loop.
    
    Note that, although most of the time the key reported is the one
    associated with BTN_0, not always this is true. On my tests I also saw
    different keys reported
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Link: https://lore.kernel.org/r/20190719173929.24065-1-enric.balletbo@collabora.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Enric Balletbo i Serra authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    f86621c View commit details
    Browse the repository at this point in the history
  9. ASoC: SOF: use __u32 instead of uint32_t in uapi headers

    When CONFIG_UAPI_HEADER_TEST=y, exported headers are compile-tested to
    make sure they can be included from user-space.
    
    Currently, header.h and fw.h are excluded from the test coverage.
    To make them join the compile-test, we need to fix the build errors
    attached below.
    
    For a case like this, we decided to use __u{8,16,32,64} variable types
    in this discussion:
    
      https://lkml.org/lkml/2019/6/5/18
    
    Build log:
    
      CC      usr/include/sound/sof/header.h.s
      CC      usr/include/sound/sof/fw.h.s
    In file included from <command-line>:32:0:
    ./usr/include/sound/sof/header.h:19:2: error: unknown type name ‘uint32_t’
      uint32_t magic;  /**< 'S', 'O', 'F', '\0' */
      ^~~~~~~~
    ./usr/include/sound/sof/header.h:20:2: error: unknown type name ‘uint32_t’
      uint32_t type;  /**< component specific type */
      ^~~~~~~~
    ./usr/include/sound/sof/header.h:21:2: error: unknown type name ‘uint32_t’
      uint32_t size;  /**< size in bytes of data excl. this struct */
      ^~~~~~~~
    ./usr/include/sound/sof/header.h:22:2: error: unknown type name ‘uint32_t’
      uint32_t abi;  /**< SOF ABI version */
      ^~~~~~~~
    ./usr/include/sound/sof/header.h:23:2: error: unknown type name ‘uint32_t’
      uint32_t reserved[4]; /**< reserved for future use */
      ^~~~~~~~
    ./usr/include/sound/sof/header.h:24:2: error: unknown type name ‘uint32_t’
      uint32_t data[0]; /**< Component data - opaque to core */
      ^~~~~~~~
    In file included from <command-line>:32:0:
    ./usr/include/sound/sof/fw.h:49:2: error: unknown type name ‘uint32_t’
      uint32_t size;  /* bytes minus this header */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:50:2: error: unknown type name ‘uint32_t’
      uint32_t offset; /* offset from base */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:64:2: error: unknown type name ‘uint32_t’
      uint32_t size;  /* bytes minus this header */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:65:2: error: unknown type name ‘uint32_t’
      uint32_t num_blocks; /* number of blocks */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:73:2: error: unknown type name ‘uint32_t’
      uint32_t file_size; /* size of file minus this header */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:74:2: error: unknown type name ‘uint32_t’
      uint32_t num_modules; /* number of modules */
      ^~~~~~~~
    ./usr/include/sound/sof/fw.h:75:2: error: unknown type name ‘uint32_t’
      uint32_t abi;  /* version of header format */
      ^~~~~~~~
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Link: https://lore.kernel.org/r/20190721142308.30306-1-yamada.masahiro@socionext.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    masahir0y authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    62ec3d1 View commit details
    Browse the repository at this point in the history
  10. ASoC: SOF: Intel: hda: Make hdac_device device-managed

    snd_hdac_ext_bus_device_exit() has been recently modified
    to no longer free the hdac device. SOF allocates memory for
    hdac_device and hda_hda_priv with kzalloc. Make them
    device-managed instead so that they will be freed when the
    SOF driver is unloaded.
    
    Because of the above change, hda_codec is device-managed and
    it will be freed when the ASoC device is removed. Freeing
    the codec in snd_hda_codec_dev_release() leads to kernel
    panic while unloading and reloading the ASoC driver. So,
    avoid freeing the hda_codec for ASoC driver. This is done in
    the same patch to avoid bisect failure.
    
    Signed-off-by: Libin Yang <libin.yang@intel.com>
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Takashi Iwai <tiwai@suse.de>
    Link: https://lore.kernel.org/r/20190626070450.7229-1-ranjani.sridharan@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ranj063 authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    ef9bec2 View commit details
    Browse the repository at this point in the history
  11. ASoC: wcd9335: Fix misuse of GENMASK macro

    Arguments are supposed to be ordered high then low.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Link: https://lore.kernel.org/r/92e31a9f321fe731d428ec3ec9d4654ea8a16d1b.1562734889.git.joe@perches.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    JoePerches authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    f7408a3 View commit details
    Browse the repository at this point in the history
  12. ASoC: codecs: ad193x: Use regmap_multi_reg_write() when initializing

    Using regmap_multi_reg_write() when we set the default values for our
    registers makes the code smaller and easier to read.
    
    Suggested-by: Tzung-Bi Shih <tzungbi@google.com>
    Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
    Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190710105119.22987-1-codrin.ciubotariu@microchip.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    codrin989 authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    eaba558 View commit details
    Browse the repository at this point in the history
  13. ASoC: rt5677: remove superfluous set

    We define this variable with the same value, no need to set it twice
    
    Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
    Link: https://lore.kernel.org/r/20190711002838.35363-1-cujomalainey@chromium.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    cujomalainey authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    4dc057a View commit details
    Browse the repository at this point in the history
  14. ASoC: fsl_esai: Wrap some operations to be functions

    Extract the operation to be functions, to improve the
    readability.
    
    In this patch, fsl_esai_hw_init, fsl_esai_register_restore,
    fsl_esai_trigger_start and fsl_esai_trigger_stop are
    extracted.
    
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Link: https://lore.kernel.org/r/804d7e75ae7e06a913479912b578b3538ca7cd3f.1562842206.git.shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    5be6155 View commit details
    Browse the repository at this point in the history
  15. sound: soc: codecs: mt6358: change return type of mt6358_codec_init_reg

    As mt6358_codec_init_reg function always returns 0 , change return type
    from int to void.
    
    fixes below issue reported by coccicheck
    sound/soc/codecs/mt6358.c:2260:5-8: Unneeded variable: "ret". Return "0"
    on line 2289
    
    Signed-off-by: Hariprasad Kelam <hariprasad.kelam@gmail.com>
    Acked-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190709182543.GA6611@hari-Inspiron-1545
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Hariprasad Kelam authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    1d3dd53 View commit details
    Browse the repository at this point in the history
  16. ASoC: bcm: cygnus-pcm: Unneeded variable: "ret".

    This patch fixes below issues reported by coccicheck
    
    sound/soc/bcm/cygnus-pcm.c:642:5-8: Unneeded variable: "ret". Return "0"
    on line 650
    sound/soc/bcm/cygnus-pcm.c:671:5-8: Unneeded variable: "ret". Return "0"
    on line 696
    
    We cannot change return type of these functions as they are callback
    functions of snd_pcm_ops
    
    Signed-off-by: Hariprasad Kelam <hariprasad.kelam@gmail.com>
    Link: https://lore.kernel.org/r/20190709184236.GA7873@hari-Inspiron-1545
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Hariprasad Kelam authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    e1fb714 View commit details
    Browse the repository at this point in the history
  17. ASoC: wcd9335: add irqflag IRQF_ONESHOT flag

    Add IRQF_ONESHOT to ensure "Interrupt is not reenabled after the hardirq
    handler finished".
    
    fixes below issue reported by coccicheck
    
    sound/soc/codecs/wcd9335.c:4068:8-33: ERROR: Threaded IRQ with no
    primary handler requested without IRQF_ONESHOT
    
    Signed-off-by: Hariprasad Kelam <hariprasad.kelam@gmail.com>
    Link: https://lore.kernel.org/r/20190710021627.GA13396@hari-Inspiron-1545
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Hariprasad Kelam authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    af62a3c View commit details
    Browse the repository at this point in the history
  18. ASoC: mediatek: mt8183: make headset codec optional

    Make headset codec optional because some variant machines may not
    have an audio jack.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20190716032417.19015-1-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Tzung-Bi Shih authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    a962a80 View commit details
    Browse the repository at this point in the history
  19. ASoC: fsl_sai: add of_match data

    New revisions of the SAI IP block have even more differences that need
    be taken into account by the driver. To avoid sprinking compatible
    checks all over the driver move the current differences into of_match_data.
    
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Tested-by: Angus Ainslie <angus@akkea.ca>
    Reviewed-by: Angus Ainslie <angus@akkea.ca>
    Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
    Link: https://lore.kernel.org/r/20190717105635.18514-2-l.stach@pengutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lynxeye-dev authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    89c9679 View commit details
    Browse the repository at this point in the history
  20. ASoC: fsl_sai: derive TX FIFO watermark from FIFO depth

    The DMA request schould be triggered as soon as the FIFO has space
    for another burst. As different versions of the SAI block have
    different FIFO sizes, the watrmark level needs to be derived from
    version specific data.
    
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Tested-by: Angus Ainslie <angus@akkea.ca>
    Reviewed-by: Angus Ainslie <angus@akkea.ca>
    Link: https://lore.kernel.org/r/20190717105635.18514-3-l.stach@pengutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lynxeye-dev authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    bd51770 View commit details
    Browse the repository at this point in the history
  21. ASoC: fsl_sai: mark regmap as fast_io

    The regmap is only ever used to access MMIO registers, so it's fair
    to say that register access is fast.
    
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Link: https://lore.kernel.org/r/20190717105156.15721-1-l.stach@pengutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lynxeye-dev authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    6d19d8a View commit details
    Browse the repository at this point in the history
  22. ASoC: max98383: fix i2c probe failure

    Added reset_gpio configuration for i2c probe successfully.
    If not,i2c address can't be found rightly.
    
    Error information:
    max98373 3-0031: Failed to read: 0x21FF
    
    Fixed:
    [3.761299@3] max98373 3-0031: MAX98373 revisionID: 0x43
    [3.828911@3] asoc-aml-card auge_sound: max98373-aif1 <-> TDM-B mapping ok
    
    Signed-off-by: fengchunguo <chunguo.feng@amlogic.com>
    Link: https://lore.kernel.org/r/20190715095556.1614-1-chunguo.feng@amlogic.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    fengchunguo authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    96cd3b9 View commit details
    Browse the repository at this point in the history
  23. ASoC: tlv320aic31xx: suppress error message for EPROBE_DEFER

    Both the supplies and reset GPIO might need a probe deferral for the
    resource to be available. Don't print a error message in that case, as
    it is a normal operating condition.
    
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Acked-by: Andrew F. Davis <afd@ti.com>
    Link: https://lore.kernel.org/r/20190719143637.2018-1-l.stach@pengutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lynxeye-dev authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    b7e814d View commit details
    Browse the repository at this point in the history
  24. ASoC: rt1308: simplify the EFUSE read function

    The rt1308_efuse function contains many redundant settings.
    We remove the redundant settings and the function still works.
    
    Signed-off-by: Shuming Fan <shumingf@realtek.com>
    Link: https://lore.kernel.org/r/20190719063235.18757-1-shumingf@realtek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    shumingfan authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    980c10c View commit details
    Browse the repository at this point in the history
  25. ASoC: rt1308: add silence detection and manual PDB control

    We enable the silence detection function in initial settings.
    PDB control changes to manual mode, hence the driver could
    fully control the AMP output on/off.
    
    Signed-off-by: Shuming Fan <shumingf@realtek.com>
    Link: https://lore.kernel.org/r/20190719063249.18806-1-shumingf@realtek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    shumingfan authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    730e051 View commit details
    Browse the repository at this point in the history
  26. ASoC: cs47l35: Use define for DSPCLK enable bit

    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20190722093516.12906-1-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    03b0deb View commit details
    Browse the repository at this point in the history
  27. ASoC: rockchip-max98090: Remove MICBIAS as supply of input pin IN34

    Commit ec0d23b ("ASoC: rockchip-max98090: Fix the Headset Mic
    route.") moved the MICBIAS widget to supply Headset Mic but forget to
    remove the MICBIAS widget to supply IN34 which is not really needed, so
    remove that path so we have:
    
       IN34 <==== Headset MIC <==== MICBIAS
    
    Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Link: https://lore.kernel.org/r/20190719180558.11459-1-enric.balletbo@collabora.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Enric Balletbo i Serra authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    4aefb73 View commit details
    Browse the repository at this point in the history
  28. ASoC: Define a set of DAPM pre/post-up events

    Prepare to use SND_SOC_DAPM_PRE_POST_PMU definition to
    reduce coming code size and make it more readable.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-2-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    cfc8f56 View commit details
    Browse the repository at this point in the history
  29. ASoC: sgtl5000: Improve VAG power and mute control

    VAG power control is improved to fit the manual [1]. This patch fixes as
    minimum one bug: if customer muxes Headphone to Line-In right after boot,
    the VAG power remains off that leads to poor sound quality from line-in.
    
    I.e. after boot:
      - Connect sound source to Line-In jack;
      - Connect headphone to HP jack;
      - Run following commands:
      $ amixer set 'Headphone' 80%
      $ amixer set 'Headphone Mux' LINE_IN
    
    Change VAG power on/off control according to the following algorithm:
      - turn VAG power ON on the 1st incoming event.
      - keep it ON if there is any active VAG consumer (ADC/DAC/HP/Line-In).
      - turn VAG power OFF when there is the latest consumer's pre-down event
        come.
      - always delay after VAG power OFF to avoid pop.
      - delay after VAG power ON if the initiative consumer is Line-In, this
        prevents pop during line-in muxing.
    
    According to the data sheet [1], to avoid any pops/clicks,
    the outputs should be muted during input/output
    routing changes.
    
    [1] https://www.nxp.com/docs/en/data-sheet/SGTL5000.pdf
    
    Cc: stable@vger.kernel.org
    Fixes: 9b34e6c ("ASoC: Add Freescale SGTL5000 codec support")
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-3-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    b1f373a View commit details
    Browse the repository at this point in the history
  30. ASoC: sgtl5000: Fix definition of VAG Ramp Control

    SGTL5000_SMALL_POP is a bit mask, not a value. Usage of
    correct definition makes device probing code more clear.
    
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-4-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    cadee10 View commit details
    Browse the repository at this point in the history
  31. ASoC: sgtl5000: add ADC mute control

    This control mute/unmute the ADC input of SGTL5000
    using its CHIP_ANA_CTRL register.
    
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-5-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    694b145 View commit details
    Browse the repository at this point in the history
  32. ASoC: sgtl5000: Fix of unmute outputs on probe

    To enable "zero cross detect" for ADC/HP, change
    HP_ZCD_EN/ADC_ZCD_EN bits only instead of writing the whole
    CHIP_ANA_CTRL register.
    
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-6-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    631bc8f View commit details
    Browse the repository at this point in the history
  33. ASoC: sgtl5000: Fix charge pump source assignment

    If VDDA != VDDIO and any of them is greater than 3.1V, charge pump
    source can be assigned automatically [1].
    
    [1] https://www.nxp.com/docs/en/data-sheet/SGTL5000.pdf
    
    Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
    Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20190719100524.23300-7-oleksandr.suvorov@toradex.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Oleksandr Suvorov authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    b6319b0 View commit details
    Browse the repository at this point in the history
  34. ALSA: firewire-lib: obsolete ctx_data.tx.first_dbc with CIP_UNALIGHED…

    …_DBC flag
    
    Recent firmware for Fireworks board module have a quirk to start
    transmission of CIP with non-zero value for its data block counter.
    In current implementation of ALSA firewire stack, the quirk is handled
    by 'struct amdtp_stream.ctx_data.tx.first_dbc' with value 0x02. However,
    the value comes from reverse engineering. It's better to handle this
    quirk without the explicit value.
    
    In a process to parse CIP header, the quirk of data block counter
    affects decision of sequence index in sequence-multiplexed data channel;
    i.e. MIDI conformant data channel. In Fireworks, the index is decided
    by the number of data blocks from top of the same CIP, thus the value
    of data block counter is useless.
    
    This commit adds CIP_UNALIGHED_DBC flag and obsoletes the explicit
    value for this quirk.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    588f2e2 View commit details
    Browse the repository at this point in the history
  35. ALSA: firewire-lib: pass data block count as an argument to tracepoin…

    …ts event
    
    This is a preparation for future commit that 'struct
    amdtp_stream.data_block_count' does not represent the value of
    data block count for current data block.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    cdefaa4 View commit details
    Browse the repository at this point in the history
  36. ALSA: firewire-lib: pass data block counter to data block processing …

    …layer
    
    This is a preparation for future commit that 'struct
    amdtp_stream.data_block_count' does not represent the value of
    data block count for current data block.
    
    However, data block count is required for calculation of sequence index
    in sequence-multiplied data channel. Some of data block processing layer
    require it; e.g. for AM824 data block.
    
    This commit passes data block count to the processing layer.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    ab75481 View commit details
    Browse the repository at this point in the history
  37. ALSA: firewire-lib: operate data block counter in top level of proces…

    …sing for IT context
    
    In ALSA IEC 61883-1/6 packet streaming engine, two types of data block
    counter are supported. This commit applies code refactoring to make it
    explicitly for IT context.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    860d798 View commit details
    Browse the repository at this point in the history
  38. ALSA: firewire-lib: operate data block counter in top level of proces…

    …sing for IR context
    
    In ALSA IEC 61883-1/6 packet streaming engine, two types of data block
    counter are supported. This commit applies code refactoring to make it
    explicitly for IR context.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    a35463d View commit details
    Browse the repository at this point in the history
  39. ALSA: firewire-lib: add syt_override member for some protocols

    Some protocols don't use syt field of CIP header to represent
    presentation timestamp. For such protocol, ALSA IEC 61883-1/6
    packet streaming engine uses a pointer into local variable for
    the value of syt to call data block processing layer. However,
    it can decide the value when initializing packet streaming
    layer.
    
    This commit adds 'syt_override' member for packet streaming
    layer.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    3baf305 View commit details
    Browse the repository at this point in the history
  40. ALSA: firewire-lib: pass no syt information to data block processing …

    …layer
    
    In a previous commit, the variable passed from packet streaming layer
    for syt variable is useless. This commit obsoletes it.
    
    In my future work, the syt information is passed to data block processing
    layer by another way.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    600c801 View commit details
    Browse the repository at this point in the history
  41. ALSA: firewire-lib: add list of packet descriptor

    In current implementation of ALSA IEC 61883-1/6 packet streaming engine,
    16 packets are handled in one interrupt of isochronous context of OHCI
    1394.
    
    Overall packet processing runs for each. However, this is not better in
    a point to split the processing into several parts.
    
    This commit is an attempt to add intermediate representation for
    parameters required for the parts.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    04130cf View commit details
    Browse the repository at this point in the history
  42. ALSA: firewire-lib: use packet descriptor for IT context

    This commit uses packet descriptor to parse headers of IT context and
    generate timing information for ideal sequence.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    f4f6ae7 View commit details
    Browse the repository at this point in the history
  43. ALSA: firewire-lib: use packet descriptor for IR context

    This commit uses packet descriptor to parse headers of IR context and
    parse timing information for sequence transferred by target device.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    753e717 View commit details
    Browse the repository at this point in the history
  44. ALSA: firewire-lib: code refactoring to process PCM substream

    This is code refactoring to separate PCM substream processing from packet
    queueing.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    5e2ece0 View commit details
    Browse the repository at this point in the history
  45. ALSA: firewire-lib: code refactoring to process context payloads

    This is code refactoring for common processing for payloads of
    ishocornous context.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    0f5cfcb View commit details
    Browse the repository at this point in the history
  46. ALSA: firewire-lib: pass packet descriptor to data block processing l…

    …ayer
    
    This commit changes signature of callback function to call data block
    processing layer with packet descriptor. At present, the layer is called
    per packet.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    d2c104a View commit details
    Browse the repository at this point in the history
  47. ALSA: firewire-lib: code refactoring for AM824 data block processing …

    …layer
    
    This is code refactoring for AM824 data block processing layer so that
    it can receive list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    9fc9064 View commit details
    Browse the repository at this point in the history
  48. ALSA: firewire-digi00x: code refactoring for DOT data block processin…

    …g layer
    
    This is code refactoring for DOT data block processing layer so that
    it can receive list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    bb47396 View commit details
    Browse the repository at this point in the history
  49. ALSA: firewire-tascam: code refactoring for TASCAM data block process…

    …ing layer
    
    This is code refactoring for TASCAM data block processing layer so that
    it can receive list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    806653b View commit details
    Browse the repository at this point in the history
  50. ALSA: firewire-motu: code refactoring for MOTU data block processing …

    …layer
    
    This is code refactoring for MOTU data block processing layer so that
    it can receive list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    00d004d View commit details
    Browse the repository at this point in the history
  51. ALSA: fireface: code refactoring for FF data block processing layer

    This is code refactoring for FF data block processing layer so that
    it can receive list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    4731c67 View commit details
    Browse the repository at this point in the history
  52. ALSA: firewire-lib: process payload of isoc context according to pack…

    …et descriptors
    
    This commit changes each of data block processing layer so that it
    receives list of packet descriptor.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    9a738ad View commit details
    Browse the repository at this point in the history
  53. ALSA: firewire-motu: more code refactoring for MOTU data block proces…

    …sing layer
    
    MOTU data block processing layer has some tracepoints events. This
    commit is code refactoring to split probing the events from processing
    data blocks.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    d2d5a6b View commit details
    Browse the repository at this point in the history
  54. ASoC: dapm: fix a memory leak bug

    In snd_soc_dapm_new_control_unlocked(), a kernel buffer is allocated in
    dapm_cnew_widget() to hold the new dapm widget. Then, different actions are
    taken according to the id of the widget, i.e., 'w->id'. If any failure
    occurs during this process, snd_soc_dapm_new_control_unlocked() should be
    terminated by going to the 'request_failed' label. However, the allocated
    kernel buffer is not freed on this code path, leading to a memory leak bug.
    
    To fix the above issue, free the buffer before returning from
    snd_soc_dapm_new_control_unlocked() through the 'request_failed' label.
    
    Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
    Link: https://lore.kernel.org/r/1563803864-2809-1-git-send-email-wang6495@umn.edu
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wenwenwang1 authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    45004d6 View commit details
    Browse the repository at this point in the history
  55. ASoC: madera: Read device tree configuration

    Read the configuration of the Madera ASoC driver from device tree.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20190722135209.30302-1-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jul 22, 2019
    Configuration menu
    Copy the full SHA
    748fd07 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2019

  1. ASoC: qcom: apq8016_sbc: Fix oops with multiple DAI links

    apq8016_sbc_parse_of() sets up multiple DAI links, depending on the
    number of nodes in the device tree. However, at the moment
    CPU and platform components are only allocated for the first link.
    This causes an oops when more than one link is defined:
    
    	Internal error: Oops: 96000044 [#1] SMP
    	CPU: 0 PID: 1015 Comm: kworker/0:2 Not tainted 5.3.0-rc1 thesofproject#4
    	Call trace:
    	 apq8016_sbc_platform_probe+0x1a8/0x3f0
    	 platform_drv_probe+0x50/0xa0
    	...
    
    Move the allocation inside the loop to ensure that each link is
    properly initialized.
    
    Fixes: 98b232c ("ASoC: qcom: apq8016_sbc: use modern dai_link style")
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20190722130352.95874-1-stephan@gerhold.net
    Signed-off-by: Mark Brown <broonie@kernel.org>
    stephan-gh authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    8201f11 View commit details
    Browse the repository at this point in the history
  2. ASoC: SOF: Intel: hda: remove misleading error trace from IRQ thread

    Downgrade "nothing to do in IRQ thread" message from error to a debug
    message in the IPC interrupt handler thread.
    
    The spurious wake-up can happen if a HDA stream interrupt is
    raised while the IPC interrupt thread is running. IPC functionality
    is not impacted by this condition, so debug is a more appropriate
    trace level.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-21-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    717dedb View commit details
    Browse the repository at this point in the history
  3. ASoC: pcm3168a: Fix a typo in the name of a constant

    There is a typo in PCM1368A_MAX_SYSCLK, it should be PCM3168A_MAX_SYSCLK
    (1 and 3 switched in 3168)
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Link: https://lore.kernel.org/r/20190722211528.26600-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Mark Brown <broonie@kernel.org>
    tititiou36 authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    f8f8521 View commit details
    Browse the repository at this point in the history
  4. ASoC: SOF: pci: mark last_busy value at runtime PM init

    If last_busy value is not set at runtime PM enable, the device will be
    suspend immediately after usage counter is 0. Set the last_busy value to
    make sure delay is working at first boot up.
    
    Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    xiulipan authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    f1b1b9b View commit details
    Browse the repository at this point in the history
  5. ASoC: SOF: reset DMA state in prepare

    When application goes through SUSPEND/STOP->PREPARE->START
    cycle, we should always reprogram the SOF device to start
    DMA from a known state so that hw_ptr/appl_ptrs remain valid.
    This is expected by ALSA core as it resets the buffer
    state as part of prepare (see snd_pcm_do_prepare()).
    
    Fix the issue by forcing reconfiguration of the FW with
    STREAM_PCM_PARAMS in prepare(). Use combined logic to handle
    prepare and the existing flow to reprogram hw-params after
    system suspend.
    
    Without the fix, first call to pcm pointer() will return
    an invalid hw_ptr and application may immediately observe XRUN
    status, unless "start_threshold" SW parameter is set to maximum
    value by the application.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    04c8027 View commit details
    Browse the repository at this point in the history
  6. ASoC: SOF: use common code to send PCM_FREE IPC

    Remove duplicated code by using a common helper function
    to send the PCM_FREE IPC message to FW.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    a49b687 View commit details
    Browse the repository at this point in the history
  7. ASoC: SOF: ipc: use timeout configured at probe

    Do not hardcode IPC timeout value in ipc.c, but rather use the timeout
    value configured during device probe. For platforms that do not override
    the IPC timeout, default value TIMEOUT_DEFAULT_IPC_MS has already been
    defined in core.c.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    6dd78b3 View commit details
    Browse the repository at this point in the history
  8. ASoC: SOF: core: increase default IPC timeouts

    Increase the default timeout values for boot (100ms to 2sec) and
    IPC message sending (5ms to 500ms). The values should be overridden
    with values from platform data.
    
    There is no functional need to have such short timeouts as both boot
    and IPC send errors are considered fatal errors. More relaxed timeouts
    are convenient when running the driver on top of emulation such as QEMU.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    c9b54a3 View commit details
    Browse the repository at this point in the history
  9. ASoC: SOF: Introduce snd_sof_dsp_get_bar_index ops

    FW encapsulates information about section types (e.g DRAM, IRAM)
    inside module block header. This information can be used in order
    to correctly load the section to the appropriate place in memory.
    
    SOF Linux driver needs to know for each platform how to map the
    section type with the corresponding memory BAR. So, this patch
    introduces get_bar_index, a new operation inside snd_sof_dsp_ops.
    
    Intel platforms, usually load all the section in a contiguous memory
    area (usually denoted by sdev->mmio_bar) so things are relatively
    simple there. Anyhow, on i.MX8 IRAM and DRAM for example are mapped
    to distinct BARs.
    
    By default, if no get_bar function is provided the core implementation
    will always return sdev->mmio_bar so that there will be no need for
    a change to existing Intel code.
    
    Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-7-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    dbaluta authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    ce8234a View commit details
    Browse the repository at this point in the history
  10. ASoC: SOF: loader: Use the BAR provided by FW

    Make sure to use the newly introduced function snd_sof_dsp_get_bar_index
    that converts the section type to appropriate BAR index.
    
    Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-8-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    dbaluta authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    7198879 View commit details
    Browse the repository at this point in the history
  11. ASoC: SOF: loader: Don't ignore SRAM block types

    On i.MX8 data/heap/stack is kept in System RAM so
    do not ignore SRAM block types received from FW.
    
    Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-9-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    dbaluta authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    441c58c View commit details
    Browse the repository at this point in the history
  12. ASoC: SOF: remove unused state variable in suspend function

    Remove unused and no plan to use variable from suspend function.
    
    Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-10-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    fredoh9 authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    1c38c92 View commit details
    Browse the repository at this point in the history
  13. ASoC: SOF: Intel: hda: correct ROM state mask

    The ROM state is represented by the 24 LSB bits in the ROM status
    register, so the mask should be 0xffffff instead of 0xf.
    
    Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-11-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    keyonjie authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    184fdfc View commit details
    Browse the repository at this point in the history
  14. ASoC: SOF: Intel: hda: reduce ifdef usage for hda

    Move the code for hda to one point
    
    Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-12-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    RanderWang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    6aa232e View commit details
    Browse the repository at this point in the history
  15. ASoC: SOF: Intel: hda: Enable jack detection

    In commit 7d4f606 ("ALSA: hda - WAKEEN feature enabling for
    runtime pm"), legacy HD-A driver sets hda controller in reset mode after
    entering runtime-suspend. And when resuming from suspend mode, it checks
    hda controller & codec status to detect headphone hotplug event. Now
    this patch does the same job in SOF runtime pm functions.
    
    And we need to check all the non-hdmi codecs for some cases like playback
    with HDMI or capture with DMIC connected to dsp. In these cases, only
    controller is active and codecs are suspended, so codecs can't send
    unsolicited event to controller. The jack polling operation will activate
    codecs and unsolicited event can work even codecs become suspended later.
    
    Tested on whiskylake with hda codecs.
    
    Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-13-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    RanderWang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    fd15f2f View commit details
    Browse the repository at this point in the history
  16. ASoC: SOF: Intel: hda: set position buffer in init chip

    Set the HDA stream position buffer during init chip. The position buffer
    needs to be set in both HDA codec and nocodec cases. Using SOF defined
    function and move it to common code.
    
    Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-14-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    zhuyingjiang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    061edb2 View commit details
    Browse the repository at this point in the history
  17. ASoC: SOF: Intel: hda: use SOF defined init chip in resume

    Unify resume code by using SOF common function hda_dsp_ctrl_init_chip()
    which can handle both HDA and non-HDA cases. Move code to reset
    stream-to-link mapping into hda_dsp_ctrl_init_chip().
    
    Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-15-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    zhuyingjiang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    d069735 View commit details
    Browse the repository at this point in the history
  18. ASoC: SOF: Intel: hda: remove duplicated clear WAKESTS

    Remove the first clear WAKESTS, only one clear is needed during init
    chip.
    
    Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-16-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    zhuyingjiang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    dc7a36f View commit details
    Browse the repository at this point in the history
  19. ASoC: SOF: Intel: hda: add a parameter to disable MSI

    Enabling MSI on HDA can fail, in which case the legacy PCI IRQ mode
    will be used. To make testing this mode easier add an "enable_msi"
    module parameter, which is only enabled if debugging is enabled too.
    
    Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-17-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lyakh authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    672ff5e View commit details
    Browse the repository at this point in the history
  20. ASoC: SOF: Intel: hda: reset link DMA state in prepare

    When application goes through SUSPEND/STOP->PREPARE->START
    cycle, we should always reprogram the DAI link DMA to ensure
    it is in sync with the host PCM DMA.
    
    Use same state tracking logic to handle both restart and
    system resume flows. Use link_prepared field of
    'struct hdac_ext_stream' to store the state, instead of
    adding redundant fields to SOF specific structs.
    
    Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-18-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    kv2019i authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    a3ebccb View commit details
    Browse the repository at this point in the history
  21. ASoC: SOF: Intel: ssp: BCLK delay parameter

    Some codecs require BCLK to be on for some time, before sending
    any data. SOF can enable BCLK and then wait for guaranteed time,
    before starting DMA on SSP start.
    
    Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-22-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jajanusz authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    6298b78 View commit details
    Browse the repository at this point in the history
  22. ASoC: fsl_esai: recover the channel swap after xrun

    There is chip errata ERR008000, the reference doc is
    (https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf),
    
    The issue is "While using ESAI transmit or receive and
    an underrun/overrun happens, channel swap may occur.
    The only recovery mechanism is to reset the ESAI."
    
    This issue exist in imx3/imx5/imx6(partial) series.
    
    In this commit add a tasklet to handle reset of ESAI
    after xrun happens to recover the channel swap.
    
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Link: https://lore.kernel.org/r/326035cb99975361699d9ed748054b08bc06a341.1562842206.git.shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    7ccafa2 View commit details
    Browse the repository at this point in the history
  23. ASoC: SOF: Intel: hda: fix link DMA config

    For this bug, there are two capture pcm streams active, with one
    stream and its related stream tag released before suspend. Later
    when system suspend is done, the stream tag for the remaining
    active stream is released by SOF driver. After system resume, hda
    codec driver restores the stream tag for the active pcm stream,
    but SOF goes to assign a new one, which now doesn't match with the
    stream tag used by codec driver, and this causes DMA to fail
    receiving data, leading to unrecoverable XRUN condition in FW.
    
    For stream tag is stored in both hda codec and SOF driver, it
    shouldn't be released only in SOF driver. This patch just keeps the
    stream information in dma data and checks whether there is a stored
    DMA data for stream resuming from S3 and restores it. And it also
    removes DMA data when the stream is released.
    
    Tested on Whiskey Lake platform.
    
    GitHub issue: thesofproject/sof#1594
    Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-19-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    RanderWang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    934bf82 View commit details
    Browse the repository at this point in the history
  24. ASoC: SOF: Intel: hda: fix stream id setting

    snd_hdac_ext_link_clear_stream_id maps stream id to
    link output, which is for playback, not capture.
    
    Tested on Whiskey Lake platform.
    
    Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20190722141402.7194-20-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    RanderWang authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    810dbea View commit details
    Browse the repository at this point in the history
  25. ASoC: rt5665: Fix a typo in the name of a function

    All function names start with rt5665_, except 'rt5655_set_verf()'.
    It is likely a typo.
    
    Fix it to be consistent.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Link: https://lore.kernel.org/r/20190722212639.26954-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Mark Brown <broonie@kernel.org>
    tititiou36 authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    f90aa35 View commit details
    Browse the repository at this point in the history
  26. ASoC: rt1308: Convert headers to SPDX

    Convert include and source files to SPDX.
    
    Signed-off-by: Shuming Fan <shumingf@realtek.com>
    Link: https://lore.kernel.org/r/20190723101247.19741-1-shumingf@realtek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    shumingfan authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    a789ada View commit details
    Browse the repository at this point in the history
  27. ASoC: rsnd: Support hw_free() callback at DAI level

    This patch provides the needed infrastructure to support calling hw_free()
    at the DAI level. This is for example required to free resources allocated
    in hw_params() callback.
    
    The modification of __rsnd_mod_add_hw_params does not have any side
    effects because rsnd_mod_ops::hw_params callback is not used by anyone
    until now.
    
    Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
    Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
    Link: https://lore.kernel.org/r/20190722072403.11008-2-jiada_wang@mentor.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Timo Wischer authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    859fd6c View commit details
    Browse the repository at this point in the history
  28. ASoC: add soc-dai.c

    Current ALSA SoC has many snd_soc_dai_xxx() function which is
    using dai->driver->ops->xxx.
    But, some of them are implemented as snd_soc_dai_xxx(),
    but others are directly using dai->driver->ops->xxx.
    Because of it, the code is not easy to read.
    
    This patch creats new soc-dai.c and moves snd_soc_dai_xxx()
    functions into it.
    One exception is snd_soc_dai_is_dummy() which is based on
    soc-utils local variable. We need to keep it as-is there.
    
    Others which is directly using dai->driver->ops->xxx will be
    implemented at soc-dai.c by incremental patches.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/871ryij1r6.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    06f6e1d View commit details
    Browse the repository at this point in the history
  29. ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai

    Sometimes ALSA SoC naming is very random.
    Current soc_dai_hw_params() should use snd_soc_dai_xxx() style.
    And then, 1st parameter should be dai. Otherwise it is confusable.
     - soc_dai_hw_params(..., dai);
     + snd_soc_dai_hw_params(dai, ...);
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87zhl6hn5b.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    aa6166c View commit details
    Browse the repository at this point in the history
  30. ASoC: soc-dai: add snd_soc_dai_hw_free()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_hw_free() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87y30qhn4w.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    846faae View commit details
    Browse the repository at this point in the history
  31. ASoC: soc-dai: add snd_soc_dai_startup()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_startup() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87wogahn4i.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    5a52a04 View commit details
    Browse the repository at this point in the history
  32. ASoC: soc-dai: add snd_soc_dai_shutdown()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_shutdown() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87v9vuhn4b.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    330fcb5 View commit details
    Browse the repository at this point in the history
  33. ASoC: soc-dai: add snd_soc_dai_prepare()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_prepare() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87tvbehn46.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    4beb8e1 View commit details
    Browse the repository at this point in the history
  34. ASoC: soc-dai: add snd_soc_dai_trigger()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_trigger() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87sgqyhn40.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    95aef35 View commit details
    Browse the repository at this point in the history
  35. ASoC: soc-dai: add snd_soc_dai_bespoke_trigger()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_bespoke_trigger() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87r26ihn3u.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    5c0769a View commit details
    Browse the repository at this point in the history
  36. ASoC: soc-dai: add snd_soc_dai_delay()

    Current ALSA SoC is directly using dai->driver->ops->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_delay() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87o91mhn3i.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    1dea80d View commit details
    Browse the repository at this point in the history
  37. ASoC: soc-dai: add snd_soc_dai_suspend()

    Current ALSA SoC is directly using dai->driver->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_suspend() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87muh6hn2x.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    e0f2262 View commit details
    Browse the repository at this point in the history
  38. ASoC: soc-dai: add snd_soc_dai_resume()

    Current ALSA SoC is directly using dai->driver->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_resume() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87lfwqhn2j.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    24b09d0 View commit details
    Browse the repository at this point in the history
  39. ASoC: soc-dai: add snd_soc_dai_probe()

    Current ALSA SoC is directly using dai->driver->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_probe() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87k1cahn26.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    cfd9b5f View commit details
    Browse the repository at this point in the history
  40. ASoC: soc-dai: add snd_soc_dai_remove()

    Current ALSA SoC is directly using dai->driver->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_remvoe() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87imruhn1x.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    dcdab58 View commit details
    Browse the repository at this point in the history
  41. ASoC: soc-dai: add snd_soc_dai_compress_new()

    Current ALSA SoC is directly using dai->driver->xxx,
    thus, it has deep nested bracket, and it makes code unreadable.
    This patch adds new snd_soc_dai_compress_new() and use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87h87ehn1a.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    b423c42 View commit details
    Browse the repository at this point in the history
  42. ASoC: soc-core: use existing snd_soc_dai_digital_mute()

    ALSA SoC already has snd_soc_dai_digital_mute() for digital_mute,
    let's use it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87ef2ihmzo.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    88fdffa View commit details
    Browse the repository at this point in the history
  43. ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c

    snd_soc_dai_stream_valid() is function to check stream validity.
    But, some code is using it, some code are checking stream->channels_min
    directly. Doing samethings by different method is confusable.
    This patch uses same funcntion for same purpose.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87ftmyhmzz.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Jul 23, 2019
    Configuration menu
    Copy the full SHA
    467fece View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    c12f7c2 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    f5d6680 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2019

  1. Configuration menu
    Copy the full SHA
    dd34900 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97ba7de View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2019

  1. r8169: fix RTL8168g PHY init

    This fixes a copy&paste error in the original patch. Setting the wrong
    register resulted in massive packet loss on some systems.
    
    Fixes: a2928d2 ("r8169: use paged versions of phylib MDIO access functions")
    Tested-by: Thomas Voegtle <tv@lio96.de>
    Signed-off-by: Thomas Voegtle <tv@lio96.de>
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    TVsGITHubAcc authored and ranj063 committed Jul 30, 2019
    Configuration menu
    Copy the full SHA
    e79eda1 View commit details
    Browse the repository at this point in the history