All of lore.kernel.org
 help / color / mirror / Atom feed
From: "vitaly.torshyn@gmail.com" <vitaly.torshyn@gmail.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: perex@perex.cz, alsa-devel@alsa-project.org
Subject: [PATCH 1/1] [Patch v2] ALSA: HDA: Asus UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus
Date: Thu, 9 Nov 2023 16:36:55 +0200	[thread overview]
Message-ID: <CAHiQ-bCMPpCJ8eOYAaVVoqGkFixS1qTgSS4xfbZvL4oZV9LYew@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2308 bytes --]

Hi Takashi,

Proposed second revision of the patch that fixes the initialization of
CSC3551 on the UM5302LA laptop.
Patching the DSDT table is not required since ASUS did add _DSD entry.
Nothing new introduced but reused work started by Stefan B.

Currently there is no official firmware available for 10431A83 on cirrus
git unfortunately.
For testing used 104317f3 (which is also seems on i2c bus):

$ cd /lib/firmware/cirrus/ && \
for fw in $(find ./ -name '*104317f3*'); do newfw=$(echo $fw | sed
's/104317f3/10431a83/g'); echo echo "$fw -> $newfw"; ln -s $f $newfw; done

With the patch applied to 6.6.0 and obviously symlinks to 104317F3 FW,
speakers work and to my surprise they sound quite good and loud without
distortion.

Probably confirmation from the cirrus team is needed on firmware.

Signed-off-by: Vitalii Torshyn <vitaly.torshyn@gmail.com>
---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 58006c8bc..a28d078c9 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7444,6 +7444,7 @@ enum {
<----->ALC287_FIXUP_THINKPAD_I2S_SPK,
<----->ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
<----->ALC2XX_FIXUP_HEADSET_MIC,
+<----->ALC294_FIXUP_CS35L41_I2C_2
};
.
/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -9552,6 +9553,11 @@ static const struct hda_fixup alc269_fixups[] = {
<-----><------>.type = HDA_FIXUP_FUNC,
<-----><------>.v.func = alc_fixup_headset_mic,
<----->},
+<----->[ALC294_FIXUP_CS35L41_I2C_2] = {
+<-----><------>.type = HDA_FIXUP_FUNC,
+<-----><------>.v.func = cs35l41_fixup_i2c_two,
+<----->},
+
};
.
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -9913,6 +9919,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[]
= {
<----->SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV",
ALC295_FIXUP_ASUS_MIC_NO_PRESENCE),
<----->SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
<----->SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC),
+<----->SND_PCI_QUIRK(0x1043, 0x1a83, "ASUS UM5302LA",
ALC294_FIXUP_CS35L41_I2C_2),
<----->SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS",
ALC245_FIXUP_CS35L41_SPI_2),
<----->SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA",
ALC294_FIXUP_ASUS_COEF_1B),
<----->SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC),

[-- Attachment #2: 0002-Subject-PATCH-ALSA-HDA-Asus-UM5302LA-Added-quirks-fo.patch --]
[-- Type: text/x-patch, Size: 3199 bytes --]

From 8c6432e79f5669a7ed48069db0a92edd69d2b095 Mon Sep 17 00:00:00 2001
From: Vitalii Torshyn <vitaly.torshyn@gmail.com>
Date: Thu, 9 Nov 2023 01:13:54 +0200
Subject: [PATCH 1/1] ALSA: HDA: Asus UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus
To: tiwai@suse.de
Cc: perex@perex.cz,alsa-devel@alsa-project.org
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------alsa-hda-cs35l41-asus-um5302la-fix.patch"

This is a multi-part message in MIME format.
--------------alsa-hda-cs35l41-asus-um5302la-fix.patch
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Hi Takashi,

Proposed patch fixes initialization of CSC3551 on the UM5302LA laptop.
Patching DSDT table is not required since ASUS did added _DSD entry.
Nothing new introduced but reused work started by Stefan B.

Currently there is no official firmware available for 10431A83 on cirrus git unfortunately.
For testing used 104317f3 (which is also seems on i2c bus):

$ cd /lib/firmware/cirrus/ && \
for fw in $(find ./ -name '*104317f3*'); do newfw=$(echo $fw | sed 's/104317f3/10431a83/g'); echo echo "$fw -> $newfw"; ln -s $f $newfw; done

With the patch applied to 6.6.0 and obviously symlinks to 104317F3 FW, speakers works and to my susrprise they sound quite good and loud without distortion.

Probably confirmation from cirrus team is needed on firmware.

Signed-off-by: Vitalii Torshyn <vitaly.torshyn@gmail.com>
---
 sound/pci/hda/patch_realtek.c | 7 +++++++
 1 file changed, 7 insertions(+)


--------------alsa-hda-cs35l41-asus-um5302la-fix.patch
Content-Type: text/x-patch; name="0001-Subject-PATCH-ALSA-HDA-Asus-UM5302LA-Added-quirks-fo.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Subject-PATCH-ALSA-HDA-Asus-UM5302LA-Added-quirks-fo.patch"

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 58006c8bc..a28d078c9 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7444,6 +7444,7 @@ enum {
 	ALC287_FIXUP_THINKPAD_I2S_SPK,
 	ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
 	ALC2XX_FIXUP_HEADSET_MIC,
+	ALC294_FIXUP_CS35L41_I2C_2
 };
 
 /* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -9552,6 +9553,11 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_headset_mic,
 	},
+	[ALC294_FIXUP_CS35L41_I2C_2] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = cs35l41_fixup_i2c_two,
+	},
+
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -9913,6 +9919,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
 	SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC),
+	SND_PCI_QUIRK(0x1043, 0x1a83, "ASUS UM5302LA", ALC294_FIXUP_CS35L41_I2C_2),
 	SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
 	SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA", ALC294_FIXUP_ASUS_COEF_1B),
 	SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC),

--------------alsa-hda-cs35l41-asus-um5302la-fix.patch--



             reply	other threads:[~2023-11-09 18:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-09 14:36 vitaly.torshyn [this message]
2023-11-09 15:23 ` [PATCH 1/1] [Patch v2] ALSA: HDA: Asus UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus Takashi Iwai

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=CAHiQ-bCMPpCJ8eOYAaVVoqGkFixS1qTgSS4xfbZvL4oZV9LYew@mail.gmail.com \
    --to=vitaly.torshyn@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.de \
    /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.