Skip to contentSkip to conversation

Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2

DISCUSSION Mario Limonciello 6 participants 23 messages Apr 28, 2015 – May 13, 2015 ACPI

lore
Share & tools
lore
#0 lore raw

Hi,

Due to b1ef2972586577e0ca9675254ee141f65a8824e5 landing recently as a result of some previous ACPI community discussion, the Dell XPS 13 (2015) no longer has fully functional audio. In case you aren't aware, the XPS 13 (2015) switches audio modes based upon a combination of what's detected for the _OSI string and _REV values. When "Windows 2013" is found with _REV=2 the audio codec will be configured for I2S audio mode. When "Windows 2013" with _REV=5 is found it will be configured for HDA audio mode.

I2S audio is improving, but not as mature as HDA audio mode is at this point. Currently jack detection does not work properly in 4.1 with I2S audio codecs. I've been notified that the support for jack detection will be landing in 4.2. I'd like to discuss the possibility of including a quirk for the _REV behavior when the DMI information corresponding to the Dell XPS 13 (2015) is detected for 4.1. This will let it continue to run in HDA mode until I2S mode is mature.

I'd also like to plan for the quirk to be dropped when jack detection has landed for 4.2 (or if it gets pushed out further when it lands for 4.3).

Would you guys be open to that?

Thanks,

#1 lore raw
Quoted 11 lines · Mario Limonciello

Hi,

Due to b1ef2972586577e0ca9675254ee141f65a8824e5 landing recently as a result of some previous ACPI community discussion, the Dell XPS 13 (2015) no longer has fully functional audio. In case you aren't aware, the XPS 13 (2015) switches audio modes based upon a combination of what's detected for the _OSI string and _REV values. When "Windows 2013" is found with _REV=2 the audio codec will be configured for I2S audio mode. When "Windows 2013" with _REV=5 is found it will be configured for HDA audio mode.

I2S audio is improving, but not as mature as HDA audio mode is at this point. Currently jack detection does not work properly in 4.1 with I2S audio codecs. I've been notified that the support for jack detection will be landing in 4.2. I'd like to discuss the possibility of including a quirk for the _REV behavior when the DMI information corresponding to the Dell XPS 13 (2015) is detected for 4.1. This will let it continue to run in HDA mode until I2S mode is mature.

I'd also like to plan for the quirk to be dropped when jack detection has landed for 4.2 (or if it gets pushed out further when it lands for 4.3).

Would you guys be open to that?

Thanks,

Hello,

I just wanted to follow up on this, I would like to come up with a solution before it's too late for 4.1 on the XPS 13 (2015).

Thanks,

#2 lore raw

commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Hi,

