1. 01 Feb, 2024 15 commits
    • Richard Fitzgerald's avatar
      ALSA: hda: cs35l56: Fix order of searching for firmware files · 77c60722
      Richard Fitzgerald authored
      Check for the cases of system-specific bin file without a
      wmfw before falling back to looking for a generic wmfw.
      
      All system-specific options should be tried before falling
      back to loading a generic wmfw/bin. With the original code,
      the presence of a fallback generic wmfw on the filesystem
      would prevent using a system-specific tuning with a ROM
      firmware.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 73cfbfa9 ("ALSA: hda/cs35l56: Add driver for Cirrus Logic CS35L56 amplifier")
      Link: https://msgid.link/r/20240129162737.497-16-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      77c60722
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Allow more time for firmware to boot · 9e92b77c
      Richard Fitzgerald authored
      The original 50ms timeout for firmware boot is not long enough for
      worst-case time to reboot after a firmware download. Increase the
      timeout to 250ms.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-15-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      9e92b77c
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Load tunings for the correct speaker models · 245eeff1
      Richard Fitzgerald authored
      If the "spk-id-gpios" property is present it points to GPIOs whose
      value must be used to select the correct bin file to match the
      speakers.
      
      Some manufacturers use multiple sources of speakers, which need
      different tunings for best performance. On these models the type of
      speaker fitted is indicated by the values of one or more GPIOs. The
      number formed by the GPIOs identifies the tuning required.
      
      The speaker ID must be used in combination with the subsystem ID
      (either from PCI SSID or cirrus,firmware-uid property), because the
      GPIOs can only indicate variants of a specific model.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 1a1c3d79 ("ASoC: cs35l56: Use PCI SSID as the firmware UID")
      Link: https://msgid.link/r/20240129162737.497-14-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      245eeff1
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Firmware file must match the version of preloaded firmware · f4ef5149
      Richard Fitzgerald authored
      Check during initialization whether the firmware is already patched.
      If so, include the firmware version in the wm_adsp fwf_name string.
      
      If the firmware has already been patched by the BIOS the driver
      can only replace it if it has control of hard RESET.
      
      If the driver cannot replace the firmware, it can still load a wmfw
      (for ALSA control definitions) and/or a bin (for additional tunings).
      But these must match the version of firmware that is running on the
      CS35L56.
      
      The firmware is pre-patched if FIRMWARE_MISSING == 0.
      
      Including the firmware version in the fwf_name string will
      qualify the firmware file name:
      
      Normal (unpatched or replaceable firmware):
        cs35l56-rev-dsp1-misc[-system_name].[wmfw|bin]
      
      Preloaded firmware:
        cs35l56-rev[-s]-VVVVVV-dsp1-misc[-system_name].[wmfw|bin]
      
      Where:
         [-s] is an optional -s added into the name for a secured CS35L56
         VVVVVV is the 24-bit firmware version in hexadecimal.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 608f1b0d ("ASoC: cs35l56: Move DSP part string generation so that it is done only once")
      Link: https://msgid.link/r/20240129162737.497-13-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      f4ef5149
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Fix misuse of wm_adsp 'part' string for silicon revision · f6c96794
      Richard Fitzgerald authored
      Put the silicon revision and secured flag in the wm_adsp fwf_name
      string instead of including them in the part string.
      
      This changes the format of the firmware name string from
      
       cs35l56[s]-rev-misc[-system_name]
      
      to
       cs35l56-rev[-s]-misc[-system_name]
      
      No firmware files have been published, so this doesn't cause a
      compatibility break.
      
      Silicon revision and secured flag are included in the firmware
      filename to pick a firmware compatible with the part. These strings
      were being added to the part string, but that is a misuse of the
      string. The correct place for these is the fwf_name string, which
      is specifically intended to select between multiple firmware files
      for the same part.
      
      Backport note:
      This won't apply to kernels older than v6.6.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 608f1b0d ("ASoC: cs35l56: Move DSP part string generation so that it is done only once")
      Link: https://msgid.link/r/20240129162737.497-12-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      f6c96794
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Fix for initializing ASP1 mixer registers · 07f7d6e7
      Richard Fitzgerald authored
      Defer initializing the state of the ASP1 mixer registers until
      the firmware has been downloaded and rebooted.
      
      On a SoundWire system the ASP is free for use as a chip-to-chip
      interconnect. This can be either for the firmware on multiple
      CS35L56 to share reference audio; or as a bridge to another
      device. If it is a firmware interconnect it is owned by the
      firmware and the Linux driver should avoid writing the registers.
      However, if it is a bridge then Linux may take over and handle
      it as a normal codec-to-codec link. Even if the ASP is used
      as a firmware-firmware interconnect it is useful to have
      ALSA controls for the ASP mixer. They are at least useful for
      debugging.
      
      CS35L56 is designed for SDCA and a generic SDCA driver would
      know nothing about these chip-specific registers. So if the
      ASP is being used on a SoundWire system the firmware sets up the
      ASP mixer registers. This means that we can't assume the default
      state of these registers. But we don't know the initial state
      that the firmware set them to until after the firmware has been
      downloaded and booted, which can take several seconds when
      downloading multiple amps.
      
      DAPM normally reads the initial state of mux registers during
      probe() but this would mean blocking probe() for several seconds
      until the firmware has initialized them. To avoid this, the
      mixer muxes are set SND_SOC_NOPM to prevent DAPM trying to read
      the register state. Custom get/set callbacks are implemented for
      ALSA control access, and these can safely block waiting for the
      firmware download.
      
      After the firmware download has completed, the state of the
      mux registers is known so a work job is queued to call
      snd_soc_dapm_mux_update_power() on each of the mux widgets.
      
      Backport note:
      This won't apply cleanly to kernels older than v6.6.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-11-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      07f7d6e7
    • Richard Fitzgerald's avatar
      ALSA: hda: cs35l56: Initialize all ASP1 registers · 856ce898
      Richard Fitzgerald authored
      Add ASP1_FRAME_CONTROL1, ASP1_FRAME_CONTROL5 and the ASP1_TX?_INPUT
      registers to the sequence used to initialize the ASP configuration.
      Write this sequence to the cache and directly to the registers to
      ensure that they match.
      
      A system-specific firmware can patch these registers to values that are
      not the silicon default, so that the CS35L56 boots already in the
      configuration used by Windows or by "driverless" Windows setups such
      as factory tuning.
      
      These may not match how Linux is configuring the HDA codec. And anyway
      on Linux the ALSA controls are used to configure routing options.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 73cfbfa9 ("ALSA: hda/cs35l56: Add driver for Cirrus Logic CS35L56 amplifier")
      Link: https://msgid.link/r/20240129162737.497-10-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      856ce898
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Fix default SDW TX mixer registers · 782e6c53
      Richard Fitzgerald authored
      Patch the SDW TX mixer registers to silicon defaults.
      
      CS35L56 is designed for SDCA and a generic SDCA driver would
      know nothing about these chip-specific registers. So the
      firmware sets up the SDW TX mixer registers to whatever audio
      is relevant on a specific system.
      
      This means that the driver cannot assume the initial values
      of these registers. But Linux has ALSA controls to configure
      routing, so the registers can be patched to silicon default and
      the ALSA controls used to select what audio to feed back to the
      host capture path.
      
      Backport note:
      This won't apply to kernels older than v6.6.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-9-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      782e6c53
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Fix to ensure ASP1 registers match cache · 72a77d76
      Richard Fitzgerald authored
      Add a dummy SUPPLY widget connected to the ASP that forces the
      chip registers to match the regmap cache when the ASP is
      powered-up.
      
      On a SoundWire system the ASP is free for use as a chip-to-chip
      interconnect. This can be either for the firmware on multiple
      CS35L56 to share reference audio; or as a bridge to another
      device. If it is a firmware interconnect it is owned by the
      firmware and the Linux driver should avoid writing the registers.
      However. If it is a bridge then Linux may take over and handle
      it as a normal codec-to-codec link.
      
      CS35L56 is designed for SDCA and a generic SDCA driver would
      know nothing about these chip-specific registers. So if the
      ASP is being used on a SoundWire system the firmware sets up the
      ASP registers. This means that we can't assume the default
      state of the ASP registers. But we don't know the initial state
      that the firmware set them to until after the firmware has been
      downloaded and booted, which can take several seconds when
      downloading multiple amps.
      
      To avoid blocking probe() for several seconds waiting for the
      firmware, the silicon defaults are assumed. This allows the machine
      driver to setup the ASP configuration during probe() without being
      blocked. If the ASP is hooked up and used, the SUPPLY widget
      ensures that the chip registers match what was configured in the
      regmap cache.
      
      If the machine driver does not hook up the ASP, it is assumed that
      it won't call any functions to configure the ASP DAI. Therefore
      the regmap cache will be clean for these registers so a
      regcache_sync() will not overwrite the chip registers. If the
      DAI is not hooked up, the dummy SUPPLY widget will not be
      invoked so it will never force-overwrite the chip registers.
      
      Backport note:
      This won't apply cleanly to kernels older than v6.6.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-8-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      72a77d76
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Remove buggy checks from cs35l56_is_fw_reload_needed() · 3739cc07
      Richard Fitzgerald authored
      Remove the check of fw_patched from cs35l56_is_fw_reload_needed().
      Also remove the redundant check for control of the reset GPIO.
      
      The fw_patched flag is set when cs35l56_dsp_work() has completed its
      steps to download firmware and power-up wm_adsp. There was a check in
      cs35l56_is_fw_reload_needed() to make a quick exit of 'false' if
      !fw_patched. The original idea was that the system might be suspended
      before the driver has ever made any attempt to download firmware, and
      in that case the driver doesn't need to return to a patched state
      because it was never in a patched state.
      
      This check of fw_patched is buggy because it prevented ever recovering
      from a failed patch. If a previous attempt to patch and reboot the
      silicon had failed it would leave fw_patched==false. This would mean
      the driver never attempted another download even though the fault may
      have been cleared (by a hard reset, for example).
      
      It is also a redundant check because the calling code already makes
      a quick exit if cs35l56_component_probe() has not been called, which
      deals with the original intent of this check but in a safer way.
      
      The check for reset GPIO is redundant: if the silicon was hard-reset
      the FIRMWARE_MISSING flag will be 1. But this check created an
      expectation that the suspend/resume code toggles reset. This can't
      easily be protected against accidental code breakage. The only reason
      for the check was to skip runtime-resuming the driver to read the
      PROTECTION_STATUS register when it already knows it reset the silicon.
      But in that case the driver will have to be runtime-resumed to do
      the firmware download. So it created an assumption for no benefit.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 8a731fd3 ("ASoC: cs35l56: Move utility functions to shared file")
      Link: https://msgid.link/r/20240129162737.497-7-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3739cc07
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Don't add the same register patch multiple times · 07687cd0
      Richard Fitzgerald authored
      Move the call to cs35l56_set_patch() earlier in cs35l56_init() so
      that it only adds the register patch on first-time initialization.
      
      The call was after the post_soft_reset label, so every time this
      function was run to re-initialize the hardware after a reset it would
      call regmap_register_patch() and add the same reg_sequence again.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 898673b9 ("ASoC: cs35l56: Move shared data into a common data structure")
      Link: https://msgid.link/r/20240129162737.497-6-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      07687cd0
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: cs35l56_component_remove() must clean up wm_adsp · cd38ccbe
      Richard Fitzgerald authored
      cs35l56_component_remove() must call wm_adsp_power_down() and
      wm_adsp2_component_remove().
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-5-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      cd38ccbe
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component · ae861c46
      Richard Fitzgerald authored
      The cs35l56->component pointer is used by the suspend-resume handling to
      know whether the driver is fully instantiated. This is to prevent it
      queuing dsp_work which would result in calling wm_adsp when the driver
      is not an instantiated ASoC component. So this pointer must be cleared
      by cs35l56_component_remove().
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
      Link: https://msgid.link/r/20240129162737.497-4-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      ae861c46
    • Richard Fitzgerald's avatar
      ASoC: wm_adsp: Don't overwrite fwf_name with the default · daf3f0f9
      Richard Fitzgerald authored
      There's no need to overwrite fwf_name with a kstrdup() of the cs_dsp part
      name. It is trivial to select either fwf_name or cs_dsp.part as the string
      to use when building the filename in wm_adsp_request_firmware_file().
      
      This leaves fwf_name entirely owned by the codec driver.
      
      It also avoids problems with freeing the pointer. With the original code
      fwf_name was either a pointer owned by the codec driver, or a kstrdup()
      created by wm_adsp. This meant wm_adsp must free it if it set it, but not
      if the codec driver set it. The code was handling this by using
      devm_kstrdup().
      But there is no absolute requirement that wm_adsp_common_init() must be
      called from probe(), so this was a pseudo-memory leak - each new call to
      wm_adsp_common_init() would allocate another block of memory but these
      would only be freed if the owning codec driver was removed.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Link: https://msgid.link/r/20240129162737.497-3-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      daf3f0f9
    • Richard Fitzgerald's avatar
      ASoC: wm_adsp: Fix firmware file search order · 3657e4cb
      Richard Fitzgerald authored
      Check for the cases of system-specific bin file without a
      wmfw before falling back to looking for a generic wmfw.
      
      All system-specific options should be tried before falling
      back to loading a generic wmfw/bin. With the original code,
      the presence of a fallback generic wmfw on the filesystem
      would prevent using a system-specific tuning with a ROM
      firmware.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Fixes: 0e7d82cb ("ASoC: wm_adsp: Add support for loading bin files without wmfw")
      Link: https://msgid.link/r/20240129162737.497-2-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3657e4cb
  2. 29 Jan, 2024 1 commit
  3. 28 Jan, 2024 7 commits
  4. 27 Jan, 2024 9 commits
  5. 26 Jan, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'ata-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux · 3a5879d4
      Linus Torvalds authored
      Pull ata updates from Niklas Cassel:
      
       - Fix an incorrect link_power_management_policy sysfs attribute value.
      
         We were previously using the same attribute value for two different
         LPM policies (me)
      
       - Add a ASMedia ASM1166 quirk.
      
         The SATA host controller always reports that it has 32 ports, even
         though it only has six ports. Add a quirk that overrides the value
         reported by the controller (Conrad)
      
       - Add a ASMedia ASM1061 quirk.
      
         The SATA host controller completely ignores the upper 21 bits of the
         DMA address. This causes IOMMU error events when a (valid) DMA
         address actually has any of the upper 21 bits set. Add a quirk that
         limits the dma_mask to 43-bits (Lennert)
      
      * tag 'ata-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
        ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
        ahci: asm1166: correct count of reported ports
        ata: libata-sata: improve sysfs description for ATA_LPM_UNKNOWN
      3a5879d4
    • Linus Torvalds's avatar
      Merge tag 'block-6.8-2024-01-26' of git://git.kernel.dk/linux · 914e1708
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - RCU warning fix for md (Mikulas)
      
       - Fix for an aoe issue that lockdep rightfully complained about
         (Maksim)
      
       - Fix for an error code change in partitioning that caused a regression
         with some tools (Li)
      
       - Fix for a data direction warning with bi-direction commands
         (Christian)
      
      * tag 'block-6.8-2024-01-26' of git://git.kernel.dk/linux:
        md: fix a suspicious RCU usage warning
        aoe: avoid potential deadlock at set_capacity
        block: Fix WARNING in _copy_from_iter
        block: Move checking GENHD_FL_NO_PART to bdev_add_partition()
      914e1708
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.8-2024-01-26' of git://git.kernel.dk/linux · cced1c5e
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a single tweak to the newly added IORING_OP_FIXED_FD_INSTALL from
        Paul, ensuring it goes via the audit path and playing it safe by
        excluding it from using registered creds"
      
      * tag 'io_uring-6.8-2024-01-26' of git://git.kernel.dk/linux:
        io_uring: enable audit and restrict cred override for IORING_OP_FIXED_FD_INSTALL
      cced1c5e
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 667c8893
      Linus Torvalds authored
      Pull thermal control update from Rafael Wysocki:
       "Remove some dead code from the Intel powerclamp thermal control driver
        (Srinivas Pandruvada)"
      
      * tag 'thermal-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: intel: powerclamp: Remove dead code for target mwait value
      667c8893
    • Linus Torvalds's avatar
      Merge tag 'pm-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0c879d88
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix two cpufreq drivers and the cpupower utility.
      
        Specifics:
      
         - Fix the handling of scaling_max/min_freq sysfs attributes in the
           AMD P-state cpufreq driver (Mario Limonciello)
      
         - Make the intel_pstate cpufreq driver avoid unnecessary computation
           of the HWP performance level corresponding to a given frequency in
           the cases when it is known already, which also helps to avoid
           reducing the maximum CPU capacity artificially on some systems
           (Rafael J. Wysocki)
      
         - Fix compilation of the cpupower utility when CFLAGS is passed as a
           make argument for cpupower, but it does not take effect as expected
           due to mishandling (Stanley Chan)"
      
      * tag 'pm-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq/amd-pstate: Fix setting scaling max/min freq values
        cpufreq: intel_pstate: Refine computation of P-state for given frequency
        tools cpupower bench: Override CFLAGS assignments
      0c879d88
    • Linus Torvalds's avatar
      Merge tag 'docs-6.8-fixes' of git://git.lwn.net/linux · 70da22eb
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A handful of relatively boring documentation fixes"
      
      * tag 'docs-6.8-fixes' of git://git.lwn.net/linux:
        docs: admin-guide: remove obsolete advice related to SLAB allocator
        doc: admin-guide/kernel-parameters: remove useless comment
        docs/accel: correct links to mailing list archives
        docs/sphinx: Fix TOC scroll hack for the home page
      70da22eb
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-01-27' of git://anongit.freedesktop.org/drm/drm · 168174d7
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Lots going on for rc2, ivpu has a bunch of stabilisation and debugging
        work, then amdgpu and xe are the main fixes. i915, exynos have a few,
        then some misc panel and bridge fixes.
      
        Worth mentioning are three regressions. One of the nouveau fixes in
        6.7 for a serious deadlock had side effects, so I guess we will bring
        back the deadlock until I can figure out what should be done properly.
        There was a scheduler regression vs amdgpu which was reported in a few
        places and is now fixed. There was an i915 vs simpledrm problem
        resulting in black screens, that is reverted also.
      
        I'll be working on a proper nouveau fix, it kinda looks like one of
        those cases where someone tried to use an atomic where they should
        have probably used a lock, but I'll see.
      
        fb:
         - fix simpledrm/i915 regression by reverting change
      
        scheduler:
         - fix regression affecting amdgpu users due to sched draining
      
        nouveau:
         - revert 6.7 deadlock fix as it has side effects
      
        dp:
         - fix documentation warning
      
        ttm:
         - fix dummy page read on some platforms
      
        bridge:
         - anx7625 suspend fix
         - sii902x: fix probing and audio registration
         - parade-ps8640: fix suspend of bridge, aux fixes
         - samsung-dsim: avoid using FORCE_STOP_STATE
      
        panel:
         - simple add missing bus flags
         - fix samsung-s6d7aa0 flags
      
        amdgpu:
         - AC/DC power supply tracking fix
         - Don't show invalid vram vendor data
         - SMU 13.0.x fixes
         - GART fix for umr on systems without VRAM
         - GFX 10/11 UNORD_DISPATCH fixes
         - IPS display fixes (required for S0ix on some platforms)
         - Misc fixes
      
        i915:
         - DSI sequence revert to fix GitLab #10071 and DP test-pattern fix
         - Drop -Wstringop-overflow (broken on GCC11)
      
        ivpu:
         - fix recovery/reset support
         - improve submit ioctl stability
         - fix dev open/close races on unbind
         - PLL disable reset fix
         - deprecate context priority param
         - improve debug buffer logging
         - disable buffer sharing across VPU contexts
         - free buffer sgt on unbind
         - fix missing lock around shmem vmap
         - add better boot diagnostics
         - add more debug prints around mapping
         - dump MMU events in case of timeout
      
        v3d:
         - NULL ptr dereference fix
      
        exynos:
         - fix stack usage
         - fix incorrect type
         - fix dt typo
         - fix gsc runtime resume
      
        xe:
         - Make an ops struct static
         - Fix an implicit 0 to NULL conversion
         - A couple of 32-bit fixes
         - A migration coherency fix for Lunar Lake.
         - An error path vm id leak fix
         - Remove PVC references in kunit tests"
      
      * tag 'drm-fixes-2024-01-27' of git://anongit.freedesktop.org/drm/drm: (66 commits)
        Revert "nouveau: push event block/allowing out of the fence context"
        drm: bridge: samsung-dsim: Don't use FORCE_STOP_STATE
        drm/sched: Drain all entities in DRM sched run job worker
        drm/amd/display: "Enable IPS by default"
        drm/amd: Add a DC debug mask for IPS
        drm/amd/display: Disable ips before dc interrupt setting
        drm/amd/display: Replay + IPS + ABM in Full Screen VPB
        drm/amd/display: Add IPS checks before dcn register access
        drm/amd/display: Add Replay IPS register for DMUB command table
        drm/amd/display: Allow IPS2 during Replay
        drm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs
        drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs
        drm/amd/amdgpu: Assign GART pages to AMD device mapping
        drm/amd/pm: Fetch current power limit from FW
        drm/amdgpu: Fix null pointer dereference
        drm/amdgpu: Show vram vendor only if available
        drm/amd/pm: update the power cap setting
        drm/amdgpu: Avoid fetching vram vendor information
        drm/amdgpu/pm: Fix the power source flag error
        drm/amd/display: Fix uninitialized variable usage in core_link_ 'read_dpcd() & write_dpcd()' functions
        ...
      168174d7
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 2047b0b2
      Linus Torvalds authored
      Pull asm-generic update from Arnd Bergmann:
       "Just one patch this time, adding Andreas Larsson as co-maintainer for
        arch/sparc. He is volunteering to help since David Miller has become
        much less active over the past few years.
      
        In turn, I'm helping Andreas get set up as a new maintainer, starting
        with the entry in the MAINTAINERS file"
      
      * tag 'asm-generic-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        MAINTAINERS: Add Andreas Larsson as co-maintainer for arch/sparc
      2047b0b2