Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp2755085rdb; Wed, 4 Oct 2023 10:22:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHgjt2nntb6bkmjPMy7N+/2PXn2ihj4HcDBtHuBK6g6gnLzIDzkYNlJJbv0LA7AJD7X8zII X-Received: by 2002:a05:6300:8089:b0:14c:c393:402d with SMTP id ap9-20020a056300808900b0014cc393402dmr2774744pzc.34.1696440152516; Wed, 04 Oct 2023 10:22:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696440152; cv=none; d=google.com; s=arc-20160816; b=gsto2s79K+VR/GCxJOc1krlgVCLpUIbwSmND+6rSLZtHX3fbhHAjsLKxzbZAn+gVme i7JOMp0DyUmiWuiwjtVAWvLSSY8NJr+K0OsSnPrZ/5fKThnnglFLIZ6QeuVvZ2QGTUju HK5UDIFVxHa8DDs0Q2xNHM/uXw178c5oQa11Me46BSF2ByGYn4Tht02G8Df3HDb5vq47 WeqUb4Mus5P6oZGLlMTd91HmtFGGmAzWz5z3+9SM8aE7r0nxgmAwSVliA3zbRvm8vvco ZfRF2KY1Q9PU7g/Het+z0y2N5k+f+d0H8Cmu512LZIH96haO+wV68xyEYm8/0PLy5IUT uzCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:organization:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature; bh=/NBblcBZnltzPyhBo9V/Aq4R2L5/hs5PZ2Mr51Vgzsc=; fh=g7buyh2EyLj33T6gGPv+5gxQA+Jaqc0/w/+ZAsu2NL0=; b=D2LijPzEoJjfskgSXRavCyFbicqt8rw0jvODsZ2rzrGEXadk1xfsXK1ziIA6H8Gd/h vCOUahsxpHvvwyTDN3H1IoSFIHU8wQggmnsmqSP1xgDo4xkBjdpOTTqPIbipW5ojKdiV YRmhv0PMGCAndjnUywIYIvPNfd2gzsYvKiQGvxZfq+x39sP9P4dM9FXrnjEmfjbsWoZb rUgtZYM3gZEhTdByZsw55Trb13Zg2sVEITvZwfW2P0rHI85vPmmOZGLHgAOS+opepRUz e7QOeUzuSA0J/FE1tnmdFYCBS0JLe3a5l0oeTYrJOSkCeGGYaiQrcAJAzCQdF43IlmFY rWzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=FNXt+Yt0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id cp12-20020a056a00348c00b00666c9148d03si3907208pfb.6.2023.10.04.10.22.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:22:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=FNXt+Yt0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 8F1938373424; Wed, 4 Oct 2023 10:22:31 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233420AbjJDRWY (ORCPT + 99 others); Wed, 4 Oct 2023 13:22:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243587AbjJDRFS (ORCPT ); Wed, 4 Oct 2023 13:05:18 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFA3BAD for ; Wed, 4 Oct 2023 10:05:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696439115; x=1727975115; h=date:from:to:cc:subject:in-reply-to:message-id: references:mime-version; bh=BPrbOdjfDQnlu7PBBE6jMSOGqJlteSEMb7Ixz8XIRgc=; b=FNXt+Yt0epE2UKq9LF2EgNLw+/iTBNTGj7cuGBogulwDRkRZIRugyVzE Ufh2WK6CGyDLpOEDw2sGGcdGgAMDQfHrtNF9aTfDB/AHy6MKxDMvAPLVD bUGi8k7MI6H7M4cOHZlOz1lyumf95FxF72n774a0RJK2cp3DYLtJLKhKm x3aa7C3C57dGaJaSjHXZ6sM2WXhgQHU+PPxoWY7/f5ZztIMXlUalAa+v6 8Mco/x1BCO6qqiEqZjB3j+GHFmpCgwVuGBaNvwgRNDP5zIEJWj2s7fOMt KQ8j9raMgFM7rZfYM26EcNxDKpO09Tcd0bfJH5Ii95aWRTMbTLGJBFVOY A==; X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="383138204" X-IronPort-AV: E=Sophos;i="6.03,200,1694761200"; d="scan'208";a="383138204" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2023 10:03:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="755023978" X-IronPort-AV: E=Sophos;i="6.03,200,1694761200"; d="scan'208";a="755023978" Received: from eliteleevi.tm.intel.com ([10.237.54.20]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2023 10:03:55 -0700 Date: Wed, 4 Oct 2023 19:59:42 +0300 (EEST) From: Kai Vehmanen X-X-Sender: kvehmane@eliteleevi.tm.intel.com To: Maarten Lankhorst cc: Alsa-devel , Maarten Lankhorst , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , 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: <20231004145540.32321-12-maarten.lankhorst@linux.intel.com> Message-ID: References: <20231004145540.32321-1-maarten.lankhorst@linux.intel.com> <20231004145540.32321-12-maarten.lankhorst@linux.intel.com> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7 02160 Espoo MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (howler.vger.email [0.0.0.0]); Wed, 04 Oct 2023 10:22:31 -0700 (PDT) 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); + + if (ret < 0 && ret != -ENODEV) + goto out; /* get controller capabilities */ ret = hda_dsp_ctrl_get_caps(sdev); if (ret < 0) dev_err(sdev->dev, "error: get caps error\n"); +out: + if (ret < 0) + iounmap(sof_to_bus(sdev)->remap_addr); + return ret; } --cut-- Br, Kai