Junhao Pei
3185554541
ALSA: hda/realtek: Fix internal speakers for Legion Y9000X 2022 IAH7
...
This fixes the sound not working from internal speakers on Lenovo
Legion Y9000X 2022 IAH7 models.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218744
Signed-off-by: Junhao Pei <ArcticLampyrid@outlook.com >
Link: https://lore.kernel.org/r/TYCP286MB2535ACD5188A91C000B7CD13C41C2@TYCP286MB2535.JPNP286.PROD.OUTLOOK.COM
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-05-08 18:17:22 +02:00
Stefan Binding
4bfea1dcd5
ALSA: hda: cs35l41: Add support for ASUS ROG 2024 Laptops
...
All of these laptops do not have _DSD, so need to be added to the
configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://lore.kernel.org/r/20240429154853.9393-3-sbinding@opensource.cirrus.com
2024-05-08 18:14:37 +02:00
Stefan Binding
7a62ab9180
ALSA: hda: cs35l41: Support Lenovo 13X laptop without _DSD
...
This laptop does not have the correct _DSD settings, so needs to
obtain its configuration from the configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Message-ID: <20240423162303.638211-2-sbinding@opensource.cirrus.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-04-24 09:21:11 +02:00
Stefan Binding
4a1a8065f5
ALSA: hda: cs35l41: Remove Speaker ID for Lenovo Legion slim 7 16ARHA7
...
These laptops do not have _DSD and must be added by configuration
table, however, the initial entries for them are incorrect:
Neither laptop contains a Speaker ID GPIO.
This issue would not affect audio playback, but may affect which files
are loaded when loading firmware.
Fixes: b67a7dc418 ("ALSA: hda/realtek: Add sound quirks for Lenovo Legion slim 7 16ARHA7 models")
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Message-ID: <20240411110813.330483-8-sbinding@opensource.cirrus.com >
2024-04-18 08:43:19 +02:00
Stefan Binding
ce35d1bd91
ALSA: hda: cs35l41: Support HP Omen models without _DSD
...
Add support for 2 new HP Omen models without _DSD into configuration
table.
These laptops use the PCM Gain setting for the tuning setting file.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Message-ID: <20240411110813.330483-3-sbinding@opensource.cirrus.com >
2024-04-18 08:43:18 +02:00
Luke D. Jones
0bfe105018
ALSA: hda/realtek: cs35l41: Support ASUS ROG G634JYR
...
Fixes the realtek quirk to initialise the Cirrus amp correctly and adds
related quirk for missing DSD properties. This model laptop has slightly
updated internals compared to the previous version with Realtek Codec
ID of 0x1caf.
Signed-off-by: Luke D. Jones <luke@ljones.dev >
Cc: <stable@vger.kernel.org >
Message-ID: <20240402015126.21115-1-luke@ljones.dev >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-04-02 08:07:10 +02:00
Christian Bendiksen
b67a7dc418
ALSA: hda/realtek: Add sound quirks for Lenovo Legion slim 7 16ARHA7 models
...
This fixes the sound not working from internal speakers on
Lenovo Legion Slim 7 16ARHA7 models. The correct subsystem ID
have been added to cs35l41_hda_property.c and patch_realtek.c.
Signed-off-by: Christian Bendiksen <christian@bendiksen.me >
Cc: <stable@vger.kernel.org >
Message-ID: <20240401122603.6634-1-christian@bendiksen.me >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-04-02 08:01:33 +02:00
Takashi Iwai
14b9e4ab71
Merge branch 'for-next' into for-linus
...
Prep for 6.9 merge.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-03-11 09:12:58 +01:00
Stefan Binding
b603d95692
ALSA: hda: cs35l41: Overwrite CS35L41 configuration for ASUS UM5302LA
...
Whilst this laptop contains _DSD inside the BIOS, there is an error in
this configuration. Override the _DSD in the BIOS with the correct
configuration for this laptop.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20240301160154.158398-4-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-03-04 09:12:41 +01:00
Stefan Binding
37d9d5ff52
ALSA: hda: cs35l41: Support Lenovo Thinkbook 16P
...
Adds sound support for 2 Lenovo Thinkbook 16P laptops using CS35L41
HDA with External Boost.
SSIDs:
- 17AA38A9
- 17AA38AB
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218437
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20240301160154.158398-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-03-04 09:11:57 +01:00
Takashi Iwai
471864ac8a
Merge branch 'for-linus' into for-next
...
Pull the latest 6.8 stuff into devel branch for further development.
Fixed the trivial merge conflict for HD-audio Realtek stuff.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-02-15 16:57:37 +01:00
Jean-Loïc Charroud
706c1fa1ab
ALSA: hda/realtek: cs35l41: Add internal speaker support for ASUS UM3402 with missing DSD
...
Add the values for the missing DSD properties to the cs35l41 config table.
Signed-off-by: Jean-Loïc Charroud <lagiraudiere+linux@free.fr >
Link: https://lore.kernel.org/r/1435594585.650325975.1707867511062.JavaMail.zimbra@free.fr
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-02-14 10:14:51 +01:00
Tomasz Kudela
24b6332c2d
ALSA: hda: Add Lenovo Legion 7i gen7 sound quirk
...
Add sound support for the Legion 7i gen7 laptop (16IAX7).
Signed-off-by: Tomasz Kudela <ramzes005@gmail.com >
Link: https://lore.kernel.org/r/20240213115614.10420-1-ramzes005@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-02-13 15:27:31 +01:00
Takashi Iwai
8b87a7863f
Merge branch 'topic/format-kunit' into for-next
...
Pull ALSA core kunit test.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-30 14:13:10 +01:00
Chhayly Leang
be220d2e55
ALSA: hda: cs35l41: Support ASUS Zenbook UM3402YAR
...
Adds sound support for ASUS Zenbook UM3402YAR with missing DSD
Signed-off-by: Chhayly Leang <clw.leang@gmail.com >
Link: https://lore.kernel.org/r/20240126080912.87422-1-clw.leang@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-30 14:09:31 +01:00
Kenzo Gomez
c16dfab33f
ALSA: hda: cs35l41: Support additional ASUS Zenbook UX3402VA
...
Add new model entry into configuration table.
Signed-off-by: Kenzo Gomez <kenzo.sgomez@gmail.com >
Link: https://lore.kernel.org/r/20240127164621.26431-1-kenzo.sgomez@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-30 14:07:05 +01:00
Stefan Binding
92bf736785
ALSA: hda: cs35l41: Support HP models without _DSD using dual Speaker ID
...
Laptops 103C8C66, 103C8C67, 103C8C68, 103C8C6A use a dual speaker id
system where each speaker has its own speaker id.
The generic configuration table doesn't support this, so it needs its
own function.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20240126164005.367021-4-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-28 13:10:58 +01:00
Stefan Binding
33e5e648e6
ALSA: hda: cs35l41: Support additional HP Envy Models
...
Add new model entries into configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20240126164005.367021-3-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-28 13:10:58 +01:00
Stefan Binding
135096ebfa
ALSA: hda: cs35l41: Set Channel Index correctly when system is missing _DSD
...
Current method to set Channel Index when the system is missing _DSD
assumes that the channels alternate, which is not guaranteed.
Instead use the same methodology as the main driver does when _DSD
exists.
Fixes: 8c4c216db8 ("ALSA: hda: cs35l41: Add config table to support many laptops without _DSD")
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20240126164005.367021-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-28 13:10:57 +01:00
Takashi Iwai
821e2ac632
Merge branch 'for-next' into for-linus
...
Prepare for 6.8 merge.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-08 08:17:37 +01:00
Arnd Bergmann
8c14dbf364
ALSA: hda: cs35l41: fix building without CONFIG_SPI
...
When CONFIG_SPI is disabled, the driver produces unused-variable warning:
sound/pci/hda/cs35l41_hda_property.c: In function 'generic_dsd_config':
sound/pci/hda/cs35l41_hda_property.c:181:28: error: unused variable 'spi' [-Werror=unused-variable]
181 | struct spi_device *spi;
| ^~~
sound/pci/hda/cs35l41_hda_property.c:180:27: error: unused variable 'cs_gpiod' [-Werror=unused-variable]
180 | struct gpio_desc *cs_gpiod;
| ^~~~~~~~
Avoid these by turning the preprocessor contionals into equivalent C code,
which also helps readability.
Fixes: 916d051730 ("ALSA: hda: cs35l41: Only add SPI CS GPIO if SPI is enabled in kernel")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Link: https://lore.kernel.org/r/20240103102606.3742476-1-arnd@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-03 11:48:30 +01:00
Lorenz Brun
7d65d70161
ALSA: hda: cs35l41: Support more HP models without _DSD
...
This adds overrides for a series of notebooks using a common config
taken from HP's proprietary Windows driver.
This has been tested on a HP 15-ey0xxxx device (subsystem 103C8A31)
together with another Realtek quirk and the calibration files from the
proprietary driver.
Signed-off-by: Lorenz Brun <lorenz@brun.one >
Cc: <stable@vger.kernel.org > # v6.7
Link: https://lore.kernel.org/r/20240102214821.3394810-1-lorenz@brun.one
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2024-01-03 11:00:13 +01:00
Dorian Cruveiller
ba7053b4b4
ALSA: hda: Add driver properties for cs35l41 for Lenovo Legion Slim 7 Gen 8 serie
...
Add driver properties on 4 models of this laptop serie since they don't
have _DSD in the ACPI table
Signed-off-by: Dorian Cruveiller <doriancruveiller@gmail.com >
Cc: <stable@vger.kernel.org > # v6.7
Link: https://lore.kernel.org/r/20231230114312.22118-1-doriancruveiller@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-30 12:54:36 +01:00
Stefan Binding
d110858a69
ALSA: hda: cs35l41: Prevent firmware load if SPI speed too low
...
Some laptops without _DSD have the SPI speed set very low in the BIOS.
Since the SPI controller uses this speed as its max speed, the SPI
transactions are very slow. Firmware download writes to many registers,
and if the SPI speed is too slow, it can take a long time to download.
For this reason, disable firmware loading if the maximum SPI speed is
too low. Without Firmware, audio playback will work, but the volume
will be low to ensure safe operation of the CS35L41.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Cc: <stable@vger.kernel.org > # v6.7+
Link: https://lore.kernel.org/r/20231221132518.3213-3-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-29 14:28:29 +01:00
Stefan Binding
ee694e7db4
ALSA: hda: cs35l41: Support additional Dell models without _DSD
...
Add new model entries into configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Cc: <stable@vger.kernel.org > # v6.7+
Link: https://lore.kernel.org/r/20231221132518.3213-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-29 14:26:54 +01:00
Stefan Binding
916d051730
ALSA: hda: cs35l41: Only add SPI CS GPIO if SPI is enabled in kernel
...
If CONFIG_SPI is not set in the kernel, there is no point in trying
to set the chip selects. We can selectively compile it.
Fixes: 8c4c216db8 ("ALSA: hda: cs35l41: Add config table to support many laptops without _DSD")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202312192256.lJelQEoZ-lkp@intel.com/
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231219162232.790358-3-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-21 09:24:01 +01:00
Stefan Binding
ed7326a24a
ALSA: hda: cs35l41: Do not allow uninitialised variables to be freed
...
Initialise the variables to NULL so that they cannot be uninitialised
when devm_kfree is called.
Found by static analysis.
Fixes: 8c4c216db8 ("ALSA: hda: cs35l41: Add config table to support many laptops without _DSD")
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231219162232.790358-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-21 09:23:51 +01:00
Stefan Binding
2b35b66d82
ALSA: hda: cs35l41: Support additional ASUS Zenbook 2023 Models
...
Add new model entries into configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231218151221.388745-7-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-18 18:46:01 +01:00
Stefan Binding
b257187bcf
ALSA: hda: cs35l41: Support additional ASUS Zenbook 2022 Models
...
Add new model entries into configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231218151221.388745-5-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-18 18:46:00 +01:00
Stefan Binding
b592ed2e1d
ALSA: hda: cs35l41: Support additional ASUS ROG 2023 models
...
Add new model entries into configuration table.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231218151221.388745-3-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-18 18:45:59 +01:00
Stefan Binding
8c4c216db8
ALSA: hda: cs35l41: Add config table to support many laptops without _DSD
...
This make use of the CS35L41 HDA Property framework, which supports
laptops which do not have the _DSD properties in their ACPI.
Add configuration table to be able to use a generic function which allows
laptops to be supported just by adding an entry into the table.
Use configuration table function for existing system 103C89C6.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231218151221.388745-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-12-18 18:45:57 +01:00
Stefan Binding
f01b371b07
ALSA: hda: cs35l41: Use reset label to get GPIO for HP Zbook Fury 17 G9
...
This laptop has an incorrect setting in its _DSD for boost type, but
the rest of the _DSD is correct, and we can still use the reset label
to obtain the reset gpio.
Also fix channel map so that amp 0 is right, and amp 1 is left.
Fixes: 581523ee36 ("ALSA: hda: cs35l41: Override the _DSD for HP Zbook Fury 17 G9 to correct boost type")
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20231026150558.2105827-2-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-10-26 17:55:17 +02:00
Stefan Binding
581523ee36
ALSA: hda: cs35l41: Override the _DSD for HP Zbook Fury 17 G9 to correct boost type
...
CS35L41 HDA driver requires ACPI to contain correct _DSD properties to
correctly configure the device. Whilst the HP Zbook Fury 17 G9 contains
valid _DSD properties, the boost type has been configured incorrectly
in the _DSD for this laptop. We can override these properties to fix
the boost type.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20230823143956.755758-1-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-08-24 09:53:12 +02:00
Yang Yingliang
2e6f979037
ALSA: hda: cs35l41: change cs35l41_prop_model to static
...
cs35l41_prop_model is only used in cs35l41_hda_property.c now,
change it to static.
Fixes: ef4ba63f12 ("ALSA: hda: cs35l41: Support systems with missing _DSD properties")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Link: https://lore.kernel.org/r/20230817014252.1511232-1-yangyingliang@huawei.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-08-17 09:03:37 +02:00
Takashi Iwai
4098967943
ALSA: hda: cs35l41: Fix the loop check in cs35l41_add_dsd_properties
...
model->hid is a pointer, and should be rather NULL-checked in the loop
of cs35l41_prop_model_table.
Fixes: ef4ba63f12 ("ALSA: hda: cs35l41: Support systems with missing _DSD properties")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202308160506.8lCEeFDG-lkp@intel.com/
Link: https://lore.kernel.org/r/20230816063525.23009-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-08-16 08:36:07 +02:00
Stefan Binding
ef4ba63f12
ALSA: hda: cs35l41: Support systems with missing _DSD properties
...
Some systems using CS35L41 with HDA were released without some
required _DSD properties in ACPI. To support these special cases,
add an api to configure the correct properties for systems with
this issue.
This initial commit moves the no _DSD support for Lenovo
Legion Laptops (CLSA0100, CLSA0101) into a new framework which
can be extended to support additional laptops in the future.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20230815161033.3519-1-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2023-08-15 20:51:19 +02:00