On 03/14/2015 02:17 PM, Benjamin Tissoires wrote:
[top posting, sorry]
Jason made some interesting progress today:
with the patch in https://lkml.org/lkml/2015/3/12/149, the sound card
is not switched in the I2S mode and works while the touchpad keeps
using I2C.
It looks like suspend/resume is also fixed by that :)
I thought it was worth mentioning to the people in this thread.
Cheers,
Benjamin
Benjamin,
Thanks for reporting the progress to me.
Jason,
Are you sure upon the particulars of what's happening here? That patch only
modifies the behavior of how the EC is configured.
I'm not aware of any suspend/resume issues, especially related to the EC, so
that really surprises me. My initial suspicion is a suspend/resume issue you
encountered was rare enough that you just haven't hit it yet even with that
patch applied. Maybe something in the out of kernel Broadcom wireless driver
if you are still using the Broadcom card with it.
I believe you are incorrect in the audio being put in HDA mode. It's more
likely that it's operating closer to properly in I2S mode. Here's some
background around what that patch is doing.
When this platform started development the Linux kernel didn't yet respond true
to Windows 2013. All our validation for Linux happened on kernel 3.13.
_OSI of Windows 2009 is supposed to set it for PS2 mouse, HDA device in ACPI
and configure the EC to set up the Realtek codec for HDA mode. Linux was
planned to mirror this behavior during development.
_OSI of Windows 2013 is supposed to set it up for I2C mouse, I2S audio in ACPI
and configure the EC to set up the Realtek codec for I2S mode.
From when the platform was in development a _REV check was put in for Windows
2013 to make sure that in case the kernel started to respond to Windows 2013 we
would still have it running in the intended modes for Linux. There was a
mistake in this _REV check though that caused the I2S ACPI device but to
misconfigure the EC. The reason _REV = 2 and _OSI = Windows 2013 you are
getting working audio is the rt286 driver is starting to be used. You can
validate this by looking at dmesg for lines about rt286.
Realtek recently submitted some patches for this at Dell's request. There are
still a variety of issues with the I2S driver including jack detection and some
other microphone issues. Pulseaudio will possibly need some patches to work
properly with this device too. Ideally we don't want customers to use I2S mode
on Linux until it's solid.
I don't believe this was in Linus' tree yet, so if you don't have it you can
apply it and it should fix at least one microphone issue when in I2S mode.
http://mailman.alsa-project.org/pipermail/alsa-devel/2015-March/088724.html
Whether or not that _REV patch gets applied to the kernel we are fixing this
incorrect behavior for Windows 2013 _OSI and Linux in upcoming BIOS A02.
In BIOS A02 there will still be a _REV check but it will do this:
Windows 2013 _OSI, _REV 5: I2C mouse, HDA device in ACPI, configure EC for HDA
mode.
Windows 2013 _OSI, _REV 2: I2C mouse, I2S device in ACPI, configure EC for I2S
mode.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/