All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Binding <sbinding@opensource.cirrus.com>
To: Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>
Cc: <alsa-devel@alsa-project.org>, <linux-sound@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <patches@opensource.cirrus.com>,
	"Stefan Binding" <sbinding@opensource.cirrus.com>
Subject: [PATCH v1 0/7] Add support for various laptops using CS35L41 HDA without _DSD
Date: Mon, 18 Dec 2023 15:12:14 +0000	[thread overview]
Message-ID: <20231218151221.388745-1-sbinding@opensource.cirrus.com> (raw)

The CS35L41 HDA driver requires various system defined properties to configure
the driver for an individual system. For some laptops, these properties are
missing in the BIOS. To be able to support these laptops, there is a mechanism
in the driver to get this configuration from a lookup table, to be able to add
or patch _DSD as necessary.

However this mechanism currently only allows for laptops to be patched one at
a time, however, in the case where there are many laptops which need to be
configured generically, a generic function has been added, with an additional
lookup table to the individual laptops, indexed by SSID.

To support laptops using SPI without _DSD, an additional workaround is needed
to be able to support the SPI Chip Select GPIOs whose resources are defined
inside the _CRS for the Speaker ACPI Node. This workaround only works for
SPI laptops which contain up to 2 amps, since the SPI controller would not
allow more than 2 amps to be instantiated without the cs-gpios entry in
_DSD.

These patches add support for various ASUS laptops without _DSD, but the
framework added here allows for support for more laptops in the future
for other manufacturers. Support for laptops without _DSD from other
manufacturers is coming in the future.

Note: for systems which use modified _DSD to emulate the missing _DSD,
these patches are incompatible, and the modified _DSD must be removed in
order for the support through this framework to work for those laptops.

Stefan Binding (7):
  ALSA: hda: cs35l41: Add config table to support many laptops without
    _DSD
  ALSA: hda: cs35l41: Support additional ASUS ROG 2023 models
  ALSA: hda/realtek: Add quirks for ASUS ROG 2023 models
  ALSA: hda: cs35l41: Support additional ASUS Zenbook 2022 Models
  ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models
  ALSA: hda: cs35l41: Support additional ASUS Zenbook 2023 Models
  ALSA: hda/realtek: Add quirks for ASUS Zenbook 2023 Models

 sound/pci/hda/cs35l41_hda.c          |   2 +
 sound/pci/hda/cs35l41_hda.h          |   5 +-
 sound/pci/hda/cs35l41_hda_property.c | 362 ++++++++++++++++++++++++---
 sound/pci/hda/patch_realtek.c        |  39 ++-
 4 files changed, 353 insertions(+), 55 deletions(-)

-- 
2.34.1


             reply	other threads:[~2023-12-18 15:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-18 15:12 Stefan Binding [this message]
2023-12-18 15:12 ` [PATCH v1 1/7] ALSA: hda: cs35l41: Add config table to support many laptops without _DSD Stefan Binding
2023-12-18 15:12 ` [PATCH v1 2/7] ALSA: hda: cs35l41: Support additional ASUS ROG 2023 models Stefan Binding
2023-12-21  8:41   ` Luke Jones
2023-12-18 15:12 ` [PATCH v1 3/7] ALSA: hda/realtek: Add quirks for " Stefan Binding
2023-12-18 15:12 ` [PATCH v1 4/7] ALSA: hda: cs35l41: Support additional ASUS Zenbook 2022 Models Stefan Binding
2023-12-18 15:12 ` [PATCH v1 5/7] ALSA: hda/realtek: Add quirks for " Stefan Binding
2023-12-18 15:12 ` [PATCH v1 6/7] ALSA: hda: cs35l41: Support additional ASUS Zenbook 2023 Models Stefan Binding
2023-12-18 15:12 ` [PATCH v1 7/7] ALSA: hda/realtek: Add quirks for " Stefan Binding
2023-12-18 17:48 ` [PATCH v1 0/7] Add support for various laptops using CS35L41 HDA without _DSD Takashi Iwai
2024-04-19  7:13 Niclas Söderlund
2024-04-19  7:45 Niclas Söderlund
2024-04-19 10:28 ` Stefan Binding
2024-04-19 10:01 Niclas Söderlund

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231218151221.388745-1-sbinding@opensource.cirrus.com \
    --to=sbinding@opensource.cirrus.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.