Skip to content
Permalink
Luiz-Augusto-v…
Switch branches/tags

Commits on Mar 15, 2021

  1. Bluetooth: btintel: Skip reading firmware file version while in bootl…

    …oader mode
    
    This skips parsing the firmware version information from the firmware
    file while controller is in bootloader mode. As in bootloader mode,
    we are supposed to patch unconditionally.
    
    Signed-off-by: Lokendra Singh <lokendra.singh@intel.com>
    lokendra-singh authored and intel-lab-lkp committed Mar 15, 2021
  2. Bluetooth: btintel: Collect tlv based active firmware build info in F…

    …W mode
    
    In Operational firmware mode, 'Minimum FW version' TLV ID is not available.
    So, we cannot fetch already running firmware info for comparison against
    another build. However, It can be collected using a combination of other
    TLV ID's information.
    
    Signed-off-by: Lokendra Singh <lokendra.singh@intel.com>
    lokendra-singh authored and intel-lab-lkp committed Mar 15, 2021
  3. Bluetooth: btintel: Reorganized bootloader mode tlv checks in intel_v…

    …ersion_tlv parsing
    
    This moves limited_cce and sbe_type checks under bootloader during tlv parsing
    as operational firmware don't have access to these values. Any attempt to read
    such values in operational firmware will only fetch garbage data.
    
    Signed-off-by: Lokendra Singh <lokendra.singh@intel.com>
    Signed-off-by: Kiran K <kiran.k@intel.com>
    lokendra-singh authored and intel-lab-lkp committed Mar 15, 2021
  4. Bluetooth: btusb: Consolidate code for waiting firmware to boot

    This moves duplicated code for waiting firmware download completion to
    a function that can be reused.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021
  5. Bluetooth: btusb: Consolidate code for waiting firmware download

    This moves duplicated code for waiting firmware download completion to
    a function that can be reused.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021
  6. Bluetooth: btintel: Consolidate intel_version parsing

    This moves version checks of intel_version() to btintel_version_info().
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021
  7. Bluetooth: btintel: Consolidate intel_version_tlv parsing

    This moves version checks of intel_version_tlv() to btintel_version_info_tlv().
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021
  8. Bluetooth: btintel: Move operational checks after version check

    In order to allow new firmware to load, it first needs to check if the
    firmware version on file matches the one loaded if it doesn't, then it
    needs to revert to bootloader mode in order to load the new firmware.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021
  9. Bluetooth: btintel: Check firmware version before download

    This checks the firmware build number, week and year against the
    repective loaded version. If details are a match, skip the download
    process.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Vudentz authored and intel-lab-lkp committed Mar 15, 2021

Commits on Mar 11, 2021

  1. Bluetooth: hci_qca: Add device_may_wakeup support

    Based on device may wakeup status, Bluez stack will enable/disable
    passive scanning with whitelist in BT controller while suspending.
    As interrupt from BT SoC is handled by UART driver,we need to use
    device handle of UART driver to get the status of device may wakeup
    
    Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Venkata Lakshmi Narayana Gubba authored and holtmann committed Mar 11, 2021
  2. Bluetooth: SMP: Fail if remote and local public keys are identical

    This fails the pairing procedure when both remote and local non-debug
    public keys are identical.
    
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Vudentz authored and holtmann committed Mar 11, 2021

Commits on Mar 8, 2021

  1. Bluetooth: btintel: Fix offset calculation boot address parameter

    Boot address parameter was not getting updated properly
    due to wrong offset
    
    Signed-off-by: Kiran K <kiran.k@intel.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    kirankrishnappa-intel authored and holtmann committed Mar 8, 2021
  2. Bluetooth: btusb: print firmware file name on error loading firmware

    print the firmware file name on error loading from fie system
    
    Signed-off-by: Kiran K <kiran.k@intel.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    kirankrishnappa-intel authored and holtmann committed Mar 8, 2021
  3. Bluetooth: btbcm: Obtain and handle reset GPIO

    Obtain and drive the optional reset GPIO line if this is
    not hardwired in the platform. This is needed on the
    Samsung GT-I9070 mobile phone.
    
    The invers of power is used, this should be OK to apply
    simultaneously as the power signal according to
    figures 47-51 on pages 159-161 in the BCM4330 datasheet.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    linusw authored and holtmann committed Mar 8, 2021
  4. Bluetooth: btbcm: Rewrite bindings in YAML and add reset

    This rewrites the Broadcom bluetooth bindings in YAML and
    adds a GPIO handle for the BT_RST_N line as used on some
    platforms.
    
    The Ingenic UART binding was using this binding in its
    example DTS fragment, however mistakenly using "vcc-supply"
    for what is called "vbat-supply". The proper DTS files
    and the code in the kernel all use "vbat-supply" so
    fix up the example in this patch so we ge a clean
    check.
    
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    linusw authored and holtmann committed Mar 8, 2021

