From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E73DC4332F for ; Tue, 31 Oct 2023 08:07:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231544AbjJaIHu (ORCPT ); Tue, 31 Oct 2023 04:07:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229576AbjJaIHt (ORCPT ); Tue, 31 Oct 2023 04:07:49 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A9BE1A6 for ; Tue, 31 Oct 2023 01:07:46 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9CC04212AE; Tue, 31 Oct 2023 08:07:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1698739664; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1riz8bQeeXcvoXNgHyHNziY5KOCRb8jrTCklE5GZ+tw=; b=mmDqo67t/Bz7m7dT2kTGng+H9/07qlxxJPQKLqc85yoxe+UkCBppy9zL4gNABnM3lIbytn OiwTNJIaC04tIMrtFhMxT334fq+fsD/TF0xyoxDDo6V2FORNiG2X8pOufuX+A4h9qK5Ift 0fHcrak+j7cNddb1/NcmjAW1kExL5u4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1698739664; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1riz8bQeeXcvoXNgHyHNziY5KOCRb8jrTCklE5GZ+tw=; b=uDHlhELuUaZkPgdStI0HajsAo5X75Art+8K6rif0DRHqkaPIWC3ubWWkGKxMQRORTDdZKV 0ogKidt4UsctkgBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 603391391B; Tue, 31 Oct 2023 08:07:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id /a5mFtC1QGWfNAAAMHmgww (envelope-from ); Tue, 31 Oct 2023 08:07:44 +0000 Date: Tue, 31 Oct 2023 09:07:43 +0100 Message-ID: <87bkcfw6y8.wl-tiwai@suse.de> From: Takashi Iwai To: Brady Norander Cc: Takashi Iwai , Mark Brown , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Jaroslav Kysela , Pierre-Louis Bossart , Bard Liao , Ranjani Sridharan , Cezary Rojewski Subject: Re: [PATCH v2] ALSA: hda: intel-dsp-cfg: Use AVS driver on SKL/KBL/APL Chromebooks In-Reply-To: <2f5ffc3b-01be-413d-843e-8654d953f56f@gmail.com> References: <2f5ffc3b-01be-413d-843e-8654d953f56f@gmail.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 30 Oct 2023 19:58:52 +0100, Brady Norander wrote: > > The legacy SKL driver no longer works properly on these Chromebook > platforms. Use the new AVS driver by default instead. > > Signed-off-by: Brady Norander It's fine to switch to the new and more maintained AVS (once after the topology is ready), but I wonder how the breakage of SKL happened. Was it our intentional breakage in the past? If so, why can't we recover it? thanks, Takashi > --- > v2: Only use quirk if AVS is enabled > sound/hda/intel-dsp-config.c | 26 +++++++++++++++++--------- > 1 file changed, 17 insertions(+), 9 deletions(-) > > diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c > index 756fa0aa69bb..e056aca01900 100644 > --- a/sound/hda/intel-dsp-config.c > +++ b/sound/hda/intel-dsp-config.c > @@ -16,10 +16,11 @@ > static int dsp_driver; > > module_param(dsp_driver, int, 0444); > -MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP > (0=auto, 1=legacy, 2=SST, 3=SOF)"); > +MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP > (0=auto, 1=legacy, 2=SST, 3=SOF, 4=AVS)"); > > #define FLAG_SST BIT(0) > #define FLAG_SOF BIT(1) > +#define FLAG_AVS BIT(2) > #define FLAG_SST_ONLY_IF_DMIC BIT(15) > #define FLAG_SOF_ONLY_IF_DMIC BIT(16) > #define FLAG_SOF_ONLY_IF_SOUNDWIRE BIT(17) > @@ -56,7 +57,7 @@ static const struct config_entry config_table[] = { > /* > * Apollolake (Broxton-P) > * the legacy HDAudio driver is used except on Up Squared (SOF) and > - * Chromebooks (SST), as well as devices based on the ES8336 codec > + * Chromebooks (AVS), as well as devices based on the ES8336 codec > */ > #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) > { > @@ -79,9 +80,9 @@ static const struct config_entry config_table[] = { > .codec_hid = &essx_83x6, > }, > #endif > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_APL, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -96,13 +97,13 @@ static const struct config_entry config_table[] = { > #endif > /* > * Skylake and Kabylake use legacy HDAudio driver except for Google > - * Chromebooks (SST) > + * Chromebooks (AVS) > */ > > /* Sunrise Point-LP */ > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -114,15 +115,17 @@ static const struct config_entry config_table[] = { > {} > } > }, > +#endif > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL) > { > .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC, > .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP, > }, > #endif > /* Kabylake-LP */ > -#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL) > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_AVS) > { > - .flags = FLAG_SST, > + .flags = FLAG_AVS, > .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP, > .dmi_table = (const struct dmi_system_id []) { > { > @@ -134,6 +137,8 @@ static const struct config_entry config_table[] = { > {} > } > }, > +#endif > +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL) > { > .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC, > .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP, > @@ -667,6 +672,9 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci) > } > } > > + if (cfg->flags & FLAG_AVS) > + return SND_INTEL_DSP_DRIVER_AVS; > + > return SND_INTEL_DSP_DRIVER_LEGACY; > } > EXPORT_SYMBOL_GPL(snd_intel_dsp_driver_probe); > -- > 2.42.0 >