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/sound upstream 20230808 #4513

Merged
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jul 31, 2023

  1. ASoC: intel: sof_sdw: Merge codec_conf_alloc into dailink_info

    Rename get_sdw_dailink_info to simply get_dailink_info and have it also
    return the number of codecs present. Then hoist the allocation of the
    codec conf structure up into sof_card_dai_links_create. This saves an
    extra loop through the adr_link array, allows us to get rid of
    sof_card_codec_conf_alloc and makes the allocation more explicit.
    
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731214257.444605-23-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    a386162 View commit details
    Browse the repository at this point in the history
  2. ASoC: intel: sof_sdw: Move group_generated logic

    Hoist the handling logic for group_generated up to the
    sof_card_dai_links_create level. This avoids the need to pass the array
    through multiple levels of functions.
    
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731214257.444605-24-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    a60ed3b View commit details
    Browse the repository at this point in the history
  3. ASoC: SOF: Intel: start simplify the signature of link_slaves_found()

    Start removing Intel-specific arguments to make that function usable
    by other SOC vendors.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731213242.434594-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    799d993 View commit details
    Browse the repository at this point in the history
  4. ASoC: soc-acpi: move link_slaves_found()

    Move existing function in common library to make sure the code can be
    reused by other SoC vendors.
    
    No functionality change outside of the move and added prefix.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731213242.434594-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    bb29a33 View commit details
    Browse the repository at this point in the history
  5. ASoC: soc-acpi: improve log messagesin link_slaves_found()

    use 'part_id' to follow MIPI/SoundWire wording and use more consistent
    %#x format.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731213242.434594-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    cf35ab3 View commit details
    Browse the repository at this point in the history
  6. ASoC: SOF: ipc3: update dai_link_fixup for SOF_DAI_MEDIATEK_AFE

    For MediaTek AFE, DAI DMA can support different bitwidths compared to
    the BE DAI. Therefore, it is preferable to obtain the BE frame format
    from the DAI_CONFIG.
    
    Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
    Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
    Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731213242.434594-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wenliangwu authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    ed19c4a View commit details
    Browse the repository at this point in the history
  7. ASoC: SOF: Deprecate invalid enums in IPC3

    The switch component was never completed and sat half empty for over 3
    years. It was recently deleted. For modern components this would
    require not change in the kernel but since this was a legacy allocation
    from the enum days of IPC3 we should mark the respective enum as
    deprecated.
    
    The splitter component was never even got a source file in the firmware.
    Therefore also delete it since this is not needed.
    
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230731213242.434594-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    cujomalainey authored and broonie committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    8dc97cc View commit details
    Browse the repository at this point in the history
  8. bpf, cpumap: Make sure kthread is running before map update returns

    The following warning was reported when running stress-mode enabled
    xdp_redirect_cpu with some RT threads:
    
      ------------[ cut here ]------------
      WARNING: CPU: 4 PID: 65 at kernel/bpf/cpumap.c:135
      CPU: 4 PID: 65 Comm: kworker/4:1 Not tainted 6.5.0-rc2+ #1
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
      Workqueue: events cpu_map_kthread_stop
      RIP: 0010:put_cpu_map_entry+0xda/0x220
      ......
      Call Trace:
       <TASK>
       ? show_regs+0x65/0x70
       ? __warn+0xa5/0x240
       ......
       ? put_cpu_map_entry+0xda/0x220
       cpu_map_kthread_stop+0x41/0x60
       process_one_work+0x6b0/0xb80
       worker_thread+0x96/0x720
       kthread+0x1a5/0x1f0
       ret_from_fork+0x3a/0x70
       ret_from_fork_asm+0x1b/0x30
       </TASK>
    
    The root cause is the same as commit 4369016 ("bpf: cpumap: Fix memory
    leak in cpu_map_update_elem"). The kthread is stopped prematurely by
    kthread_stop() in cpu_map_kthread_stop(), and kthread() doesn't call
    cpu_map_kthread_run() at all but XDP program has already queued some
    frames or skbs into ptr_ring. So when __cpu_map_ring_cleanup() checks
    the ptr_ring, it will find it was not emptied and report a warning.
    
    An alternative fix is to use __cpu_map_ring_cleanup() to drop these
    pending frames or skbs when kthread_stop() returns -EINTR, but it may
    confuse the user, because these frames or skbs have been handled
    correctly by XDP program. So instead of dropping these frames or skbs,
    just make sure the per-cpu kthread is running before
    __cpu_map_entry_alloc() returns.
    
    After apply the fix, the error handle for kthread_stop() will be
    unnecessary because it will always return 0, so just remove it.
    
    Fixes: 6710e11 ("bpf: introduce new bpf cpu map type BPF_MAP_TYPE_CPUMAP")
    Signed-off-by: Hou Tao <houtao1@huawei.com>
    Reviewed-by: Pu Lehui <pulehui@huawei.com>
    Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
    Link: https://lore.kernel.org/r/20230729095107.1722450-2-houtao@huaweicloud.com
    Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
    Hou Tao authored and Martin KaFai Lau committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    640a604 View commit details
    Browse the repository at this point in the history
  9. bpf, cpumap: Handle skb as well when clean up ptr_ring

    The following warning was reported when running xdp_redirect_cpu with
    both skb-mode and stress-mode enabled:
    
      ------------[ cut here ]------------
      Incorrect XDP memory type (-2128176192) usage
      WARNING: CPU: 7 PID: 1442 at net/core/xdp.c:405
      Modules linked in:
      CPU: 7 PID: 1442 Comm: kworker/7:0 Tainted: G  6.5.0-rc2+ #1
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
      Workqueue: events __cpu_map_entry_free
      RIP: 0010:__xdp_return+0x1e4/0x4a0
      ......
      Call Trace:
       <TASK>
       ? show_regs+0x65/0x70
       ? __warn+0xa5/0x240
       ? __xdp_return+0x1e4/0x4a0
       ......
       xdp_return_frame+0x4d/0x150
       __cpu_map_entry_free+0xf9/0x230
       process_one_work+0x6b0/0xb80
       worker_thread+0x96/0x720
       kthread+0x1a5/0x1f0
       ret_from_fork+0x3a/0x70
       ret_from_fork_asm+0x1b/0x30
       </TASK>
    
    The reason for the warning is twofold. One is due to the kthread
    cpu_map_kthread_run() is stopped prematurely. Another one is
    __cpu_map_ring_cleanup() doesn't handle skb mode and treats skbs in
    ptr_ring as XDP frames.
    
    Prematurely-stopped kthread will be fixed by the preceding patch and
    ptr_ring will be empty when __cpu_map_ring_cleanup() is called. But
    as the comments in __cpu_map_ring_cleanup() said, handling and freeing
    skbs in ptr_ring as well to "catch any broken behaviour gracefully".
    
    Fixes: 11941f8 ("bpf: cpumap: Implement generic cpumap")
    Signed-off-by: Hou Tao <houtao1@huawei.com>
    Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
    Link: https://lore.kernel.org/r/20230729095107.1722450-3-houtao@huaweicloud.com
    Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
    Hou Tao authored and Martin KaFai Lau committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    7c62b75 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'Two fixes for cpu-map'

    Hou Tao says:
    
    ====================
    
    The patchset fixes two reported warning in cpu-map when running
    xdp_redirect_cpu and some RT threads concurrently. Patch #1 fixes
    the warning in __cpu_map_ring_cleanup() when kthread is stopped
    prematurely. Patch #2 fixes the warning in __xdp_return() when
    there are pending skbs in ptr_ring.
    
    Please see individual patches for more details. And comments are always
    welcome.
    
    ====================
    
    Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
    Martin KaFai Lau committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    4c9fbff View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. net/sched: cls_u32: No longer copy tcf_result on update to avoid use-…

    …after-free
    
    When u32_change() is called on an existing filter, the whole
    tcf_result struct is always copied into the new instance of the filter.
    
    This causes a problem when updating a filter bound to a class,
    as tcf_unbind_filter() is always called on the old instance in the
    success path, decreasing filter_cnt of the still referenced class
    and allowing it to be deleted, leading to a use-after-free.
    
    Fix this by no longer copying the tcf_result struct from the old filter.
    
    Fixes: de5df63 ("net: sched: cls_u32 changes to knode must appear atomic to readers")
    Reported-by: valis <sec@valis.email>
    Reported-by: M A Ramdhan <ramdhan@starlabs.sg>
    Signed-off-by: valis <sec@valis.email>
    Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Reviewed-by: Victor Nogueira <victor@mojatatu.com>
    Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
    Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
    Link: https://lore.kernel.org/r/20230729123202.72406-2-jhs@mojatatu.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    valis authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    3044b16 View commit details
    Browse the repository at this point in the history
  2. net/sched: cls_fw: No longer copy tcf_result on update to avoid use-a…

    …fter-free
    
    When fw_change() is called on an existing filter, the whole
    tcf_result struct is always copied into the new instance of the filter.
    
    This causes a problem when updating a filter bound to a class,
    as tcf_unbind_filter() is always called on the old instance in the
    success path, decreasing filter_cnt of the still referenced class
    and allowing it to be deleted, leading to a use-after-free.
    
    Fix this by no longer copying the tcf_result struct from the old filter.
    
    Fixes: e35a8ee ("net: sched: fw use RCU")
    Reported-by: valis <sec@valis.email>
    Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
    Signed-off-by: valis <sec@valis.email>
    Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Reviewed-by: Victor Nogueira <victor@mojatatu.com>
    Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
    Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
    Link: https://lore.kernel.org/r/20230729123202.72406-3-jhs@mojatatu.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    valis authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    76e42ae View commit details
    Browse the repository at this point in the history
  3. net/sched: cls_route: No longer copy tcf_result on update to avoid us…

    …e-after-free
    
    When route4_change() is called on an existing filter, the whole
    tcf_result struct is always copied into the new instance of the filter.
    
    This causes a problem when updating a filter bound to a class,
    as tcf_unbind_filter() is always called on the old instance in the
    success path, decreasing filter_cnt of the still referenced class
    and allowing it to be deleted, leading to a use-after-free.
    
    Fix this by no longer copying the tcf_result struct from the old filter.
    
    Fixes: 1109c00 ("net: sched: RCU cls_route")
    Reported-by: valis <sec@valis.email>
    Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
    Signed-off-by: valis <sec@valis.email>
    Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Reviewed-by: Victor Nogueira <victor@mojatatu.com>
    Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
    Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
    Link: https://lore.kernel.org/r/20230729123202.72406-4-jhs@mojatatu.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    valis authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    b80b829 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'net-sched-bind-logic-fixes-for-cls_fw-cls_u32-and-cls_r…

    …oute'
    
    valis says:
    
    ====================
    net/sched Bind logic fixes for cls_fw, cls_u32 and cls_route
    
    Three classifiers (cls_fw, cls_u32 and cls_route) always copy
    tcf_result struct into the new instance of the filter on update.
    
    This causes a problem when updating a filter bound to a class,
    as tcf_unbind_filter() is always called on the old instance in the
    success path, decreasing filter_cnt of the still referenced class
    and allowing it to be deleted, leading to a use-after-free.
    
    This patch set fixes this issue in all affected classifiers by no longer
    copying the tcf_result struct from the old filter.
    ====================
    
    Link: https://lore.kernel.org/r/20230729123202.72406-1-jhs@mojatatu.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    c5ccff7 View commit details
    Browse the repository at this point in the history
  5. drm/i915/gvt: Fix bug in getting msg length in AUX CH registers handler

    Msg length should be obtained from value written to AUX_CH_CTL register
    rather than from enum type of the register.
    
    Commit 0cad796  ("drm/i915: Use REG_BIT() & co. for AUX CH registers")
    incorrectly calculates the msg_length from reg type and yields below
    warning in intel_gvt_i2c_handle_aux_ch_write():
    "i915 0000:00:02.0: drm_WARN_ON(msg_length != 4)".
    
    Fixes: 0cad796 ("drm/i915: Use REG_BIT() & co. for AUX CH registers")
    Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
    Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20230731112033.7275-1-yan.y.zhao@intel.com
    Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
    yanzhao56 authored and zhenyw committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    46d14e1 View commit details
    Browse the repository at this point in the history
  6. perf pmus: Create placholder regardless of scanning core_only

    If scanning all PMUs the placeholder is still necessary if no core PMU
    is found. This situation occurs in perf test's parse-events test,
    when uncore events appear before core.
    
    Fixes: 628eaa4 ("perf pmus: Add placeholder core PMU")
    Signed-off-by: Ian Rogers <irogers@google.com>
    Tested-by: Thomas Richter <tmricht@linux.ibm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ravi Bangoria <ravi.bangoria@amd.com>
    Cc: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20230706183705.601412-1-irogers@google.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    captain5050 authored and acmel committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    34bc65d View commit details
    Browse the repository at this point in the history
  7. perf test parse-events: Test complex name has required event format

    test__checkevent_complex_name will use an "event" format which if not
    present, such as with a placeholder PMU, will cause test failures. Skip
    the test in this case to avoid failures in restricted environments.
    
    Add perf_pmu__has_format utility as a general PMU utility.
    
    Fixes: 628eaa4 ("perf pmus: Add placeholder core PMU")
    Signed-off-by: Ian Rogers <irogers@google.com>
    Tested-by: Thomas Richter <tmricht@linux.ibm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ravi Bangoria <ravi.bangoria@amd.com>
    Cc: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20230706183705.601412-2-irogers@google.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    captain5050 authored and acmel committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    07d2b82 View commit details
    Browse the repository at this point in the history
  8. ALSA: hda/cs35l56: Complete firmware reboot before calling cs_dsp_run()

    Move the call to cs_dsp_run() in cs35l56_hda_fw_load() so that it
    is after the CS35L56 has been reset/reinit'd and the regmap
    cache has been synced.
    
    cs_dsp_run() syncs up ALSA control cache values with the DSP memory
    so this must not be done until the firmware has reinitialized.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-2-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    7b6466a View commit details
    Browse the repository at this point in the history
  9. ALSA: hda/cs35l56: Do not mark cache dirty after REINIT

    Only call regcache_mark_dirty() in cs35l56_hda_fw_load() if
    the CS35L56 was SYSTEM_RESET.
    
    recache_mark_dirty() changes the behaviour of regcache_sync()
    to write out cache values that are not the default value, and
    skip cache values that are the default.
    
    AUDIO_REINIT does not reset the registers. regcache_mark_dirty()
    after AUDIO_REINIT could cause the regcache_sync() to sync
    registers incorrectly because it will assume that all registers
    have reset to default.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-3-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    c365709 View commit details
    Browse the repository at this point in the history
  10. ALSA: hda/cs35l56: Call cs_dsp_power_down() before reloading firmware

    When firmware is reloaded after a system resume cs_dsp_power_down() should
    be called before calling cs_dsp_power_up().
    
    The fw_patched flag should also be cleared and only set again if the
    firmware download succeeded.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-4-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    15c378d View commit details
    Browse the repository at this point in the history
  11. ALSA: hda/cs35l56: Always power-up and start cs_dsp

    Always call cs_dsp_power_up() and cs_dsp_run() in
    cs35l56_hda_fw_load() even if there aren't any firmware files
    to download. Also, if there aren't any firmware files to
    download there is no need to do cs35l56_firmware_shutdown() and
    cs35l56_system_reset().
    
    If there aren't any firmware files there's no need to write
    anything to the CS35L56 registers to make it work - it will
    already be running the ROM firmware. So it's not strictly
    necessary to start cs_dsp.
    
    But it's perfectly ok to call cs_dsp_power_up() and
    cs_dsp_run() without downloading any firmware. This avoids
    having to support a state where audio is playing but cs_dsp
    is not running.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-5-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    e5bac77 View commit details
    Browse the repository at this point in the history
  12. ALSA: hda/cs35l56: Call cs_dsp_power_down() before calling cs_dsp_rem…

    …ove()
    
    In cs35l56_hda_unbind() cs_dsp_power_down() must be called to cleanup
    before calling cs_dsp_remove cs_dsp_remove().
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-6-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    fb78d73 View commit details
    Browse the repository at this point in the history
  13. ALSA: hda/cs35l56: cs_dsp_power_down() on cs35l56_hda_fw_load() error…

    … path
    
    If cs35l56_hda_fw_load() successfully called cs_dsp_power_up() the error
    path must balance that with a call to cs_dsp_power_down().
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-7-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    0ba0dfd View commit details
    Browse the repository at this point in the history
  14. ALSA: hda/cs35l56: Do not download firmware over existing RAM firmware

    A RAM firmware can only be downloaded if the CS35L56 is currently
    running from ROM firmware. The driver must not try to overwrite
    the RAM if the CS35L56 is already running from that RAM.
    
    Firmware can be downloaded in these two cases:
    
    - The BIOS has already patched the firmware (secured mode).
      In this case the firmware files will only contain tunings that
      are safe to overwrite.
    
    - The CS35L56 is running the built-in ROM firmware.
    
    After a RAM firmware has been downloaded it can only be cleared by
    hard resetting CS35L56. Some systems only hard-reset during
    power-on and do not give the driver control of hard reset.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-8-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    2f860dd View commit details
    Browse the repository at this point in the history
  15. ALSA: hda/cs35l56: Fail if .bin not found and firmware not patched

    A tuning patch is always needed to enable the ASP audio port.
    If the BIOS did not patch the firmware, then it is mandatory to
    have a .bin file.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-9-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    3106797 View commit details
    Browse the repository at this point in the history
  16. ALSA: hda/cs35l56: Reject I2C alias addresses

    The ACPI nodes for CS35L56 can contain an extra I2CSerialBusV2 that
    is not a real device, it is an alias address.
    
    This alias address will not be in the cirrus,dev-index array, so reject
    any instantions with a device address not found in the array.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230731165726.7940-10-rf@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    rfvirgil authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    8ca3ee6 View commit details
    Browse the repository at this point in the history
  17. bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire

    Disabling preemption in sock_map_sk_acquire conflicts with GFP_ATOMIC
    allocation later in sk_psock_init_link on PREEMPT_RT kernels, since
    GFP_ATOMIC might sleep on RT (see bpf: Make BPF and PREEMPT_RT co-exist
    patchset notes for details).
    
    This causes calling bpf_map_update_elem on BPF_MAP_TYPE_SOCKMAP maps to
    BUG (sleeping function called from invalid context) on RT kernels.
    
    preempt_disable was introduced together with lock_sk and rcu_read_lock
    in commit 99ba2b5 ("bpf: sockhash, disallow bpf_tcp_close and update
    in parallel"), probably to match disabled migration of BPF programs, and
    is no longer necessary.
    
    Remove preempt_disable to fix BUG in sock_map_update_common on RT.
    
    Signed-off-by: Tomas Glozar <tglozar@redhat.com>
    Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
    Link: https://lore.kernel.org/all/20200224140131.461979697@linutronix.de/
    Fixes: 99ba2b5 ("bpf: sockhash, disallow bpf_tcp_close and update in parallel")
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Link: https://lore.kernel.org/r/20230728064411.305576-1-tglozar@redhat.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    lenticularis39 authored and Paolo Abeni committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    13d2618 View commit details
    Browse the repository at this point in the history
  18. erofs: fix wrong primary bvec selection on deduplicated extents

    When handling deduplicated compressed data, there can be multiple
    decompressed extents pointing to the same compressed data in one shot.
    
    In such cases, the bvecs which belong to the longest extent will be
    selected as the primary bvecs for real decompressors to decode and the
    other duplicated bvecs will be directly copied from the primary bvecs.
    
    Previously, only relative offsets of the longest extent were checked to
    decompress the primary bvecs.  On rare occasions, it can be incorrect
    if there are several extents with the same start relative offset.
    As a result, some short bvecs could be selected for decompression and
    then cause data corruption.
    
    For example, as Shijie Sun reported off-list, considering the following
    extents of a file:
     117:   903345..  915250 |   11905 :     385024..    389120 |    4096
    ...
     119:   919729..  930323 |   10594 :     385024..    389120 |    4096
    ...
     124:   968881..  980786 |   11905 :     385024..    389120 |    4096
    
    The start relative offset is the same: 2225, but extent 119 (919729..
    930323) is shorter than the others.
    
    Let's restrict the bvec length in addition to the start offset if bvecs
    are not full.
    
    Reported-by: Shijie Sun <sunshijie@xiaomi.com>
    Fixes: 5c2a642 ("erofs: introduce partial-referenced pclusters")
    Tested-by Shijie Sun <sunshijie@xiaomi.com>
    Reviewed-by: Yue Hu <huyue2@coolpad.com>
    Reviewed-by: Chao Yu <chao@kernel.org>
    Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Link: https://lore.kernel.org/r/20230719065459.60083-1-hsiangkao@linux.alibaba.com
    hsiangkao committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    94c43de View commit details
    Browse the repository at this point in the history
  19. erofs: drop unnecessary WARN_ON() in erofs_kill_sb()

    Previously, .kill_sb() will be called only after fill_super fails.
    It will be changed [1].
    
    Besides, checking for s_magic in erofs_kill_sb() is unnecessary from
    any point of view.  Let's get rid of it now.
    
    [1] https://lore.kernel.org/r/20230731-flugbereit-wohnlage-78acdf95ab7e@brauner
    
    Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Christian Brauner <brauner@kernel.org>
    Link: https://lore.kernel.org/r/20230801014737.28614-1-hsiangkao@linux.alibaba.com
    hsiangkao committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    4da3c71 View commit details
    Browse the repository at this point in the history
  20. drm/i915/gt: Cleanup aux invalidation registers

    Fix the 'NV' definition postfix that is supposed to be INV.
    
    Take the chance to also order properly the registers based on
    their address and call the GEN12_GFX_CCS_AUX_INV address as
    GEN12_CCS_AUX_INV like all the other similar registers.
    
    Remove also VD1, VD3 and VE1 registers that don't exist and add
    BCS0 and CCS0.
    
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-2-andi.shyti@linux.intel.com
    (cherry picked from commit 2f0b927)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    d14560a View commit details
    Browse the repository at this point in the history
  21. drm/i915: Add the gen12_needs_ccs_aux_inv helper

    We always assumed that a device might either have AUX or FLAT
    CCS, but this is an approximation that is not always true, e.g.
    PVC represents an exception.
    
    Set the basis for future finer selection by implementing a
    boolean gen12_needs_ccs_aux_inv() function that tells whether aux
    invalidation is needed or not.
    
    Currently PVC is the only exception to the above mentioned rule.
    
    Requires: 059ae7ae2a1c ("drm/i915/gt: Cleanup aux invalidation registers")
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-3-andi.shyti@linux.intel.com
    (cherry picked from commit c827655)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    b2f59e9 View commit details
    Browse the repository at this point in the history
  22. drm/i915/gt: Ensure memory quiesced before invalidation

    All memory traffic must be quiesced before requesting
    an aux invalidation on platforms that use Aux CCS.
    
    Fixes: 972282c ("drm/i915/gen12: Add aux table invalidate for all engines")
    Requires: a2a4aa0eef3b ("drm/i915: Add the gen12_needs_ccs_aux_inv helper")
    Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-4-andi.shyti@linux.intel.com
    (cherry picked from commit ad8ebf1)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Jonathan-Cavitt authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    78a6ccd View commit details
    Browse the repository at this point in the history
  23. drm/i915/gt: Rename flags with bit_group_X according to the datasheet

    In preparation of the next patch align with the datasheet (BSPEC
    47112) with the naming of the pipe control set of flag values.
    The variable "flags" in gen12_emit_flush_rcs() is applied as a
    set of flags called Bit Group 1.
    
    Define also the Bit Group 0 as bit_group_0 where currently only
    PIPE_CONTROL0_HDC_PIPELINE_FLUSH bit is set.
    
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-5-andi.shyti@linux.intel.com
    (cherry picked from commit f2dcd21)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    592b228 View commit details
    Browse the repository at this point in the history
  24. drm/i915/gt: Enable the CCS_FLUSH bit in the pipe control and in the CS

    Enable the CCS_FLUSH bit 13 in the control pipe for render and
    compute engines in platforms starting from Meteor Lake (BSPEC
    43904 and 47112).
    
    For the copy engine add MI_FLUSH_DW_CCS (bit 16) in the command
    streamer.
    
    Fixes: 972282c ("drm/i915/gen12: Add aux table invalidate for all engines")
    Requires: 8da173db894a ("drm/i915/gt: Rename flags with bit_group_X according to the datasheet")
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
    Cc: Nirmoy Das <nirmoy.das@intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-6-andi.shyti@linux.intel.com
    (cherry picked from commit b70df82)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    824df77 View commit details
    Browse the repository at this point in the history
  25. drm/i915/gt: Poll aux invalidation register bit on invalidation

    For platforms that use Aux CCS, wait for aux invalidation to
    complete by checking the aux invalidation register bit is
    cleared.
    
    Fixes: 972282c ("drm/i915/gen12: Add aux table invalidate for all engines")
    Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-7-andi.shyti@linux.intel.com
    (cherry picked from commit d459c86)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Jonathan-Cavitt authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    0fde2f2 View commit details
    Browse the repository at this point in the history
  26. drm/i915/gt: Support aux invalidation on all engines

    Perform some refactoring with the purpose of keeping in one
    single place all the operations around the aux table
    invalidation.
    
    With this refactoring add more engines where the invalidation
    should be performed.
    
    Fixes: 972282c ("drm/i915/gen12: Add aux table invalidate for all engines")
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: <stable@vger.kernel.org> # v5.8+
    Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230725001950.1014671-8-andi.shyti@linux.intel.com
    (cherry picked from commit 76ff778)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    6a35f22 View commit details
    Browse the repository at this point in the history
  27. drm/i915: Fix premature release of request's reusable memory

    Infinite waits for completion of GPU activity have been observed in CI,
    mostly inside __i915_active_wait(), triggered by igt@gem_barrier_race or
    igt@perf@stress-open-close.  Root cause analysis, based of ftrace dumps
    generated with a lot of extra trace_printk() calls added to the code,
    revealed loops of request dependencies being accidentally built,
    preventing the requests from being processed, each waiting for completion
    of another one's activity.
    
    After we substitute a new request for a last active one tracked on a
    timeline, we set up a dependency of our new request to wait on completion
    of current activity of that previous one.  While doing that, we must take
    care of keeping the old request still in memory until we use its
    attributes for setting up that await dependency, or we can happen to set
    up the await dependency on an unrelated request that already reuses the
    memory previously allocated to the old one, already released.  Combined
    with perf adding consecutive kernel context remote requests to different
    user context timelines, unresolvable loops of await dependencies can be
    built, leading do infinite waits.
    
    We obtain a pointer to the previous request to wait upon when we
    substitute it with a pointer to our new request in an active tracker,
    e.g. in intel_timeline.last_request.  In some processing paths we protect
    that old request from being freed before we use it by getting a reference
    to it under RCU protection, but in others, e.g.  __i915_request_commit()
    -> __i915_request_add_to_timeline() -> __i915_request_ensure_ordering(),
    we don't.  But anyway, since the requests' memory is SLAB_FAILSAFE_BY_RCU,
    that RCU protection is not sufficient against reuse of memory.
    
    We could protect i915_request's memory from being prematurely reused by
    calling its release function via call_rcu() and using rcu_read_lock()
    consequently, as proposed in v1.  However, that approach leads to
    significant (up to 10 times) increase of SLAB utilization by i915_request
    SLAB cache.  Another potential approach is to take a reference to the
    previous active fence.
    
    When updating an active fence tracker, we first lock the new fence,
    substitute a pointer of the current active fence with the new one, then we
    lock the substituted fence.  With this approach, there is a time window
    after the substitution and before the lock when the request can be
    concurrently released by an interrupt handler and its memory reused, then
    we may happen to lock and return a new, unrelated request.
    
    Always get a reference to the current active fence first, before
    replacing it with a new one.  Having it protected from premature release
    and reuse, lock it and then replace with the new one but only if not
    yet signalled via a potential concurrent interrupt nor replaced with
    another one by a potential concurrent thread, otherwise retry, starting
    from getting a reference to the new current one.  Adjust users to not
    get a reference to the previous active fence themselves and always put the
    reference got by __i915_active_fence_set() when no longer needed.
    
    v3: Fix lockdep splat reports and other issues caused by incorrect use of
        try_cmpxchg() (use (cmpxchg() != prev) instead)
    v2: Protect request's memory by getting a reference to it in favor of
        delegating its release to call_rcu() (Chris)
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8211
    Fixes: df9f85d ("drm/i915: Serialise i915_active_fence_set() with itself")
    Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
    Cc: <stable@vger.kernel.org> # v5.6+
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230720093543.832147-2-janusz.krzysztofik@linux.intel.com
    (cherry picked from commit 946e047)
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    jkrzyszt-intel authored and tursulin committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    a337b64 View commit details
    Browse the repository at this point in the history
  28. powerpc/64e: Fix secondary thread bringup for ELFv2 kernels

    When booting on e6500 with an ELF v2 ABI kernel, the secondary threads do
    not start correctly:
    
        [    0.051118] smp: Bringing up secondary CPUs ...
        [    5.072700] Processor 1 is stuck.
    
    This occurs because the startup code is written to use function
    descriptors when loading the entry point for the secondary threads. When
    building with ELF v2 ABI there are no function descriptors, and the code
    loads junk values for the entry point address.
    
    Fix it by using ppc_function_entry() in C, and DOTSYM() in asm, both of
    which work correctly for ELF v2 ABI as well as ELF v1 ABI kernels.
    
    Fixes: 8c5fa3b ("powerpc/64: Make ELFv2 the default for big-endian builds")
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://msgid.link/20230801102650.48705-1-mpe@ellerman.id.au
    mpe committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    2dc0bc1 View commit details
    Browse the repository at this point in the history
  29. ASoC/SOF/Intel/AMD: cleanups for GCC11 -fanalyzer

    Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    GCC11 provides an '-fanalyzer' static analysis option which does not
    provide too many false-positives. This patch cleans-up known
    problematic code paths to help enable this capability in CI. We've
    used this for about a month already.
    broonie committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    d09fd7e View commit details
    Browse the repository at this point in the history
  30. powercap: intel_rapl: Fix a sparse warning in TPMI interface

    Depends on the interface used, the RAPL registers can be either MSR
    indexes or memory mapped IO addresses. Current RAPL common code uses u64
    to save both MSR and memory mapped IO registers. With this, when
    handling register address with an __iomem annotation, it triggers a
    sparse warning like below:
    
    sparse warnings: (new ones prefixed by >>)
    >> drivers/powercap/intel_rapl_tpmi.c:141:41: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned long long [usertype] *tpmi_rapl_regs @@     got void [noderef] __iomem * @@
       drivers/powercap/intel_rapl_tpmi.c:141:41: sparse:     expected unsigned long long [usertype] *tpmi_rapl_regs
       drivers/powercap/intel_rapl_tpmi.c:141:41: sparse:     got void [noderef] __iomem *
    
    Fix the problem by using a union to save the registers instead.
    
    Suggested-by: David Laight <David.Laight@ACULAB.COM>
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202307031405.dy3druuy-lkp@intel.com/
    Tested-by: Wang Wendy <wendy.wang@intel.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    [ rjw: Subject and changelog edits ]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    zhang-rui authored and rafaeljw committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    16e95a6 View commit details
    Browse the repository at this point in the history
  31. wifi: ray_cs: Replace 1-element array with flexible array

    The trailing array member of struct tx_buf was defined as a 1-element
    array, but used as a flexible array. This was resulting in build warnings:
    
        In function 'fortify_memset_chk',
            inlined from 'memset_io' at /kisskb/src/arch/mips/include/asm/io.h:486:2,
            inlined from 'build_auth_frame' at /kisskb/src/drivers/net/wireless/legacy/ray_cs.c:2697:2:
        /kisskb/src/include/linux/fortify-string.h:493:25: error: call to '__write_overflow_field' declared with attribute warning:
    detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
          493 |                         __write_overflow_field(p_size_field, size);
              |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Replace it with an actual flexible array. Binary difference comparison
    shows a single change in output:
    
    │  drivers/net/wireless/legacy/ray_cs.c:883
    │       lea    0x1c(%rbp),%r13d
    │ -     cmp    $0x7c3,%r13d
    │ +     cmp    $0x7c4,%r13d
    
    This is from:
    
            if (len + TX_HEADER_LENGTH > TX_BUF_SIZE) {
    
    specifically:
    
     #define TX_BUF_SIZE (2048 - sizeof(struct tx_msg))
    
    This appears to have been originally buggy, so the change is correct.
    
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Closes: https://lore.kernel.org/all/88f83d73-781d-bdc-126-aa629cb368c@linux-m68k.org
    Cc: Kalle Valo <kvalo@kernel.org>
    Cc: linux-wireless@vger.kernel.org
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20230728231245.never.309-kees@kernel.org
    kees authored and Kalle Valo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    1d7dd5a View commit details
    Browse the repository at this point in the history
  32. ASoC: Intel: machine driver updates for 6.6

    Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    Lots of small cleanups coming from Bard Liao and Charles Keepax for
    SoundWire platforms, and minor additions for RVPs and Chromebooks.
    broonie committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    224be45 View commit details
    Browse the repository at this point in the history
  33. s390/ptrace: add missing linux/const.h include

    Adrian Reber reported the following CRIU build bug after
    commit b8af599 ("s390/ptrace: make all psw related
    defines also available for asm"):
    
    compel/arch/s390/src/lib/infect.c: In function 'arch_can_dump_task':
    compel/arch/s390/src/lib/infect.c:523:25: error: 'UL' undeclared (first use in this function)
      523 |         if (psw->mask & PSW_MASK_RI) {
          |                         ^~~~~~~~~~~
    
    Add the missing linux/const.h include to fix this.
    
    Reported-by: Adrian Reber <areber@redhat.com>
    Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2225745
    Link: checkpoint-restore/criu#2232
    Tested-by: Adrian Reber <areber@redhat.com>
    Fixes: b8af599 ("s390/ptrace: make all psw related defines also available for asm")
    Link: https://lore.kernel.org/r/20230731183926.330932-1-hca@linux.ibm.com
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    hcahca committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    388acb4 View commit details
    Browse the repository at this point in the history
  34. ALSA: usb-audio: Remove unused function declaration

    Commit 68e67f4 ("ALSA: snd-usb: move calls to usb_set_interface")
    leave this unused declaration.
    
    Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20230801144512.18716-1-yuehaibing@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Yue Haibing authored and tiwai committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    fbeb1ec View commit details
    Browse the repository at this point in the history
  35. net: ll_temac: fix error checking of irq_of_parse_and_map()

    Most kernel functions return negative error codes but some irq functions
    return zero on error.  In this code irq_of_parse_and_map(), returns zero
    and platform_get_irq() returns negative error codes.  We need to handle
    both cases appropriately.
    
    Fixes: 8425c41 ("net: ll_temac: Extend support to non-device-tree platforms")
    Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
    Acked-by: Esben Haabendal <esben@geanix.com>
    Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
    Reviewed-by: Harini Katakam <harini.katakam@amd.com>
    Link: https://lore.kernel.org/r/3d0aef75-06e0-45a5-a2a6-2cc4738d4143@moroto.mountain
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Dan Carpenter authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    ef45e84 View commit details
    Browse the repository at this point in the history
  36. USB: zaurus: Add ID for A-300/B-500/C-700

    The SL-A300, B500/5600, and C700 devices no longer auto-load because of
    "usbnet: Remove over-broad module alias from zaurus."
    This patch adds IDs for those 3 devices.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=217632
    Fixes: 16adf5d ("usbnet: Remove over-broad module alias from zaurus.")
    Signed-off-by: Ross Maynard <bids.7405@bigpond.com>
    Cc: stable@vger.kernel.org
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Link: https://lore.kernel.org/r/69b5423b-2013-9fc9-9569-58e707d9bafb@bigpond.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Ross Maynard authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    b99225b View commit details
    Browse the repository at this point in the history
  37. net: korina: handle clk prepare error in korina_probe()

    in korina_probe(), the return value of clk_prepare_enable()
    should be checked since it might fail. we can use
    devm_clk_get_optional_enabled() instead of devm_clk_get_optional()
    and clk_prepare_enable() to automatically handle the error.
    
    Fixes: e4cd854 ("net: korina: Get mdio input clock via common clock framework")
    Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com>
    Link: https://lore.kernel.org/r/20230731090535.21416-1-ruc_gongyuanjun@163.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    AnnYugawa authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    0b6291a View commit details
    Browse the repository at this point in the history
  38. net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode

    As documented in acd7aaf ("netsec: ignore 'phy-mode' device
    property on ACPI systems") the SocioNext SynQuacer platform ships with
    firmware defining the PHY mode as RGMII even though the physical
    configuration of the PHY is for TX and RX delays.  Since bbc4d71
    ("net: phy: realtek: fix rtl8211e rx/tx delay config") this has caused
    misconfiguration of the PHY, rendering the network unusable.
    
    This was worked around for ACPI by ignoring the phy-mode property but
    the system is also used with DT.  For DT instead if we're running on a
    SynQuacer force a working PHY mode, as well as the standard EDK2
    firmware with DT there are also some of these systems that use u-boot
    and might not initialise the PHY if not netbooting.  Newer firmware
    imagaes for at least EDK2 are available from Linaro so print a warning
    when doing this.
    
    Fixes: 533dd11 ("net: socionext: Add Synquacer NetSec driver")
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Link: https://lore.kernel.org/r/20230731-synquacer-net-v3-1-944be5f06428@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    broonie authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    f3bb775 View commit details
    Browse the repository at this point in the history
  39. selftest: net: Assert on a proper value in so_incoming_cpu.c.

    Dan Carpenter reported an error spotted by Smatch.
    
      ./tools/testing/selftests/net/so_incoming_cpu.c:163 create_clients()
      error: uninitialized symbol 'ret'.
    
    The returned value of sched_setaffinity() should be checked with
    ASSERT_EQ(), but the value was not saved in a proper variable,
    resulting in an error above.
    
    Let's save the returned value of with sched_setaffinity().
    
    Fixes: 6df9614 ("selftest: Add test for SO_INCOMING_CPU.")
    Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
    Closes: https://lore.kernel.org/linux-kselftest/fe376760-33b6-4fc9-88e8-178e809af1ac@moroto.mountain/
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230731181553.5392-1-kuniyu@amazon.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    q2ven authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    3ff1617 View commit details
    Browse the repository at this point in the history
  40. bnxt_en: Fix page pool logic for page size >= 64K

    The RXBD length field on all bnxt chips is 16-bit and so we cannot
    support a full page when the native page size is 64K or greater.
    The non-XDP (non page pool) code path has logic to handle this but
    the XDP page pool code path does not handle this.  Add the missing
    logic to use page_pool_dev_alloc_frag() to allocate 32K chunks if
    the page size is 64K or greater.
    
    Fixes: 9f4b283 ("bnxt: XDP multibuffer enablement")
    Link: https://lore.kernel.org/netdev/20230728231829.235716-2-michael.chan@broadcom.com/
    Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
    Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Link: https://lore.kernel.org/r/20230731142043.58855-2-michael.chan@broadcom.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    skotur-brcm authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    f6974b4 View commit details
    Browse the repository at this point in the history
  41. bnxt_en: Fix max_mtu setting for multi-buf XDP

    The existing code does not allow the MTU to be set to the maximum even
    after an XDP program supporting multiple buffers is attached.  Fix it
    to set the netdev->max_mtu to the maximum value if the attached XDP
    program supports mutiple buffers, regardless of the current MTU value.
    
    Also use a local variable dev instead of repeatedly using bp->dev.
    
    Fixes: 1dc4c55 ("bnxt: adding bnxt_xdp_build_skb to build skb from multibuffer xdp_buff")
    Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
    Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
    Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Link: https://lore.kernel.org/r/20230731142043.58855-3-michael.chan@broadcom.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Michael Chan authored and kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    08450ea View commit details
    Browse the repository at this point in the history
  42. Merge branch 'bnxt_en-2-xdp-bug-fixes'

    Michael Chan says:
    
    ====================
    bnxt_en: 2 XDP bug fixes
    
    The first patch fixes XDP page pool logic on systems with page size >=
    64K.  The second patch fixes the max_mtu setting when an XDP program
    supporting multi buffers is attached.
    ====================
    
    Link: https://lore.kernel.org/r/20230731142043.58855-1-michael.chan@broadcom.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    4a4474e View commit details
    Browse the repository at this point in the history
  43. ceph: defer stopping mdsc delayed_work

    Flushing the dirty buffer may take a long time if the cluster is
    overloaded or if there is network issue. So we should ping the
    MDSs periodically to keep alive, else the MDS will blocklist
    the kclient.
    
    Cc: stable@vger.kernel.org
    Link: https://tracker.ceph.com/issues/61843
    Signed-off-by: Xiubo Li <xiubli@redhat.com>
    Reviewed-by: Milind Changire <mchangir@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    lxbsz authored and idryomov committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    e7e607b View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. net: dcb: choose correct policy to parse DCB_ATTR_BCN

    The dcbnl_bcn_setcfg uses erroneous policy to parse tb[DCB_ATTR_BCN],
    which is introduced in commit 859ee3c ("DCB: Add support for DCB
    BCN"). Please see the comment in below code
    
    static int dcbnl_bcn_setcfg(...)
    {
      ...
      ret = nla_parse_nested_deprecated(..., dcbnl_pfc_up_nest, .. )
      // !!! dcbnl_pfc_up_nest for attributes
      //  DCB_PFC_UP_ATTR_0 to DCB_PFC_UP_ATTR_ALL in enum dcbnl_pfc_up_attrs
      ...
      for (i = DCB_BCN_ATTR_RP_0; i <= DCB_BCN_ATTR_RP_7; i++) {
      // !!! DCB_BCN_ATTR_RP_0 to DCB_BCN_ATTR_RP_7 in enum dcbnl_bcn_attrs
        ...
        value_byte = nla_get_u8(data[i]);
        ...
      }
      ...
      for (i = DCB_BCN_ATTR_BCNA_0; i <= DCB_BCN_ATTR_RI; i++) {
      // !!! DCB_BCN_ATTR_BCNA_0 to DCB_BCN_ATTR_RI in enum dcbnl_bcn_attrs
      ...
        value_int = nla_get_u32(data[i]);
      ...
      }
      ...
    }
    
    That is, the nla_parse_nested_deprecated uses dcbnl_pfc_up_nest
    attributes to parse nlattr defined in dcbnl_pfc_up_attrs. But the
    following access code fetch each nlattr as dcbnl_bcn_attrs attributes.
    By looking up the associated nla_policy for dcbnl_bcn_attrs. We can find
    the beginning part of these two policies are "same".
    
    static const struct nla_policy dcbnl_pfc_up_nest[...] = {
            [DCB_PFC_UP_ATTR_0]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_1]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_2]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_3]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_4]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_5]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_6]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_7]   = {.type = NLA_U8},
            [DCB_PFC_UP_ATTR_ALL] = {.type = NLA_FLAG},
    };
    
    static const struct nla_policy dcbnl_bcn_nest[...] = {
            [DCB_BCN_ATTR_RP_0]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_1]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_2]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_3]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_4]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_5]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_6]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_7]         = {.type = NLA_U8},
            [DCB_BCN_ATTR_RP_ALL]       = {.type = NLA_FLAG},
            // from here is somewhat different
            [DCB_BCN_ATTR_BCNA_0]       = {.type = NLA_U32},
            ...
            [DCB_BCN_ATTR_ALL]          = {.type = NLA_FLAG},
    };
    
    Therefore, the current code is buggy and this
    nla_parse_nested_deprecated could overflow the dcbnl_pfc_up_nest and use
    the adjacent nla_policy to parse attributes from DCB_BCN_ATTR_BCNA_0.
    
    Hence use the correct policy dcbnl_bcn_nest to parse the nested
    tb[DCB_ATTR_BCN] TLV.
    
    Fixes: 859ee3c ("DCB: Add support for DCB BCN")
    Signed-off-by: Lin Ma <linma@zju.edu.cn>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20230801013248.87240-1-linma@zju.edu.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    f0rm2l1n authored and kuba-moo committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    31d49ba View commit details
    Browse the repository at this point in the history
  2. rbd: prevent busy loop when requesting exclusive lock

    Due to rbd_try_acquire_lock() effectively swallowing all but
    EBLOCKLISTED error from rbd_try_lock() ("request lock anyway") and
    rbd_request_lock() returning ETIMEDOUT error not only for an actual
    notify timeout but also when the lock owner doesn't respond, a busy
    loop inside of rbd_acquire_lock() between rbd_try_acquire_lock() and
    rbd_request_lock() is possible.
    
    Requesting the lock on EBUSY error (returned by get_lock_owner_info()
    if an incompatible lock or invalid lock owner is detected) makes very
    little sense.  The same goes for ETIMEDOUT error (might pop up pretty
    much anywhere if osd_request_timeout option is set) and many others.
    
    Just fail I/O requests on rbd_dev->acquiring_list immediately on any
    error from rbd_try_lock().
    
    Cc: stable@vger.kernel.org # 5881590: rbd: retrieve and check lock owner twice before blocklisting
    Cc: stable@vger.kernel.org
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
    idryomov committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9d01e07 View commit details
    Browse the repository at this point in the history
  3. libceph: fix potential hang in ceph_osdc_notify()

    If the cluster becomes unavailable, ceph_osdc_notify() may hang even
    with osd_request_timeout option set because linger_notify_finish_wait()
    waits for MWatchNotify NOTIFY_COMPLETE message with no associated OSD
    request in flight -- it's completely asynchronous.
    
    Introduce an additional timeout, derived from the specified notify
    timeout.  While at it, switch both waits to killable which is more
    correct.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
    Reviewed-by: Xiubo Li <xiubli@redhat.com>
    idryomov committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    e6e2843 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'gvt-fixes-2023-08-02' of https://github.com/intel/gvt-linux

    …into drm-intel-fixes
    
    gvt-fixes-2023-08-02
    
    - Fix bug to get AUX CH register message length (Yan)
    
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    From: Zhenyu Wang <zhenyuw@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/ZMnvf46JqgeIuTir@debian-scheme
    tursulin committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0bc057e View commit details
    Browse the repository at this point in the history
  5. ALSA: ac97: set variables dev_attr_vendor_id to static

    sparse reports
    sound/ac97/bus.c:465:1: sparse: sparse: symbol 'dev_attr_vendor_id' was not declared. Should it be static?
    
    This variable is only used in its defining file, so it should be static.
    
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202307242300.Oy0Dp2QI-lkp@intel.com/
    Signed-off-by: Yu Liao <liaoyu15@huawei.com>
    Link: https://lore.kernel.org/r/20230802022649.2514787-1-liaoyu15@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    yuliao0214 authored and tiwai committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    d28dc3d View commit details
    Browse the repository at this point in the history
  6. ata,scsi: do not issue START STOP UNIT on resume

    During system resume, ata_port_pm_resume() triggers ata EH to
    1) Resume the controller
    2) Reset and rescan the ports
    3) Revalidate devices
    This EH execution is started asynchronously from ata_port_pm_resume(),
    which means that when sd_resume() is executed, none or only part of the
    above processing may have been executed. However, sd_resume() issues a
    START STOP UNIT to wake up the drive from sleep mode. This command is
    translated to ATA with ata_scsi_start_stop_xlat() and issued to the
    device. However, depending on the state of execution of the EH process
    and revalidation triggerred by ata_port_pm_resume(), two things may
    happen:
    1) The START STOP UNIT fails if it is received before the controller has
       been reenabled at the beginning of the EH execution. This is visible
       with error messages like:
    
    ata10.00: device reported invalid CHS sector 0
    sd 9:0:0:0: [sdc] Start/Stop Unit failed: Result: hostbyte=DID_OK driverbyte=DRIVER_OK
    sd 9:0:0:0: [sdc] Sense Key : Illegal Request [current]
    sd 9:0:0:0: [sdc] Add. Sense: Unaligned write command
    sd 9:0:0:0: PM: dpm_run_callback(): scsi_bus_resume+0x0/0x90 returns -5
    sd 9:0:0:0: PM: failed to resume async: error -5
    
    2) The START STOP UNIT command is received while the EH process is
       on-going, which mean that it is stopped and must wait for its
       completion, at which point the command is rather useless as the drive
       is already fully spun up already. This case results also in a
       significant delay in sd_resume() which is observable by users as
       the entire system resume completion is delayed.
    
    Given that ATA devices will be woken up by libata activity on resume,
    sd_resume() has no need to issue a START STOP UNIT command, which solves
    the above mentioned problems. Do not issue this command by introducing
    the new scsi_device flag no_start_on_resume and setting this flag to 1
    in ata_scsi_dev_config(). sd_resume() is modified to issue a START STOP
    UNIT command only if this flag is not set.
    
    Reported-by: Paul Ausbeck <paula@soe.ucsc.edu>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=215880
    Fixes: a19a93e ("scsi: core: pm: Rely on the device driver core for async power management")
    Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
    Tested-by: Tanner Watkins <dalzot@gmail.com>
    Tested-by: Paul Ausbeck <paula@soe.ucsc.edu>
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    damien-lemoal committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0a85890 View commit details
    Browse the repository at this point in the history
  7. drm/panel: samsung-s6d7aa0: Add MODULE_DEVICE_TABLE

    The driver can be built as a module, however the lack of the
    MODULE_DEVICE_TABLE macro prevents it from being automatically probed
    from the DT in such case.
    
    Add the missed macro to make sure the module can load automatically.
    
    Fixes: 6810bb3 ("drm/panel: Add Samsung S6D7AA0 panel controller driver")
    Signed-off-by: Nikita Travkin <nikita@trvn.ru>
    Acked-by: Artur Weber <aweber.kernel@gmail.com>
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230802-gt5-panel-dtable-v1-1-c0a765c175e2@trvn.ru
    TravMurav authored and superna9999 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    c71b7aa View commit details
    Browse the repository at this point in the history
  8. net: tun_chr_open(): set sk_uid from current_fsuid()

    Commit a096ccc initializes the "sk_uid" field in the protocol socket
    (struct sock) from the "/dev/net/tun" device node's owner UID. Per
    original commit 86741ec ("net: core: Add a UID field to struct
    sock.", 2016-11-04), that's wrong: the idea is to cache the UID of the
    userspace process that creates the socket. Commit 86741ec mentions
    socket() and accept(); with "tun", the action that creates the socket is
    open("/dev/net/tun").
    
    Therefore the device node's owner UID is irrelevant. In most cases,
    "/dev/net/tun" will be owned by root, so in practice, commit a096ccc
    has no observable effect:
    
    - before, "sk_uid" would be zero, due to undefined behavior
      (CVE-2023-1076),
    
    - after, "sk_uid" would be zero, due to "/dev/net/tun" being owned by root.
    
    What matters is the (fs)UID of the process performing the open(), so cache
    that in "sk_uid".
    
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Lorenzo Colitti <lorenzo@google.com>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Pietro Borrello <borrello@diag.uniroma1.it>
    Cc: netdev@vger.kernel.org
    Cc: stable@vger.kernel.org
    Fixes: a096ccc ("tun: tun_chr_open(): correctly initialize socket uid")
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2173435
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    lersek authored and davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9bc3047 View commit details
    Browse the repository at this point in the history
  9. net: tap_open(): set sk_uid from current_fsuid()

    Commit 66b2c33 initializes the "sk_uid" field in the protocol socket
    (struct sock) from the "/dev/tapX" device node's owner UID. Per original
    commit 86741ec ("net: core: Add a UID field to struct sock.",
    2016-11-04), that's wrong: the idea is to cache the UID of the userspace
    process that creates the socket. Commit 86741ec mentions socket() and
    accept(); with "tap", the action that creates the socket is
    open("/dev/tapX").
    
    Therefore the device node's owner UID is irrelevant. In most cases,
    "/dev/tapX" will be owned by root, so in practice, commit 66b2c33 has
    no observable effect:
    
    - before, "sk_uid" would be zero, due to undefined behavior
      (CVE-2023-1076),
    
    - after, "sk_uid" would be zero, due to "/dev/tapX" being owned by root.
    
    What matters is the (fs)UID of the process performing the open(), so cache
    that in "sk_uid".
    
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Lorenzo Colitti <lorenzo@google.com>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Pietro Borrello <borrello@diag.uniroma1.it>
    Cc: netdev@vger.kernel.org
    Cc: stable@vger.kernel.org
    Fixes: 66b2c33 ("tap: tap_open(): correctly initialize socket uid")
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2173435
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    lersek authored and davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    5c9241f View commit details
    Browse the repository at this point in the history
  10. Merge branch 'tun-tap-uid'

    Laszlo Ersek says:
    
    ====================
    tun/tap: set sk_uid from current_fsuid()
    
    The original patches fixing CVE-2023-1076 are incorrect in my opinion.
    This small series fixes them up; see the individual commit messages for
    explanation.
    
    I have a very elaborate test procedure demonstrating the problem for
    both tun and tap; it involves libvirt, qemu, and "crash". I can share
    that procedure if necessary, but it's indeed quite long (I wrote it
    originally for our QE team).
    
    The patches in this series are supposed to "re-fix" CVE-2023-1076; given
    that said CVE is classified as Low Impact (CVSSv3=5.5), I'm posting this
    publicly, and not suggesting any embargo. Red Hat Product Security may
    assign a new CVE number later.
    
    I've tested the patches on top of v6.5-rc4, with "crash" built at commit
    c74f375e0ef7.
    
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Lorenzo Colitti <lorenzo@google.com>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Pietro Borrello <borrello@diag.uniroma1.it>
    Cc: netdev@vger.kernel.org
    Cc: stable@vger.kernel.org
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    666c135 View commit details
    Browse the repository at this point in the history
  11. s390/qeth: Don't call dev_close/dev_open (DOWN/UP)

    dev_close() and dev_open() are issued to change the interface state to DOWN
    or UP (dev->flags IFF_UP). When the netdev is set DOWN it loses e.g its
    Ipv6 addresses and routes. We don't want this in cases of device recovery
    (triggered by hardware or software) or when the qeth device is set
    offline.
    
    Setting a qeth device offline or online and device recovery actions call
    netif_device_detach() and/or netif_device_attach(). That will reset or
    set the LOWER_UP indication i.e. change the dev->state Bit
    __LINK_STATE_PRESENT. That is enough to e.g. cause bond failovers, and
    still preserves the interface settings that are handled by the network
    stack.
    
    Don't call dev_open() nor dev_close() from the qeth device driver. Let the
    network stack handle this.
    
    Fixes: d456015 ("s390/qeth: call dev_close() during recovery")
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    SandyWinter authored and davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    1cfef80 View commit details
    Browse the repository at this point in the history
  12. ip6mr: Fix skb_under_panic in ip6mr_cache_report()

    skbuff: skb_under_panic: text:ffffffff88771f69 len:56 put:-4
     head:ffff88805f86a800 data:ffff887f5f86a850 tail:0x88 end:0x2c0 dev:pim6reg
     ------------[ cut here ]------------
     kernel BUG at net/core/skbuff.c:192!
     invalid opcode: 0000 [#1] PREEMPT SMP KASAN
     CPU: 2 PID: 22968 Comm: kworker/2:11 Not tainted 6.5.0-rc3-00044-g0a8db05b571a torvalds#236
     Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
     Workqueue: ipv6_addrconf addrconf_dad_work
     RIP: 0010:skb_panic+0x152/0x1d0
     Call Trace:
      <TASK>
      skb_push+0xc4/0xe0
      ip6mr_cache_report+0xd69/0x19b0
      reg_vif_xmit+0x406/0x690
      dev_hard_start_xmit+0x17e/0x6e0
      __dev_queue_xmit+0x2d6a/0x3d20
      vlan_dev_hard_start_xmit+0x3ab/0x5c0
      dev_hard_start_xmit+0x17e/0x6e0
      __dev_queue_xmit+0x2d6a/0x3d20
      neigh_connected_output+0x3ed/0x570
      ip6_finish_output2+0x5b5/0x1950
      ip6_finish_output+0x693/0x11c0
      ip6_output+0x24b/0x880
      NF_HOOK.constprop.0+0xfd/0x530
      ndisc_send_skb+0x9db/0x1400
      ndisc_send_rs+0x12a/0x6c0
      addrconf_dad_completed+0x3c9/0xea0
      addrconf_dad_work+0x849/0x1420
      process_one_work+0xa22/0x16e0
      worker_thread+0x679/0x10c0
      ret_from_fork+0x28/0x60
      ret_from_fork_asm+0x11/0x20
    
    When setup a vlan device on dev pim6reg, DAD ns packet may sent on reg_vif_xmit().
    reg_vif_xmit()
        ip6mr_cache_report()
            skb_push(skb, -skb_network_offset(pkt));//skb_network_offset(pkt) is 4
    And skb_push declared as:
    	void *skb_push(struct sk_buff *skb, unsigned int len);
    		skb->data -= len;
    		//0xffff88805f86a84c - 0xfffffffc = 0xffff887f5f86a850
    skb->data is set to 0xffff887f5f86a850, which is invalid mem addr, lead to skb_push() fails.
    
    Fixes: 14fb64e ("[IPV6] MROUTE: Support PIM-SM (SSM).")
    Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yue Haibing authored and davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    30e0191 View commit details
    Browse the repository at this point in the history
  13. vxlan: Fix nexthop hash size

    The nexthop code expects a 31 bit hash, such as what is returned by
    fib_multipath_hash() and rt6_multipath_hash(). Passing the 32 bit hash
    returned by skb_get_hash() can lead to problems related to the fact that
    'int hash' is a negative number when the MSB is set.
    
    In the case of hash threshold nexthop groups, nexthop_select_path_hthr()
    will disproportionately select the first nexthop group entry. In the case
    of resilient nexthop groups, nexthop_select_path_res() may do an out of
    bounds access in nh_buckets[], for example:
        hash = -912054133
        num_nh_buckets = 2
        bucket_index = 65535
    
    which leads to the following panic:
    
    BUG: unable to handle page fault for address: ffffc900025910c8
    PGD 100000067 P4D 100000067 PUD 10026b067 PMD 0
    Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI
    CPU: 4 PID: 856 Comm: kworker/4:3 Not tainted 6.5.0-rc2+ torvalds#34
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
    Workqueue: ipv6_addrconf addrconf_dad_work
    RIP: 0010:nexthop_select_path+0x197/0xbf0
    Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85
    RSP: 0018:ffff88810c36f260 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77
    RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8
    RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219
    R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0
    R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900
    FS:  0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffc900025910c8 CR3: 0000000129d00000 CR4: 0000000000750ee0
    PKRU: 55555554
    Call Trace:
     <TASK>
     ? __die+0x23/0x70
     ? page_fault_oops+0x1ee/0x5c0
     ? __pfx_is_prefetch.constprop.0+0x10/0x10
     ? __pfx_page_fault_oops+0x10/0x10
     ? search_bpf_extables+0xfe/0x1c0
     ? fixup_exception+0x3b/0x470
     ? exc_page_fault+0xf6/0x110
     ? asm_exc_page_fault+0x26/0x30
     ? nexthop_select_path+0x197/0xbf0
     ? nexthop_select_path+0x197/0xbf0
     ? lock_is_held_type+0xe7/0x140
     vxlan_xmit+0x5b2/0x2340
     ? __lock_acquire+0x92b/0x3370
     ? __pfx_vxlan_xmit+0x10/0x10
     ? __pfx___lock_acquire+0x10/0x10
     ? __pfx_register_lock_class+0x10/0x10
     ? skb_network_protocol+0xce/0x2d0
     ? dev_hard_start_xmit+0xca/0x350
     ? __pfx_vxlan_xmit+0x10/0x10
     dev_hard_start_xmit+0xca/0x350
     __dev_queue_xmit+0x513/0x1e20
     ? __pfx___dev_queue_xmit+0x10/0x10
     ? __pfx_lock_release+0x10/0x10
     ? mark_held_locks+0x44/0x90
     ? skb_push+0x4c/0x80
     ? eth_header+0x81/0xe0
     ? __pfx_eth_header+0x10/0x10
     ? neigh_resolve_output+0x215/0x310
     ? ip6_finish_output2+0x2ba/0xc90
     ip6_finish_output2+0x2ba/0xc90
     ? lock_release+0x236/0x3e0
     ? ip6_mtu+0xbb/0x240
     ? __pfx_ip6_finish_output2+0x10/0x10
     ? find_held_lock+0x83/0xa0
     ? lock_is_held_type+0xe7/0x140
     ip6_finish_output+0x1ee/0x780
     ip6_output+0x138/0x460
     ? __pfx_ip6_output+0x10/0x10
     ? __pfx___lock_acquire+0x10/0x10
     ? __pfx_ip6_finish_output+0x10/0x10
     NF_HOOK.constprop.0+0xc0/0x420
     ? __pfx_NF_HOOK.constprop.0+0x10/0x10
     ? ndisc_send_skb+0x2c0/0x960
     ? __pfx_lock_release+0x10/0x10
     ? __local_bh_enable_ip+0x93/0x110
     ? lock_is_held_type+0xe7/0x140
     ndisc_send_skb+0x4be/0x960
     ? __pfx_ndisc_send_skb+0x10/0x10
     ? mark_held_locks+0x65/0x90
     ? find_held_lock+0x83/0xa0
     ndisc_send_ns+0xb0/0x110
     ? __pfx_ndisc_send_ns+0x10/0x10
     addrconf_dad_work+0x631/0x8e0
     ? lock_acquire+0x180/0x3f0
     ? __pfx_addrconf_dad_work+0x10/0x10
     ? mark_held_locks+0x24/0x90
     process_one_work+0x582/0x9c0
     ? __pfx_process_one_work+0x10/0x10
     ? __pfx_do_raw_spin_lock+0x10/0x10
     ? mark_held_locks+0x24/0x90
     worker_thread+0x93/0x630
     ? __kthread_parkme+0xdc/0x100
     ? __pfx_worker_thread+0x10/0x10
     kthread+0x1a5/0x1e0
     ? __pfx_kthread+0x10/0x10
     ret_from_fork+0x34/0x60
     ? __pfx_kthread+0x10/0x10
     ret_from_fork_asm+0x1b/0x30
    RIP: 0000:0x0
    Code: Unable to access opcode bytes at 0xffffffffffffffd6.
    RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000
    RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
     </TASK>
    Modules linked in:
    CR2: ffffc900025910c8
    ---[ end trace 0000000000000000 ]---
    RIP: 0010:nexthop_select_path+0x197/0xbf0
    Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85
    RSP: 0018:ffff88810c36f260 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77
    RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8
    RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219
    R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0
    R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900
    FS:  0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffffffffffffd6 CR3: 0000000129d00000 CR4: 0000000000750ee0
    PKRU: 55555554
    Kernel panic - not syncing: Fatal exception in interrupt
    Kernel Offset: 0x2ca00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
    ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
    
    Fix this problem by ensuring the MSB of hash is 0 using a right shift - the
    same approach used in fib_multipath_hash() and rt6_multipath_hash().
    
    Fixes: 1274e1c ("vxlan: ecmp support for mac fdb entries")
    Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
    Reviewed-by: Ido Schimmel <idosch@nvidia.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    gobenji authored and davem330 committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0756384 View commit details
    Browse the repository at this point in the history
  14. wifi: brcmfmac: Fix field-spanning write in brcmf_scan_params_v2_to_v1()

    Using brcmfmac with 6.5-rc3 on a brcmfmac43241b4-sdio triggers
    a backtrace caused by the following field-spanning warning:
    
    memcpy: detected field-spanning write (size 120) of single field
      "&params_le->channel_list[0]" at
      drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1072 (size 2)
    
    The driver still works after this warning. The warning was introduced by the
    new field-spanning write checks which were enabled recently.
    
    Fix this by replacing the channel_list[1] declaration at the end of
    the struct with a flexible array declaration.
    
    Most users of struct brcmf_scan_params_le calculate the size to alloc
    using the size of the non flex-array part of the struct + needed extra
    space, so they do not care about sizeof(struct brcmf_scan_params_le).
    
    brcmf_notify_escan_complete() however uses the struct on the stack,
    expecting there to be room for at least 1 entry in the channel-list
    to store the special -1 abort channel-id.
    
    To make this work use an anonymous union with a padding member
    added + the actual channel_list flexible array.
    
    Cc: Kees Cook <keescook@chromium.org>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Franky Lin <franky.lin@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20230729140500.27892-1-hdegoede@redhat.com
    jwrdegoede authored and Kalle Valo committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    16e455a View commit details
    Browse the repository at this point in the history
  15. ASoC: fsl_micfil: Add new registers and new bit definition

    MICFIL IP is upgraded on i.MX93 platform. These new registers and new
    bit definition are added to complete the register list.
    
    Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
    Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
    Link: https://lore.kernel.org/r/20230802052117.1293029-2-chancel.liu@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chancel Liu authored and broonie committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    51d765f View commit details
    Browse the repository at this point in the history
  16. ASoC: fsl_micfil: Add fsl_micfil_use_verid function

    fsl_micfil_use_verid() can help to parse the version info in VERID and
    PARAM registers. Since the two registers are added only on i.MX93
    platform, a member flag called use_verid is introduced to soc data
    structure which indicates acquiring MICFIL version.
    
    Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
    Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
    Link: https://lore.kernel.org/r/20230802052117.1293029-3-chancel.liu@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chancel Liu authored and broonie committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    3673650 View commit details
    Browse the repository at this point in the history
  17. ASoC: fsl_micfil: Use SET_SYSTEM_SLEEP_PM_OPS to simplify PM

    Use SET_SYSTEM_SLEEP_PM_OPS to simplify suspend and resume function.
    fsl_micfil_suspend() and fsl_micfil_resume() can be deleted.
    
    Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
    Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
    Link: https://lore.kernel.org/r/20230802052117.1293029-4-chancel.liu@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Chancel Liu authored and broonie committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    a38a409 View commit details
    Browse the repository at this point in the history
  18. powerpc/powermac: Use early_* IO variants in via_calibrate_decr()

    On a powermac platform, via the call path:
    
      start_kernel()
        time_init()
          ppc_md.calibrate_decr() (pmac_calibrate_decr)
            via_calibrate_decr()
    
    ioremap() and iounmap() are called. The unmap can enable interrupts
    unexpectedly (cond_resched() in vunmap_pmd_range()), which causes a
    warning later in the boot sequence in start_kernel().
    
    Use the early_* variants of these IO functions to prevent this.
    
    The issue is pre-existing, but is surfaced by commit 721255b
    ("genirq: Use a maple tree for interrupt descriptor management").
    
    Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
    Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://msgid.link/20230706010816.72682-1-bgray@linux.ibm.com
    BenjaminGrayNp1 authored and mpe committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    86582e6 View commit details
    Browse the repository at this point in the history
  19. ALSA: hda: cs35l41: Print amp configuration after bind

    Print amp configuration information to be able to confirm ACPI
    _DSD information (and other useful info) for each amp on each
    system using CS35L41, without having to get the acpidump.
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230802121235.467358-1-sbinding@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Binding authored and tiwai committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    cfad53a View commit details
    Browse the repository at this point in the history
  20. word-at-a-time: use the same return type for has_zero regardless of e…

    …ndianness
    
    Compiling big-endian targets with Clang produces the diagnostic:
    
      fs/namei.c:2173:13: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
    	} while (!(has_zero(a, &adata, &constants) | has_zero(b, &bdata, &constants)));
    	          ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                   ||
      fs/namei.c:2173:13: note: cast one or both operands to int to silence this warning
    
    It appears that when has_zero was introduced, two definitions were
    produced with different signatures (in particular different return
    types).
    
    Looking at the usage in hash_name() in fs/namei.c, I suspect that
    has_zero() is meant to be invoked twice per while loop iteration; using
    logical-or would not update `bdata` when `a` did not have zeros.  So I
    think it's preferred to always return an unsigned long rather than a
    bool than update the while loop in hash_name() to use a logical-or
    rather than bitwise-or.
    
    [ Also changed powerpc version to do the same  - Linus ]
    
    Link: ClangBuiltLinux#1832
    Link: https://lore.kernel.org/lkml/20230801-bitwise-v1-1-799bec468dc4@google.com/
    Fixes: 36126f8 ("word-at-a-time: make the interfaces truly generic")
    Debugged-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Acked-by: Heiko Carstens <hca@linux.ibm.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    nickdesaulniers authored and torvalds committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    79e8328 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:
     "Three small fixes, all in drivers"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: pm80xx: Fix error return code in pm8001_pci_probe()
      scsi: zfcp: Defer fc_rport blocking until after ADISC response
      scsi: storvsc: Limit max_sectors for virtual Fibre Channel devices
    torvalds committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    79d65ee View commit details
    Browse the repository at this point in the history
  22. smb: client: fix dfs link mount against w2k8

    Customer reported that they couldn't mount their DFS link that was
    seen by the client as a DFS interlink -- special form of DFS link
    where its single target may point to a different DFS namespace -- and
    it turned out that it was just a regular DFS link where its referral
    header flags missed the StorageServers bit thus making the client
    think it couldn't tree connect to target directly without requiring
    further referrals.
    
    When the DFS link referral header flags misses the StoraServers bit
    and its target doesn't respond to any referrals, then tree connect to
    it.
    
    Fixes: a1c0d00 ("cifs: share dfs connections and supers")
    Cc: stable@vger.kernel.org
    Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    pcacjr authored and Steve French committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    11260c3 View commit details
    Browse the repository at this point in the history
  23. Merge tag 'exfat-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/linkinjeon/exfat
    
    Pull exfat fixes from Namjae Jeon:
    
     - Fix page allocation failure from allocation bitmap by using
       kvmalloc_array/kvfree
    
     - Add the check to validate if filename entries exceeds max filename
       length
    
     - Fix potential deadlock condition from dir_emit*()
    
    * tag 'exfat-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
      exfat: release s_lock before calling dir_emit()
      exfat: check if filename entries exceeds max filename length
      exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
    torvalds committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    4b95459 View commit details
    Browse the repository at this point in the history
  24. selftests/riscv: fix potential build failure during the "emit_tests" …

    …step
    
    The riscv selftests (which were modeled after the arm64 selftests) are
    improperly declaring the "emit_tests" target to depend upon the "all"
    target. This approach, when combined with commit 9fc96c7
    ("selftests: error out if kernel header files are not yet built"), has
    caused build failures [1] on arm64, and is likely to cause similar
    failures for riscv.
    
    To fix this, simply remove the unnecessary "all" dependency from the
    emit_tests target. The dependency is still effectively honored, because
    again, invocation is via "install", which also depends upon "all".
    
    An alternative approach would be to harden the emit_tests target so that
    it can depend upon "all", but that's a lot more complicated and hard to
    get right, and doesn't seem worth it, especially given that emit_tests
    should probably not be overridden at all.
    
    [1] https://lore.kernel.org/20230710-kselftest-fix-arm64-v1-1-48e872844f25@kernel.org
    
    Fixes: 9fc96c7 ("selftests: error out if kernel header files are not yet built")
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com>
    Link: https://lore.kernel.org/r/20230712193514.740033-1-jhubbard@nvidia.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
    johnhubbard authored and palmer-dabbelt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8c82d2b View commit details
    Browse the repository at this point in the history
  25. selftests: riscv: Fix compilation error with vstate_exec_nolibc.c

    The following error happens:
    
    In file included from vstate_exec_nolibc.c:2:
    /usr/include/riscv64-linux-gnu/sys/prctl.h:42:12: error: conflicting types for ‘prctl’; h
    ave ‘int(int, ...)’
       42 | extern int prctl (int __option, ...) __THROW;
          |            ^~~~~
    In file included from ./../../../../include/nolibc/nolibc.h:99,
                     from <command-line>:
    ./../../../../include/nolibc/sys.h:892:5: note: previous definition of ‘prctl’ with type
    ‘int(int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)
    ’
      892 | int prctl(int option, unsigned long arg2, unsigned long arg3,
          |     ^~~~~
    
    Fix this by not including <sys/prctl.h>, which is not needed here since
    prctl syscall is directly called using its number.
    
    Fixes: 7cf6198 ("selftests: Test RISC-V Vector prctl interface")
    Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
    Link: https://lore.kernel.org/r/20230713115829.110421-1-alexghiti@rivosinc.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
    Alexandre Ghiti authored and palmer-dabbelt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    2569606 View commit details
    Browse the repository at this point in the history
  26. RISC-V: ACPI: Fix acpi_os_ioremap to return iomem address

    acpi_os_ioremap() currently is a wrapper to memremap() on
    RISC-V. But the callers of acpi_os_ioremap() expect it to
    return __iomem address and hence sparse tool reports a new
    warning. Fix this issue by type casting to  __iomem type.
    
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202307230357.egcTAefj-lkp@intel.com/
    Fixes: a91a9ff ("RISC-V: Add support to build the ACPI core")
    Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
    Link: https://lore.kernel.org/r/20230724100346.1302937-1-sunilvl@ventanamicro.com
    Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
    vlsunil authored and palmer-dabbelt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    568701f View commit details
    Browse the repository at this point in the history
  27. riscv: Export va_kernel_pa_offset in vmcoreinfo

    Since RISC-V Linux v6.4, the commit 3335068 ("riscv: Use
    PUD/P4D/PGD pages for the linear mapping") changes phys_ram_base
    from the physical start of the kernel to the actual start of the DRAM.
    
    The Crash-utility's VTOP() still uses phys_ram_base and kernel_map.virt_addr
    to translate kernel virtual address, that failed the Crash with Linux v6.4 [1].
    
    Export kernel_map.va_kernel_pa_offset in vmcoreinfo to help Crash translate
    the kernel virtual address correctly.
    
    Fixes: 3335068 ("riscv: Use PUD/P4D/PGD pages for the linear mapping")
    Link: https://lore.kernel.org/linux-riscv/20230724040649.220279-1-suagrfillet@gmail.com/ [1]
    Signed-off-by: Song Shuai <suagrfillet@gmail.com>
    Reviewed-by: Xianting Tian  <xianting.tian@linux.alibaba.com>
    Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
    Link: https://lore.kernel.org/r/20230724100917.309061-1-suagrfillet@gmail.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
    Song Shuai authored and palmer-dabbelt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    fbe7d19 View commit details
    Browse the repository at this point in the history
  28. Documentation: kdump: Add va_kernel_pa_offset for RISCV64

    RISC-V Linux exports "va_kernel_pa_offset" in vmcoreinfo to help
    Crash-utility translate the kernel virtual address correctly.
    
    Here adds the definition of "va_kernel_pa_offset".
    
    Fixes: 3335068 ("riscv: Use PUD/P4D/PGD pages for the linear mapping")
    Link: https://lore.kernel.org/linux-riscv/20230724040649.220279-1-suagrfillet@gmail.com/
    Signed-off-by: Song Shuai <suagrfillet@gmail.com>
    Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
    Link: https://lore.kernel.org/r/20230724100917.309061-2-suagrfillet@gmail.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
    Song Shuai authored and palmer-dabbelt committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    640c503 View commit details
    Browse the repository at this point in the history
  29. x86/hyperv: add noop functions to x86_init mpparse functions

    Hyper-V can run VMs at different privilege "levels" known as Virtual
    Trust Levels (VTL). Sometimes, it chooses to run two different VMs
    at different levels but they share some of their address space. In
    such setups VTL2 (higher level VM) has visibility of all of the
    VTL0 (level 0) memory space.
    
    When the CONFIG_X86_MPPARSE is enabled for VTL2, the VTL2 kernel
    performs a search within the low memory to locate MP tables. However,
    in systems where VTL0 manages the low memory and may contain valid
    tables, this scanning can result in incorrect MP table information
    being provided to the VTL2 kernel, mistakenly considering VTL0's MP
    table as its own
    
    Add noop functions to avoid MP parse scan by VTL2.
    
    Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
    Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
    Link: https://lore.kernel.org/r/1687537688-5397-1-git-send-email-ssengar@linux.microsoft.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Saurabh Sengar authored and liuw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9e2d0c3 View commit details
    Browse the repository at this point in the history
  30. Drivers: hv: vmbus: Remove unused extern declaration vmbus_ontimer()

    Since commit 30fbee4 ("Staging: hv: vmbus: Get rid of the unused function vmbus_ontimer()")
    this is not used anymore, so can remove it.
    
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    Link: https://lore.kernel.org/r/20230725142108.27280-1-yuehaibing@huawei.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    YueHaibing authored and liuw committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    6ad0f2f View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Merge tag 'bitmap-6.5-rc5' of https://github.com:/norov/linux

    Pull bitmap fixes from Yury Norov:
    
     - Fix for bitmap documentation
    
     - Fix for kernel build under certain configurations
    
    * tag 'bitmap-6.5-rc5' of https://github.com:/norov/linux:
      lib/bitmap: workaround const_eval test build failure
      cpumask: eliminate kernel-doc warnings
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    a4e98a3 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'soc-fixes-6.5-2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/soc/soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "A couple of platforms get a lone dts fix each:
    
       - SoCFPGA: Fix incorrect I2C property for SCL signal
    
       - Renesas: Fix interrupt names for MTU3 channels on RZ/G2L and
         RZ/V2L.
    
       - Juno/Vexpress: remove a dangling symlink
    
       - at91: sam9x60 SoC detection compatible strings
    
       - nspire: Fix arm primecell compatible string
    
      On the NXP i.MX platform, there multiple issues that get addressed:
    
       - A couple of ARM DTS fixes for i.MX6SLL usbphy and supported CPU
         frequency of sk-imx53 board
    
       - Add missing pull-up for imx8mn-var-som onboard PHY reset pinmux
    
       - A couple of imx8mm-venice fixes from Tim Harvey to diable
         disp_blk_ctrl
    
       - A couple of phycore-imx8mm fixes from Yashwanth Varakala to correct
         VPU label and gpio-line-names
    
       - Fix imx8mp-blk-ctrl driver to register HSIO PLL clock as
         bus_power_dev child, so that runtime PM can translate into the
         necessary GPC power domain action
    
      On the driver side, there are two fixes for tegra memory controller
      drivers addressing regressions from the merge window, a couple of
      minor correctness fixes for SCMI and SMCCC firmware, as well as a
      build fix for an lcd backlight driver"
    
    * tag 'soc-fixes-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (22 commits)
      backlight: corgi_lcd: fix missing prototype
      memory: tegra: make icc_set_bw return zero if BWMGR not supported
      arm64: dts: renesas: rzg2l: Update overfow/underflow IRQ names for MTU3 channels
      dt-bindings: serial: atmel,at91-usart: update compatible for sam9x60
      ARM: dts: at91: sam9x60: fix the SOC detection
      ARM: dts: nspire: Fix arm primecell compatible string
      firmware: arm_scmi: Fix chan_free cleanup on SMC
      firmware: arm_scmi: Drop OF node reference in the transport channel setup
      soc: imx: imx8mp-blk-ctrl: register HSIO PLL clock as bus_power_dev child
      ARM: dts: nxp/imx: limit sk-imx53 supported frequencies
      firmware: arm_scmi: Fix signed error return values handling
      firmware: smccc: Fix use of uninitialised results structure
      arm64: dts: freescale: Fix VPU G2 clock
      arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux
      arm64: dts: phycore-imx8mm: Correction in gpio-line-names
      arm64: dts: phycore-imx8mm: Label typo-fix of VPU
      ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
      arm64: dts: imx8mm-venice-gw7904: disable disp_blk_ctrl
      arm64: dts: imx8mm-venice-gw7903: disable disp_blk_ctrl
      arm64: dts: arm: Remove the dangling vexpress-v2m-rs1.dtsi symlink
      ...
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    ec351c8 View commit details
    Browse the repository at this point in the history
  3. net/mlx5: fs_core: Make find_closest_ft more generic

    As find_closest_ft_recursive is called to find the closest FT, the
    first parameter of find_closest_ft can be changed from fs_prio to
    fs_node. Thus this function is extended to find the closest FT for the
    nodes of any type, not only prios, but also the sub namespaces.
    
    Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/d3962c2b443ec8dde7a740dc742a1f052d5e256c.1690803944.git.leonro@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jianbo Liu authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    618d28a View commit details
    Browse the repository at this point in the history
  4. net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio

    In the cited commit, new type of FS_TYPE_PRIO_CHAINS fs_prio was added
    to support multiple parallel namespaces for multi-chains. And we skip
    all the flow tables under the fs_node of this type unconditionally,
    when searching for the next or previous flow table to connect for a
    new table.
    
    As this search function is also used for find new root table when the
    old one is being deleted, it will skip the entire FS_TYPE_PRIO_CHAINS
    fs_node next to the old root. However, new root table should be chosen
    from it if there is any table in it. Fix it by skipping only the flow
    tables in the same FS_TYPE_PRIO_CHAINS fs_node when finding the
    closest FT for a fs_node.
    
    Besides, complete the connecting from FTs of previous priority of prio
    because there should be multiple prevs after this fs_prio type is
    introduced. And also the next FT should be chosen from the first flow
    table next to the prio in the same FS_TYPE_PRIO_CHAINS fs_prio, if
    this prio is the first child.
    
    Fixes: 328edb4 ("net/mlx5: Split FDB fast path prio to multiple namespaces")
    Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
    Reviewed-by: Paul Blakey <paulb@nvidia.com>
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/7a95754df479e722038996c97c97b062b372591f.1690803944.git.leonro@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jianbo Liu authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    c635ca4 View commit details
    Browse the repository at this point in the history
  5. net/mlx5e: Set proper IPsec source port in L4 selector

    Fix typo in setup_fte_upper_proto_match() where destination UDP port
    was used instead of source port.
    
    Fixes: a738518 ("net/mlx5e: IPsec, support upper protocol selector field offload")
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/ffc024a4d192113103f392b0502688366ca88c1f.1690803944.git.leonro@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    rleon authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    62da083 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'mlx5-ipsec-fixes'

    Leon Romanovsky says:
    
    ====================
    mlx5 IPsec fixes
    
    The following patches are combination of Jianbo's work on IPsec eswitch mode
    together with our internal review toward addition of TCP protocol selectors
    support to IPSec packet offload.
    
    Despite not-being fix, the first patch helps us to make second one more
    clear, so I'm asking to apply it anyway as part of this series.
    ====================
    
    Link: https://lore.kernel.org/r/cover.1690803944.git.leonro@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    a2d9831 View commit details
    Browse the repository at this point in the history
  7. udp: Fix __ip_append_data()'s handling of MSG_SPLICE_PAGES

    __ip_append_data() can get into an infinite loop when asked to splice into
    a partially-built UDP message that has more than the frag-limit data and up
    to the MTU limit.  Something like:
    
            pipe(pfd);
            sfd = socket(AF_INET, SOCK_DGRAM, 0);
            connect(sfd, ...);
            send(sfd, buffer, 8161, MSG_CONFIRM|MSG_MORE);
            write(pfd[1], buffer, 8);
            splice(pfd[0], 0, sfd, 0, 0x4ffe0ul, 0);
    
    where the amount of data given to send() is dependent on the MTU size (in
    this instance an interface with an MTU of 8192).
    
    The problem is that the calculation of the amount to copy in
    __ip_append_data() goes negative in two places, and, in the second place,
    this gets subtracted from the length remaining, thereby increasing it.
    
    This happens when pagedlen > 0 (which happens for MSG_ZEROCOPY and
    MSG_SPLICE_PAGES), because the terms in:
    
            copy = datalen - transhdrlen - fraggap - pagedlen;
    
    then mostly cancel when pagedlen is substituted for, leaving just -fraggap.
    This causes:
    
            length -= copy + transhdrlen;
    
    to increase the length to more than the amount of data in msg->msg_iter,
    which causes skb_splice_from_iter() to be unable to fill the request and it
    returns less than 'copied' - which means that length never gets to 0 and we
    never exit the loop.
    
    Fix this by:
    
     (1) Insert a note about the dodgy calculation of 'copy'.
    
     (2) If MSG_SPLICE_PAGES, clear copy if it is negative from the above
         equation, so that 'offset' isn't regressed and 'length' isn't
         increased, which will mean that length and thus copy should match the
         amount left in the iterator.
    
     (3) When handling MSG_SPLICE_PAGES, give a warning and return -EIO if
         we're asked to splice more than is in the iterator.  It might be
         better to not give the warning or even just give a 'short' write.
    
    [!] Note that this ought to also affect MSG_ZEROCOPY, but MSG_ZEROCOPY
    avoids the problem by simply assuming that everything asked for got copied,
    not just the amount that was in the iterator.  This is a potential bug for
    the future.
    
    Fixes: 7ac7c98 ("udp: Convert udp_sendpage() to use MSG_SPLICE_PAGES")
    Reported-by: syzbot+f527b971b4bdc8e79f9e@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/r/000000000000881d0606004541d1@google.com/
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: David Ahern <dsahern@kernel.org>
    cc: Jens Axboe <axboe@kernel.dk>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Link: https://lore.kernel.org/r/1420063.1690904933@warthog.procyon.org.uk
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    dhowells authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    0f71c9c View commit details
    Browse the repository at this point in the history
  8. ASoC: mediatek: mt8186: Remove unused mutex.

    The mutex mutex_request_dram has no user.
    
    Remove mutex_request_dram.
    
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Link: https://lore.kernel.org/r/20230803083908.9DxbPvOK@linutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Sebastian Andrzej Siewior authored and broonie committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    248c74b View commit details
    Browse the repository at this point in the history
  9. parisc/mm: preallocate fixmap page tables at init

    Christoph Biedl reported early OOM on recent kernels:
    
        swapper: page allocation failure: order:0, mode:0x100(__GFP_ZERO),
    nodemask=(null)
        CPU: 0 PID: 0 Comm: swapper Not tainted 6.3.0-rc4+ #16
        Hardware name: 9000/785/C3600
        Backtrace:
         [<10408594>] show_stack+0x48/0x5c
         [<10e152d8>] dump_stack_lvl+0x48/0x64
         [<10e15318>] dump_stack+0x24/0x34
         [<105cf7f8>] warn_alloc+0x10c/0x1c8
         [<105d068c>] __alloc_pages+0xbbc/0xcf8
         [<105d0e4c>] __get_free_pages+0x28/0x78
         [<105ad10c>] __pte_alloc_kernel+0x30/0x98
         [<10406934>] set_fixmap+0xec/0xf4
         [<10411ad4>] patch_map.constprop.0+0xa8/0xdc
         [<10411bb0>] __patch_text_multiple+0xa8/0x208
         [<10411d78>] patch_text+0x30/0x48
         [<1041246c>] arch_jump_label_transform+0x90/0xcc
         [<1056f734>] jump_label_update+0xd4/0x184
         [<1056fc9c>] static_key_enable_cpuslocked+0xc0/0x110
         [<1056fd08>] static_key_enable+0x1c/0x2c
         [<1011362c>] init_mem_debugging_and_hardening+0xdc/0xf8
         [<1010141c>] start_kernel+0x5f0/0xa98
         [<10105da8>] start_parisc+0xb8/0xe4
    
        Mem-Info:
        active_anon:0 inactive_anon:0 isolated_anon:0
         active_file:0 inactive_file:0 isolated_file:0
         unevictable:0 dirty:0 writeback:0
         slab_reclaimable:0 slab_unreclaimable:0
         mapped:0 shmem:0 pagetables:0
         sec_pagetables:0 bounce:0
         kernel_misc_reclaimable:0
         free:0 free_pcp:0 free_cma:0
        Node 0 active_anon:0kB inactive_anon:0kB active_file:0kB
    inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
    mapped:0kB dirty:0kB writeback:0kB shmem:0kB
    +writeback_tmp:0kB kernel_stack:0kB pagetables:0kB sec_pagetables:0kB
    all_unreclaimable? no
        Normal free:0kB boost:0kB min:0kB low:0kB high:0kB
    reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB
    inactive_file:0kB unevictable:0kB writepending:0kB
    +present:1048576kB managed:1039360kB mlocked:0kB bounce:0kB free_pcp:0kB
    local_pcp:0kB free_cma:0kB
        lowmem_reserve[]: 0 0
        Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB
    0*1024kB 0*2048kB 0*4096kB = 0kB
        0 total pagecache pages
        0 pages in swap cache
        Free swap  = 0kB
        Total swap = 0kB
        262144 pages RAM
        0 pages HighMem/MovableOnly
        2304 pages reserved
        Backtrace:
         [<10411d78>] patch_text+0x30/0x48
         [<1041246c>] arch_jump_label_transform+0x90/0xcc
         [<1056f734>] jump_label_update+0xd4/0x184
         [<1056fc9c>] static_key_enable_cpuslocked+0xc0/0x110
         [<1056fd08>] static_key_enable+0x1c/0x2c
         [<1011362c>] init_mem_debugging_and_hardening+0xdc/0xf8
         [<1010141c>] start_kernel+0x5f0/0xa98
         [<10105da8>] start_parisc+0xb8/0xe4
    
        Kernel Fault: Code=15 (Data TLB miss fault) at addr 0f7fe3c0
        CPU: 0 PID: 0 Comm: swapper Not tainted 6.3.0-rc4+ #16
        Hardware name: 9000/785/C3600
    
    This happens because patching static key code temporarily maps it via
    fixmap and if it happens before page allocator is initialized set_fixmap()
    cannot allocate memory using pte_alloc_kernel().
    
    Make sure that fixmap page tables are preallocated early so that
    pte_offset_kernel() in set_fixmap() never resorts to pte allocation.
    
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Tested-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
    Tested-by: John David Anglin <dave.anglin@bell.net>
    Cc: <stable@vger.kernel.org> # v6.4+
    rppt authored and hdeller committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    c2ff2b7 View commit details
    Browse the repository at this point in the history
  10. parisc: pci-dma: remove unused and dead EISA code and comment

    Clearly, this code isn't needed, but it gives a false positive when
    grepping the complete source tree for coherent_dma_mask.
    
    Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Petr Tesarik authored and hdeller committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    ce9ff57 View commit details
    Browse the repository at this point in the history
  11. parport: gsc: remove DMA leftover code

    This driver does not actually work with DMA mode, but still tries
    to call ISA DMA interface functions that are stubbed out on
    parisc, resulting in a W=1 build warning:
    
    drivers/parport/parport_gsc.c: In function 'parport_remove_chip':
    drivers/parport/parport_gsc.c:389:20: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      389 |    free_dma(p->dma);
    
    Remove the corresponding code as a prerequisite for turning on -Wempty-body
    by default in all kernels.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Helge Deller <deller@gmx.de>
    arndb authored and hdeller committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    2e1b1d7 View commit details
    Browse the repository at this point in the history
  12. parisc: unaligned: Add required spaces after ','

    Fix checkpatch warnings:
    unaligned.c:475: ERROR: space required after that ','
    
    Signed-off-by: Yu Han <hanyu001@208suo.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    hanyu001@208suo.com authored and hdeller committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    99b2f15 View commit details
    Browse the repository at this point in the history
  13. ASoC: fsl: micfil: Use dual license micfil code

    We need this in order to easily reuse register definitions
    and some functions with Sound Open Firmware driver.
    
    According to Documentation/process/license-rules.rst:
        "Dual BSD/GPL"	The module is dual licensed under a GPL v2
    			variant or BSD license choice. The exact
    			variant of the BSD license can only be
    			determined via the license information
    			in the corresponding source files.
    
    so use "Dual BSD/GPL" for license string.
    
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
    Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
    Link: https://lore.kernel.org/r/20230803072638.640789-1-daniel.baluta@oss.nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    dbaluta authored and broonie committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    f803ec6 View commit details
    Browse the repository at this point in the history
  14. arm64/fpsimd: Clear SME state in the target task when setting the VL

    When setting SME vector lengths we clear TIF_SME to reenable SME traps,
    doing a reallocation of the backing storage on next use. We do this using
    clear_thread_flag() which operates on the current thread, meaning that when
    setting the vector length via ptrace we may both not force traps for the
    target task and force a spurious flush of any SME state that the tracing
    task may have.
    
    Clear the flag in the target task.
    
    Fixes: e12310a ("arm64/sme: Implement ptrace support for streaming mode SVE registers")
    Reported-by: David Spickett <David.Spickett@arm.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-tif-sme-v1-1-88312fd6fbfd@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    broonie authored and ctmarinas committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    c9bb40b View commit details
    Browse the repository at this point in the history
  15. arm64/ptrace: Flush FP state when setting ZT0

    When setting ZT0 via ptrace we do not currently force a reload of the
    floating point register state from memory, do that to ensure that the newly
    set value gets loaded into the registers on next task execution.
    
    The function was templated off the function for FPSIMD which due to our
    providing the option of embedding a FPSIMD regset within the SVE regset
    does not directly include the flush.
    
    Fixes: f90b529 ("arm64/sme: Implement ZT0 ptrace support")
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-zt0-flush-v1-1-72e854eaf96e@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    broonie authored and ctmarinas committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    89a65c3 View commit details
    Browse the repository at this point in the history
  16. Merge tag 's390-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/s390/linux
    
    Pull s390 fixes from Heiko Carstens:
    
     - Split kernel large page mappings into 4k mappings in case debug
       pagealloc is enabled again. This got accidentally removed by commit
       bb1520d ("s390/mm: start kernel with DAT enabled")
    
     - Fix error handling in KVM's sthyi handling
    
     - Add missing include to s390's uapi ptrace.h
    
     - Update defconfigs
    
    * tag 's390-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/ptrace: add missing linux/const.h include
      KVM: s390: fix sthyi error handling
      s390: update defconfigs
      s390/vmem: split pages when debug pagealloc is enabled
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    5e0ba14 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'erofs-for-6.5-rc5-fixes' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/xiang/erofs
    
    Pull erofs fixes from Gao Xiang:
    
     - Fix data corruption caused by insufficient decompression on
       deduplicated compressed extents
    
     - Drop a useless s_magic checking in erofs_kill_sb()
    
    * tag 'erofs-for-6.5-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
      erofs: drop unnecessary WARN_ON() in erofs_kill_sb()
      erofs: fix wrong primary bvec selection on deduplicated extents
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    556c942 View commit details
    Browse the repository at this point in the history
  18. Merge tag 'nfsd-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/cel/linux
    
    Pull nfsd fix from Chuck Lever:
    
     - Fix tmpfs splice read support
    
    * tag 'nfsd-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
      nfsd: Fix reading via splice
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    7bafbd4 View commit details
    Browse the repository at this point in the history
  19. ASoC: soc-acpi: Add missing kernel doc

    The UID field in snd_soc_acpi_link_adr is not documented, add kernel doc
    for it.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230803162312.117771-1-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    9f0d4d4 View commit details
    Browse the repository at this point in the history
  20. prestera: fix fallback to previous version on same major version

    When both supported and previous version have the same major version,
    and the firmwares are missing, the driver ends in a loop requesting the
    same (previous) version over and over again:
    
        [   76.327413] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
        [   76.339802] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.352162] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.364502] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.376848] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.389183] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.401522] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.413860] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        [   76.426199] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.0.img firmware, fall-back to previous 4.0 version
        ...
    
    Fix this by inverting the check to that we aren't yet at the previous
    version, and also check the minor version.
    
    This also catches the case where both versions are the same, as it was
    after commit bb5dbf2 ("net: marvell: prestera: add firmware v4.0
    support").
    
    With this fix applied:
    
        [   88.499622] Prestera DX 0000:01:00.0: missing latest mrvl/prestera/mvsw_prestera_fw-v4.1.img firmware, fall-back to previous 4.0 version
        [   88.511995] Prestera DX 0000:01:00.0: failed to request previous firmware: mrvl/prestera/mvsw_prestera_fw-v4.0.img
        [   88.522403] Prestera DX: probe of 0000:01:00.0 failed with error -2
    
    Fixes: 47f2601 ("net: marvell: prestera: try to load previous fw version")
    Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
    Acked-by: Elad Nachman <enachman@marvell.com>
    Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Acked-by: Taras Chornyi <taras.chornyi@plvision.eu>
    Link: https://lore.kernel.org/r/20230802092357.163944-1-jonas.gorski@bisdn.de
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    KanjiMonster authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    b755c25 View commit details
    Browse the repository at this point in the history
  21. tcp_metrics: fix addr_same() helper

    Because v4 and v6 families use separate inetpeer trees (respectively
    net->ipv4.peers and net->ipv6.peers), inetpeer_addr_cmp(a, b) assumes
    a & b share the same family.
    
    tcp_metrics use a common hash table, where entries can have different
    families.
    
    We must therefore make sure to not call inetpeer_addr_cmp()
    if the families do not match.
    
    Fixes: d39d14f ("net: Add helper function to compare inetpeer addresses")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230802131500.1478140-2-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    e663809 View commit details
    Browse the repository at this point in the history
  22. tcp_metrics: annotate data-races around tm->tcpm_stamp

    tm->tcpm_stamp can be read or written locklessly.
    
    Add needed READ_ONCE()/WRITE_ONCE() to document this.
    
    Also constify tcpm_check_stamp() dst argument.
    
    Fixes: 51c5d0c ("tcp: Maintain dynamic metrics in local cache.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230802131500.1478140-3-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    949ad62 View commit details
    Browse the repository at this point in the history
  23. tcp_metrics: annotate data-races around tm->tcpm_lock

    tm->tcpm_lock can be read or written locklessly.
    
    Add needed READ_ONCE()/WRITE_ONCE() to document this.
    
    Fixes: 51c5d0c ("tcp: Maintain dynamic metrics in local cache.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230802131500.1478140-4-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    285ce11 View commit details
    Browse the repository at this point in the history
  24. tcp_metrics: annotate data-races around tm->tcpm_vals[]

    tm->tcpm_vals[] values can be read or written locklessly.
    
    Add needed READ_ONCE()/WRITE_ONCE() to document this,
    and force use of tcp_metric_get() and tcp_metric_set()
    
    Fixes: 51c5d0c ("tcp: Maintain dynamic metrics in local cache.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    8c4d04f View commit details
    Browse the repository at this point in the history
  25. tcp_metrics: annotate data-races around tm->tcpm_net

    tm->tcpm_net can be read or written locklessly.
    
    Instead of changing write_pnet() and read_pnet() and potentially
    hurt performance, add the needed READ_ONCE()/WRITE_ONCE()
    in tm_net() and tcpm_new().
    
    Fixes: 849e8a0 ("tcp_metrics: Add a field tcpm_net and verify it matches on lookup")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230802131500.1478140-6-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    d5d986c View commit details
    Browse the repository at this point in the history
  26. tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen

    Whenever tcpm_new() reclaims an old entry, tcpm_suck_dst()
    would overwrite data that could be read from tcp_fastopen_cache_get()
    or tcp_metrics_fill_info().
    
    We need to acquire fastopen_seqlock to maintain consistency.
    
    For newly allocated objects, tcpm_new() can switch to kzalloc()
    to avoid an extra fastopen_seqlock acquisition.
    
    Fixes: 1fe4c48 ("net-tcp: Fast Open client - cookie cache")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20230802131500.1478140-7-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    ddf251f View commit details
    Browse the repository at this point in the history
  27. Merge branch 'tcp_metrics-series-of-fixes'

    Eric Dumazet says:
    
    ====================
    tcp_metrics: series of fixes
    
    This series contains a fix for addr_same() and various
    data-race annotations.
    
    We still have to address races over tm->tcpm_saddr and
    tm->tcpm_daddr later.
    ====================
    
    Link: https://lore.kernel.org/r/20230802131500.1478140-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    374297e View commit details
    Browse the repository at this point in the history
  28. test/vsock: remove vsock_perf executable on make clean

    We forgot to add vsock_perf to the rm command in the `clean`
    target, so now we have a left over after `make clean` in
    tools/testing/vsock.
    
    Fixes: 8abbffd ("test/vsock: vsock_perf utility")
    Cc: AVKrasnov@sberdevices.ru
    Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Tested-by: Simon Horman <horms@kernel.org> # build-tested
    Link: https://lore.kernel.org/r/20230803085454.30897-1-sgarzare@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    stefano-garzarella authored and kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    3c50c8b View commit details
    Browse the repository at this point in the history
  29. Merge tag 'wireless-2023-08-03' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/wireless/wireless
    
    Kalle Valo says:
    
    ====================
    wireless fixes for v6.5
    
    We did some house cleaning in MAINTAINERS file so several patches
    about that. Few regressions fixed and also fix some recently enabled
    memcpy() warnings. Only small commits and nothing special standing
    out.
    
    * tag 'wireless-2023-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:
      wifi: brcmfmac: Fix field-spanning write in brcmf_scan_params_v2_to_v1()
      wifi: ray_cs: Replace 1-element array with flexible array
      MAINTAINERS: add Jeff as ath10k, ath11k and ath12k maintainer
      MAINTAINERS: wifi: mark mlw8k as orphan
      MAINTAINERS: wifi: mark b43 as orphan
      MAINTAINERS: wifi: mark zd1211rw as orphan
      MAINTAINERS: wifi: mark wl3501 as orphan
      MAINTAINERS: wifi: mark rndis_wlan as orphan
      MAINTAINERS: wifi: mark ar5523 as orphan
      MAINTAINERS: wifi: mark cw1200 as orphan
      MAINTAINERS: wifi: atmel: mark as orphan
      MAINTAINERS: wifi: rtw88: change Ping as the maintainer
      Revert "wifi: ath6k: silence false positive -Wno-dangling-pointer warning on GCC 12"
      wifi: cfg80211: Fix return value in scan logic
      Revert "wifi: ath11k: Enable threaded NAPI"
      MAINTAINERS: Update mwifiex maintainer list
      wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)
    ====================
    
    Link: https://lore.kernel.org/r/20230803140058.57476C433C9@smtp.kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    0d48a84 View commit details
    Browse the repository at this point in the history
  30. Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel…

    …/git/bpf/bpf
    
    Martin KaFai Lau says:
    
    ====================
    pull-request: bpf 2023-08-03
    
    We've added 5 non-merge commits during the last 7 day(s) which contain
    a total of 3 files changed, 37 insertions(+), 20 deletions(-).
    
    The main changes are:
    
    1) Disable preemption in perf_event_output helpers code,
       from Jiri Olsa
    
    2) Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing,
       from Lin Ma
    
    3) Multiple warning splat fixes in cpumap from Hou Tao
    
    * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
      bpf, cpumap: Handle skb as well when clean up ptr_ring
      bpf, cpumap: Make sure kthread is running before map update returns
      bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
      bpf: Disable preemption in bpf_event_output
      bpf: Disable preemption in bpf_perf_event_output
    ====================
    
    Link: https://lore.kernel.org/r/20230803181429.994607-1-martin.lau@linux.dev
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    3932f22 View commit details
    Browse the repository at this point in the history
  31. MAINTAINERS: update TUN/TAP maintainers

    Willem and Jason have agreed to take over the maintainer
    duties for TUN/TAP, thank you!
    
    There's an existing entry for TUN/TAP which only covers
    the user mode Linux implementation.
    Since we haven't heard from Maxim on the list for almost
    a decade, extend that entry and take it over, rather than
    adding a new one.
    
    Acked-by: Willem de Bruijn <willemb@google.com>
    Acked-by: Jason Wang <jasowang@redhat.com>
    Link: https://lore.kernel.org/r/20230802182843.4193099-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    0765c5f View commit details
    Browse the repository at this point in the history
  32. Merge tag 'net-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Including fixes from bpf and wireless.
    
      Nothing scary here. Feels like the first wave of regressions from v6.5
      is addressed - one outstanding fix still to come in TLS for the
      sendpage rework.
    
      Current release - regressions:
    
       - udp: fix __ip_append_data()'s handling of MSG_SPLICE_PAGES
    
       - dsa: fix older DSA drivers using phylink
    
      Previous releases - regressions:
    
       - gro: fix misuse of CB in udp socket lookup
    
       - mlx5: unregister devlink params in case interface is down
    
       - Revert "wifi: ath11k: Enable threaded NAPI"
    
      Previous releases - always broken:
    
       - sched: cls_u32: fix match key mis-addressing
    
       - sched: bind logic fixes for cls_fw, cls_u32 and cls_route
    
       - add bound checks to a number of places which hand-parse netlink
    
       - bpf: disable preemption in perf_event_output helpers code
    
       - qed: fix scheduling in a tasklet while getting stats
    
       - avoid using APIs which are not hardirq-safe in couple of drivers,
         when we may be in a hard IRQ (netconsole)
    
       - wifi: cfg80211: fix return value in scan logic, avoid page
         allocator warning
    
       - wifi: mt76: mt7615: do not advertise 5 GHz on first PHY of MT7615D
         (DBDC)
    
      Misc:
    
       - drop handful of inactive maintainers, put some new in place"
    
    * tag 'net-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (98 commits)
      MAINTAINERS: update TUN/TAP maintainers
      test/vsock: remove vsock_perf executable on `make clean`
      tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
      tcp_metrics: annotate data-races around tm->tcpm_net
      tcp_metrics: annotate data-races around tm->tcpm_vals[]
      tcp_metrics: annotate data-races around tm->tcpm_lock
      tcp_metrics: annotate data-races around tm->tcpm_stamp
      tcp_metrics: fix addr_same() helper
      prestera: fix fallback to previous version on same major version
      udp: Fix __ip_append_data()'s handling of MSG_SPLICE_PAGES
      net/mlx5e: Set proper IPsec source port in L4 selector
      net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio
      net/mlx5: fs_core: Make find_closest_ft more generic
      wifi: brcmfmac: Fix field-spanning write in brcmf_scan_params_v2_to_v1()
      vxlan: Fix nexthop hash size
      ip6mr: Fix skb_under_panic in ip6mr_cache_report()
      s390/qeth: Don't call dev_close/dev_open (DOWN/UP)
      net: tap_open(): set sk_uid from current_fsuid()
      net: tun_chr_open(): set sk_uid from current_fsuid()
      net: dcb: choose correct policy to parse DCB_ATTR_BCN
      ...
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    999f663 View commit details
    Browse the repository at this point in the history
  33. Merge tag 'cxl-fixes-6.5-rc5' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/cxl/cxl
    
    Pull cxl fixes from Vishal Verma:
    
     - Fixup the Sanitixe device ABI that was merged for v6.5 to hide some
       sysfs files when the necessary support is missing. Update the ABI
       documentation around this as well.
    
    * tag 'cxl-fixes-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
      cxl/memdev: Only show sanitize sysfs files when supported
      cxl/memdev: Document security state in kern-doc
      cxl/memdev: Improve sanitize ABI descriptions
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    638c191 View commit details
    Browse the repository at this point in the history
  34. Merge tag 'perf-tools-fixes-for-v6.5-2-2023-08-03' of git://git.kerne…

    …l.org/pub/scm/linux/kernel/git/perf/perf-tools
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Fix segfault in the powerpc specific arch_skip_callchain_idx
       function. The patch doing the reference count init/exit that went
       into 6.5 missed this function.
    
     - Fix regression reading the arm64 PMU cpu slots in sysfs, a patch
       removing some code duplication ended up duplicating the /sysfs prefix
       for these files.
    
     - Fix grouping of events related to topdown, addressing a regression on
       the CSV output produced by 'perf stat' noticed on the downstream tool
       toplev.
    
     - Fix the uprobe_from_different_cu 'perf test' entry, it is failing
       when gcc isn't available, so we need to check that and skip the test
       if it is not installed.
    
    * tag 'perf-tools-fixes-for-v6.5-2-2023-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools:
      perf test parse-events: Test complex name has required event format
      perf pmus: Create placholder regardless of scanning core_only
      perf test uprobe_from_different_cu: Skip if there is no gcc
      perf parse-events: Only move force grouped evsels when sorting
      perf parse-events: When fixing group leaders always set the leader
      perf parse-events: Extra care around force grouped events
      perf callchain powerpc: Fix addr location init during arch_skip_callchain_idx function
      perf pmu arm64: Fix reading the PMU cpu slots in sysfs
    torvalds committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    c1a515d View commit details
    Browse the repository at this point in the history
  35. Merge tag 'drm-misc-fixes-2023-08-03' of ssh://git.freedesktop.org/gi…

    …t/drm/drm-misc into drm-fixes
    
    A NULL pointer dereference fix for TTM, a timings fix for imx/ipuv3 and
    the addition of a MODULE_DEVICE_TABLE for the samsung-s6d7aa0 panel.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Maxime Ripard <mripard@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/ztfogof2dhtlvjwe73mvd2jp5kbldhkkav7k5culuseqblwpti@qfobohwx3c3j
    airlied committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    062ff85 View commit details
    Browse the repository at this point in the history
  36. Merge tag 'drm-intel-fixes-2023-08-03' of git://anongit.freedesktop.o…

    …rg/drm/drm-intel into drm-fixes
    
    - Fix bug in getting msg length in AUX CH registers handler [gvt] (Yan Zhao)
    - Gen12 AUX invalidation fixes [gt] (Andi Shyti, Jonathan Cavitt)
    - Fix premature release of request's reusable memory (Janusz Krzysztofik)
    
    - Merge tag 'gvt-fixes-2023-08-02' of https://github.com/intel/gvt-linux into drm-intel-fixes (Tvrtko Ursulin)
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/ZMtkxWGuUKpaRMmo@tursulin-desk
    airlied committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    1958b0f View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. PCI: add ArrowLake-S PCI ID for Intel HDAudio subsystem.

    Add part ID to common include file
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802150105.24604-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    plbossart authored and tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    a13b534 View commit details
    Browse the repository at this point in the history
  2. ALSA: hda: add HD Audio PCI ID for Intel Arrow Lake-S

    Add HD Audio PCI ID for Intel Arrow Lake-S platform.
    
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    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/20230802150105.24604-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    kv2019i authored and tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    3bef068 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda: intel-dsp-cfg: use common include for MeteorLake

    This was not updated in Commit 0cd0a7c ("ALSA: intel-dsp-config: Convert to PCI device IDs defines")
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802150105.24604-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    plbossart authored and tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    73e6ebf View commit details
    Browse the repository at this point in the history
  4. ALSA: hda: intel-dsp-cfg: add LunarLake support

    One more PCI ID for the road.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802150105.24604-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    plbossart authored and tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    d2852b8 View commit details
    Browse the repository at this point in the history
  5. ALSA: hda/i915: extend connectivity check to cover Intel ARL

    Expand the HDA/I915 connectivity check to correctly handle
    the PCI topology used in some Intel Arrow Lake products.
    
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Tested-by: "T, Arun" <arun.t@intel.com>
    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/20230802150105.24604-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    kv2019i authored and tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    3f8c530 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'topic/intel-hda' into for-next

    Pull ArrowLake-S PCI ID addition and config for MTL/LNL
    
    Link: https://lore.kernel.org/r/20230802150105.24604-1-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    d700a11 View commit details
    Browse the repository at this point in the history
  7. ASoC: max98363: don't return on success reading revision ID

    max98363_io_init needs to keep going when we read revision ID
    successfully.
    
    Fixes: 18c0af9 ("ASoC: max98363: add soundwire amplifier driver")
    Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230804034734.3848227-1-yung-chuan.liao@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    bardliao authored and broonie committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    3853111 View commit details
    Browse the repository at this point in the history
  8. ASoC: SOF: mediatek: mt8186 modify dram type as non-cache

    To prevent incorrect access between the host and DSP sides, we need to
    modify DRAM as a non-cache memory type. Additionally, we can retrieve
    the size of shared DMA from the device tree.
    
    Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
    Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
    Reviewed-by: Kuan-Hsun Cheng <Allen-KH.Cheng@mediatek.com>
    Link: https://lore.kernel.org/r/20230803075028.32170-1-trevor.wu@mediatek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wenliangwu authored and broonie committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    1d54134 View commit details
    Browse the repository at this point in the history
  9. ASoC: dt-bindings: wlf,wm8960: Describe the power supplies

    WM8960 has the following power supplies:
    
    - AVDD
    - DBVDD
    - DCVDD
    - SPKVDD1
    - SPKVDD1
    
    Add them to bindings to improve the hardware description.
    
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230803215506.142922-1-festevam@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Fabio Estevam authored and broonie committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    6a41c3a View commit details
    Browse the repository at this point in the history
  10. ASoC: wm8960: Add support for the power supplies

    WM8960 has the following power supplies:
    
    - AVDD
    - DBVDD
    - DCVDD
    - SPKVDD1
    - SPKVDD1
    
    Add support for them.
    
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20230803215506.142922-2-festevam@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Fabio Estevam authored and broonie committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    422f10a View commit details
    Browse the repository at this point in the history
  11. ASoC: ti: davinci-evm: simplify the code with module_platform_driver

    The init/exit() of driver only calls platform_driver_register/unregister,
    it can be simpilfied with module_platform_driver.
    
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Link: https://lore.kernel.org/r/20230804085402.1328033-1-yangyingliang@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Yang Yingliang authored and broonie committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    9606cda View commit details
    Browse the repository at this point in the history
  12. rust: allocator: Prevent mis-aligned allocation

    Currently the rust allocator simply passes the size of the type Layout
    to krealloc(), and in theory the alignment requirement from the type
    Layout may be larger than the guarantee provided by SLAB, which means
    the allocated object is mis-aligned.
    
    Fix this by adjusting the allocation size to the nearest power of two,
    which SLAB always guarantees a size-aligned allocation. And because Rust
    guarantees that the original size must be a multiple of alignment and
    the alignment must be a power of two, then the alignment requirement is
    satisfied.
    
    Suggested-by: Vlastimil Babka <vbabka@suse.cz>
    Co-developed-by: "Andreas Hindborg (Samsung)" <nmi@metaspace.dk>
    Signed-off-by: "Andreas Hindborg (Samsung)" <nmi@metaspace.dk>
    Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
    Cc: stable@vger.kernel.org # v6.1+
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Fixes: 247b365 ("rust: add `kernel` crate")
    Link: Rust-for-Linux#974
    Link: https://lore.kernel.org/r/20230730012905.643822-2-boqun.feng@gmail.com
    [ Applied rewording of comment as discussed in the mailing list. ]
    Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
    fbq authored and ojeda committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    b3d8aa8 View commit details
    Browse the repository at this point in the history
  13. rust: delete ForeignOwnable::borrow_mut

    We discovered that the current design of `borrow_mut` is problematic.
    This patch removes it until a better solution can be found.
    
    Specifically, the current design gives you access to a `&mut T`, which
    lets you change where the `ForeignOwnable` points (e.g., with
    `core::mem::swap`). No upcoming user of this API intended to make that
    possible, making all of them unsound.
    
    Signed-off-by: Alice Ryhl <aliceryhl@google.com>
    Reviewed-by: Gary Guo <gary@garyguo.net>
    Reviewed-by: Benno Lossin <benno.lossin@proton.me>
    Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
    Fixes: 0fc4424 ("rust: types: introduce `ForeignOwnable`")
    Link: https://lore.kernel.org/r/20230706094615.3080784-1-aliceryhl@google.com
    Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
    Darksonn authored and ojeda committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    1d24eb2 View commit details
    Browse the repository at this point in the history
  14. rust: fix bindgen build error with UBSAN_BOUNDS_STRICT

    With commit 2d47c69 ("ubsan: Tighten UBSAN_BOUNDS on GCC") if
    CONFIG_UBSAN is enabled and gcc supports -fsanitize=bounds-strict, we
    can trigger the following build error due to bindgen lacking support for
    this additional build option:
    
       BINDGEN rust/bindings/bindings_generated.rs
     error: unsupported argument 'bounds-strict' to option '-fsanitize='
    
    Fix by adding -fsanitize=bounds-strict to the list of skipped gcc flags
    for bindgen.
    
    Fixes: 2d47c69 ("ubsan: Tighten UBSAN_BOUNDS on GCC")
    Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
    Acked-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
    Link: https://lore.kernel.org/r/20230711071914.133946-1-andrea.righi@canonical.com
    Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
    Andrea Righi authored and ojeda committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    b055448 View commit details
    Browse the repository at this point in the history
  15. arm64/ptrace: Don't enable SVE when setting streaming SVE

    Systems which implement SME without also implementing SVE are
    architecturally valid but were not initially supported by the kernel,
    unfortunately we missed one issue in the ptrace code.
    
    The SVE register setting code is shared between SVE and streaming mode
    SVE. When we set full SVE register state we currently enable TIF_SVE
    unconditionally, in the case where streaming SVE is being configured on a
    system that supports vanilla SVE this is not an issue since we always
    initialise enough state for both vector lengths but on a system which only
    support SME it will result in us attempting to restore the SVE vector
    length after having set streaming SVE registers.
    
    Fix this by making the enabling of SVE conditional on setting SVE vector
    state. If we set streaming SVE state and SVE was not already enabled this
    will result in a SVE access trap on next use of normal SVE, this will cause
    us to flush our register state but this is fine since the only way to
    trigger a SVE access trap would be to exit streaming mode which will cause
    the in register state to be flushed anyway.
    
    Fixes: e12310a ("arm64/sme: Implement ptrace support for streaming mode SVE registers")
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-ssve-no-sve-v1-1-49df214bfb3e@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    broonie authored and ctmarinas committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    045aecd View commit details
    Browse the repository at this point in the history
  16. arm64/fpsimd: Sync FPSIMD state with SVE for SME only systems

    Currently we guard FPSIMD/SVE state conversions with a check for the system
    supporting SVE but SME only systems may need to sync streaming mode SVE
    state so add a check for SME support too.  These functions are only used
    by the ptrace code.
    
    Fixes: e12310a ("arm64/sme: Implement ptrace support for streaming mode SVE registers")
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-ssve-no-sve-v1-2-49df214bfb3e@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    broonie authored and ctmarinas committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    507ea5d View commit details
    Browse the repository at this point in the history
  17. arm64/fpsimd: Sync and zero pad FPSIMD state for streaming SVE

    We have a function sve_sync_from_fpsimd_zeropad() which is used by the
    ptrace code to update the SVE state when the user writes to the the
    FPSIMD register set.  Currently this checks that the task has SVE
    enabled but this will miss updates for tasks which have streaming SVE
    enabled if SVE has not been enabled for the thread, also do the
    conversion if the task has streaming SVE enabled.
    
    Fixes: e12310a ("arm64/sme: Implement ptrace support for streaming mode SVE registers")
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-ssve-no-sve-v1-3-49df214bfb3e@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    broonie authored and ctmarinas committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    69af56a View commit details
    Browse the repository at this point in the history
  18. file: reinstate f_pos locking optimization for regular files

    In commit 20ea1e7 ("file: always lock position for
    FMODE_ATOMIC_POS") we ended up always taking the file pos lock, because
    pidfd_getfd() could get a reference to the file even when it didn't have
    an elevated file count due to threading of other sharing cases.
    
    But Mateusz Guzik reports that the extra locking is actually measurable,
    so let's re-introduce the optimization, and only force the locking for
    directory traversal.
    
    Directories need the lock for correctness reasons, while regular files
    only need it for "POSIX semantics".  Since pidfd_getfd() is about
    debuggers etc special things that are _way_ outside of POSIX, we can
    relax the rules for that case.
    
    Reported-by: Mateusz Guzik <mjguzik@gmail.com>
    Cc: Christian Brauner <brauner@kernel.org>
    Link: https://lore.kernel.org/linux-fsdevel/20230803095311.ijpvhx3fyrbkasul@f/
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    7979642 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'ceph-for-6.5-rc5' of https://github.com/ceph/ceph-client

    Pull ceph fixes from Ilya Dryomov:
     "Two patches to improve RBD exclusive lock interaction with
      osd_request_timeout option and another fix to reduce the potential for
      erroneous blocklisting -- this time in CephFS. All going to stable"
    
    * tag 'ceph-for-6.5-rc5' of https://github.com/ceph/ceph-client:
      libceph: fix potential hang in ceph_osdc_notify()
      rbd: prevent busy loop when requesting exclusive lock
      ceph: defer stopping mdsc delayed_work
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    4593f3c View commit details
    Browse the repository at this point in the history
  20. Merge tag 'drm-fixes-2023-08-04' of git://anongit.freedesktop.org/drm…

    …/drm
    
    Pull drm fixes from Dave Airlie:
     "Small set of fixes this week, i915 and a few misc ones. I didn't see
      an amd pull so maybe next week it'll have a few more on that driver.
    
      ttm:
       - NULL ptr deref fix
    
      panel:
       - add missing MODULE_DEVICE_TABLE
    
      imx/ipuv3:
       - timing fix
    
      i915:
       - Fix bug in getting msg length in AUX CH registers handler
       - Gen12 AUX invalidation fixes
       - Fix premature release of request's reusable memory"
    
    * tag 'drm-fixes-2023-08-04' of git://anongit.freedesktop.org/drm/drm:
      drm/panel: samsung-s6d7aa0: Add MODULE_DEVICE_TABLE
      drm/i915: Fix premature release of request's reusable memory
      drm/i915/gt: Support aux invalidation on all engines
      drm/i915/gt: Poll aux invalidation register bit on invalidation
      drm/i915/gt: Enable the CCS_FLUSH bit in the pipe control and in the CS
      drm/i915/gt: Rename flags with bit_group_X according to the datasheet
      drm/i915/gt: Ensure memory quiesced before invalidation
      drm/i915: Add the gen12_needs_ccs_aux_inv helper
      drm/i915/gt: Cleanup aux invalidation registers
      drm/i915/gvt: Fix bug in getting msg length in AUX CH registers handler
      drm/imx/ipuv3: Fix front porch adjustment upon hactive aligning
      drm/ttm: check null pointer before accessing when swapping
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    4142fc6 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'mtd/fixes-for-6.5-rc5' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/mtd/linux
    
    Pull mtd fixes from Miquel Raynal:
     "Raw NAND fixes:
       - fsl_upm: Fix an off-by one test in fun_exec_op()
       - Rockchip:
           - Align hwecc vs. raw page helper layouts
           - Fix oobfree offset and description
       - Meson: Fix OOB available bytes for ECC
       - Omap ELM: Fix incorrect type in assignment
    
      SPI-NOR fix:
       - Avoid holes in struct spi_mem_op
    
      Hyperbus fix:
       - Add Tudor as reviewer in MAINTAINERS
    
      SPI-NAND fixes:
       - Winbond and Toshiba: Fix ecc_get_status"
    
    * tag 'mtd/fixes-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
      mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
      mtd: spi-nor: avoid holes in struct spi_mem_op
      MAINTAINERS: Add myself as reviewer for HYPERBUS
      mtd: rawnand: rockchip: Align hwecc vs. raw page helper layouts
      mtd: rawnand: rockchip: fix oobfree offset and description
      mtd: rawnand: meson: fix OOB available bytes for ECC
      mtd: rawnand: omap_elm: Fix incorrect type in assignment
      mtd: spinand: winbond: Fix ecc_get_status
      mtd: spinand: toshiba: Fix ecc_get_status
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    c8273a2 View commit details
    Browse the repository at this point in the history
  22. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes from Catalin Marinas:
     "More SVE/SME fixes for ptrace() and for the (potentially future) case
      where SME is implemented in hardware without SVE support"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64/fpsimd: Sync and zero pad FPSIMD state for streaming SVE
      arm64/fpsimd: Sync FPSIMD state with SVE for SME only systems
      arm64/ptrace: Don't enable SVE when setting streaming SVE
      arm64/ptrace: Flush FP state when setting ZT0
      arm64/fpsimd: Clear SME state in the target task when setting the VL
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    e6fda52 View commit details
    Browse the repository at this point in the history
  23. Merge tag 'pm-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/rafael/linux-pm
    
    Pull power management fix from Rafael Wysocki:
     "Fix a sparse warning triggered by the TPMI interface recently added to
      the Intel RAPL power capping driver (Zhang Rui)"
    
    * tag 'pm-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      powercap: intel_rapl: Fix a sparse warning in TPMI interface
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    ea4f142 View commit details
    Browse the repository at this point in the history
  24. Merge tag 'riscv-for-linus-6.5-rc5' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - A pair of fixes for build-related failures in the selftests
    
     - A fix for a sparse warning in acpi_os_ioremap()
    
     - A fix to restore the kernel PA offset in vmcoreinfo, to fix crash
       handling
    
    * tag 'riscv-for-linus-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      Documentation: kdump: Add va_kernel_pa_offset for RISCV64
      riscv: Export va_kernel_pa_offset in vmcoreinfo
      RISC-V: ACPI: Fix acpi_os_ioremap to return iomem address
      selftests: riscv: Fix compilation error with vstate_exec_nolibc.c
      selftests/riscv: fix potential build failure during the "emit_tests" step
    torvalds committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    e661f98 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2023

  1. Merge tag 'hyperv-fixes-signed-20230804' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/hyperv/linux
    
    Pull hyperv fixes from Wei Liu:
    
     - Fix a bug in a python script for Hyper-V (Ani Sinha)
    
     - Workaround a bug in Hyper-V when IBT is enabled (Michael Kelley)
    
     - Fix an issue parsing MP table when Linux runs in VTL2 (Saurabh
       Sengar)
    
     - Several cleanup patches (Nischala Yelchuri, Kameron Carr, YueHaibing,
       ZhiHu)
    
    * tag 'hyperv-fixes-signed-20230804' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
      Drivers: hv: vmbus: Remove unused extern declaration vmbus_ontimer()
      x86/hyperv: add noop functions to x86_init mpparse functions
      vmbus_testing: fix wrong python syntax for integer value comparison
      x86/hyperv: fix a warning in mshyperv.h
      x86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction
      x86/hyperv: Improve code for referencing hyperv_pcpu_input_arg
      Drivers: hv: Change hv_free_hyperv_page() to take void * argument
    torvalds committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    024ff30 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/clk/linux
    
    Pull clk fixes from Stephen Boyd:
     "A few clk driver fixes for some SoC clk drivers:
    
       - Change a usleep() to udelay() to avoid scheduling while atomic in
         the Amlogic PLL code
    
       - Revert a patch to the Mediatek MT8183 driver that caused an
         out-of-bounds write
    
       - Return the right error value when devm_of_iomap() fails in
         imx93_clocks_probe()
    
       - Constrain the Kconfig for the fixed mmio clk so that it depends on
         HAS_IOMEM and can't be compiled on architectures such as s390"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM
      clk: imx93: Propagate correct error in imx93_clocks_probe()
      clk: mediatek: mt8183: Add back SSPM related clocks
      clk: meson: change usleep_range() to udelay() for atomic context
    torvalds committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    c9d26d8 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'parisc-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/deller/parisc-linux
    
    Pull parisc architecture fixes from Helge Deller:
    
     - early fixmap preallocation to fix boot failures on kernel >= 6.4
    
     - remove DMA leftover code in parport_gsc
    
     - drop old comments and code style fixes
    
    * tag 'parisc-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: unaligned: Add required spaces after ','
      parport: gsc: remove DMA leftover code
      parisc: pci-dma: remove unused and dead EISA code and comment
      parisc/mm: preallocate fixmap page tables at init
    torvalds committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    947c2a8 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'powerpc-6.5-5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix vmemmap altmap boundary check which could cause memory hotunplug
       failure
    
     - Create a dummy stackframe to fix ftrace stack unwind
    
     - Fix secondary thread bringup for Book3E ELFv2 kernels
    
     - Use early_ioremap/unmap() in via_calibrate_decr()
    
    Thanks to Aneesh Kumar K.V, Benjamin Gray, Christophe Leroy, David
    Hildenbrand, and Naveen N Rao.
    
    * tag 'powerpc-6.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/powermac: Use early_* IO variants in via_calibrate_decr()
      powerpc/64e: Fix secondary thread bringup for ELFv2 kernels
      powerpc/ftrace: Create a dummy stackframe to fix stack unwind
      powerpc/mm/altmap: Fix altmap boundary check
    torvalds committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    251a94f View commit details
    Browse the repository at this point in the history
  5. Merge tag '6.5-rc4-smb3-client-fix' of git://git.samba.org/sfrench/ci…

    …fs-2.6
    
    Pull smb client fix from Steve French:
    
     - Fix DFS interlink problem (different namespace)
    
    * tag '6.5-rc4-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6:
      smb: client: fix dfs link mount against w2k8
    torvalds committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    f6a6916 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2023

  1. Merge tag 'ata-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/dlemoal/libata
    
    Pull ata fix from Damien Le Moal:
    
     - Prevent the scsi disk driver from issuing a START STOP UNIT command
       for ATA devices during system resume as this causes various issues
       reported by multiple users.
    
    * tag 'ata-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
      ata,scsi: do not issue START STOP UNIT on resume
    torvalds committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    fb0d919 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'rust-fixes-6.5-rc5' of https://github.com/Rust-for-Linux/l…

    …inux
    
    Pull rust fixes from Miguel Ojeda:
    
     - Allocator: prevent mis-aligned allocation
    
     - Types: delete 'ForeignOwnable::borrow_mut'. A sound replacement is
       planned for the merge window
    
     - Build: fix bindgen error with UBSAN_BOUNDS_STRICT
    
    * tag 'rust-fixes-6.5-rc5' of https://github.com/Rust-for-Linux/linux:
      rust: fix bindgen build error with UBSAN_BOUNDS_STRICT
      rust: delete `ForeignOwnable::borrow_mut`
      rust: allocator: Prevent mis-aligned allocation
    torvalds committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    f0ab9f3 View commit details
    Browse the repository at this point in the history
  3. open: make RESOLVE_CACHED correctly test for O_TMPFILE

    O_TMPFILE is actually __O_TMPFILE|O_DIRECTORY. This means that the old
    fast-path check for RESOLVE_CACHED would reject all users passing
    O_DIRECTORY with -EAGAIN, when in fact the intended test was to check
    for __O_TMPFILE.
    
    Cc: stable@vger.kernel.org # v5.12+
    Fixes: 99668f6 ("fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED")
    Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
    Message-Id: <20230806-resolve_cached-o_tmpfile-v1-1-7ba16308465e@cyphar.com>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    cyphar authored and brauner committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    a0fc452 View commit details
    Browse the repository at this point in the history
  4. proc: fix missing conversion to 'iterate_shared'

    I'm looking at the directory handling due to the discussion about f_pos
    locking (see commit 7979642: "file: reinstate f_pos locking
    optimization for regular files"), and wanting to clean that up.
    
    And one source of ugliness is how we were supposed to move filesystems
    over to the '->iterate_shared()' function that only takes the inode lock
    for reading many many years ago, but several filesystems still use the
    bad old '->iterate()' that takes the inode lock for exclusive access.
    
    See commit 6192269 ("introduce a parallel variant of ->iterate()")
    that also added some documentation stating
    
          Old method is only used if the new one is absent; eventually it will
          be removed.  Switch while you still can; the old one won't stay.
    
    and that was back in April 2016.  Here we are, many years later, and the
    old version is still clearly sadly alive and well.
    
    Now, some of those old style iterators are probably just because the
    filesystem may end up having per-inode mutable data that it uses for
    iterating a directory, but at least one case is just a mistake.
    
    Al switched over most filesystems to use '->iterate_shared()' back when
    it was introduced.  In particular, the /proc filesystem was converted as
    one of the first ones in commit f50752e ("switch all procfs
    directories ->iterate_shared()").
    
    But then later one new user of '->iterate()' was then re-introduced by
    commit 6d9c939 ("procfs: add smack subdir to attrs").
    
    And that's clearly not what we wanted, since that new case just uses the
    same 'proc_pident_readdir()' and 'proc_pident_lookup()' helper functions
    that other /proc pident directories use, and they are most definitely
    safe to use with the inode lock held shared.
    
    So just fix it.
    
    This still leaves a fair number of oddball filesystems using the
    old-style directory iterator (ceph, coda, exfat, jfs, ntfs, ocfs2,
    overlayfs, and vboxsf), but at least we don't have any remaining in the
    core filesystems.
    
    I'm going to add a wrapper function that just drops the read-lock and
    takes it as a write lock, so that we can clean up the core vfs layer and
    make all the ugly 'this filesystem needs exclusive inode locking' be
    just filesystem-internal warts.
    
    I just didn't want to make that conversion when we still had a core user
    left.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    torvalds authored and brauner committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    0a2c2ba View commit details
    Browse the repository at this point in the history
  5. vfs: get rid of old '->iterate' directory operation

    All users now just use '->iterate_shared()', which only takes the
    directory inode lock for reading.
    
    Filesystems that never got convered to shared mode now instead use a
    wrapper that drops the lock, re-takes it in write mode, calls the old
    function, and then downgrades the lock back to read mode.
    
    This way the VFS layer and other callers no longer need to care about
    filesystems that never got converted to the modern era.
    
    The filesystems that use the new wrapper are ceph, coda, exfat, jfs,
    ntfs, ocfs2, overlayfs, and vboxsf.
    
    Honestly, several of them look like they really could just iterate their
    directories in shared mode and skip the wrapper entirely, but the point
    of this change is to not change semantics or fix filesystems that
    haven't been fixed in the last 7+ years, but to finally get rid of the
    dual iterators.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    torvalds authored and brauner committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    3e32715 View commit details
    Browse the repository at this point in the history
  6. fs: rely on ->iterate_shared to determine f_pos locking

    Now that we removed ->iterate we don't need to check for either
    ->iterate or ->iterate_shared in file_needs_f_pos_lock(). Simply check
    for ->iterate_shared instead. This will tell us whether we need to
    unconditionally take the lock. Not just does it allow us to avoid
    checking f_inode's mode it also actually clearly shows that we're
    locking because of readdir.
    
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    brauner committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    7d84d1b View commit details
    Browse the repository at this point in the history
  7. Merge tag 'v6.5-rc5.vfs.fixes' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/vfs/vfs
    
    Pull vfs fixes from Christian Brauner:
    
     - Fix a wrong check for O_TMPFILE during RESOLVE_CACHED lookup
    
     - Clean up directory iterators and clarify file_needs_f_pos_lock()
    
    * tag 'v6.5-rc5.vfs.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
      fs: rely on ->iterate_shared to determine f_pos locking
      vfs: get rid of old '->iterate' directory operation
      proc: fix missing conversion to 'iterate_shared'
      open: make RESOLVE_CACHED correctly test for O_TMPFILE
    torvalds committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    0108963 View commit details
    Browse the repository at this point in the history
  8. Linux 6.5-rc5

    torvalds committed Aug 6, 2023
    Configuration menu
    Copy the full SHA
    52a93d3 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. ASoC: rt5665: add missed regulator_bulk_disable

    The driver forgets to call regulator_bulk_disable()
    
    Add the missed call to fix it.
    
    Fixes: 33ada14 ("ASoC: add rt5665 codec driver")
    Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
    Link: https://lore.kernel.org/r/tencent_A560D01E3E0A00A85A12F137E4B5205B3508@qq.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ZhangShurong authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    c163108 View commit details
    Browse the repository at this point in the history
  2. ASoC: SoundWire codecs: return error status in probe

    For some reason the first batch of SoundWire codec drivers squelch
    errors in the SoundWire probe callback.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    3f3d66b View commit details
    Browse the repository at this point in the history
  3. ASoC: SoundWire codecs: make regmap cache-only in probe

    The SoundWire bus may start after the probe where the SoundWire ASoC
    components are registered. This creates a time window where the card
    can be created and the registers be accessed.
    
    As discussed on the mailing list, we can't really control when codecs
    are enumerated and initialized, but we can make sure the access to the
    codecs is cached until the hardware is accessible.
    
    This patch configures regcache_cache_only() with a 'true' parameter in
    the probe function, and a 'false' parameter in the io_init routine.
    
    The rt5682 is handled through a different patch due to its specific
    cache handling.
    
    Link: https://lore.kernel.org/alsa-devel/20230503144102.242240-1-krzysztof.kozlowski@linaro.org/
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    49ae74a View commit details
    Browse the repository at this point in the history
  4. ASoC: rt5682-sdw: make regmap cache-only in probe

    The RT5682 needs specific attention: there are two regmap in
    rt5682_priv struct, one is sdw_regmap which is for IO transfer, and
    the other is used for registers control.
    
    We need to set both regmaps when we set cache only. Because if we set
    rt5682->sdw_regmap only, rt5682->regmap won't set/get the right value
    when it call regmap_write/read(rt5682->sdw_regmap, ...). If we set
    rt5682->regmap only, regmap_write(rt5682->sdw_regmap, ...) is used
    in rt5682_clock_config which will be called by the ..bus_config ops.
    
    Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    6ab1810 View commit details
    Browse the repository at this point in the history
  5. ASoC: rt711: enable pm_runtime in probe, keep status as 'suspended'

    In stress cases involving module insertion/removal followed by
    playback/capture, it can happen that capture/playback is started
    before the codec enumeration completes.
    
    The codec driver registers its components with the ASoC framework
    during the probe stage, so there is currently no way for the card
    creation to wait for the codec enumeration/initialization to complete.
    
    In addition, when the capture/playback starts, the ASoC framework uses
    pm_runtime_get_sync() to properly refcount and power-manage
    devices. This is problematic in the SoundWire case because pm_runtime
    is enabled during the enumeration/initialization stage, so
    pm_runtime_get_sync() will return -EACCESS which is
    ignored. Additional errors will happen when setting the pm_runtime
    status as 'active' because the parent is not properly resumed,
    resulting in an error such as:
    
    "rt711 sdw:0:025d:0711:00: runtime PM trying to activate child device
    sdw:0:025d:0711:00 but parent (sdw-master-0) is not active"
    
    This patch suggests enabling pm_runtime during the probe, but marking
    the device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    Closes: thesofproject#4328
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    a8590dd View commit details
    Browse the repository at this point in the history
  6. ASoC: rt711-sdca: enable pm_runtime in probe, keep status as 'suspended'

    In stress cases involving module insertion/removal followed by
    playback/capture, it can happen that capture/playback is started
    before the codec enumeration completes.
    
    The codec driver registers its components with the ASoC framework
    during the probe stage, so there is currently no way for the card
    creation to wait for the codec enumeration/initialization to complete.
    
    In addition, when the capture/playback starts, the ASoC framework uses
    pm_runtime_get_sync() to properly refcount and power-manage
    devices. This is problematic in the SoundWire case because pm_runtime
    is enabled during the enumeration/initialization stage, so
    pm_runtime_get_sync() will return -EACCESS which is
    ignored. Additional errors will happen when setting the pm_runtime
    status as 'active' because the parent is not properly resumed,
    resulting in an error such as:
    
    "rt711 sdw:0:025d:0711:00: runtime PM trying to activate child device
    sdw:0:025d:0711:00 but parent (sdw-master-0) is not active"
    
    This patch suggests enabling pm_runtime during the probe, but marking
    the device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    Closes: thesofproject#4328
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    0c321fb View commit details
    Browse the repository at this point in the history
  7. ASoC: rt700: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-7-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    6b8f8c5 View commit details
    Browse the repository at this point in the history
  8. ASoC: rt1712-sdca: enable pm_runtime in probe, keep status as 'suspen…

    …ded'
    
    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-8-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    f3da2ed View commit details
    Browse the repository at this point in the history
  9. ASoC: rt712-sdca-dmic: enable pm_runtime in probe, keep status as 'su…

    …spended'
    
    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-9-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    8d890ec View commit details
    Browse the repository at this point in the history
  10. ASoC: rt715: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-10-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    279be59 View commit details
    Browse the repository at this point in the history
  11. ASoC: rt715-sdca: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-11-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    e4a3b8c View commit details
    Browse the repository at this point in the history
  12. ASoC: rt1308-sdw: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-12-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    1772552 View commit details
    Browse the repository at this point in the history
  13. ASoC: rt1316-sdw: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-13-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    64bae67 View commit details
    Browse the repository at this point in the history
  14. ASoC: rt1318-sdw: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-14-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    df93dfa View commit details
    Browse the repository at this point in the history
  15. ASoC: rt5682-sdw: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-15-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4af11e1 View commit details
    Browse the repository at this point in the history
  16. ASoC: max98363: enable pm_runtime in probe, keep status as 'suspended'

    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-16-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    d6ce285 View commit details
    Browse the repository at this point in the history
  17. ASoC: max98373-sdw: enable pm_runtime in probe, keep status as 'suspe…

    …nded'
    
    This patch suggests enabling pm_runtime during the probe, but marking the
    device as 'active' only after it is enumerated. That will force a
    dependency between the card and the codec, pm_runtime_get_sync() will
    have to wait for the codec device to resume and hence implicitly wait
    for the enumeration/initialization to be completed. In the nominal
    case where the codec device is already active the get_sync() would
    only perform a ref-count increase.
    
    The changes are directly inspired by RT711 and RT711-sdca changes.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230802153629.53576-17-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    b48f324 View commit details
    Browse the repository at this point in the history
  18. ASoC: amd: acp-da7219-max98357a: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The DA7219 codec used
    here can detect Headphones, Headset Mic and Line Out connections. Expose
    each to userspace as kcontrols and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-2-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    5532a1c View commit details
    Browse the repository at this point in the history
  19. ASoC: amd: acp-rt5645: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5645 codec used
    here can detect Headphone and Headset Mic connections. Expose both to
    userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-3-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    596c92f View commit details
    Browse the repository at this point in the history
  20. ASoC: amd: acp: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5682, RT5682s,
    NAU8825 and NAU8821 codecs used here can detect Headphone and Headset
    Mic connections. Expose both to userspace as kcontrols and add the
    necessary widgets. Split the jack and pin structs per-codec to
    accommodate for per-codec differences.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-4-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7ac3404 View commit details
    Browse the repository at this point in the history
  21. ASoC: amd: acp3x-rt5682-max9836: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5682, RT1015
    and RT1015p codecs used here can detect Headphone and Headset Mic
    connections. Expose the former two to userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-5-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    00c7ee8 View commit details
    Browse the repository at this point in the history
  22. ASoC: Intel: avs: da7219: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The DA7219 codec used
    here can detect Headphones, Headset Mic and Line Out connections. Expose
    each to userspace as kcontrols and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-6-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    c699fc4 View commit details
    Browse the repository at this point in the history
  23. ASoC: Intel: bxt_da7219_max98357a: Map missing Line Out jack kcontrol

    Commit bbdd4ea ("ASoC: Intel: bxt_da7219_max98357a: remap jack
    pins") maps kcontrols for Headphone and Headset Mic jacks for this
    driver so that PulseAudio and PipeWire can handle detection events for
    these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-7-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    92d7071 View commit details
    Browse the repository at this point in the history
  24. ASoC: Intel: bytcr_wm5102: Map missing Line Out jack kcontrol

    Commit ecd77d4 ("ASoC: Intel: bytcr_wm5102: Add jack detect
    support") maps kcontrols for Headphone and Headset Mic jacks for this
    driver so that PulseAudio and PipeWire can handle jack detection events
    for these peripherals.
    
    The WM5102 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-8-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4e06382 View commit details
    Browse the repository at this point in the history
  25. ASoC: Intel: kbl_da7219_max98357a: Map missing Line Out jack kcontrol

    Commit c2065d4 ("ASoC: Intel: kbl_da7219_max98357a: remap jack
    pins") maps kcontrols for Headphone and Headset Mic jacks for this
    driver so that PulseAudio and PipeWire can handle jack detection events
    for these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-9-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    da09176 View commit details
    Browse the repository at this point in the history
  26. ASoC: Intel: kbl_da7219_max98927: Map missing Line Out jack kcontrol

    Commit b9f53b9 ("ASoC: Intel: kbl_da7219_max98927: remap jack
    pins") maps kcontrols for Headphone and Headset Mic jacks for this
    driver so that PulseAudio and PipeWire can handle jack detection events
    for these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-10-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    2830bfd View commit details
    Browse the repository at this point in the history
  27. ASoC: Intel: sof_da7219_max98373: Map missing Line Out jack kcontrol

    Commit 2913bb1 ("ASoC: Intel: sof_da7219_max98373: remap jack
    pins") maps kcontrols for Headphone and Headset Mic jacks for this
    driver so that PulseAudio and PipeWire can handle jack detection events
    for these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-11-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7265089 View commit details
    Browse the repository at this point in the history
  28. ASoC: imx-es8328: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. It seems to have a
    single detection GPIO pin used to report everything as a Headset. But it
    has widgets for Headphone and Mic Jack, so expose both to userspace as
    kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-12-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    105e845 View commit details
    Browse the repository at this point in the history
  29. ASoC: mediatek: mt8173-max98090: Configure jack as a Headset jack

    This driver has correctly mapped jack kcontrols for Headphone and
    Headset Mic. However, it is configuring the jack to only care about
    Headphone events. The MAX98090 codec used here can detect both
    connections, so configure the jack as such.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-13-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7386442 View commit details
    Browse the repository at this point in the history
  30. ASoC: mediatek: mt8173-rt5650-rt5514: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5645 codec used
    here can detect Headphone and Headset Mic connections. Expose each to
    userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-14-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    87eb198 View commit details
    Browse the repository at this point in the history
  31. ASoC: mediatek: mt8173-rt5650-rt5676: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5645 codec used
    here can detect Headphone and Headset Mic connections. Expose both to
    userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-15-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    8badca9 View commit details
    Browse the repository at this point in the history
  32. ASoC: mediatek: mt8173-rt5650: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5645 codec used
    here can detect Headphone and Headset Mic connections. Expose both to
    userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-16-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    0ef5533 View commit details
    Browse the repository at this point in the history
  33. ASoC: mediatek: mt8183-da7219-max98357: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The DA7219 codec used
    here can detect Headphones, Headset Mic and Line Out connections. Expose
    each to userspace as kcontrols and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-17-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    9c7388b View commit details
    Browse the repository at this point in the history
  34. ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: Map missing jack kcon…

    …trols
    
    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The TS3A227 component
    used here can detect Headphones and Headset Mic connections. Expose each
    to userspace as kcontrols and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-18-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    09a2236 View commit details
    Browse the repository at this point in the history
  35. ASoC: mediatek: mt8186-mt6366-da7219-max98357: Map missing jack kcont…

    …rols
    
    Commit 8e98674 ("ASoC: mediatek: mt8186-da7219: Expose individual
    headset jack pins") maps kcontrols for Headphone and Headset Mic jacks
    for this driver so that PulseAudio and PipeWire can handle jack
    detection events for these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-19-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    26de9cc View commit details
    Browse the repository at this point in the history
  36. ASoC: qcom: apq8016_sbc: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. It seems to support
    detecting Headphone and Headset Mic connections. Expose each to
    userspace as a kcontrol and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-20-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    45bda58 View commit details
    Browse the repository at this point in the history
  37. ASoC: qcom: sc7180: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5682 and
    RT5682s codecs used here can detect Headphone and Headset Mic
    connections. Expose each to userspace as a kcontrol.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-21-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    883bfef View commit details
    Browse the repository at this point in the history
  38. ASoC: qcom: sc7280: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5682 and
    RT5682s codecs used here can detect Headphone and Headset Mic
    connections. Expose each to userspace as a kcontrol.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-22-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4ab959e View commit details
    Browse the repository at this point in the history
  39. ASoC: qcom: sdm845: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5663 codec used
    here can detect Headphone and Headset Mic connections. Expose each to
    userspace as a kcontrol.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-23-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    242372d View commit details
    Browse the repository at this point in the history
  40. ASoC: rk3399-gru-sound: Map missing Line Out jack kcontrol

    Commit d0508b4 ("ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols
    for jack detection") maps kcontrols for Headphones and Headset Mic jacks
    for this driver so that PulseAudio and PipeWire can handle insertion
    events for these peripherals.
    
    The DA7219 codec used here can also distinguish between Headphone and
    Line Out connections that go into the same physical port. Expose the
    latter to userspace as a kcontrol as well and add the necessary widget.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-24-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    d60e810 View commit details
    Browse the repository at this point in the history
  41. ASoC: rockchip: rockchip_rt5645: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The RT5645 codec used
    here supports detecting Headphone and Headset Mic connections. Expose
    both to userspace as kcontrols.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-25-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    24127e5 View commit details
    Browse the repository at this point in the history
  42. ASoC: samsung: littlemill: Map missing jack kcontrols

    This driver does not properly map jack pins to kcontrols that PulseAudio
    and PipeWire need to handle jack detection events. The WM8958 codec used
    here can detect Headphone and Headset Mic connections. Expose each to
    userspace as a kcontrol and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-26-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4d87362 View commit details
    Browse the repository at this point in the history
  43. ASoC: samsung: lowland: Split Line Out jack kcontrol from Headphone

    This driver has correctly mapped jack kcontrols for Headphone and
    Headset Mic. However, it is also mapping Line Out jack detection events
    to the Headphone kcontrol.
    
    The WM5100 codec used here can distinguish Line Out connections from
    Headphone connections. Decouple the two, expose Line Out to userspace as
    an independent kcontrol and add the necessary widget.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-27-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    c9d3401 View commit details
    Browse the repository at this point in the history
  44. ASoC: samsung: midas_wm1811: Map missing jack kcontrols

    This driver does not map jack pins to kcontrols that PulseAudio/PipeWire
    need to handle jack detection events. The WM1811 codec used here seems
    to support detecting Headphone and Headset Mic connections. Expose each
    to userspace as a kcontrol and add the necessary widgets.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Link: https://lore.kernel.org/r/20230802175737.263412-28-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    d27224a View commit details
    Browse the repository at this point in the history
  45. ASoC: dt-bindings: Convert maxim,max98925 to DT schema

    Convert the Maxim Integrated MAX98925/MAX98926/MAX98927 speaker
    amplifier bindings to DT schema format.  Changes during conversion:
    1. Add "sound-dai-cells", already used by DTS.
    2. Use "maxim,interleave-mode" instead previous "interleave-mode" and
       undocumented but used interleave_mode.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230730201826.70453-1-krzysztof.kozlowski@linaro.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    krzk authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7136368 View commit details
    Browse the repository at this point in the history
  46. ASoC: codecs: max9892x: Unify interleave mode OF property

    MAX98926 and MAX98927 are quite similar and use the same bindings,
    although drivers were not implementing them in the same way:
    MAX98926 has boolean "interleave-mode" but MAX98927 has uint32
    "interleave_mode".  Unify them under maxim,interleave-mode, already used
    in other Maxim device.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230730201826.70453-2-krzysztof.kozlowski@linaro.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    krzk authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    ddef751 View commit details
    Browse the repository at this point in the history
  47. ASoC: codecs: max9892x: Reformat to coding style

    Reformat the code to match Linuxn coding style: re-indent continued
    lines and stop too-early line wrapping, drop unneeded {} brackets.  No
    functional impact.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230730201826.70453-3-krzysztof.kozlowski@linaro.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    krzk authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    38b288a View commit details
    Browse the repository at this point in the history
  48. ASoC: jz4740: Update to use maple tree register cache

    The maple tree register cache is based on a much more modern data structure
    than the rbtree cache and makes optimisation choices which are probably
    more appropriate for modern systems than those made by the rbtree cache. In
    v6.5 it has also acquired the ability to generate multi-register writes in
    sync operations, bringing performance up to parity with the rbtree cache
    there.
    
    Update the jz4740 driver to use the more modern data structure.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20230712-asoc-jz-maple-v1-1-3f745adf96e5@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    1ec6dff View commit details
    Browse the repository at this point in the history
  49. ASoC: dt-bindings: Add schema for "awinic,aw88261"

    Add the awinic,aw88261 property to the awinic,aw88395.yaml file.
    
    Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
    Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230804114749.215460-2-wangweidong.a@awinic.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wangweidonga authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    517d52a View commit details
    Browse the repository at this point in the history
  50. ASoC: codecs: Add code for bin parsing compatible with aw88261

    Add aw88261 compatible code to the aw88395_lib.c file
    so that it can parse aw88261's bin file.
    
    Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
    Link: https://lore.kernel.org/r/20230804114749.215460-3-wangweidong.a@awinic.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wangweidonga authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7f4ec77 View commit details
    Browse the repository at this point in the history
  51. ASoC: codecs: Add aw88261 amplifier driver

    Add i2c and amplifier registration for
    aw88261 and their associated operation functions.
    
    Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
    Link: https://lore.kernel.org/r/20230804114749.215460-4-wangweidong.a@awinic.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wangweidonga authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    028a2ae View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    26fc7cf View commit details
    Browse the repository at this point in the history
  53. ASoC: lower "no backend DAIs enabled for ... Port" log severity

    If SNDRV_PCM_IOCTL_PREPARE is called when the mixer settings linking
    frontend and backend have not been setup yet this results in
    e.g. the following errors getting logged:
    
    [   43.244549]  Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
    [   43.244744]  Baytrail Audio Port: ASoC: error at dpcm_fe_dai_prepare on Baytrail Audio Port: -22
    
    pipewire triggers this leading to 96 lines getting logged
    after the user has logged into a GNOME session.
    
    Change the actual "no backend DAIs enabled for ... Port" error to
    dev_err_once() to avoid it getting repeated 48 times. While at it
    also improve the error by hinting the user how to fix this.
    
    To not make developing new UCM profiles harder, also log the error
    at dev_dbg() level all the time (vs once). So that e.g. dyndbg can
    be used to (re)enable the messages.
    
    Also changes _soc_pcm_ret() to not log for -EINVAL errors, to fix
    the other error getting logged 48 times. Userspace passing wrong
    parameters should not lead to dmesg messages.
    
    Link: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3407
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20230805171435.31696-1-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    1f56643 View commit details
    Browse the repository at this point in the history
  54. ASoC: SOF: Fix incorrect use of sizeof in sof_ipc3_do_rx_work()

    Here hdr is a pointer, and we should measure the size of
    struct sof_ipc_cmd_hdr.
    
    Fixes: 12c41c7 ("ASoC: SOF: Refactor rx function for fuzzing")
    Signed-off-by: Xia Fukun <xiafukun@huawei.com>
    Reviewed-by: Curtis Malainey <cujomalainey@chromium.org>
    Link: https://lore.kernel.org/r/20230807075118.128122-1-xiafukun@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Xia Fukun authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    41aad09 View commit details
    Browse the repository at this point in the history
  55. ASoC: SoundWire codecs: improve pm_runtime handling

    Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    This patchset improves the pm_runtime behavior in rare corner cases
    identified by the Intel CI in the last 6 months.
    
    a) in stress-tests, it's not uncommon to see the following type of
    warnings when the codec reports as ATTACHED
    
        "rt711 sdw:0:025d:0711:00: runtime PM trying to activate child device
        sdw:0:025d:0711:00 but parent (sdw-master-0) is not active"
    
    This warning was not correlated with any functional issue, but it
    exposed a design issue on when to enable pm_runtime. The recommended
    practice in the pm_runtime documentation is to keep the devices in
    'suspended' mode and mark them as 'active' when they are really
    functional.
    
    b) enabling pm_runtime when the codec reports as ATTACHED also creates
    a problematic case when the ASoC pm_runtime_get_sync() will silently
    fail due to the -EACCESS error handling. This can happen when playback
    starts before the codec is enumerated.
    
    This patchset modifies the initial stages so that codecs are
    pm_runtime enabled in the .probe() callback, but become pm_runtime
    'active' only when they report present. This is better aligned with
    the design of the pm_runtime helpers and improved CI results
    significantly.
    
    This patchset modifies all existing SoundWire codecs (except Qualcomm
    ones), but the pattern of changes is exactly the same in all patches.
    broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    5a11955 View commit details
    Browse the repository at this point in the history
  56. ASoC: codecs: Add awinic AW88261 audio amplifier

    Merge series from wangweidong.a@awinic.com:
    
    The awinic AW88261 is an I2S/TDM input, high efficiency digital Smart K
    audio amplifier.
    broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    495c9e5 View commit details
    Browse the repository at this point in the history
  57. ASoC: Map missing jack kcontrols

    Merge series from Alper Nebi Yasak <alpernebiyasak@gmail.com>:
    
    This patchset adds missing jack kcontrols for each independently
    detectable audio peripheral and maps jack pins to those kcontrols
    accordingly, with the primary intent to enable/improve jack detection
    handling in PulseAudio and PipeWire through JackControl UCM values.
    
    Usually it's just splitting a joint anything-is-connected "Headset Jack"
    kcontrol (from [1]) into those like "Headphone Jack" and "Headset Mic"
    (similar to a previous series for Intel Chromebooks [2]). This split is
    important to avoid automatically switching to a nonexistent external
    microphone when a headphone-only device is connected.
    
    When the underlying hardware seems to support it, this also adds a "Line
    Out" kcontrol. This is important in case the hardware can actually
    support a line-level connection via a different configuration (bypassing
    output amplifiers?), or simply for userspace to display "Line Out"
    instead of "Headphones" to the user for connected line-out devices.
    
    Beyond the mappings, I had to add PIN_SWITCH card kcontrols and DAPM
    widgets to avoid "unknown pin" errors on my devices, so tried to do them
    for all. For Intel devices I saw a pattern of routing things to
    "Platform Clock" and added to that as well. Looking at patch 5/7 of a
    Mediatek-related series [3], I can only guess that routes could be
    further improved, but don't know exactly how for each device. And one
    more concern is I don't know if the names conflict with any controls
    from codecs, although I tried to keep to names of existing widgets.
    
    As far as I can tell, the root cause for most of why these are missing
    originates to things being developed for ChromeOS, whose userspace reads
    the jack input device and doesn't care for these kcontrols. There's
    non-ChromeOS cases as well, maybe things got copy-pasted around and
    people didn't need or couldn't figure out how to get more specific than
    a single jack kcontrol. The secondary intent in this patchset is to fix
    this *everywhere*, so future copy-pastes result in the right behaviour.
    
    For more context also see:
    
    [1] ASoC: soc-card: Create jack kcontrol without pins
    https://lore.kernel.org/alsa-devel/20220408041114.6024-1-akihiko.odaki@gmail.com/
    
    [2] ASoC: Intel: Chromebooks: remap jack pins
    https://lore.kernel.org/alsa-devel/20220616214055.134943-1-pierre-louis.bossart@linux.intel.com/
    
    [3] ASoC: mediatek: Allow separate handling of headphone and headset mic jack
    https://lore.kernel.org/alsa-devel/20220922235951.252532-1-nfraprado@collabora.com/
    
    [4] ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection
    https://lore.kernel.org/alsa-devel/20200721182709.6895-1-alpernebiyasak@gmail.com/
    
    This applies onto next-20230802. Unfortunately most of it is untested
    except for a few Chromebooks I have (Kevin, Lick, Hana, Cozmo), because
    I'm intentionally generalizing to everything.
    broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    a3440da View commit details
    Browse the repository at this point in the history
  58. ASoC: lower "no backend DAIs enabled for ... Port" log severity

    If SNDRV_PCM_IOCTL_PREPARE is called when the mixer settings linking
    frontend and backend have not been setup yet this results in
    e.g. the following errors getting logged:
    
    [   43.244549]  Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
    [   43.244744]  Baytrail Audio Port: ASoC: error at dpcm_fe_dai_prepare on Baytrail Audio Port: -22
    
    pipewire triggers this leading to 96 lines getting logged
    after the user has logged into a GNOME session.
    
    Change the actual "no backend DAIs enabled for ... Port" error to
    dev_err_once() to avoid it getting repeated 48 times. While at it
    also improve the error by hinting the user how to fix this.
    
    To not make developing new UCM profiles harder, also log the error
    at dev_dbg() level all the time (vs once). So that e.g. dyndbg can
    be used to (re)enable the messages.
    
    Also changes _soc_pcm_ret() to not log for -EINVAL errors, to fix
    the other error getting logged 48 times. Userspace passing wrong
    parameters should not lead to dmesg messages.
    
    Link: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3407
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20230805171435.31696-1-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    f957172 View commit details
    Browse the repository at this point in the history
  59. ASoC: SOF: ipc3-dtrace: Switch to memdup_user_nul() helper

    Use memdup_user_nul() helper instead of open-coding to
    simplify the code.
    
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Link: https://lore.kernel.org/r/20230725120247.509422-1-yangyingliang@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Yang Yingliang authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    93fd2be View commit details
    Browse the repository at this point in the history
  60. ASoC: SOF: Intel: hda-mlink: fix off-by-one error

    The HCHAN parameter should be the highest channel number, not the
    channel count.
    
    While we're at it, handle LCHAN with the dual __ffs helper.
    
    Fixes: ccc2f0c ("ASoC: SOF: Intel: hda-mlink: add helper to program SoundWire PCMSyCM registers")
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7075b0c View commit details
    Browse the repository at this point in the history
  61. ASoC: SOF: Intel: fix u16/32 confusion in LSDIID

    Likely a combination of copy-paste and test coverage problem. Oops.
    
    Fixes: 87a6ddc ("ASoC: SOF: Intel: hda-mlink: program SoundWire LSDIID registers")
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    7a52d70 View commit details
    Browse the repository at this point in the history
  62. ASoC: SOF: ipc4: avoid uninitialized default instance 0

    When a pipeline contains multiple DAI widgets, the pipe_widget is not
    set up except for the first DAI. This result in the pipe_widget having
    a default instance 0, which can conflict with another real the
    pipeline instance 0 and leads to spurious transitions.
    
    This patch makes sure the instance_id is properly initialized to a
    -EINVAL value.
    
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ranj063 authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    defc0c6 View commit details
    Browse the repository at this point in the history
  63. ASoC: SOF: ipc4-topology: restore gateway config length

    The initial code had a logic flaw where the gateway config length kept
    increasing after each playback/capture trigger, with the DMA config
    TLV being added at every call of sof_ipc4_prepare_copier_module()
    
    This didn't cause any issues with regular playback/capture, but this
    was flagged as an error by firmware in the case of multiple amplifiers
    on different links.
    
    Fixes: a0659f8 ("ASoC: SOF: ipc4-topology: add DMA config TLV to IPC data")
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    ef8a29b View commit details
    Browse the repository at this point in the history
  64. ASoC: SOF: Intel: hda: add interface definitions for ACE2.x

    All interfaces are accessible without the DSP and rely on the HDaudio
    DMA only.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    701c0ba View commit details
    Browse the repository at this point in the history
  65. ASoC: SOF: Intel: LNL: Add support for Lunarlake platform

    Add initial support for Lunarlake. For now only HDAudio interfaces are
    supported, DMIC/SSP/SoundWire require additional work so that the DAIs
    reuse the HDaudio DMA stream allocation.
    
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-7-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ranj063 authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    64a63d9 View commit details
    Browse the repository at this point in the history
  66. ASoC: SOF: Intel: split MTL and LNL operations

    It was just a matter of time before we found a case where we needed
    separate ops for MTL and LNL. For LNL we need to set the DMIC/SSP
    OFLEN bit in the probe and resume steps, and this can only be done
    cleanly with separate ops.
    
    The function prototypes in mtl.h were added in the same order as their
    implementation in mtl.c.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-8-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    c22d532 View commit details
    Browse the repository at this point in the history
  67. ASoC: SOF: Intel: LNL: enable DMIC/SSP offload in probe/resume

    In the LunarLake hardware, the default IP ownership changed to the
    host driver, instead of the firmware in previous generation.
    
    In the absence of any capability negotiation, we need to assume a
    fixed partitioning between host driver and firmware. The OFLEN bit
    needs to be set as early as possible for resources handled by the
    firmware, since we can't control when the firmware might try to access
    the resources.
    
    For now DMIC and SSP are handled by the DSP firmware. SoundWire is a
    separate case, the OFLEN bit can be set when starting-up and resuming
    the aux device for each link.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-9-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    e78576c View commit details
    Browse the repository at this point in the history
  68. ASoC: SOF: Intel: hda-dai-ops: add/select DMA ops for SSP

    The DMA widget ops are almost similar to the HDaudio ones, with the
    exception of codec_dai_set_hext_stream() which is not relevant and the
    format calculation which isn't dependent on the codec dai.
    
    The DMA ops can be selected only starting with ACE_2_0.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-10-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    1254773 View commit details
    Browse the repository at this point in the history
  69. ASoC: SOF: Intel: hda-dai: add ops for SSP

    Add new ops for SSP.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-11-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    a8338e7 View commit details
    Browse the repository at this point in the history
  70. ASoC: SOF: Intel: hda-dai: add DMIC support

    We can reuse the same helpers as for SSP, with just the link type
    being different.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-12-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    b6c508b View commit details
    Browse the repository at this point in the history
  71. ASoC: SOF: Intel: hda-dai-ops: only allocate/release streams for firs…

    …t CPU DAI
    
    When we have multiple CPU DAIs in a dailink, typically for SoundWire
    aggregated solutions with amplifiers on multiple links, we only want
    to allocate one HDaudio stream_tag. The simplest solution is to
    allocate the hext_stream/stream_tag for the DAI with index 0 in the
    dailink, and reuse the same stream for all other CPU DAIs.
    
    This assumption relies on serialization of DAIs by the ASoC core,
    where all CPU DAIs are handled in a loop.
    
    The stream release follows the same idea of releasing the tag for the
    first DAI only. Ideally we would want the loop to be handled in
    reverse-order to summetry, but there is no risk of reusing a
    stream_tag which is no longer valid.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-13-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    f8ba62a View commit details
    Browse the repository at this point in the history
  72. ASoC: SOF: Intel: hda-dai-ops: add ops for SoundWire

    Same abstraction as SSP/DMIC, with only the get_hlink helper changing.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-14-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    bb0b992 View commit details
    Browse the repository at this point in the history
  73. ASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks

    During the hw_params and hw_free stages, we need to map the stream tag
    and channels in the PCMSyCM registers.
    
    The trigger callback is just a wrapper.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-15-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    2960ee5 View commit details
    Browse the repository at this point in the history
  74. ASoC: SOF: Intel: hda: add hw_params/free/trigger callbacks

    These callbacks are just wrappers to keep the code relatively clean.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-16-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    186ca4b View commit details
    Browse the repository at this point in the history
  75. ASoC: SOF: Intel: add abstraction for SoundWire wake-ups

    The existing code cannot work for LunarLake, let's add a layer of
    abstraction.
    
    No functional change in this patch.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-17-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    9362ab7 View commit details
    Browse the repository at this point in the history
  76. ASoC: SOF: Intel: hda-mlink: add helper to get sublink LSDIID register

    We need to retrieve the current value to deal with the HDAudio
    WAKEEN/WAKESTS setup.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-18-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    34e38f0 View commit details
    Browse the repository at this point in the history
  77. ASoC: SOF: Intel: hda-dai-ops: reset device count for SoundWire DAIs

    The solution used before LunarLake relies on a 'Multi-gateway'
    firmware configuration. This is no longer needed with the DMA hardware
    handling multiple links directly. To avoid adding a platform-specific
    quirk in the generic IPC4 code, this patch resets the device count
    when fetching the stream context.
    
    Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-19-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    699e146 View commit details
    Browse the repository at this point in the history
  78. ASoC: SOF: IPC4: clarify 'pipeline_ids' usage and logs

    A pipeline is identified by two indices: 'instance_id' and 'pipeline_id'
    
    This is clearly seen in kernel logs when creating a pipeline
    
    "Create widget pipeline.20 instance 0 - pipe 20 - core 0"
    
    but other logs are less clear
    
    "ipc4 set pipeline 1 state 4"
    
    Change definitions and logs to make sure the logs clearly identify
    which of the two indices are used in state transitions.
    
    No functional change.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-20-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    1eaff26 View commit details
    Browse the repository at this point in the history
  79. ASoC: SOF: Intel: hda-mlink: add sublink to dev_dbg() log

    When using more than one sublink for amplifier aggregation, we need to
    add the sublink info to debug the programming sequences.
    
    No functional change, only additional precisions in the log.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807210959.506849-21-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    02c7f87 View commit details
    Browse the repository at this point in the history
  80. ASoC: Intel: sof-sdw: update jack detection quirk for LunarLake RVP

    Experimental results show that the headset is only detected with the
    JD2 quirk.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807215000.515846-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    bd76caa View commit details
    Browse the repository at this point in the history
  81. ASoC: Intel: sof-sdw-cs42142: fix for codec button mapping

    The CS42142 soundwire codec button mapping is corrected to
    handle the button detection correctly.
    
    Fixes: 43cdea0 ("ASoC: Intel: sof_sdw: Add helper function for cs42l42 codec")
    Signed-off-by: jairaj-arava <jairaj.arava@intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20230807215000.515846-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jairaj-arava authored and broonie committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    e619948 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2023

  1. ASoC: SOF: Intel: add LunarLake support

    Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    This patchset first fixes a number of errors made in the hda-mlink
    support, then adds Lunar Lake definitions. The main contribution is
    the hda-dai changes where the HDaudio DMA is now used for SSP, DMIC
    and SoundWire. In previous hardware the GPDMA (aka DesignWare) was
    used and controlled by the audio firmware. The volume of code is
    minimized with the abstraction added in previous kernel cycles.
    
    Due to cross-dependencies between ASoC and SoundWire trees, the full
    support for jack detection will be deferred to the next kernel
    cycle. There's not much point to ask for a sync of the two trees to
    support one patch for each tree - we are at -rc5 already.
    broonie committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    442ece6 View commit details
    Browse the repository at this point in the history
  2. ALSA: pcmtest: Move buffer iterator initialization to prepare callback

    Trigger callback is not the best place for buffer iterator
    initialization, so move it out to the prepare callback, where it
    have to be.
    
    Minor enhancement: remove blank line.
    
    Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
    Link: https://lore.kernel.org/r/20230804110740.9867-1-ivan.orlov0322@gmail.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    ivanorlov2206 authored and tiwai committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    205b96e View commit details
    Browse the repository at this point in the history
  3. ALSA: pcmtest: Remove redundant definitions

    Remove redundant definitions of DEVNAME and CARD_NAME, as they're not
    useful. The former is not used anywhere, and the latter is used only
    in module parameters descriptions.
    
    Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
    Link: https://lore.kernel.org/r/20230804110740.9867-2-ivan.orlov0322@gmail.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    ivanorlov2206 authored and tiwai committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    bba0498 View commit details
    Browse the repository at this point in the history
  4. ALSA: info: Remove unused function declarations

    These declarations is never used since beginning of git history.
    
    Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20230807141513.31440-1-yuehaibing@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Yue Haibing authored and tiwai committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    f95d5ef View commit details
    Browse the repository at this point in the history
  5. ALSA: hda/tegra: refactor deprecated strncpy

    `strncpy` is deprecated for use on NUL-terminated destination strings [1].
    
    A suitable replacement is `strscpy` [2] due to the fact that it
    guarantees NUL-termination on its destination buffer argument which is
    _not_ the case for `strncpy`!
    
    It should be noted that the current implementation is unlikely to have a
    bug because `drv_name` is a string literal with a size of 9 while
    `card->driver` has a size of 16. However, it is probably worthwhile to
    switch to a more robust and less ambiguous interface.
    
    [1]: www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
    [2]: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html
    
    Link: KSPP#90
    Cc: linux-hardening@vger.kernel.org
    Signed-off-by: Justin Stitt <justinstitt@google.com>
    Link: https://lore.kernel.org/r/20230807-sound-pci-hda-v1-1-6d9cdcd085ca@google.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    JustinStitt authored and tiwai committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    3d28c46 View commit details
    Browse the repository at this point in the history
  6. ASoC: SOF: intel: hda: Clean up link DMA for IPC3 during stop

    With IPC3, we reset hw_params during the stop trigger, so we should also
    clean up the link DMA during the stop trigger.
    
    Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
    Closes: thesofproject#4455
    Closes: thesofproject#4482
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217673
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Link: https://lore.kernel.org/r/20230808110627.32375-1-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ranj063 authored and broonie committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    90219f1 View commit details
    Browse the repository at this point in the history
  7. ASoC: amd: acp3x-rt5682-max9836: Configure jack as not detecting Line…

    … Out
    
    The RT5682, RT1015 and RT1015p codecs used in this driver do not seem
    capable of distinguishing Line Out connections from Headphone, but
    the driver configures its jack object as if it can. Remove the wrong
    value from the jack creation call to avoid any confusion.
    
    Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
    Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
    Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
    Link: https://lore.kernel.org/r/20230805162216.441410-1-alpernebiyasak@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alpernebbi authored and broonie committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    94c40db View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    97ca08e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b94d7eb View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ce3a8f9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a33837a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4fc0ba0 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    04cb09d View commit details
    Browse the repository at this point in the history