Commits on Mar 3, 2021

  1. Bluetooth: Allow scannable adv with extended MGMT APIs

    An issue was found, where if a bluetooth client requests a broadcast
    advertisement with scan response data, it will not be properly
    registered with the controller. This is because at the time that the
    hci_cp_le_set_scan_param structure is created, the scan response will
    not yet have been received since it comes in a second MGMT call. With
    empty scan response, the request defaults to a non-scannable PDU type.
    On some controllers, the subsequent scan response request will fail due
    to incorrect PDU type, and others will succeed and not use the scan
    response.
    
    This fix allows the advertising parameters MGMT call to include a flag
    to let the kernel know whether a scan response will be coming, so that
    the correct PDU type is used in the first place. A bluetoothd change is
    also incoming to take advantage of it.
    
    To test this, I created a broadcast advertisement with scan response
    data and registered it on the hatch chromebook. Without this change, the
    request fails, and with it will succeed.
    
    Reviewed-by: Alain Michaud <alainm@chromium.org>
    Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org>
    Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
    Signed-off-by: Daniel Winkler <danielwinkler@google.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    dwinkler2 authored and holtmann committed Mar 3, 2021
  2. Bluetooth: Remove unneeded commands for suspend

    During suspend, there are a few scan enable and set event filter
    commands that don't need to be sent unless there are actual BR/EDR
    devices capable of waking the system. Check the HCI_PSCAN bit before
    writing scan enable and use a new dev flag, HCI_EVENT_FILTER_CONFIGURED
    to control whether to clear the event filter.
    
    Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
    Reviewed-by: Archie Pusaka <apusaka@chromium.org>
    Reviewed-by: Alain Michaud <alainm@chromium.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    apandit authored and holtmann committed Mar 3, 2021

Commits on Mar 2, 2021

  1. Bluetooth: Notify suspend on le conn failed

    When suspending, Bluetooth disconnects all connected peers devices. If
    an LE connection is started but isn't completed, we will see an LE
    Create Connection Cancel instead of an HCI disconnect. This just adds
    a check to see if an LE cancel was the last disconnected device and wake
    the suspend thread when that is the case.
    
    Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
    Reviewed-by: Archie Pusaka <apusaka@chromium.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    apandit authored and holtmann committed Mar 2, 2021

Commits on Feb 26, 2021

  1. Bluetooth: btusb: Fix incorrect type in assignment and uninitialized …

    …symbol
    
    Warnings: drivers/bluetooth/btusb.c:3775 btusb_mtk_setup() error:
    uninitialized symbol 'fw_version'.
    -> add initial value for fw_version.
    
    Warnings: sparse: sparse: incorrect type in assignment (different base
    types)
    -> add le32_to_cpu to fix incorrect type in assignment.
    
    Signed-off-by: mark-yw.chen <mark-yw.chen@mediatek.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    mark-yw.chen authored and holtmann committed Feb 26, 2021
  2. Bluetooth: btusb: support 0cb5:c547 Realtek 8822CE device

    Some Xiaomi RedmiBook laptop models use the 0cb5:c547 USB identifier
    for their Bluetooth device, so load the appropriate firmware for
    Realtek 8822CE.
    
    -Device(0cb5:c547) from /sys/kernel/debug/usb/devices
    T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  3 Spd=12   MxCh= 0
    D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0cb5 ProdID=c547 Rev= 0.00
    S:  Manufacturer=Realtek
    S:  Product=Bluetooth Radio
    S:  SerialNumber=00e04c000001
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Rasmus Moorats <xx@nns.ee>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    nnsee authored and holtmann committed Feb 26, 2021