(CC'ing sound experts)

indeed, commit b1ef29725865 causes a severe regression -- actually, it causes sound to be totally unusuable on the Dell XPS 13 (2015) on Debian jessie, while it works fine in 4.0 / with b1ef29725865 reverted.

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old. The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Best,
Dominik

PS/OT: Probably I'm preaching to the choir, but @Mario: it's a pity the XPS (or some versions of it) with pre-installed Ubuntu actually ships with a Wifi adapter which seems to be unsupported by upstream Linux...

Quoted 18 lines · Mario Limonciello
Quoted 11 lines · Mario Limonciello

Hi,

Due to b1ef2972586577e0ca9675254ee141f65a8824e5 landing recently as a result of some previous ACPI community discussion, the Dell XPS 13 (2015) no longer has fully functional audio. In case you aren't aware, the XPS 13 (2015) switches audio modes based upon a combination of what's detected for the _OSI string and _REV values. When "Windows 2013" is found with _REV=2 the audio codec will be configured for I2S audio mode. When "Windows 2013" with _REV=5 is found it will be configured for HDA audio mode.

I2S audio is improving, but not as mature as HDA audio mode is at this point. Currently jack detection does not work properly in 4.1 with I2S audio codecs. I've been notified that the support for jack detection will be landing in 4.2. I'd like to discuss the possibility of including a quirk for the _REV behavior when the DMI information corresponding to the Dell XPS 13 (2015) is detected for 4.1. This will let it continue to run in HDA mode until I2S mode is mature.

I'd also like to plan for the quirk to be dropped when jack detection has landed for 4.2 (or if it gets pushed out further when it lands for 4.3).

Would you guys be open to that?

Thanks,

Hello,

I just wanted to follow up on this, I would like to come up with a solution before it's too late for 4.1 on the XPS 13 (2015).

Thanks,

#3 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 19 lines · Dominik Brodowski

Hi,

(CC'ing sound experts)

indeed, commit b1ef29725865 causes a severe regression -- actually, it causes sound to be totally unusuable on the Dell XPS 13 (2015) on Debian jessie, while it works fine in 4.0 / with b1ef29725865 reverted.

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old. The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Quoted 9 lines

Best,
Dominik

PS/OT: Probably I'm preaching to the choir, but @Mario: it's a pity the XPS (or some versions of it) with pre-installed Ubuntu actually ships with a Wifi adapter which seems to be unsupported by upstream Linux...

Dominik,

Yes I've noticed it's acting much worse for me too with 4.1-rc2 on Ubuntu 15.04 userspace (which is quite new indeed). I really think the right solution is some sort of quirk against the XPS 13 on the _REV behavior until this is reasonably mature.

OT: Yes, this feedback has been taken to heart by the team. We're working on adding more variants with alternate adapters. :)

#4 lore raw

RE: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Dominik Brodowski

+Liam.

Quoted 14 lines

-----Original Message-----
From: Dominik Brodowski [mailto:[email protected]]
Sent: Tuesday, May 12, 2015 2:27 AM
To: Mario Limonciello; Moore, Robert; Zheng, Lv; Wysocki, Rafael J
Cc: [email protected]; [email protected]; Lu, Han; Jie, Yang; alsa- [email protected]
Subject: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Hi,

(CC'ing sound experts)

Quoted 8 lines

indeed, commit b1ef29725865 causes a severe regression -- actually, it causes sound to be totally unusuable on the Dell XPS 13 (2015) on Debian jessie, while it works fine in 4.0 / with b1ef29725865 reverted.

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old. The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

Lacking of IntcPP01.bin should not block Broadwell ADSP audio functions.

Suppose these should be the same issues Mark told us, right?

Yes, we are doing some fixes in alsa-lib/ucm/config part, without these fixes, You can do manual volume +/- and switches on/off in alsamixer GUI interface.

BTW, if you can create kernel.org bugs to descript these issues, it will be helpful for to trace and fix them after we got this XPS 13 machine.

Thanks,
~Keyon

Quoted 48 lines

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Best,
Dominik

PS/OT: Probably I'm preaching to the choir, but @Mario: it's a pity the XPS (or some versions of it) with pre-installed Ubuntu actually ships with a Wifi adapter which seems to be unsupported by upstream Linux...

Quoted 5 lines · Mario Limonciello
Quoted 3 lines · Mario Limonciello

Hi,

Due to b1ef2972586577e0ca9675254ee141f65a8824e5 landing recently as a

result of some previous ACPI community discussion, the Dell XPS 13 (2015) no longer has fully functional audio. In case you aren't aware, the XPS 13 (2015) switches audio modes based upon a combination of what's detected for the _OSI string and _REV values. When "Windows 2013" is found with _REV=2 the audio codec will be configured for I2S audio mode. When "Windows 2013" with _REV=5 is found it will be configured for HDA audio mode.

Quoted 2 lines
Quoted 2 lines

I2S audio is improving, but not as mature as HDA audio mode is at this

point. Currently jack detection does not work properly in 4.1 with I2S audio codecs. I've been notified that the support for jack detection will be landing in 4.2. I'd like to discuss the possibility of including a quirk for the _REV behavior when the DMI information corresponding to the Dell XPS 13 (2015) is detected for 4.1. This will let it continue to run in HDA mode until I2S mode is mature.

Quoted 2 lines
Quoted 2 lines

I'd also like to plan for the quirk to be dropped when jack detection has

landed for 4.2 (or if it gets pushed out further when it lands for 4.3).

Quoted 7 lines
Quoted 4 lines

Would you guys be open to that?

Thanks,

Hello,

I just wanted to follow up on this, I would like to come up with a solution

before it's too late for 4.1 on the XPS 13 (2015).

Quoted 2 lines

Thanks,

#5 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Dominik Brodowski

On Mon, May 11, 2015 at 08:26:58PM +0200, Dominik Brodowski wrote:

Also CCing Matthew who came up with the original version of the version change and Liam who is one of Intel's audio experts.

Quoted 2 lines

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old.

Right, it needs the userspace configuration files installing.

Quoted 3 lines

The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

As previously advised that firmware is optional.

Quoted 4 lines

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Does this also affect other behaviour of the system? I'd be pretty unhappy if it introduce power regressions for example, I mostly don't use audio on my laptops but I care a lot about how long it'll run disconnected. It *is* quite a new laptop and my experience installing was very much that it was in bringup (though quite a bit of this was userspace).

#6 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 8 lines · Mark Brown

On Mon, May 11, 2015 at 08:26:58PM +0200, Dominik Brodowski wrote:

Also CCing Matthew who came up with the original version of the version change and Liam who is one of Intel's audio experts.

Quoted 2 lines

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old.

Right, it needs the userspace configuration files installing.

Is it just configuration files? With 4.1-rc3 I've not been able to get sound working mucking with any mixers.

Quoted 5 lines
Quoted 4 lines

The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

As previously advised that firmware is optional.

The errors in dmesg make it seem like that was related to the firmware missing, but that is a red herring it sounds like.

Quoted 11 lines
Quoted 5 lines

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Does this also affect other behaviour of the system? I'd be pretty unhappy if it introduce power regressions for example, I mostly don't use audio on my laptops but I care a lot about how long it'll run disconnected. It *is* quite a new laptop and my experience installing was very much that it was in bringup (though quite a bit of this was userspace).

I just tried it with 4.1-rc3 from Ubuntu's mainline PPA and an Ubuntu 15.04 userspace. It does affect the behavior of the system. See all the PCM errors in dmesg:
https://bugzilla.kernel.org/attachment.cgi?id=176511

At least with BIOS A03 (latest), Ubuntu 15.04 (3.19ish and modern userspace) or with 4.0 and recent userspace the experience shouldn't be bringup.

Keyon,

There is a bug opened at https://bugzilla.kernel.org/show_bug.cgi?id=93361. I've added updated notes to this for 4.1-rc3 experience.

#7 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 2 lines · Mario Limonciello
Quoted 1 line · Mark Brown

On Mon, May 11, 2015 at 08:26:58PM +0200, Dominik Brodowski wrote:

Please fix your mail client to word wrap within paragraphs and leave blank lines between paragraphs. Your current mail client is doing neither which makes your mails hard to read.

Quoted 10 lines
Quoted 7 lines

Also CCing Matthew who came up with the original version of the version change and Liam who is one of Intel's audio experts.

Quoted 2 lines

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old.

Right, it needs the userspace configuration files installing.

Is it just configuration files? With 4.1-rc3 I've not been able to get sound working mucking with any mixers.

You need PulseAudio 6.0 but otherwise yes, it works for me.

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

The matter is further complicated by the issue that the driver asks for some firmware blob intel/IntcPP01.bin which (at least) I cannot find anywhere.

As previously advised that firmware is optional.

The errors in dmesg make it seem like that was related to the firmware missing, but that is a red herring it sounds like.

Yes, it is.

Quoted 10 lines
Quoted 6 lines

Does this also affect other behaviour of the system? I'd be pretty unhappy if it introduce power regressions for example, I mostly don't use audio on my laptops but I care a lot about how long it'll run disconnected. It *is* quite a new laptop and my experience installing was very much that it was in bringup (though quite a bit of this was userspace).

I just tried it with 4.1-rc3 from Ubuntu's mainline PPA and an Ubuntu
15.04 userspace. It does affect the behavior of the system. See
all the PCM errors in dmesg:

That wasn't my question. I'm asking what else the firmware is changing based on detecting Linux, we don't want to just move onto a different set of bugs somewhere else.

Quoted 5 lines

https://bugzilla.kernel.org/attachment.cgi?id=176511

At least with BIOS A03 (latest), Ubuntu 15.04 (3.19ish and modern userspace) or with 4.0 and recent userspace the experience shouldn't be bringup.

I'm not seeing any of the hw_params() issues with v4.1 - are you perhaps using an old linux-firmware? I don't know how up to date Ubuntu is there.

#8 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 4 lines · Mark Brown

Please fix your mail client to word wrap within paragraphs and leave blank lines between paragraphs. Your current mail client is doing neither which makes your mails hard to read.

Sorry about that, I've adjusted my mail client settings.

Quoted 1 line

You need PulseAudio 6.0 but otherwise yes, it works for me.

Ubuntu 15.04 is running Pulseaudio 6.0.

Quoted 5 lines

That wasn't my question. I'm asking what else the firmware is changing based on detecting Linux, we don't want to just move onto a different set of bugs somewhere else.

These are the different flows supported and what changes in the different flows. This is up to date as of BIOS A03:

When Linux is detected (_OSI Windows 2013 & _REV 5):
* EC configures the audio controller for HDA mode on next cold boot.
* HDA audio device is included in PCI address space.
* Touchpad is put into I2C mode.

When Windows 8.1 is detected or currently Linux 4.1 (_OSI Windows 2013 & _REV 2):
* EC configures the audio controller for I2S mode on next cold boot.
* ADSP audio device included in ACPI (INT3438).
* Touchpad is put in I2C mode.

When Windows 7 is detected (_OSI Windows 2009):
* EC configures the audio controller for HDA mode on the next cold boot.
* HDA audio device included in PCI address space.
* Touchpad is put in PS2 mode.

Quoted 3 lines

I'm not seeing any of the hw_params() issues with v4.1 - are you perhaps using an old linux-firmware? I don't know how up to date Ubuntu is there.

linux-firmware ubuntu 15.04 version: 1.143.
This is based off upstream cef33368c4d3425f11306496f0250f8ef1cf3c1f, updated on March 4 2015.

#9 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 7 lines · Mario Limonciello
Quoted 3 lines

I'm not seeing any of the hw_params() issues with v4.1 - are you perhaps using an old linux-firmware? I don't know how up to date Ubuntu is there.

linux-firmware ubuntu 15.04 version: 1.143.
This is based off upstream cef33368c4d3425f11306496f0250f8ef1cf3c1f, updated on March 4 2015.

That's the same firmware I have. Weird, I don't know if the Intel guys have any bright ideas here?

#10 lore raw

RE: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 17 lines

-----Original Message-----
From: Mark Brown [mailto:[email protected]]
Sent: Wednesday, May 13, 2015 1:35 AM
To: Mario Limonciello
Cc: Dominik Brodowski; Moore, Robert; Zheng, Lv; Wysocki, Rafael J; linux- [email protected]; Lu, Han; Jie, Yang; [email protected]; Matthew Garrett; Girdwood, Liam R
Subject: Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 3 lines · Mario Limonciello
Quoted 3 lines

I'm not seeing any of the hw_params() issues with v4.1 - are you perhaps using an old linux-firmware? I don't know how up to date Ubuntu is there.

Quoted 6 lines
Quoted 3 lines

linux-firmware ubuntu 15.04 version: 1.143.
This is based off upstream cef33368c4d3425f11306496f0250f8ef1cf3c1f, updated on March 4 2015.

That's the same firmware I have. Weird, I don't know if the Intel guys have any bright ideas here?

Hi Mario, can you try disabling pulseaudio to see if anything change? Once I got one XPS 13 9343, I can debug on it, we have ordered it, but been told still need wait 4 more weeks for lacking of the LCD screen materials.

~Keyon

#11 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 8 lines · Yang

Hi Mario, can you try disabling pulseaudio to see if anything change? Once I got one XPS 13 9343, I can debug on it, we have ordered it, but been told still need wait 4 more weeks for lacking of the LCD screen materials.

~Keyon

Keyon,

Yes, if I kill pulseaudio (and prevent it from starting back up), I am able to get audio by running:
speaker-test -c 2 -t wav -D plughw:broadwellrt286

I've tried to remove .config/pulse, but it's still not working at all when pulse launches up.

Thanks,

#12 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Mark Brown

Mark,

Quoted 4 lines · Mark Brown
Quoted 2 lines

According to an off-list discussion, the sound breakage (and not just some jack detection issue) seems to be caused due to alsa-lib being too old.

Right, it needs the userspace configuration files installing.

... and PulseAudio 6.0, as you stated in another message, but which is not in Debian jessie. Therefore, commit b1ef29725865 does cause a regression (even though it's just a side effect): the Dell XPS 13 (2013) works just fine with a standard Debian jessie install and a current kernel. Sound worked fine until commit b1ef29725865 / works fine with commit b1ef29725865 reverted.

New kernels should continue to work on (reasonably) old userspace; and currently I do not see how this can be made to work with commit b1ef29725865 and no quirk / override. As soon as I find the time for that, I'll try to create a patch for that -- unless someone beats me to that.

Quoted 11 lines
Quoted 4 lines

Under the no-regression rule, this means that either b1ef29725865 needs to be reverted or we need to find another solution to this matter, such as an override. And I think it is needed for longer than just for 4.1, as it will continue to be cause regressions on quite recent userspace.

Does this also affect other behaviour of the system? I'd be pretty unhappy if it introduce power regressions for example, I mostly don't use audio on my laptops but I care a lot about how long it'll run disconnected. It *is* quite a new laptop and my experience installing was very much that it was in bringup (though quite a bit of this was userspace).

Well, sound _is_ quite important to me; and as stated above, the laptop works just fine otherwise on Debian jessie (well, except the WiFi adapter, but that's another story).

Best,
Dominik

#13 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 10 lines · Dominik Brodowski

... and PulseAudio 6.0, as you stated in another message, but which is not in Debian jessie. Therefore, commit b1ef29725865 does cause a regression (even though it's just a side effect): the Dell XPS 13 (2013) works just fine with a standard Debian jessie install and a current kernel. Sound worked fine until commit b1ef29725865 / works fine with commit b1ef29725865 reverted.

New kernels should continue to work on (reasonably) old userspace; and currently I do not see how this can be made to work with commit b1ef29725865 and no quirk / override. As soon as I find the time for that, I'll try to create a patch for that -- unless someone beats me to that.

IIRC I wasn't getting a useful GUI out of the box with Jessie either, though that could've been installer stuff - I can't remember any more (and the support for high DPI displays within the installer itself makes me happy I've got an eye checkup booked soon).

Quoted 3 lines

Well, sound _is_ quite important to me; and as stated above, the laptop works just fine otherwise on Debian jessie (well, except the WiFi adapter, but that's another story).

I just swapped my WiFi adaptor out for an Intel card, fairly easy to do.

#14 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Mark Brown
Quoted 1 line · Mark Brown

You need PulseAudio 6.0 but otherwise yes, it works for me.

Since there's no way to get this working without using new userspace, we're basically stuck with having to support _REV 5. And since we're supposed to support old userspace basically forever, this isn't going to be something that we can just remove in a few months. But since the hardware is intended to be used in I2S mode, we don't want this quirk to be there forever. So we're basically left with adding CONFIG_ACPI_WORKAROUND_BROKEN_DELLS which enables the quirk, default it to Y and then let distributions set it to N when they've got sufficiently new userspace. Unless someone has a better plan?

#15 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 11 lines · Matthew Garrett
Quoted 1 line · Mark Brown

You need PulseAudio 6.0 but otherwise yes, it works for me.

Since there's no way to get this working without using new userspace, we're basically stuck with having to support _REV 5. And since we're supposed to support old userspace basically forever, this isn't going to be something that we can just remove in a few months. But since the hardware is intended to be used in I2S mode, we don't want this quirk to be there forever. So we're basically left with adding CONFIG_ACPI_WORKAROUND_BROKEN_DELLS which enables the quirk, default it to Y and then let distributions set it to N when they've got sufficiently new userspace. Unless someone has a better plan?

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks? That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

#16 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 11 lines · Mario Limonciello
Quoted 4 lines · Matthew Garrett

to be there forever. So we're basically left with adding CONFIG_ACPI_WORKAROUND_BROKEN_DELLS which enables the quirk, default it to Y and then let distributions set it to N when they've got sufficiently new userspace. Unless someone has a better plan?

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks?

If we're waiting for distros to have new enough userspace we're looking at waiting several years at least, especially when you start looking at distros like Debian (which two of the users in this thread are, though I'm not on stable).

Quoted 2 lines

That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

What Matthew suggested was making the quirk a compile time option.

#17 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Mario Limonciello
Quoted 2 lines · Mario Limonciello

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

The Inspiron 7437 queries _REV and uses it to modify its EC behaviour, and apparently breaks on Linux without that.

Quoted 4 lines

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks? That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

DMI quirking is fine, but it has to be behind a config option. We're going to have to carry the quirk for several years because we have to support old userspace for an arbitrarily long time, and if there's no config option then Linux will be stuck in HDA mode for that entire time.

Signature · 1 line
Matthew Garrett | [email protected]
#18 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 6 lines · Matthew Garrett
Quoted 2 lines · Mario Limonciello

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

The Inspiron 7437 queries _REV and uses it to modify its EC behaviour, and apparently breaks on Linux without that.

Thanks for bringing this to my attention. I'll check with my BIOS architecture team on this. XPS 13 9343 was supposed to be the only system doing this.

Quoted 10 lines
Quoted 4 lines

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks? That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

DMI quirking is fine, but it has to be behind a config option. We're going to have to carry the quirk for several years because we have to support old userspace for an arbitrarily long time, and if there's no config option then Linux will be stuck in HDA mode for that entire time.

OK, that makes more sense to me. Thanks.

#19 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Matthew Garrett
Quoted 13 lines · Matthew Garrett
Quoted 2 lines · Mario Limonciello

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

The Inspiron 7437 queries _REV and uses it to modify its EC behaviour, and apparently breaks on Linux without that.

Quoted 4 lines

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks? That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

Quoted 5 lines

DMI quirking is fine, but it has to be behind a config option. We're going to have to carry the quirk for several years because we have to support old userspace for an arbitrarily long time, and if there's no config option then Linux will be stuck in HDA mode for that entire time.

One problem with the DMI-based approach is that _REV is constant in ACPICA, so to be able to return different values from it for different systems, we'll need to add some ACPICA-ish code handling that specifically for Linux and we're a bit too late in the cycle for that.

So here's what I'm going to do. I'll revert commit b1ef29725865 for 4.1, but *only* for 4.1 (I've actually queued up a revert of it already) and I'll revert that revert during the 4.2 merge window.

In the meantime, we'll develop the code to implement the DMI-based quirks for the Dells and apply it for 4.2.

Are there any volunteers for doing the last part?

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#20 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 20 lines · Rafael J. Wysocki
Quoted 13 lines · Matthew Garrett
Quoted 2 lines · Mario Limonciello

Just to be clear, from the Dell side only the XPS 13 9343 has this _REV behavior.

The Inspiron 7437 queries _REV and uses it to modify its EC behaviour, and apparently breaks on Linux without that.

Quoted 4 lines

What's wrong with a DMI quirk until I2S is mature on the kernel side and userspace is new enough in distros? Is it too early in boot for DMI quirks? That would enforce that no other machines can use _REV value of 5 to detect Linux without breaking the 9343.

Quoted 5 lines

DMI quirking is fine, but it has to be behind a config option. We're going to have to carry the quirk for several years because we have to support old userspace for an arbitrarily long time, and if there's no config option then Linux will be stuck in HDA mode for that entire time.

Quoted 8 lines

One problem with the DMI-based approach is that _REV is constant in ACPICA, so to be able to return different values from it for different systems, we'll need to add some ACPICA-ish code handling that specifically for Linux and we're a bit too late in the cycle for that.

So here's what I'm going to do. I'll revert commit b1ef29725865 for 4.1, but *only* for 4.1 (I've actually queued up a revert of it already) and I'll revert that revert during the 4.2 merge window.

Sounds like a good plan. Thanks!

Quoted 4 lines

In the meantime, we'll develop the code to implement the DMI-based quirks for the Dells and apply it for 4.2.

Are there any volunteers for doing the last part?

Will try to prepare patches for that tomorrow.

Best,
Dominik

#21 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

Quoted 42 lines · Dominik Brodowski

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Quoted 4 lines · Rafael J. Wysocki
Quoted 3 lines · Matthew Garrett
Quoted 1 line · Mario Limonciello

Just to be clear, from the Dell side only the XPS 13 9343 has this _R=

EV

Quoted 6 lines
Quoted 6 lines
Quoted 1 line

behavior.

=20
The Inspiron 7437 queries _REV and uses it to modify its EC behaviour, and apparently breaks on Linux without that.
=20

Quoted 1 line

What's wrong with a DMI quirk until I2S is mature on the kernel side =

and

Quoted 1 line
Quoted 1 line
Quoted 1 line

userspace is new enough in distros? Is it too early in boot for DMI =

quirks?

Quoted 1 line
Quoted 1 line
Quoted 1 line

That would enforce that no other machines can use _REV value of 5 to =

detect

Quoted 9 lines
Quoted 7 lines
Quoted 1 line

Linux without breaking the 9343.

=20
DMI quirking is fine, but it has to be behind a config option. We're going to have to carry the quirk for several years because we have to support old userspace for an arbitrarily long time, and if there's no config option then Linux will be stuck in HDA mode for that entire time.

=20
One problem with the DMI-based approach is that _REV is constant in ACPIC=

A,

Quoted 1 line

so to be able to return different values from it for different systems, w=

e'll

Quoted 6 lines

need to add some ACPICA-ish code handling that specifically for Linux and we're a bit too late in the cycle for that.
=20
So here's what I'm going to do. I'll revert commit b1ef29725865 for 4.1, but *only* for 4.1 (I've actually queued up a revert of it already) and I'll revert that revert during the 4.2 merge window.

Quoted 8 lines

Sounds like a good plan. Thanks!

Quoted 4 lines

In the meantime, we'll develop the code to implement the DMI-based quirks for the Dells and apply it for 4.2.
=20
Are there any volunteers for doing the last part?

Will try to prepare patches for that tomorrow.

Thanks a lot!

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#22 lore raw

Re: commit b1ef29725865 (ACPI _REV=2) causes sound regression on Dell XPS 13 [Was: Discussion around quirking the _REV behavior for the XPS 13 (2015) until 4.2]

In reply to Matthew Garrett
Quoted 9 lines · Matthew Garrett

Since there's no way to get this working without using new userspace, we're basically stuck with having to support _REV 5. And since we're supposed to support old userspace basically forever, this isn't going to be something that we can just remove in a few months. But since the hardware is intended to be used in I2S mode, we don't want this quirk to be there forever. So we're basically left with adding CONFIG_ACPI_WORKAROUND_BROKEN_DELLS which enables the quirk, default it to Y and then let distributions set it to N when they've got sufficiently new userspace. Unless someone has a better plan?

That makes sense to me given that the firmware doesn't seem to do anything problematic in Linux mode - hopefully we won't have too many more of these systems to contend with.