1. 30 Sep, 2021 11 commits
    • Takashi Iwai's avatar
      ALSA: usb-audio: Improved lowlatency playback support · d5f871f8
      Takashi Iwai authored
      This is another attempt to improve further the handling of playback
      stream in the low latency mode.  The latest workaround in commit
      4267c5a8 ("ALSA: usb-audio: Work around for XRUN with low latency
      playback") revealed that submitting URBs forcibly in advance may
      trigger XRUN easily.  In the classical mode, this problem was avoided
      by practically delaying the submission of the actual data with the
      pre-submissions of silent data before triggering the stream start.
      But that is exactly what we want to avoid.
      
      Now, in this patch, instead of the previous workaround, we take a
      similar approach as used in the implicit feedback mode.  The URBs are
      queued at the PCM trigger start like before, but we check whether the
      buffer has been already filled enough before each submission, and
      stop queuing if the data overcomes the threshold.  The remaining URBs
      are kept in the ready list, and they will be retrieved in the URB
      complete callback of other (already queued) URBs.  In the complete
      callback, we try to fill the data and submit as much as possible
      again.  When there is no more available in-flight URBs that may handle
      the pending data, we'll check in PCM ack callback and submit and
      process URBs there in addition.  In this way, the amount of in-flight
      URBs may vary dynamically and flexibly depending on the available data
      without hitting XRUN.
      
      The following things are changed to achieve the behavior above:
      
      * The endpoint prepare callback is changed to return an error code;
        when there is no enough data available, it may return -EAGAIN.
        Currently only prepare_playback_urb() returns the error.
      
        The evaluation of the available data is a bit messy here; we can't
        check with snd_pcm_avail() at the point of prepare callback (as
        runtime->status->hwptr hasn't been updated yet), hence we manually
        estimate the appl_ptr and compare with the internal hwptr_done to
        calculate the available frames.
      
      * snd_usb_endpoint_start() doesn't submit full URBs if the prepare
        callback returns -EAGAIN, and puts the remaining URBs to the ready
        list for the later submission.
      
      * snd_complete_urb() treats the URBs in the low-latency mode similarly
        like the implicit feedback mode, and submissions are done in
        (now exported) snd_usb_queue_pending_output_urbs().
      
      * snd_usb_queue_pending_output_urbs() again checks the error value
        from the prepare callback.  If it's -EAGAIN for the normal stream
        (i.e. not implicit feedback mode), we push it back to the ready list
        again.
      
      * PCM ack callback is introduced for the playback stream, and it calls
        snd_usb_queue_pending_output_urbs() if there is no in-flight URB
        while the stream is running.  This corresponds to the case where the
        system needs the appl_ptr update for re-submitting a new URB.
      
      * snd_usb_queue_pending_output_urbs() and the prepare EP callback
        receive in_stream_lock argument, which is a bool flag indicating the
        call path from PCM ack.  It's needed for avoiding the deadlock of
        snd_pcm_period_elapsed() calls.
      
      * Set the new SNDRV_PCM_INFO_EXPLICIT_SYNC flag when the new
        low-latency mode is deployed.  This assures catching each applptr
        update even in the mmap mode.
      
      Fixes: 4267c5a8 ("ALSA: usb-audio: Work around for XRUN with low latency playback")
      Link: https://lore.kernel.org/r/20210929080844.11583-9-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d5f871f8
    • Takashi Iwai's avatar
      ALSA: usb-audio: Add spinlock to stop_urbs() · 0ef74366
      Takashi Iwai authored
      In theory, stop_urbs() may be called concurrently.
      Although we have the state check beforehand, it's safer to apply
      ep->lock during the critical list head manipulations.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-8-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0ef74366
    • Takashi Iwai's avatar
      ALSA: usb-audio: Check available frames for the next packet size · d215f63d
      Takashi Iwai authored
      This is yet more preparation for the upcoming changes.
      
      Extend snd_usb_endpoint_next_packet_size() to check the available
      frames and return -EAGAIN if the next packet size is equal or exceeds
      the given size.  This will be needed for avoiding XRUN during the low
      latency operation.
      
      As of this patch, avail=0 is passed, i.e. the check is skipped and no
      behavior change.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-7-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d215f63d
    • Takashi Iwai's avatar
      ALSA: usb-audio: Disable low-latency mode for implicit feedback sync · bceee753
      Takashi Iwai authored
      When a playback stream runs in the implicit feedback mode, its
      operation is passive and won't start unless the capture packet is
      received.  This behavior contradicts with the low-latency playback
      mode, and we should turn off lowlatency_playback flag accordingly.
      
      In theory, we may take the low-latency mode when the playback-first
      quirk is set, but it still conflicts with the later operation with the
      fixed packet numbers, so it's disabled all together for now.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-6-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bceee753
    • Takashi Iwai's avatar
      ALSA: usb-audio: Disable low-latency playback for free-wheel mode · e581f1ce
      Takashi Iwai authored
      The free-wheel stream operation like dmix may not update the appl_ptr
      appropriately, and it doesn't fit with the low-latency playback mode.
      Disable the low-latency playback operation when the stream is set up
      in such a mode.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-5-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e581f1ce
    • Takashi Iwai's avatar
      ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback · 9c9a3b9d
      Takashi Iwai authored
      This is a preparation patch for the upcoming low-latency improvement
      changes.
      
      Rename early_playback_start flag with lowlatency_playback as it's more
      intuitive.  The new flag is basically a reverse meaning.
      
      Along with the rename, factor out the code to set the flag to a
      function.  This makes the complex condition checks simpler.
      
      Also, the same flag is introduced to snd_usb_endpoint, too, that is
      carried from the snd_usb_substream flag.  Currently the endpoint flag
      isn't still referred, but will be used in later patches.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9c9a3b9d
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix possible race at sync of urb completions · 86a42ad0
      Takashi Iwai authored
      USB-audio driver tries to sync with the clear of all pending URBs in
      wait_clear_urbs(), and it waits for all bits in active_mask getting
      cleared.  This works fine for the normal operations, but when a stream
      is managed in the implicit feedback mode, there is still a very thin
      race window: namely, in snd_complete_usb(), the active_mask bit for
      the current URB is once cleared before re-submitted in
      queue_pending_output_urbs().  If wait_clear_urbs() is called during
      that period, it may pass the test and go forward even though there may
      be a still pending URB.
      
      For covering it, this patch adds a new counter to each endpoint to
      keep the number of in-flight URBs, and changes wait_clear_urbs()
      checking this number instead.  The counter is decremented at the end
      of URB complete, hence the reference is kept as long as the URB
      complete is in process.
      
      Link: https://lore.kernel.org/r/20210929080844.11583-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      86a42ad0
    • Takashi Iwai's avatar
      ALSA: usb-audio: Restrict rates for the shared clocks · 4e7cf1fb
      Takashi Iwai authored
      When a single clock source is shared among several endpoints, we have
      to keep the same rate on all active endpoints as long as the clock is
      being used.  For dealing with such a case, this patch adds one more
      check in the hw params constraint for the rate to take the shared
      clocks into account.  The current rate is evaluated from the endpoint
      list that applies the same clock source.
      
      BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1190418
      Link: https://lore.kernel.org/r/20210929080844.11583-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4e7cf1fb
    • Takashi Iwai's avatar
      ALSA: hda: Use position buffer for SKL+ again · c4ca3871
      Takashi Iwai authored
      The commit f87e7f25 ("ALSA: hda - Improved position reporting on
      SKL+") changed the PCM position report for SKL+ chips to use DPIB, but
      according to Pierre, DPIB is no best choice for the accurate position
      reports and it often reports too early.  The recommended method is
      rather the classical position buffer.
      
      This patch makes the PCM position reporting on SKL+ back to the
      position buffer again.
      
      Fixes: f87e7f25 ("ALSA: hda - Improved position reporting on SKL+")
      Suggested-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20210929072934.6809-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c4ca3871
    • Takashi Iwai's avatar
      ALSA: hda: Reduce udelay() at SKL+ position reporting · 46243b85
      Takashi Iwai authored
      The position reporting on Intel Skylake and later chips via
      azx_get_pos_skl() contains a udelay(20) call for the capture streams.
      A call for this alone doesn't sound too harmful.  However, as the
      pointer PCM ops is one of the hottest path in the PCM operations --
      especially for the timer-scheduled operations like PulseAudio -- such
      a delay hogs CPU usage significantly in the total performance.
      
      The code there was taken from the original code in ASoC SST Skylake
      driver blindly.  The udelay() is a workaround for the case where the
      reported position is behind the period boundary at the timing
      triggered from interrupts; applications often expect that the full
      data is available for the whole period when returned (and also that's
      the definition of the ALSA PCM period).
      
      OTOH, HD-audio (legacy) driver has already some workarounds for the
      delayed position reporting due to its relatively large FIFO, such as
      the BDL position adjustment and the delayed period-elapsed call in the
      work.  That said, the udelay() is almost superfluous for HD-audio
      driver unlike SST, and we can drop the udelay().
      
      Though, the current code doesn't guarantee the full period readiness
      as mentioned in the above, but rather it checks the wallclock and
      detects the unexpected jump.  That's one missing piece, and the drop
      of udelay() needs a bit more sanity checks for the delayed handling.
      
      This patch implements those: the drop of udelay() call in
      azx_get_pos_skl() and the more proper check of hwptr in
      azx_position_ok().  The latter change is applied only for the case
      where the stream is running in the normal mode without
      no_period_wakeup flag.  When no_period_wakeup is set, it essentially
      ignores the period handling and rather concentrates only on the
      current position; which implies that we don't need to care about the
      period boundary at all.
      
      Fixes: f87e7f25 ("ALSA: hda - Improved position reporting on SKL+")
      Reported-by: default avatarJens Axboe <axboe@kernel.dk>
      Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20210929072934.6809-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      46243b85
    • Gustavo A. R. Silva's avatar
      ALSA: virtio: Replace zero-length array with flexible-array member · b38269ec
      Gustavo A. R. Silva authored
      There is a regular need in the kernel to provide a way to declare
      having a dynamically sized set of trailing elements in a structure.
      Kernel code should always use “flexible array members”[1] for these
      cases. The older style of one-element or zero-length arrays should
      no longer be used[2].
      
      Also, make use of the struct_size() helper in kzalloc().
      
      [1] https://en.wikipedia.org/wiki/Flexible_array_member
      [2] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-length-and-one-element-arrays
      
      Link: https://github.com/KSPP/linux/issues/78Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/20210929191504.GA337268@embeddedorSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b38269ec
  2. 28 Sep, 2021 4 commits
  3. 21 Sep, 2021 1 commit
  4. 16 Sep, 2021 2 commits
  5. 14 Sep, 2021 1 commit
  6. 13 Sep, 2021 3 commits
  7. 12 Sep, 2021 12 commits
    • Linus Torvalds's avatar
      Linux 5.15-rc1 · 6880fa6c
      Linus Torvalds authored
      6880fa6c
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.15-2021-09-11' of... · b5b65f13
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.15-2021-09-11' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Add missing fields and remove some duplicate fields when printing a
         perf_event_attr.
      
       - Fix hybrid config terms list corruption.
      
       - Update kernel header copies, some resulted in new kernel features
         being automagically added to 'perf trace' syscall/tracepoint argument
         id->string translators.
      
       - Add a file generated during the documentation build to .gitignore.
      
       - Add an option to build without libbfd, as some distros, like Debian
         consider its ABI unstable.
      
       - Add support to print a textual representation of IBS raw sample data
         in 'perf report'.
      
       - Fix bpf 'perf test' sample mismatch reporting
      
       - Fix passing arguments to stackcollapse report in a 'perf script'
         python script.
      
       - Allow build-id with trailing zeros.
      
       - Look for ImageBase in PE file to compute .text offset.
      
      * tag 'perf-tools-for-v5.15-2021-09-11' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (25 commits)
        tools headers UAPI: Update tools's copy of drm.h headers
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools headers UAPI: Sync linux/fs.h with the kernel sources
        tools headers UAPI: Sync linux/in.h copy with the kernel sources
        perf tools: Add an option to build without libbfd
        perf tools: Allow build-id with trailing zeros
        perf tools: Fix hybrid config terms list corruption
        perf tools: Factor out copy_config_terms() and free_config_terms()
        perf tools: Fix perf_event_attr__fprintf() missing/dupl. fields
        perf tools: Ignore Documentation dependency file
        perf bpf: Provide a weak btf__load_from_kernel_by_id() for older libbpf versions
        tools include UAPI: Update linux/mount.h copy
        perf beauty: Cover more flags in the  move_mount syscall argument beautifier
        tools headers UAPI: Sync linux/prctl.h with the kernel sources
        tools include UAPI: Sync sound/asound.h copy with the kernel sources
        tools headers UAPI: Sync linux/kvm.h with the kernel sources
        tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources
        perf report: Add support to print a textual representation of IBS raw sample data
        perf report: Add tools/arch/x86/include/asm/amd-ibs.h
        perf env: Add perf_env__cpuid, perf_env__{nr_}pmu_mappings
        ...
      b5b65f13
    • Linus Torvalds's avatar
      Merge tag 'compiler-attributes-for-linus-v5.15-rc1-v2' of git://github.com/ojeda/linux · c3e46874
      Linus Torvalds authored
      Pull compiler attributes updates from Miguel Ojeda:
      
       - Fix __has_attribute(__no_sanitize_coverage__) for GCC 4 (Marco Elver)
      
       - Add Nick as Reviewer for compiler_attributes.h (Nick Desaulniers)
      
       - Move __compiletime_{error|warning} (Nick Desaulniers)
      
      * tag 'compiler-attributes-for-linus-v5.15-rc1-v2' of git://github.com/ojeda/linux:
        compiler_attributes.h: move __compiletime_{error|warning}
        MAINTAINERS: add Nick as Reviewer for compiler_attributes.h
        Compiler Attributes: fix __has_attribute(__no_sanitize_coverage__) for GCC 4
      c3e46874
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-for-linus-v5.15-rc1' of git://github.com/ojeda/linux · d41adc4e
      Linus Torvalds authored
      Pull auxdisplay updates from Miguel Ojeda:
       "An assortment of improvements for auxdisplay:
      
         - Replace symbolic permissions with octal permissions (Jinchao Wang)
      
         - ks0108: Switch to use module_parport_driver() (Andy Shevchenko)
      
         - charlcd: Drop unneeded initializers and switch to C99 style (Andy
           Shevchenko)
      
         - hd44780: Fix oops on module unloading (Lars Poeschel)
      
         - Add I2C gpio expander example (Ralf Schlatterbeck)"
      
      * tag 'auxdisplay-for-linus-v5.15-rc1' of git://github.com/ojeda/linux:
        auxdisplay: Replace symbolic permissions with octal permissions
        auxdisplay: ks0108: Switch to use module_parport_driver()
        auxdisplay: charlcd: Drop unneeded initializers and switch to C99 style
        auxdisplay: hd44780: Fix oops on module unloading
        auxdisplay: Add I2C gpio expander example
      d41adc4e
    • Linus Torvalds's avatar
      Merge tag 'smp-urgent-2021-09-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f306b90c
      Linus Torvalds authored
      Pull CPU hotplug updates from Thomas Gleixner:
       "Updates for the SMP and CPU hotplug:
      
         - Remove DEFINE_SMP_CALL_CACHE_FUNCTION() which is a left over of the
           original hotplug code and now causing trouble with the ARM64 cache
           topology setup due to the pointless SMP function call.
      
           It's not longer required as the hotplug callbacks are guaranteed to
           be invoked on the upcoming CPU.
      
         - Remove the deprecated and now unused CPU hotplug functions
      
         - Rewrite the CPU hotplug API documentation"
      
      * tag 'smp-urgent-2021-09-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation: core-api/cpuhotplug: Rewrite the API section
        cpu/hotplug: Remove deprecated CPU-hotplug functions.
        thermal: Replace deprecated CPU-hotplug functions.
        drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION()
      f306b90c
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.15-rc1-lkdtm' of... · d8e988b6
      Linus Torvalds authored
      Merge tag 'char-misc-5.15-rc1-lkdtm' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
      
      Pull misc driver fix from Greg KH:
       "Here is a single patch for 5.15-rc1, for the lkdtm misc driver.
      
        It resolves a build issue that many people were hitting with your
        current tree, and Kees and others felt would be good to get merged
        before -rc1 comes out, to prevent them from having to constantly hit
        it as many development trees restart on -rc1, not older -rc releases.
      
        It has NOT been in linux-next, but has passed 0-day testing and looks
        'obviously correct' when reviewing it locally :)"
      
      * tag 'char-misc-5.15-rc1-lkdtm' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        lkdtm: Use init_uts_ns.name instead of macros
      d8e988b6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi · 1791596b
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "A couple of very minor fixes for style and rate limiting.
      
        Nothing big, but probably needs to go in"
      
      * tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi:
        char: ipmi: use DEVICE_ATTR helper macro
        ipmi: rate limit ipmi smi_event failure message
      1791596b
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 56c24438
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Make sure the idle timer expires in hardirq context, on PREEMPT_RT
      
       - Make sure the run-queue balance callback is invoked only on the
         outgoing CPU
      
      * tag 'sched_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Prevent balance_push() on remote runqueues
        sched/idle: Make the idle timer expire in hard interrupt context
      56c24438
    • Linus Torvalds's avatar
      Merge tag 'locking_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 165d05d8
      Linus Torvalds authored
      Pull locking fixes from Borislav Petkov:
      
       - Fix the futex PI requeue machinery to not return to userspace in
         inconsistent state
      
       - Avoid a potential null pointer dereference in the ww_mutex deadlock
         check
      
       - Other smaller cleanups and optimizations
      
      * tag 'locking_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rtmutex: Fix ww_mutex deadlock check
        futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic()
        futex: Avoid redundant task lookup
        futex: Clarify comment for requeue_pi_wake_futex()
        futex: Prevent inconsistent state and exit race
        futex: Return error code instead of assigning it without effect
        locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT
      165d05d8
    • Linus Torvalds's avatar
      Merge tag 'timers_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7bf31426
      Linus Torvalds authored
      Pull timer fix from Borislav Petkov:
      
       - Handle negative second values properly when converting a timespec64
         to nanoseconds.
      
      * tag 'timers_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        time: Handle negative seconds correctly in timespec64_to_ns()
      7bf31426
    • Linus Torvalds's avatar
      Merge branch 'misc.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · fdfc3463
      Linus Torvalds authored
      Pull namei updates from Al Viro:
       "Clearing fallout from mkdirat in io_uring series. The fix in the
        kern_path_locked() patch plus associated cleanups"
      
      * 'misc.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        putname(): IS_ERR_OR_NULL() is wrong here
        namei: Standardize callers of filename_create()
        namei: Standardize callers of filename_lookup()
        rename __filename_parentat() to filename_parentat()
        namei: Fix use after free in kern_path_locked
      fdfc3463
    • Linus Torvalds's avatar
      Merge tag '5.15-rc-cifs-part2' of git://git.samba.org/sfrench/cifs-2.6 · 8d4a0b5d
      Linus Torvalds authored
      Pull smbfs updates from Steve French:
       "cifs/smb3 updates:
      
         - DFS reconnect fix
      
         - begin creating common headers for server and client
      
         - rename the cifs_common directory to smbfs_common to be more
           consistent ie change use of the name cifs to smb (smb3 or smbfs is
           more accurate, as the very old cifs dialect has long been
           superseded by smb3 dialects).
      
        In the future we can rename the fs/cifs directory to fs/smbfs.
      
        This does not include the set of multichannel fixes nor the two
        deferred close fixes (they are still being reviewed and tested)"
      
      * tag '5.15-rc-cifs-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: properly invalidate cached root handle when closing it
        cifs: move SMB FSCTL definitions to common code
        cifs: rename cifs_common to smbfs_common
        cifs: update FSCTL definitions
      8d4a0b5d
  8. 11 Sep, 2021 6 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 78e70952
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - vduse driver ("vDPA Device in Userspace") supporting emulated virtio
         block devices
      
       - virtio-vsock support for end of record with SEQPACKET
      
       - vdpa: mac and mq support for ifcvf and mlx5
      
       - vdpa: management netlink for ifcvf
      
       - virtio-i2c, gpio dt bindings
      
       - misc fixes and cleanups
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (39 commits)
        Documentation: Add documentation for VDUSE
        vduse: Introduce VDUSE - vDPA Device in Userspace
        vduse: Implement an MMU-based software IOTLB
        vdpa: Support transferring virtual addressing during DMA mapping
        vdpa: factor out vhost_vdpa_pa_map() and vhost_vdpa_pa_unmap()
        vdpa: Add an opaque pointer for vdpa_config_ops.dma_map()
        vhost-iotlb: Add an opaque pointer for vhost IOTLB
        vhost-vdpa: Handle the failure of vdpa_reset()
        vdpa: Add reset callback in vdpa_config_ops
        vdpa: Fix some coding style issues
        file: Export receive_fd() to modules
        eventfd: Export eventfd_wake_count to modules
        iova: Export alloc_iova_fast() and free_iova_fast()
        virtio-blk: remove unneeded "likely" statements
        virtio-balloon: Use virtio_find_vqs() helper
        vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro
        vsock_test: update message bounds test for MSG_EOR
        af_vsock: rename variables in receive loop
        virtio/vsock: support MSG_EOR bit processing
        vhost/vsock: support MSG_EOR bit processing
        ...
      78e70952
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.15-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · b79bd0d5
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - A pair of defconfig additions, for NVMe and the EFI filesystem
         localization options.
      
       - A larger address space for stack randomization.
      
       - A cleanup to our install rules.
      
       - A DTS update for the Microchip Icicle board, to fix the serial
         console.
      
       - Support for build-time table sorting, which allows us to have
         __ex_table read-only.
      
      * tag 'riscv-for-linus-5.15-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Move EXCEPTION_TABLE to RO_DATA segment
        riscv: Enable BUILDTIME_TABLE_SORT
        riscv: dts: microchip: mpfs-icicle: Fix serial console
        riscv: move the (z)install rules to arch/riscv/Makefile
        riscv: Improve stack randomisation on RV64
        riscv: defconfig: enable NLS_CODEPAGE_437, NLS_ISO8859_1
        riscv: defconfig: enable BLK_DEV_NVME
      b79bd0d5
    • Linus Torvalds's avatar
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · 4e1c7544
      Linus Torvalds authored
      Pull coccinelle updates from Julia Lawall:
       "These changes update some existing semantic patches with
        respect to some recent changes in the kernel.
      
        Specifically, the change to kvmalloc.cocci searches for
        kfree_sensitive rather than kzfree, and the change to
        use_after_iter.cocci adds list_entry_is_head as a valid
        use of a list iterator index variable after the end of
        the loop"
      
      * 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        scripts: coccinelle: allow list_entry_is_head() to use pos
        coccinelle: api: rename kzfree to kfree_sensitive
      4e1c7544
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Update tools's copy of drm.h headers · 17a99e52
      Arnaldo Carvalho de Melo authored
      Picking the changes from:
      
        17ce9c61 ("drm: document DRM_IOCTL_MODE_RMFB")
      
      Doesn't result in any tooling changes:
      
        $ tools/perf/trace/beauty/drm_ioctl.sh  > before
        $ cp include/uapi/drm/drm.h tools/include/uapi/drm/drm.h
        $ tools/perf/trace/beauty/drm_ioctl.sh  > after
        $ diff -u before after
      
      Silencing these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/drm/drm.h' differs from latest version at 'include/uapi/drm/drm.h'
        diff -u tools/include/uapi/drm/drm.h include/uapi/drm/drm.h
      
      Cc: Simon Ser <contact@emersion.fr>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      17a99e52
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync drm/i915_drm.h with the kernel sources · 4dc24d7c
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        b65a9489 ("drm/i915/userptr: Probe existence of backing struct pages upon creation")
        ee242ca7 ("drm/i915/guc: Implement GuC priority management")
        81340cf3 ("drm/i915/uapi: reject set_domain for discrete")
        7961c5b6 ("drm/i915: Add TTM offset argument to mmap.")
        aef7b67a ("drm/i915/uapi: convert drm_i915_gem_userptr to kernel doc")
        e7737b67 ("drm/i915/uapi: reject caching ioctls for discrete")
        3aa8c57f ("drm/i915/uapi: convert drm_i915_gem_set_domain to kernel doc")
        289f5a72 ("drm/i915/uapi: convert drm_i915_gem_caching to kernel doc")
        4a766ae4 ("drm/i915: Drop the CONTEXT_CLONE API (v2)")
        6ff6d61d ("drm/i915: Drop I915_CONTEXT_PARAM_NO_ZEROMAP")
        fe4751c3 ("drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE")
        57772953 ("drm/i915: Document the Virtual Engine uAPI")
        c649432e ("drm/i915: Fix busy ioctl commentary")
      
      That doesn't result in any changes to tooling as no new ioctl were
      added (at least not perceived by tools/perf/trace/beauty/drm_ioctl.sh).
      
      Addressing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h'
        diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jason Ekstrand <jason@jlekstrand.net>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4dc24d7c
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/fs.h with the kernel sources · 2bae3e64
      Arnaldo Carvalho de Melo authored
      To pick the change in:
      
        7957d93b ("block: add ioctl to read the disk sequence number")
      
      It adds a new ioctl, but we are still not using that to generate tables
      for 'perf trace', so no changes in tooling.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fs.h' differs from latest version at 'include/uapi/linux/fs.h'
        diff -u tools/include/uapi/linux/fs.h include/uapi/linux/fs.h
      
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Matteo Croce <mcroce@microsoft.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2bae3e64