Commits on Feb 21, 2021

  1. Merge tag 'perf-core-2021-02-17' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/tip/tip
    
    Pull performance event updates from Ingo Molnar:
    
     - Add CPU-PMU support for Intel Sapphire Rapids CPUs
    
     - Extend the perf ABI with PERF_SAMPLE_WEIGHT_STRUCT, to offer
       two-parameter sampling event feedback. Not used yet, but is intended
       for Golden Cove CPU-PMU, which can provide both the instruction
       latency and the cache latency information for memory profiling
       events.
    
     - Remove experimental, default-disabled perfmon-v4 counter_freezing
       support that could only be enabled via a boot option. The hardware is
       hopelessly broken, we'd like to make sure nobody starts relying on
       this, as it would only end in tears.
    
     - Fix energy/power events on Intel SPR platforms
    
     - Simplify the uprobes resume_execution() logic
    
     - Misc smaller fixes.
    
    * tag 'perf-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/x86/rapl: Fix psys-energy event on Intel SPR platform
      perf/x86/rapl: Only check lower 32bits for RAPL energy counters
      perf/x86/rapl: Add msr mask support
      perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[]
      perf/x86/intel: Support CPUID 10.ECX to disable fixed counters
      perf/x86/intel: Add perf core PMU support for Sapphire Rapids
      perf/x86/intel: Filter unsupported Topdown metrics event
      perf/x86/intel: Factor out intel_update_topdown_event()
      perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT
      perf/intel: Remove Perfmon-v4 counter_freezing support
      x86/perf: Use static_call for x86_pmu.guest_get_msrs
      perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info
      perf/x86/intel/uncore: Store the logical die id instead of the physical die id.
      x86/kprobes: Do not decode opcode in resume_execution()
    torvalds committed Feb 21, 2021
  2. Merge tag 'sched-core-2021-02-17' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull scheduler updates from Ingo Molnar:
     "Core scheduler updates:
    
       - Add CONFIG_PREEMPT_DYNAMIC: this in its current form adds the
         preempt=none/voluntary/full boot options (default: full), to allow
         distros to build a PREEMPT kernel but fall back to close to
         PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via
         a boot time selection.
    
         There's also the /debug/sched_debug switch to do this runtime.
    
         This feature is implemented via runtime patching (a new variant of
         static calls).
    
         The scope of the runtime patching can be best reviewed by looking
         at the sched_dynamic_update() function in kernel/sched/core.c.
    
         ( Note that the dynamic none/voluntary mode isn't 100% identical,
           for example preempt-RCU is available in all cases, plus the
           preempt count is maintained in all models, which has runtime
           overhead even with the code patching. )
    
         The PREEMPT_VOLUNTARY/PREEMPT_NONE models, used by the vast
         majority of distributions, are supposed to be unaffected.
    
       - Fix ignored rescheduling after rcu_eqs_enter(). This is a bug that
         was found via rcutorture triggering a hang. The bug is that
         rcu_idle_enter() may wake up a NOCB kthread, but this happens after
         the last generic need_resched() check. Some cpuidle drivers fix it
         by chance but many others don't.
    
         In true 2020 fashion the original bug fix has grown into a 5-patch
         scheduler/RCU fix series plus another 16 RCU patches to address the
         underlying issue of missed preemption events. These are the initial
         fixes that should fix current incarnations of the bug.
    
       - Clean up rbtree usage in the scheduler, by providing & using the
         following consistent set of rbtree APIs:
    
           partial-order; less() based:
             - rb_add(): add a new entry to the rbtree
             - rb_add_cached(): like rb_add(), but for a rb_root_cached
    
           total-order; cmp() based:
             - rb_find(): find an entry in an rbtree
             - rb_find_add(): find an entry, and add if not found
    
             - rb_find_first(): find the first (leftmost) matching entry
             - rb_next_match(): continue from rb_find_first()
             - rb_for_each(): iterate a sub-tree using the previous two
    
       - Improve the SMP/NUMA load-balancer: scan for an idle sibling in a
         single pass. This is a 4-commit series where each commit improves
         one aspect of the idle sibling scan logic.
    
       - Improve the cpufreq cooling driver by getting the effective CPU
         utilization metrics from the scheduler
    
       - Improve the fair scheduler's active load-balancing logic by
         reducing the number of active LB attempts & lengthen the
         load-balancing interval. This improves stress-ng mmapfork
         performance.
    
       - Fix CFS's estimated utilization (util_est) calculation bug that can
         result in too high utilization values
    
      Misc updates & fixes:
    
       - Fix the HRTICK reprogramming & optimization feature
    
       - Fix SCHED_SOFTIRQ raising race & warning in the CPU offlining code
    
       - Reduce dl_add_task_root_domain() overhead
    
       - Fix uprobes refcount bug
    
       - Process pending softirqs in flush_smp_call_function_from_idle()
    
       - Clean up task priority related defines, remove *USER_*PRIO and
         USER_PRIO()
    
       - Simplify the sched_init_numa() deduplication sort
    
       - Documentation updates
    
       - Fix EAS bug in update_misfit_status(), which degraded the quality
         of energy-balancing
    
       - Smaller cleanups"
    
    * tag 'sched-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
      sched,x86: Allow !PREEMPT_DYNAMIC
      entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling point
      entry: Explicitly flush pending rcuog wakeup before last rescheduling point
      rcu/nocb: Trigger self-IPI on late deferred wake up before user resume
      rcu/nocb: Perform deferred wake up before last idle's need_resched() check
      rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
      sched/features: Distinguish between NORMAL and DEADLINE hrtick
      sched/features: Fix hrtick reprogramming
      sched/deadline: Reduce rq lock contention in dl_add_task_root_domain()
      uprobes: (Re)add missing get_uprobe() in __find_uprobe()
      smp: Process pending softirqs in flush_smp_call_function_from_idle()
      sched: Harden PREEMPT_DYNAMIC
      static_call: Allow module use without exposing static_call_key
      sched: Add /debug/sched_preempt
      preempt/dynamic: Support dynamic preempt with preempt= boot option
      preempt/dynamic: Provide irqentry_exit_cond_resched() static call
      preempt/dynamic: Provide preempt_schedule[_notrace]() static calls
      preempt/dynamic: Provide cond_resched() and might_resched() static calls
      preempt: Introduce CONFIG_PREEMPT_DYNAMIC
      static_call: Provide DEFINE_STATIC_CALL_RET0()
      ...
    torvalds committed Feb 21, 2021
  3. Merge tag 'core-mm-2021-02-17' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/tip/tip
    
    Pull tlb gather updates from Ingo Molnar:
     "Theses fix MM (soft-)dirty bit management in the procfs code & clean
      up the TLB gather API"
    
    * tag 'core-mm-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables
      tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs
      tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu()
      tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm()
      tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu()
      mm: proc: Invalidate TLB after clearing soft-dirty page state
    torvalds committed Feb 21, 2021
  4. Merge tag 'locking-core-2021-02-17' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull locking updates from Ingo Molnar:
     "Core locking primitives updates:
        - Remove mutex_trylock_recursive() from the API - no users left
        - Simplify + constify the futex code a bit
    
      Lockdep updates:
        - Teach lockdep about local_lock_t
        - Add CONFIG_DEBUG_IRQFLAGS=y debug config option to check for
          potentially unsafe IRQ mask restoration patterns. (I.e.
          calling raw_local_irq_restore() with IRQs enabled.)
        - Add wait context self-tests
        - Fix graph lock corner case corrupting internal data structures
        - Fix noinstr annotations
    
      LKMM updates:
        - Simplify the litmus tests
        - Documentation fixes
    
      KCSAN updates:
        - Re-enable KCSAN instrumentation in lib/random32.c
    
      Misc fixes:
        - Don't branch-trace static label APIs
        - DocBook fix
        - Remove stale leftover empty file"
    
    * tag 'locking-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
      checkpatch: Don't check for mutex_trylock_recursive()
      locking/mutex: Kill mutex_trylock_recursive()
      s390: Use arch_local_irq_{save,restore}() in early boot code
      lockdep: Noinstr annotate warn_bogus_irq_restore()
      locking/lockdep: Avoid unmatched unlock
      locking/rwsem: Remove empty rwsem.h
      locking/rtmutex: Add missing kernel-doc markup
      futex: Remove unneeded gotos
      futex: Change utime parameter to be 'const ... *'
      lockdep: report broken irq restoration
      jump_label: Do not profile branch annotations
      locking: Add Reviewers
      locking/selftests: Add local_lock inversion tests
      locking/lockdep: Exclude local_lock_t from IRQ inversions
      locking/lockdep: Clean up check_redundant() a bit
      locking/lockdep: Add a skip() function to __bfs()
      locking/lockdep: Mark local_lock_t
      locking/selftests: More granular debug_locks_verbose
      lockdep/selftest: Add wait context selftests
      tools/memory-model: Fix typo in klitmus7 compatibility table
      ...
    torvalds committed Feb 21, 2021
  5. Merge tag 'core-rcu-2021-02-17' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/tip/tip
    
    Pull RCU updates from Ingo Molnar:
     "These are the latest RCU updates for v5.12:
    
       - Documentation updates.
    
       - Miscellaneous fixes.
    
       - kfree_rcu() updates: Addition of mem_dump_obj() to provide
         allocator return addresses to more easily locate bugs. This has a
         couple of RCU-related commits, but is mostly MM. Was pulled in with
         akpm's agreement.
    
       - Per-callback-batch tracking of numbers of callbacks, which enables
         better debugging information and smarter reactions to large numbers
         of callbacks.
    
       - The first round of changes to allow CPUs to be runtime switched
         from and to callback-offloaded state.
    
       - CONFIG_PREEMPT_RT-related changes.
    
       - RCU CPU stall warning updates.
    
       - Addition of polling grace-period APIs for SRCU.
    
       - Torture-test and torture-test scripting updates, including a
         "torture everything" script that runs rcutorture, locktorture,
         scftorture, rcuscale, and refscale. Plus does an allmodconfig
         build.
    
       - nolibc fixes for the torture tests"
    
    * tag 'core-rcu-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (130 commits)
      percpu_ref: Dump mem_dump_obj() info upon reference-count underflow
      rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback
      mm: Make mem_obj_dump() vmalloc() dumps include start and length
      mm: Make mem_dump_obj() handle vmalloc() memory
      mm: Make mem_dump_obj() handle NULL and zero-sized pointers
      mm: Add mem_dump_obj() to print source of memory block
      tools/rcutorture: Fix position of -lgcc in mkinitrd.sh
      tools/nolibc: Fix position of -lgcc in the documented example
      tools/nolibc: Emit detailed error for missing alternate syscall number definitions
      tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*
      tools/nolibc: Get timeval, timespec and timezone from linux/time.h
      tools/nolibc: Implement poll() based on ppoll()
      tools/nolibc: Implement fork() based on clone()
      tools/nolibc: Make getpgrp() fall back to getpgid(0)
      tools/nolibc: Make dup2() rely on dup3() when available
      tools/nolibc: Add the definition for dup()
      rcutorture: Add rcutree.use_softirq=0 to RUDE01 and TASKS01
      torture: Maintain torture-specific set of CPUs-online books
      torture: Clean up after torture-test CPU hotplugging
      rcutorture: Make object_debug also double call_rcu() heap object
      ...
    torvalds committed Feb 21, 2021
  6. Merge tag 'timers-core-2021-02-15' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull timer updates from Thomas Gleixner:
     "Time and timer updates:
    
       - Instead of new drivers remove tango, sirf, u300 and atlas drivers
    
       - Add suspend/resume support for microchip pit64b
    
       - The usual fixes, improvements and cleanups here and there"
    
    * tag 'timers-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      timens: Delete no-op time_ns_init()
      alarmtimer: Update kerneldoc
      clocksource/drivers/timer-microchip-pit64b: Add clocksource suspend/resume
      clocksource/drivers/prima: Remove sirf prima driver
      clocksource/drivers/atlas: Remove sirf atlas driver
      clocksource/drivers/tango: Remove tango driver
      clocksource/drivers/u300: Remove the u300 driver
      dt-bindings: timer: nuvoton: Clarify that interrupt of timer 0 should be specified
      clocksource/drivers/davinci: Move pr_fmt() before the includes
      clocksource/drivers/efm32: Drop unused timer code
    torvalds committed Feb 21, 2021
  7. Merge tag 'irq-core-2021-02-15' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/tip/tip
    
    Pull irq updates from Thomas Gleixner:
     "Updates for the irq subsystem:
    
       - The usual new irq chip driver (Realtek RTL83xx)
    
       - Removal of sirfsoc and tango irq chip drivers
    
       - Conversion of the sun6i chip support to hierarchical irq domains
    
       - The usual fixes, improvements and cleanups all over the place"
    
    * tag 'irq-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      irqchip/imx: IMX_INTMUX should not default to y, unconditionally
      irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap
      irqchip/csky-mpintc: Prevent selection on unsupported platforms
      irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller
      dt-bindings: interrupt-controller: Add Realtek RTL838x/RTL839x support
      irqchip/ls-extirq: add IRQCHIP_SKIP_SET_WAKE to the irqchip flags
      genirq: Use new tasklet API for resend_tasklet
      dt-bindings: qcom,pdc: Add compatible for SM8350
      dt-bindings: qcom,pdc: Add compatible for SM8250
      irqchip/sun6i-r: Add wakeup support
      irqchip/sun6i-r: Use a stacked irqchip driver
      dt-bindings: irq: sun6i-r: Add a compatible for the H3
      dt-bindings: irq: sun6i-r: Split the binding from sun7i-nmi
      irqchip/gic-v3: Fix typos in PMR/RPR SCR_EL3.FIQ handling explanation
      irqchip: Remove sirfsoc driver
      irqchip: Remove sigma tango driver
    torvalds committed Feb 21, 2021
  8. Merge tag 'for-5.12/io_uring-2021-02-17' of git://git.kernel.dk/linux…

    …-block
    
    Pull io_uring updates from Jens Axboe:
     "Highlights from this cycles are things like request recycling and
      task_work optimizations, which net us anywhere from 10-20% of speedups
      on workloads that mostly are inline.
    
      This work was originally done to put io_uring under memcg, which adds
      considerable overhead. But it's a really nice win as well. Also worth
      highlighting is the LOOKUP_CACHED work in the VFS, and using it in
      io_uring. Greatly speeds up the fast path for file opens.
    
      Summary:
    
       - Put io_uring under memcg protection. We accounted just the rings
         themselves under rlimit memlock before, now we account everything.
    
       - Request cache recycling, persistent across invocations (Pavel, me)
    
       - First part of a cleanup/improvement to buffer registration (Bijan)
    
       - SQPOLL fixes (Hao)
    
       - File registration NULL pointer fixup (Dan)
    
       - LOOKUP_CACHED support for io_uring
    
       - Disable /proc/thread-self/ for io_uring, like we do for /proc/self
    
       - Add Pavel to the io_uring MAINTAINERS entry
    
       - Tons of code cleanups and optimizations (Pavel)
    
       - Support for skip entries in file registration (Noah)"
    
    * tag 'for-5.12/io_uring-2021-02-17' of git://git.kernel.dk/linux-block: (103 commits)
      io_uring: tctx->task_lock should be IRQ safe
      proc: don't allow async path resolution of /proc/thread-self components
      io_uring: kill cached requests from exiting task closing the ring
      io_uring: add helper to free all request caches
      io_uring: allow task match to be passed to io_req_cache_free()
      io-wq: clear out worker ->fs and ->files
      io_uring: optimise io_init_req() flags setting
      io_uring: clean io_req_find_next() fast check
      io_uring: don't check PF_EXITING from syscall
      io_uring: don't split out consume out of SQE get
      io_uring: save ctx put/get for task_work submit
      io_uring: don't duplicate io_req_task_queue()
      io_uring: optimise SQPOLL mm/files grabbing
      io_uring: optimise out unlikely link queue
      io_uring: take compl state from submit state
      io_uring: inline io_complete_rw_common()
      io_uring: move res check out of io_rw_reissue()
      io_uring: simplify iopoll reissuing
      io_uring: clean up io_req_free_batch_finish()
      io_uring: move submit side state closer in the ring
      ...
    torvalds committed Feb 21, 2021
  9. Merge tag 'for-5.12/drivers-2021-02-17' of git://git.kernel.dk/linux-…

    …block
    
    Pull block driver updates from Jens Axboe:
    
     - Remove the skd driver. It's been EOL for a long time (Damien)
    
     - NVMe pull requests
          - fix multipath handling of ->queue_rq errors (Chao Leng)
          - nvmet cleanups (Chaitanya Kulkarni)
          - add a quirk for buggy Amazon controller (Filippo Sironi)
          - avoid devm allocations in nvme-hwmon that don't interact well
            with fabrics (Hannes Reinecke)
          - sysfs cleanups (Jiapeng Chong)
          - fix nr_zones for multipath (Keith Busch)
          - nvme-tcp crash fix for no-data commands (Sagi Grimberg)
          - nvmet-tcp fixes (Sagi Grimberg)
          - add a missing __rcu annotation (Christoph)
          - failed reconnect fixes (Chao Leng)
          - various tracing improvements (Michal Krakowiak, Johannes
            Thumshirn)
          - switch the nvmet-fc assoc_list to use RCU protection (Leonid
            Ravich)
          - resync the status codes with the latest spec (Max Gurtovoy)
          - minor nvme-tcp improvements (Sagi Grimberg)
          - various cleanups (Rikard Falkeborn, Minwoo Im, Chaitanya
            Kulkarni, Israel Rukshin)
    
     - Floppy O_NDELAY fix (Denis)
    
     - MD pull request
          - raid5 chunk_sectors fix (Guoqing)
    
     - Use lore links (Kees)
    
     - Use DEFINE_SHOW_ATTRIBUTE for nbd (Liao)
    
     - loop lock scaling (Pavel)
    
     - mtip32xx PCI fixes (Bjorn)
    
     - bcache fixes (Kai, Dongdong)
    
     - Misc fixes (Tian, Yang, Guoqing, Joe, Andy)
    
    * tag 'for-5.12/drivers-2021-02-17' of git://git.kernel.dk/linux-block: (64 commits)
      lightnvm: pblk: Replace guid_copy() with export_guid()/import_guid()
      lightnvm: fix unnecessary NULL check warnings
      nvme-tcp: fix crash triggered with a dataless request submission
      block: Replace lkml.org links with lore
      nbd: Convert to DEFINE_SHOW_ATTRIBUTE
      nvme: add 48-bit DMA address quirk for Amazon NVMe controllers
      nvme-hwmon: rework to avoid devm allocation
      nvmet: remove else at the end of the function
      nvmet: add nvmet_req_subsys() helper
      nvmet: use min of device_path and disk len
      nvmet: use invalid cmd opcode helper
      nvmet: use invalid cmd opcode helper
      nvmet: add helper to report invalid opcode
      nvmet: remove extra variable in id-ns handler
      nvmet: make nvmet_find_namespace() req based
      nvmet: return uniform error for invalid ns
      nvmet: set status to 0 in case for invalid nsid
      nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues
      nvme-multipath: set nr_zones for zoned namespaces
      nvmet-tcp: fix potential race of tcp socket closing accept_work
      ...
    torvalds committed Feb 21, 2021
  10. Merge tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-block

    Pull core block updates from Jens Axboe:
     "Another nice round of removing more code than what is added, mostly
      due to Christoph's relentless pursuit of tech debt removal/cleanups.
      This pull request contains:
    
       - Two series of BFQ improvements (Paolo, Jan, Jia)
    
       - Block iov_iter improvements (Pavel)
    
       - bsg error path fix (Pan)
    
       - blk-mq scheduler improvements (Jan)
    
       - -EBUSY discard fix (Jan)
    
       - bvec allocation improvements (Ming, Christoph)
    
       - bio allocation and init improvements (Christoph)
    
       - Store bdev pointer in bio instead of gendisk + partno (Christoph)
    
       - Block trace point cleanups (Christoph)
    
       - hard read-only vs read-only split (Christoph)
    
       - Block based swap cleanups (Christoph)
    
       - Zoned write granularity support (Damien)
    
       - Various fixes/tweaks (Chunguang, Guoqing, Lei, Lukas, Huhai)"
    
    * tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-block: (104 commits)
      mm: simplify swapdev_block
      sd_zbc: clear zone resources for non-zoned case
      block: introduce blk_queue_clear_zone_settings()
      zonefs: use zone write granularity as block size
      block: introduce zone_write_granularity limit
      block: use blk_queue_set_zoned in add_partition()
      nullb: use blk_queue_set_zoned() to setup zoned devices
      nvme: cleanup zone information initialization
      block: document zone_append_max_bytes attribute
      block: use bi_max_vecs to find the bvec pool
      md/raid10: remove dead code in reshape_request
      block: mark the bio as cloned in bio_iov_bvec_set
      block: set BIO_NO_PAGE_REF in bio_iov_bvec_set
      block: remove a layer of indentation in bio_iov_iter_get_pages
      block: turn the nr_iovecs argument to bio_alloc* into an unsigned short
      block: remove the 1 and 4 vec bvec_slabs entries
      block: streamline bvec_alloc
      block: factor out a bvec_alloc_gfp helper
      block: move struct biovec_slab to bio.c
      block: reuse BIO_INLINE_VECS for integrity bvecs
      ...
    torvalds committed Feb 21, 2021
  11. Merge tag 'for-5.12/libata-2021-02-17' of git://git.kernel.dk/linux-b…

    …lock
    
    Pull libata updates from Jens Axboe:
     "Regulartors management addition from Florian, and a trivial change to
      avoid comma separated statements from Joe"
    
    * tag 'for-5.12/libata-2021-02-17' of git://git.kernel.dk/linux-block:
      ata: Avoid comma separated statements
      ata: ahci_brcm: Add back regulators management
    torvalds committed Feb 21, 2021
  12. Merge tag 'oprofile-removal-5.12' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/vireshk/linux
    
    Pull oprofile and dcookies removal from Viresh Kumar:
     "Remove oprofile and dcookies support
    
      The 'oprofile' user-space tools don't use the kernel OPROFILE support
      any more, and haven't in a long time. User-space has been converted to
      the perf interfaces.
    
      The dcookies stuff is only used by the oprofile code. Now that
      oprofile's support is getting removed from the kernel, there is no
      need for dcookies as well.
    
      Remove kernel's old oprofile and dcookies support"
    
    * tag 'oprofile-removal-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux:
      fs: Remove dcookies support
      drivers: Remove CONFIG_OPROFILE support
      arch: xtensa: Remove CONFIG_OPROFILE support
      arch: x86: Remove CONFIG_OPROFILE support
      arch: sparc: Remove CONFIG_OPROFILE support
      arch: sh: Remove CONFIG_OPROFILE support
      arch: s390: Remove CONFIG_OPROFILE support
      arch: powerpc: Remove oprofile
      arch: powerpc: Stop building and using oprofile
      arch: parisc: Remove CONFIG_OPROFILE support
      arch: mips: Remove CONFIG_OPROFILE support
      arch: microblaze: Remove CONFIG_OPROFILE support
      arch: ia64: Remove rest of perfmon support
      arch: ia64: Remove CONFIG_OPROFILE support
      arch: hexagon: Don't select HAVE_OPROFILE
      arch: arc: Remove CONFIG_OPROFILE support
      arch: arm: Remove CONFIG_OPROFILE support
      arch: alpha: Remove CONFIG_OPROFILE support
    torvalds committed Feb 21, 2021
  13. Merge tag 'xfs-5.12-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs updates from Darrick Wong:
     "There's a lot going on this time, which seems about right for this
      drama-filled year.
    
      Community developers added some code to speed up freezing when
      read-only workloads are still running, refactored the logging code,
      added checks to prevent file extent counter overflow, reduced iolock
      cycling to speed up fsync and gc scans, and started the slow march
      towards supporting filesystem shrinking.
    
      There's a huge refactoring of the internal speculative preallocation
      garbage collection code which fixes a bunch of bugs, makes the gc
      scheduling per-AG and hence multithreaded, and standardizes the retry
      logic when we try to reserve space or quota, can't, and want to
      trigger a gc scan. We also enable multithreaded quotacheck to reduce
      mount times further. This is also preparation for background file gc,
      which may or may not land for 5.13.
    
      We also fixed some deadlocks in the rename code, fixed a quota
      accounting leak when FSSETXATTR fails, restored the behavior that
      write faults to an mmap'd region actually cause a SIGBUS, fixed a bug
      where sgid directory inheritance wasn't quite working properly, and
      fixed a bug where symlinks weren't working properly in ecryptfs. We
      also now advertise the inode btree counters feature that was
      introduced two cycles ago.
    
      Summary:
    
       - Fix an ABBA deadlock when renaming files on overlayfs.
    
       - Make sure that we can't overflow the inode extent counters when
         adding to or removing extents from a file.
    
       - Make directory sgid inheritance work the same way as all the other
         filesystems.
    
       - Don't drain the buffer cache on freeze and ro remount, which should
         reduce the amount of time if read-only workloads are continuing
         during the freeze.
    
       - Fix a bug where symlink size isn't reported to the vfs in ecryptfs.
    
       - Disentangle log cleaning from log covering. This refactoring sets
         us up for future changes to the log, though for now it simply means
         that we can use covering for freezes, and cleaning becomes
         something we only do at unmount.
    
       - Speed up file fsyncs by reducing iolock cycling.
    
       - Fix delalloc blocks leaking when changing the project id fails
         because of input validation errors in FSSETXATTR.
    
       - Fix oversized quota reservation when converting unwritten extents
         during a DAX write.
    
       - Create a transaction allocation helper function to standardize the
         idiom of allocating a transaction, reserving blocks, locking
         inodes, and reserving quota. Replace all the open-coded logic for
         file creation, file ownership changes, and file modifications to
         use them.
    
       - Actually shut down the fs if the incore quota reservations get
         corrupted.
    
       - Fix background block garbage collection scans to not block and to
         actually clean out CoW staging extents properly.
    
       - Run block gc scans when we run low on project quota.
    
       - Use the standardized transaction allocation helpers to make it so
         that ENOSPC and EDQUOT errors during reservation will back out,
         invoke the block gc scanner, and try again. This is preparation for
         introducing background inode garbage collection in the next cycle.
    
       - Combine speculative post-EOF block garbage collection with
         speculative copy on write block garbage collection.
    
       - Enable multithreaded quotacheck.
    
       - Allow sysadmins to tweak the CPU affinities and maximum concurrency
         levels of quotacheck and background blockgc worker pools.
    
       - Expose the inode btree counter feature in the fs geometry ioctl.
    
       - Cleanups of the growfs code in preparation for starting work on
         filesystem shrinking.
    
       - Fix all the bloody gcc warnings that the maintainer knows about. :P
    
       - Fix a RST syntax error.
    
       - Don't trigger bmbt corruption assertions after the fs shuts down.
    
       - Restore behavior of forcing SIGBUS on a shut down filesystem when
         someone triggers a mmap write fault (or really, any buffered
         write)"
    
    * tag 'xfs-5.12-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (85 commits)
      xfs: consider shutdown in bmapbt cursor delete assert
      xfs: fix boolreturn.cocci warnings
      xfs: restore shutdown check in mapped write fault path
      xfs: fix rst syntax error in admin guide
      xfs: fix incorrect root dquot corruption error when switching group/project quota types
      xfs: get rid of xfs_growfs_{data,log}_t
      xfs: rename `new' to `delta' in xfs_growfs_data_private()
      libxfs: expose inobtcount in xfs geometry
      xfs: don't bounce the iolock between free_{eof,cow}blocks
      xfs: expose the blockgc workqueue knobs publicly
      xfs: parallelize block preallocation garbage collection
      xfs: rename block gc start and stop functions
      xfs: only walk the incore inode tree once per blockgc scan
      xfs: consolidate the eofblocks and cowblocks workers
      xfs: consolidate incore inode radix tree posteof/cowblocks tags
      xfs: remove trivial eof/cowblocks functions
      xfs: hide xfs_icache_free_cowblocks
      xfs: hide xfs_icache_free_eofblocks
      xfs: relocate the eofb/cowb workqueue functions
      xfs: set WQ_SYSFS on all workqueues in debug mode
      ...
    torvalds committed Feb 21, 2021
  14. Merge tag 'iomap-5.12-merge-2' of git://git.kernel.org/pub/scm/fs/xfs…

    …/xfs-linux
    
    Pull iomap updates from Darrick Wong:
     "The big change in this cycle is some new code to make it possible for
      XFS to try unaligned directio overwrites without taking locks. If the
      block is fully written and within EOF (i.e. doesn't require any
      further fs intervention) then we can let the unlocked write proceed.
      If not, we fall back to synchronizing direct writes.
    
      Summary:
    
       - Adjust the final parameter of iomap_dio_rw.
    
       - Add a new flag to request that iomap directio writes return EAGAIN
         if the write is not a pure overwrite within EOF; this will be used
         to reduce lock contention with unaligned direct writes on XFS.
    
       - Amend XFS' directio code to eliminate exclusive locking for
         unaligned direct writes if the circumstances permit"
    
    * tag 'iomap-5.12-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      xfs: reduce exclusive locking on unaligned dio
      xfs: split the unaligned DIO write code out
      xfs: improve the reflink_bounce_dio_write tracepoint
      xfs: simplify the read/write tracepoints
      xfs: remove the buffered I/O fallback assert
      xfs: cleanup the read/write helper naming
      xfs: make xfs_file_aio_write_checks IOCB_NOWAIT-aware
      xfs: factor out a xfs_ilock_iocb helper
      iomap: add a IOMAP_DIO_OVERWRITE_ONLY flag
      iomap: pass a flags argument to iomap_dio_rw
      iomap: rename the flags variable in __iomap_dio_rw
    torvalds committed Feb 21, 2021
  15. Merge tag 'pstore-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/kees/linux
    
    Pull pstore fix from Kees Cook:
     "Fix a CONFIG typo (Jiri Bohac)"
    
    * tag 'pstore-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      pstore: Fix typo in compression option name
    torvalds committed Feb 21, 2021
Older