On Mon, Jan 18, 2021 at 03:49:58PM +0000, Peter Robinson wrote: > On Mon, Jan 18, 2021 at 3:20 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > > > https://fedoraproject.org/wiki/Changes/SofDefaultForIntelLpe > > > > > > == Summary == > > Intel LPE audio hardware has 2 drivers in the mainline kernel the SST > > driver and the SOF driver, switch the default driver from SST to SOF. > > > > == Owner == > > * Name: [[User:jwrdegoede| Hans de Goede]] > > * Email: hdegoede@xxxxxxxxxx > > > > > > == Detailed Description == > > > > Intel x86 hardware based on the Bay Trail-T and Cherry Trails SoCs > > does not come with the standard Intel HDA audio hardware. Instead it > > has an audio block called the Low Power Engine or LPE. The LPE block > > needs to have firmware loaded into it to function. There are 2 > > firmwares available the old proprietary SST firmware and recently the > > open source SOF firmware has been released for the LPE engine. > > > > There are also 2 kernel drivers for the LPE block, one for each > > firmware, so we have a SST driver and a SOF driver. The upstream Intel > > developers of these drivers, who are also part of the SOF team want to > > deprecate and eventually remove the old SST driver in favor of the SOF > > driver. Starting with the 5.11 kernel it is possible to build both > > drivers into a single kernel and select which one will actually bind > > to the LPE block using a kernel commandline parameter. > > > > ATM the upstream default is the old SST driver, to avoid regressions. > > This Fedora change will entail carrying a downstream patch which flips > > the default to the SOF driver. This is being done in conclave with the > > upstream devs who would like to see more testing of the SOF driver. > > The upstream devs believe that the SOF driver is ready to replace the > > SST driver, but they would appreciate this being tested by Fedora > > first, before they flip the default for everyone. > > > > > > == Benefit to Fedora == > > > > By consciously making the switch now, with extensive testing and > > monitoring the situation we can safely make the switch without > > regressions hitting users of the Fedora stable releases. Whereas if we > > just wait for upstream to flip the default, then this may very well > > land in the middle of a stable release when we rebase the kernel. > > > > This helps strengthen our relationship with the upstream developers > > and falls under the "First" part of the "Four Foundations". > > > > This stops us from depending in the proprietary SST firmware-blobs, > > replacing them with the Open Source SOF firmware, matching the > > "Freedom" part of the "Four Foundations". > > > > == Scope == > > * Proposal owners: This will require a small downstream kernel patch > > to change the default driver when both are built (or an upstream patch > > to make the default configurable). That's it, no other changes are > > required. > > * Other developers: N/A (not a System Wide Change) > > * Release engineering: N/A (not a System Wide Change) > > * Policies and guidelines: N/A (not a System Wide Change) > > * Trademark approval: N/A (not needed for this Change) > > * Alignment with Objectives: This falls under the "First" part of the > > "Four Foundations". > > > > == Upgrade/compatibility impact == > > The switch will automatically be made when booting a Fedora 34 kernel. > > > > == How To Test == > > I (Hans de Goede) have an extensive collection of affected hardware. > > The audio setup on these devices consists of the LPE block itself > > combined with an external audio-codec. There are a number of > > audio-codecs used / supported on these boards. The LPE block has 2 > > audio-links (called SSP0 and SSP2) and some of the codecs have 2 > > audio-links (called AIF1 and AIF2) not each board uses the same > > audio-link on each side. > > > > I plan to run the below test-plan on devices with the following SoC / > > codec / link combinations: > > > > * Bay Trail (CR) / RT5640 / SSP0<->AIF1 > > * Bay Trail (CR) / RT5640 / SSP0<->AIF2 > > * Bay Trail / RT5640 / SSP2<->AIF1 > > * Cherry Trail / RT5640 / SSP2<->AIF1 > > * Cherry Trail / RT5645 / SSP2 > > * Bay Trail (CR) / RT5651 / SSP0<->AIF1 > > * Cherry Trail / RT5651 / SSP2<->AIF1 > > * Bay Trail / RT5672 / SSP2 > > * Bay Trail (CR) / ESS8316 / SSP0 > > * Cherry Trail / ESS8316 / SSP2 > > * Cherry Trail / NAU8824 / SSP2 > > Does this cover newer generations like Apollo Lake? Also: is there some easy command (something bar grep something) that users could execute to test if they have the affected hardware? Please put it in the Change page. > > Each of these will be tested according to the following test-plan: > > > > # Test speakers. > > # Test internal mic. > > # Plugin headset, test headphones. > > # Test headset-mic > > # Stop all audio, suspend + resume, test speakers. > > # suspend + resume while playing audio, audio should resume playing > > after resume. > > > > Users who want to test this and who have the affected hardware can > > also use this test-plan to test. > > > > == User Experience == > > The SST driver has some suspend/resume problems around suspending with > > audio playing. The SOF driver resolves these. Other then that the > > user-experience should be unchanged. > > > > == Dependencies == > > N/A (not a System Wide Change) > > > > == Contingency Plan == > > We can simply drop the patch flipping the default to get back to the > > F33 state of things. > > > > * Contingency mechanism: Revert the change > > * Contingency deadline: Beta release > > * Blocks release? No > > > > == Documentation == > > N/A (not a System Wide Change) > > > > == Release Notes == > > FIXME: TODO Zbyszek _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx