Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp1711683rdb; Sun, 8 Oct 2023 23:23:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtjqnZAUMrcw8RmEHZMh5MXeoBnw2oiY0NKJnuuGtORsgMtk/Gf/649DWM2Dq3IFC2J8s9 X-Received: by 2002:a17:902:eec4:b0:1c3:758d:32de with SMTP id h4-20020a170902eec400b001c3758d32demr14852960plb.12.1696832609896; Sun, 08 Oct 2023 23:23:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696832609; cv=none; d=google.com; s=arc-20160816; b=mswOMSC3YBOl5sUDU08mJzhHGixKrP8SEjCuncUZX6hq88cBz7meLzCanQnTKBXV7b 0Ufhx6Zt7AlLnbx73C7aDW0xLjYR76poOb49/sxrVbg6trflSCisSAr3kvWQckAaUR2Y msrqBgFoeeMwJ0vLw9z1STlTpqiIuPE5njFI04yh0OB/MzAf+HDiv4zkifEuBI9FxMnk zhs6nwLzU3y86DcLj//Oj8nnulj/OOfkPsjtTkA1VCAIWXbx7/J44H0yMZo77q7spI/z ZbrITJRdVvPJXBLMFur52DW0ErkaVNQiV8aElmoA25fGU04OZ4LvQ7/Ws6g6qwEOSGeq KoOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:subject:cc:to:from:message-id :date:dkim-signature:dkim-signature; bh=YVglXbA5KGR99TIvnnpK12ZxeM4UJ/QmddNOTitskK0=; fh=G1iWBz2K0kQbCpEwyyRvB5P5gHjgE1MNLgD7VUgLR6Q=; b=GKAmPzYwKGerLcO0a4l1YYwY2MRnPG6kY6OD8Vk8lfQfVJT7vVjwnyVWCnKWoi8rBl Xvi579gMVwpRkp58bKLZy3hNriFmtkGnNlYQEEaF9tDbbwMptN/84O918zI9aDKIZYLp tx2xrrHXT0HUOwEKAWqyH8RdS83qxhVCwK5HZQ/0UEVP9hfOAsbfOJZ3STHbyi6UcUwW dSOIMKmLTxp5RVLi17FFNin71Ub/Ppt/zv/gTwuxLn9oJo4JbSUUlutp2Qb8IwK8O4wR POfKo9r3ehI71LuCBm6W3p3XxmBfVworIA3cBPXdEeyOy/z17SK8KcICMgKDx/9LywEq OpGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=OgBybor9; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=Unzbt6VX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id m5-20020a170902e40500b001c61ad51779si8576091ple.623.2023.10.08.23.23.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Oct 2023 23:23:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=OgBybor9; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=Unzbt6VX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 6F388805192B; Sun, 8 Oct 2023 23:23:27 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345176AbjJIGXT (ORCPT + 99 others); Mon, 9 Oct 2023 02:23:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345168AbjJIGXS (ORCPT ); Mon, 9 Oct 2023 02:23:18 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35A47A2 for ; Sun, 8 Oct 2023 23:23:17 -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-out2.suse.de (Postfix) with ESMTPS id DDD071F38C; Mon, 9 Oct 2023 06:23:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1696832595; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YVglXbA5KGR99TIvnnpK12ZxeM4UJ/QmddNOTitskK0=; b=OgBybor9H1XLVkEy9xKeovohcvPQNUpUGEI/DP7r0pJL/PxCdVqj+gwevTXwYYRqNdHo0b zVqwSW2bhbx9Txk+XZ4AFM/tiWclqP42udVrvd0f8+Sfqi+nfc3hU2dYLjoQVm+40mEBPc zn302QJ/txfxV9FYvif+54dJGrPkfm0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1696832595; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YVglXbA5KGR99TIvnnpK12ZxeM4UJ/QmddNOTitskK0=; b=Unzbt6VXvSaoQUEJA3USz/bx1Uu3IGWbqDbGZjP7j5Ni1bp1wdEHNFh2p8uo2G4YYlgSka Yl1TjSE/EYptUAAA== 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 8EFB913586; Mon, 9 Oct 2023 06:23:15 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id DW5eIVOcI2X5AwAAMHmgww (envelope-from ); Mon, 09 Oct 2023 06:23:15 +0000 Date: Mon, 09 Oct 2023 08:23:15 +0200 Message-ID: <87jzrwtiuk.wl-tiwai@suse.de> From: Takashi Iwai To: Maarten Lankhorst Cc: =?ISO-8859-1?Q?P=E9ter?= Ujfalusi , Kai Vehmanen , Maarten Lankhorst , Alsa-devel , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Bard Liao , Ranjani Sridharan , Mark Brown , Daniel Baluta , linux-kernel@vger.kernel.org, sound-open-firmware@alsa-project.org Subject: Re: [PATCH v6 11/12] ASoC: SOF: Intel: Move binding to display driver outside of deferred probe In-Reply-To: References: <20231004145540.32321-1-maarten.lankhorst@linux.intel.com> <20231004145540.32321-12-maarten.lankhorst@linux.intel.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=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Sun, 08 Oct 2023 23:23:27 -0700 (PDT) X-Spam-Level: ** On Thu, 05 Oct 2023 13:26:18 +0200, Maarten Lankhorst wrote: > > > > On 2023-10-05 12:58, P?ter Ujfalusi wrote: > > > > > > On 04/10/2023 19:59, Kai Vehmanen wrote: > >> Hi, > >> > >> I'm good with rest of the series, but one patch requires work. > >> > >> On Wed, 4 Oct 2023, Maarten Lankhorst wrote: > >> > >>> Now that we can use -EPROBE_DEFER, it's no longer required to spin off > >>> the snd_hdac_i915_init into a workqueue. > >>> > >>> Use the -EPROBE_DEFER mechanism instead, which must be returned in the > >>> probe function. > >>> > >>> The previously added probe_early can be used for this, > >>> and we also use the newly added remove_late for unbinding afterwards. > >> [...] > >>> --- a/sound/soc/sof/intel/hda-common-ops.c > >>> +++ b/sound/soc/sof/intel/hda-common-ops.c > >>> @@ -19,6 +19,7 @@ struct snd_sof_dsp_ops sof_hda_common_ops = { > >>> .probe_early = hda_dsp_probe_early, > >>> .probe = hda_dsp_probe, > >>> .remove = hda_dsp_remove, > >>> + .remove_late = hda_dsp_remove_late, > >>> /* Register IO uses direct mmio */ > >>> diff --git a/sound/soc/sof/intel/hda.c > >>> b/sound/soc/sof/intel/hda.c > >>> index 86a2571488bc..4eb7f04b8ae1 100644 > >>> --- a/sound/soc/sof/intel/hda.c > >>> +++ b/sound/soc/sof/intel/hda.c > >>> @@ -1160,6 +1160,7 @@ int hda_dsp_probe_early(struct snd_sof_dev *sdev) > >>> return -ENOMEM; > >>> sdev->pdata->hw_pdata = hdev; > >>> hdev->desc = chip; > >>> + ret = hda_init(sdev); > >>> err: > >>> return ret; > >> > >> I don't think this works. The hda_codec_i915_init() errors are ignored in > >> hda_init() so this never returns -EPROBE_DEFER. > >> > >> So something like this is needed on top (tested quickly on one SOF > >> machine and this blocks SOF load until i915 or xe driver is loaded): > >> > >> --cut-- > >> diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c > >> index 9025bfaf6a7e..8b17c82dcc89 100644 > >> --- a/sound/soc/sof/intel/hda.c > >> +++ b/sound/soc/sof/intel/hda.c > >> @@ -863,13 +863,20 @@ static int hda_init(struct snd_sof_dev *sdev) > >> /* init i915 and HDMI codecs */ > >> ret = hda_codec_i915_init(sdev); > >> if (ret < 0) > >> - dev_warn(sdev->dev, "init of i915 and HDMI codec > >> failed\n"); > >> + dev_warn(sdev->dev, "init of i915 and HDMI codec failed > >> (%d)\n", ret); > > > > we should not print anything or maximum dev_dbg in case of EPROBE_DEFER. > There's dev_err_probe, which is dev_err on error, or sets the reason > for deferred probe to the arguments if the error is -EPROBE_DEFER. I expect you'll respin v7 for addressing this? I'd love to merge the series for 6.7, and the time ticks... thanks, Takashi