1. 12 Jan, 2021 4 commits
  2. 08 Jan, 2021 5 commits
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices · 167c9dc8
      Takashi Iwai authored
      Pioneer devices have both playback and capture streams sharing the
      same iface/altsetting, and those need to be paired as implicit
      feedback.  Instead of a half-baked (and broken) static quirk entry,
      set up more generically for those devices by checking the number of
      endpoints and the attribute of the secondary EP.
      
      Fixes: bf6313a0 ("ALSA: usb-audio: Refactor endpoint management")
      Reported-by: default avatarFrantišek Kučera <konference@frantovo.cz>
      Link: https://lore.kernel.org/r/20210108075219.21463-6-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      167c9dc8
    • Takashi Iwai's avatar
      ALSA: usb-audio: Annotate the endpoint index in audioformat · eae4d054
      Takashi Iwai authored
      There are devices that have multiple endpoints sharing the same
      iface/altset not only for sync but also for the actual streams, and
      the audioformat for such an endpoint needs to be handled with the
      proper endpoint index; otherwise it confuses the endpoint management.
      
      This patch extends the audioformat to annotate the endpoint index, and
      put the proper ep_idx=1 to Pioneer device quirk entries accordingly.
      
      Fixes: bf6313a0 ("ALSA: usb-audio: Refactor endpoint management")
      Link: https://lore.kernel.org/r/20210108075219.21463-5-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      eae4d054
    • Takashi Iwai's avatar
      ALSA: usb-audio: Avoid unnecessary interface re-setup · 00272c61
      Takashi Iwai authored
      The current endpoint handling assumed (more or less) a unique 1:1
      relation between the endpoint and the iface/altset.  The exception was
      the sync EP without the implicit feedback which has usually the
      secondary EP of the same altset.  This works fine for most devices,
      but it turned out that some unusual devices like Pinoeer's ones have
      both playback and capture endpoints in the same iface/altsetting and
      use both for the implicit feedback mode.  For handling such a case, we
      need to extend the endpoint management to take the shared interface
      into account.
      
      This patch does that: it adds a new object snd_usb_iface_ref for
      managing the reference counts of the each USB interface that is used
      by each endpoint.  The interface setup is performed only once for the
      (sharing) endpoints, and the doubly initialization is avoided.
      
      Along with this, the resource release of endpoints and interface
      refcounts are put into a single function, snd_usb_endpoint_free_all()
      instead of looping in the caller side.
      
      Fixes: bf6313a0 ("ALSA: usb-audio: Refactor endpoint management")
      Link: https://lore.kernel.org/r/20210108075219.21463-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      00272c61
    • Takashi Iwai's avatar
      ALSA: usb-audio: Choose audioformat of a counter-part substream · 5d15f1eb
      Takashi Iwai authored
      The implicit feedback mode needs to handle two endpoints and the
      choice of the audioformat object for the sync EP is important since
      this determines the compatibility of the hw_params.  The current code
      uses the same audioformat object if both the main EP and the sync EP
      point to the same iface/altsetting.  This was done in consideration of
      the non-implicit-fb sync EP handling, and it doesn't match well with
      the cases where actually to endpoints are defined in the sameiface /
      altsetting like a few Pioneer devices.
      
      Modify snd_usb_find_implicit_fb_sync_format() to pick up the
      audioformat that is assigned in the counter-part substreams primarily,
      so that the actual capture stream can be opened properly.  We keep the
      same audioformat object only as a fallback in case nothing found,
      though.
      
      Fixes: 9fddc15e ("ALSA: usb-audio: Factor out the implicit feedback quirk code")
      Link: https://lore.kernel.org/r/20210108075219.21463-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5d15f1eb
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix the missing endpoints creations for quirks · b2345a8a
      Takashi Iwai authored
      The recent change in the endpoint management moved the endpoint object
      creation from the stream open time to the parser of the audio
      descriptor.  It works fine for the standard audio, but it overlooked
      the other places that create audio streams via quirks
      (QUIRK_AUDIO_FIXED_ENDPOINT) like the reported a few Pioneer devices;
      those call snd_usb_add_audio_stream() manually, hence they miss the
      endpoints, eventually resulting in the error at opening streams.
      Moreover, now the sync EP setup was moved to the explicit call of
      snd_usb_audioformat_set_sync_ep(), and this needs to be added for
      those places, too.
      
      This patch addresses those regressions for quirks.  It adds a local
      helper function add_audio_stream_from_fixed_fmt(), which does the all
      needed tasks, and replaces the calls of snd_usb_add_audio_stream()
      with this new function.
      
      Fixes: 54cb3190 ("ALSA: usb-audio: Create endpoint objects at parsing phase")
      Reported-by: default avatarFrantišek Kučera <konference@frantovo.cz>
      Link: https://lore.kernel.org/r/20210108075219.21463-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b2345a8a
  3. 07 Jan, 2021 2 commits
  4. 04 Jan, 2021 1 commit
    • Takashi Iwai's avatar
      ALSA: hda/via: Fix runtime PM for Clevo W35xSS · 4bfd6247
      Takashi Iwai authored
      Clevo W35xSS_370SS with VIA codec has had the runtime PM problem that
      looses the power state of some nodes after the runtime resume.  This
      was worked around by disabling the default runtime PM via a denylist
      entry.  Since 5.10.x made the runtime PM applied (casually) even
      though it's disabled in the denylist, this problem was revisited.  The
      result was that disabling power_save_node feature suffices for the
      runtime PM problem.
      
      This patch implements the disablement of power_save_node feature in
      VIA codec for the device.  It also drops the former denylist entry,
      too, as the runtime PM should work in the codec side properly now.
      
      Fixes: b529ef24 ("ALSA: hda: Add Clevo W35xSS_370SS to the power_save blacklist")
      Reported-by: default avatarChristian Labisch <clnetbox@gmail.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20210104153046.19993-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4bfd6247
  5. 03 Jan, 2021 1 commit
  6. 01 Jan, 2021 1 commit
  7. 31 Dec, 2020 4 commits
  8. 29 Dec, 2020 1 commit
  9. 28 Dec, 2020 4 commits
  10. 27 Dec, 2020 8 commits
  11. 26 Dec, 2020 5 commits
  12. 25 Dec, 2020 4 commits
    • Linus Torvalds's avatar
      drm/amd/display: avoid uninitialized variable warning · 61d79136
      Linus Torvalds authored
      clang (quite rightly) complains fairly loudly about the newly added
      mpc1_get_mpc_out_mux() function returning an uninitialized value if the
      'opp_id' checks don't pass.
      
      This may not happen in practice, but the code really shouldn't return
      garbage if the sanity checks don't pass.
      
      So just initialize 'val' to zero to avoid the issue.
      
      Fixes: 110b055b ("drm/amd/display: add getter routine to retrieve mpcc mux")
      Cc: Josip Pavic <Josip.Pavic@amd.com>
      Cc: Bindu Ramamurthy <bindu.r@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      61d79136
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-2020-12-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux · 5814bc2d
      Linus Torvalds authored
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Refactor 'perf stat' per CPU/socket/die/thread aggregation fixing use
         cases in ARM machines.
      
       - Fix memory leak when synthesizing SDT probes in 'perf probe'.
      
       - Update kernel header copies related to KVM, epol_pwait. msr-index and
         powerpc and s390 syscall tables.
      
      * tag 'perf-tools-2020-12-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (24 commits)
        perf probe: Fix memory leak when synthesizing SDT probes
        perf stat aggregation: Add separate thread member
        perf stat aggregation: Add separate core member
        perf stat aggregation: Add separate die member
        perf stat aggregation: Add separate socket member
        perf stat aggregation: Add separate node member
        perf stat aggregation: Start using cpu_aggr_id in map
        perf cpumap: Drop in cpu_aggr_map struct
        perf cpumap: Add new map type for aggregation
        perf stat: Replace aggregation ID with a struct
        perf cpumap: Add new struct for cpu aggregation
        perf cpumap: Use existing allocator to avoid using malloc
        perf tests: Improve topology test to check all aggregation types
        perf tools: Update s390's syscall.tbl copy from the kernel sources
        perf tools: Update powerpc's syscall.tbl copy from the kernel sources
        perf s390: Move syscall.tbl check into check-headers.sh
        perf powerpc: Move syscall.tbl check to check-headers.sh
        tools headers UAPI: Synch KVM's svm.h header with the kernel
        tools kvm headers: Update KVM headers from the kernel sources
        tools headers UAPI: Sync KVM's vmx.h header with the kernel sources
        ...
      5814bc2d
    • Linus Torvalds's avatar
      Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · 42dc45e8
      Linus Torvalds authored
      Pull coccinelle updates from Julia Lawall.
      
      * 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        scripts: coccicheck: Correct usage of make coccicheck
        coccinelle: update expiring email addresses
        coccinnelle: Remove ptr_ret script
        kbuild: do not use scripts/ld-version.sh for checking spatch version
        remove boolinit.cocci
      42dc45e8
    • Michael Ellerman's avatar
      genirq: Fix export of irq_to_desc() for powerpc KVM · 11cc92eb
      Michael Ellerman authored
      Commit 64a1b95b ("genirq: Restrict export of irq_to_desc()") removed
      the export of irq_to_desc() unless powerpc KVM is being built, because
      there is still a use of irq_to_desc() in modular code there.
      
      However it used:
      
        #ifdef CONFIG_KVM_BOOK3S_64_HV
      
      Which doesn't work when that symbol is =m, leading to a build failure:
      
        ERROR: modpost: "irq_to_desc" [arch/powerpc/kvm/kvm-hv.ko] undefined!
      
      Fix it by checking for the definedness of the correct symbol which is
      CONFIG_KVM_BOOK3S_64_HV_MODULE.
      
      Fixes: 64a1b95b ("genirq: Restrict export of irq_to_desc()")
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11cc92eb