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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2010CC433F5 for ; Thu, 30 Sep 2021 07:14:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0D80C6187A for ; Thu, 30 Sep 2021 07:14:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348562AbhI3HQb (ORCPT ); Thu, 30 Sep 2021 03:16:31 -0400 Received: from mailgw01.mediatek.com ([60.244.123.138]:42756 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1348519AbhI3HQa (ORCPT ); Thu, 30 Sep 2021 03:16:30 -0400 X-UUID: 02bdd3d43917428486059ffb84059693-20210930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=W+gAqULzOpfc/ivXZHGg1RcECraPP+WX8duBqllWiWg=; b=q6efus+v6mX5SugaKB9oDbvpcDX3wweSD7qtPf2IR45WzvSCiPikm9UkP3QVbvTgTgLPZDSnAT7wHVIQ2xQIp7xdgzrJmimFYB9auLntLAhrici9R0V3DC6TqxrDFvuFZJtlP6xPLCacUIEC/WOzXMzfNySweY7gwtEkUXD715U=; X-UUID: 02bdd3d43917428486059ffb84059693-20210930 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1808720043; Thu, 30 Sep 2021 15:14:45 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 30 Sep 2021 15:14:44 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 30 Sep 2021 15:14:42 +0800 Message-ID: Subject: Re: [PATCH v8 03/12] iommu/mediatek: Add probe_defer for smi-larb From: Yong Wu To: Dafna Hirschfeld , Matthias Brugger , Joerg Roedel , Rob Herring , Krzysztof Kozlowski , David Airlie , "Mauro Carvalho Chehab" CC: Evan Green , Robin Murphy , Tomasz Figa , Will Deacon , , , , , , , , Matthias Kaehlcke , , , , , , "Daniel Vetter" , Chun-Kuang Hu , "Philipp Zabel" , Tiffany Lin , Hsin-Yi Wang , Eizan Miyamoto , , Frank Wunderlich Date: Thu, 30 Sep 2021 15:14:45 +0800 In-Reply-To: <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> References: <20210929013719.25120-1-yong.wu@mediatek.com> <20210929013719.25120-4-yong.wu@mediatek.com> <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIxLTA5LTI5IGF0IDE4OjMzICswMjAwLCBEYWZuYSBIaXJzY2hmZWxkIHdyb3Rl Og0KPiANCj4gT24gMjkuMDkuMjEgMDM6MzcsIFlvbmcgV3Ugd3JvdGU6DQo+ID4gUHJlcGFyZSBm b3IgYWRkaW5nIGRldmljZV9saW5rLg0KPiA+IA0KPiA+IFRoZSBpb21tdSBjb25zdW1lciBzaG91 bGQgdXNlIGRldmljZV9saW5rIHRvIGNvbm5lY3Qgd2l0aCB0aGUNCj4gPiBzbWktbGFyYihzdXBw bGllcikuIHRoZW4gdGhlIHNtaS1sYXJiIHNob3VsZCBydW4gYmVmb3JlIHRoZSBpb21tdQ0KPiA+ IGNvbnN1bWVyLiBIZXJlIHdlIGRlbGF5IHRoZSBpb21tdSBkcml2ZXIgdW50aWwgdGhlIHNtaSBk cml2ZXIgaXMNCj4gPiByZWFkeSwNCj4gPiB0aGVuIGFsbCB0aGUgaW9tbXUgY29uc3VtZXJzIGFs d2F5cyBhcmUgYWZ0ZXIgdGhlIHNtaSBkcml2ZXIuDQo+ID4gDQo+ID4gV2hlbiB0aGVyZSBpcyBu byB0aGlzIHBhdGNoLCBpZiBzb21lIGNvbnN1bWVyIGRyaXZlcnMgcnVuIGJlZm9yZQ0KPiA+IHNt aS1sYXJiLCB0aGUgc3VwcGxpZXIgbGlua19zdGF0dXMgaXMgRExfREVWX05PX0RSSVZFUigwKSBp biB0aGUNCj4gPiBkZXZpY2VfbGlua19hZGQsIHRoZW4gZGV2aWNlX2xpbmtzX2RyaXZlcl9ib3Vu ZCB3aWxsIHVzZSBXQVJOX09ODQo+ID4gdG8gY29tcGxhaW4gdGhhdCB0aGUgbGlua19zdGF0dXMg b2Ygc3VwcGxpZXIgaXMgbm90IHJpZ2h0Lg0KPiA+IA0KPiA+IGRldmljZV9pc19ib3VuZCBtYXkg YmUgbW9yZSBlbGVnYW50IGhlcmUuIGJ1dCBpdCBpcyBub3QgYWxsb3dlZCB0bw0KPiA+IEVYUE9S VCBmcm9tIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3BhdGNod29yay9wYXRjaC8xMzM0NjcwLy4N Cj4gPiANCj4gPiBTaWduZWQtb2ZmLWJ5OiBZb25nIFd1IDx5b25nLnd1QG1lZGlhdGVrLmNvbT4N Cj4gPiBUZXN0ZWQtYnk6IEZyYW5rIFd1bmRlcmxpY2ggPGZyYW5rLXdAcHVibGljLWZpbGVzLmRl PiAjIEJQSS0NCj4gPiBSMi9NVDc2MjMNCj4gPiAtLS0NCj4gPiAgIGRyaXZlcnMvaW9tbXUvbXRr X2lvbW11LmMgICAgfCAyICstDQo+ID4gICBkcml2ZXJzL2lvbW11L210a19pb21tdV92MS5jIHwg MiArLQ0KPiA+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMgYi9k cml2ZXJzL2lvbW11L210a19pb21tdS5jDQo+ID4gaW5kZXggZDgzN2FkZmQxZGE1Li5kNTg0OGY3 OGE2NzcgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYw0KPiA+ICsr KyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMNCj4gPiBAQCAtODQ0LDcgKzg0NCw3IEBAIHN0 YXRpYyBpbnQgbXRrX2lvbW11X3Byb2JlKHN0cnVjdA0KPiA+IHBsYXRmb3JtX2RldmljZSAqcGRl dikNCj4gPiAgIAkJCWlkID0gaTsNCj4gPiAgIA0KPiA+ICAgCQlwbGFyYmRldiA9IG9mX2ZpbmRf ZGV2aWNlX2J5X25vZGUobGFyYm5vZGUpOw0KPiA+IC0JCWlmICghcGxhcmJkZXYpIHsNCj4gPiAr CQlpZiAoIXBsYXJiZGV2IHx8ICFwbGFyYmRldi0+ZGV2LmRyaXZlcikgew0KPiA+ICAgCQkJb2Zf bm9kZV9wdXQobGFyYm5vZGUpOw0KPiA+ICAgCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7DQo+IA0K PiBpZiBwbGFyYmRldiBpcyBudWxsIGRvZXNuJ3QgdGhhdCBtZWFuIHRoYXQgdGhlIGRldmljZSBk b2VzIG5vdCBleGlzdD8NCg0KVGhpcyBpcyBwcm9iZSBmdW5jdGlvbiwgSXMgaXQgcG9zc2libGUg dGhlIHBsYXRmb3JtIGRldmljZSBpcyBub3QgcmVhZHkNCmF0IHRoaXMgdGltZT8NCg0KSSBjaGVj a2VkIHRoZSBwbGF0Zm9ybSBkZXZpY2Ugc2hvdWxkIGJlIGNyZWF0ZWQgYXQ6DQoNCm9mX3BsYXRm b3JtX2RlZmF1bHRfcG9wdWxhdGVfaW5pdDogIGFyY2hfaW5pdGNhbGxfc3luYw0KICAtPm9mX3Bs YXRmb3JtX3BvcHVsYXRlDQogICAgICAtPm9mX3BsYXRmb3JtX2RldmljZV9jcmVhdGVfcGRhdGEN Cg0KTm90IHN1cmUgaWYgdGhpcyBtYXkgYmUgZGVsYXllZCBmb3Igc29tZSBkZXZpY2UuIElmIG5v dCwgaXQgc2hvdWxkIGJlDQpFTk9ERVYgaGVyZS4NCg0KPiBzbyB3ZSBzaG91bGQgcmV0dXJuIC1F Tk9ERVYgaW4gdGhhdCBjYXNlPw0KPiANCj4gdGhhbmtzLA0KPiBEYWZuYQ0KPiANCj4gPiAgIAkJ fQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L210a19pb21tdV92MS5jDQo+ID4gYi9k cml2ZXJzL2lvbW11L210a19pb21tdV92MS5jDQo+ID4gaW5kZXggMTQ2N2JhMWU0NDE3Li40ZDc4 MDk0MzIyMzkgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9pb21tdS9tdGtfaW9tbXVfdjEuYw0K PiA+ICsrKyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11X3YxLmMNCj4gPiBAQCAtNjAyLDcgKzYw Miw3IEBAIHN0YXRpYyBpbnQgbXRrX2lvbW11X3Byb2JlKHN0cnVjdA0KPiA+IHBsYXRmb3JtX2Rl dmljZSAqcGRldikNCj4gPiAgIAkJfQ0KPiA+ICAgDQo+ID4gICAJCXBsYXJiZGV2ID0gb2ZfZmlu ZF9kZXZpY2VfYnlfbm9kZShsYXJibm9kZSk7DQo+ID4gLQkJaWYgKCFwbGFyYmRldikgew0KPiA+ ICsJCWlmICghcGxhcmJkZXYgfHwgIXBsYXJiZGV2LT5kZXYuZHJpdmVyKSB7DQo+ID4gICAJCQlv Zl9ub2RlX3B1dChsYXJibm9kZSk7DQo+ID4gICAJCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4g PiAgIAkJfQ0KPiA+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0DQo+IExpbnV4LW1lZGlh dGVrQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1tZWRpYXRlaw0K 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF101C433EF for ; Thu, 30 Sep 2021 07:14:57 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8D6F661880 for ; Thu, 30 Sep 2021 07:14:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8D6F661880 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 646E580E06; Thu, 30 Sep 2021 07:14:57 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f-GPSR2EkoHx; Thu, 30 Sep 2021 07:14:56 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id 33DF180DD5; Thu, 30 Sep 2021 07:14:56 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1E3ADC000F; Thu, 30 Sep 2021 07:14:56 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id DA428C000D for ; Thu, 30 Sep 2021 07:14:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id BB9856071F for ; Thu, 30 Sep 2021 07:14:54 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=mediatek.com Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HodCd3z-rhBf for ; Thu, 30 Sep 2021 07:14:51 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by smtp3.osuosl.org (Postfix) with ESMTPS id 1F0556068D for ; Thu, 30 Sep 2021 07:14:50 +0000 (UTC) X-UUID: 02bdd3d43917428486059ffb84059693-20210930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=W+gAqULzOpfc/ivXZHGg1RcECraPP+WX8duBqllWiWg=; b=q6efus+v6mX5SugaKB9oDbvpcDX3wweSD7qtPf2IR45WzvSCiPikm9UkP3QVbvTgTgLPZDSnAT7wHVIQ2xQIp7xdgzrJmimFYB9auLntLAhrici9R0V3DC6TqxrDFvuFZJtlP6xPLCacUIEC/WOzXMzfNySweY7gwtEkUXD715U=; X-UUID: 02bdd3d43917428486059ffb84059693-20210930 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1808720043; Thu, 30 Sep 2021 15:14:45 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 30 Sep 2021 15:14:44 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 30 Sep 2021 15:14:42 +0800 Message-ID: Subject: Re: [PATCH v8 03/12] iommu/mediatek: Add probe_defer for smi-larb From: Yong Wu To: Dafna Hirschfeld , Matthias Brugger , Joerg Roedel , Rob Herring , Krzysztof Kozlowski , David Airlie , "Mauro Carvalho Chehab" Date: Thu, 30 Sep 2021 15:14:45 +0800 In-Reply-To: <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> References: <20210929013719.25120-1-yong.wu@mediatek.com> <20210929013719.25120-4-yong.wu@mediatek.com> <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N Cc: Chun-Kuang Hu , Will Deacon , dri-devel@lists.freedesktop.org, anthony.huang@mediatek.com, youlin.pei@mediatek.com, Evan Green , Eizan Miyamoto , Matthias Kaehlcke , linux-media@vger.kernel.org, devicetree@vger.kernel.org, Philipp Zabel , Frank Wunderlich , yi.kuo@mediatek.com, linux-mediatek@lists.infradead.org, Hsin-Yi Wang , Tiffany Lin , linux-arm-kernel@lists.infradead.org, anan.sun@mediatek.com, srv_heupstream@mediatek.com, acourbot@chromium.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Daniel Vetter , Robin Murphy X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" On Wed, 2021-09-29 at 18:33 +0200, Dafna Hirschfeld wrote: > > On 29.09.21 03:37, Yong Wu wrote: > > Prepare for adding device_link. > > > > The iommu consumer should use device_link to connect with the > > smi-larb(supplier). then the smi-larb should run before the iommu > > consumer. Here we delay the iommu driver until the smi driver is > > ready, > > then all the iommu consumers always are after the smi driver. > > > > When there is no this patch, if some consumer drivers run before > > smi-larb, the supplier link_status is DL_DEV_NO_DRIVER(0) in the > > device_link_add, then device_links_driver_bound will use WARN_ON > > to complain that the link_status of supplier is not right. > > > > device_is_bound may be more elegant here. but it is not allowed to > > EXPORT from https://lore.kernel.org/patchwork/patch/1334670/. > > > > Signed-off-by: Yong Wu > > Tested-by: Frank Wunderlich # BPI- > > R2/MT7623 > > --- > > drivers/iommu/mtk_iommu.c | 2 +- > > drivers/iommu/mtk_iommu_v1.c | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index d837adfd1da5..d5848f78a677 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -844,7 +844,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > id = i; > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > if plarbdev is null doesn't that mean that the device does not exist? This is probe function, Is it possible the platform device is not ready at this time? I checked the platform device should be created at: of_platform_default_populate_init: arch_initcall_sync ->of_platform_populate ->of_platform_device_create_pdata Not sure if this may be delayed for some device. If not, it should be ENODEV here. > so we should return -ENODEV in that case? > > thanks, > Dafna > > > } > > diff --git a/drivers/iommu/mtk_iommu_v1.c > > b/drivers/iommu/mtk_iommu_v1.c > > index 1467ba1e4417..4d7809432239 100644 > > --- a/drivers/iommu/mtk_iommu_v1.c > > +++ b/drivers/iommu/mtk_iommu_v1.c > > @@ -602,7 +602,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > } > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > } > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93592C433EF for ; Thu, 30 Sep 2021 07:16:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5B4EB6120D for ; Thu, 30 Sep 2021 07:16:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 5B4EB6120D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ho9G0oZgE0roWk53a9H0NZZjCp+RClsKKwX/kQgzX8M=; b=RH9RU8rxpU+zyl UTb9Up1PW3bKoXfZpe0R3HW9ejS2yk9+hd5RCVmhHLgExV/DJM3iXQjhDM6CYC1YTjy38UkCFoAGd Rk38lYrqUeXbnSfhg5FyyoV7bDafnXNjnPKAWWKSXCL4uTE9l4j45CH+k252mQkxM9Hi/e/kM025b Bp7nXDQj8YdEPt7wmiuyNHrkcrS/0oCv8o3w/YJocQ1vRSffKciXHotqbjYjzzNs1h3ZcbNHyKqMx UGIGwTMsjgNG55oWMacwO/TxACy6ZLKv/6yb6qo5odBCtEOfOAlGi9U+HPK462t7WDL4bjZHrafaY Q00nzg3SCv2NVYvwvimw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVqIh-00DARy-5G; Thu, 30 Sep 2021 07:16:15 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVqIU-00DAQb-4P; Thu, 30 Sep 2021 07:16:03 +0000 X-UUID: a598c140764d4ea4ab7e897520b97048-20210930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=W+gAqULzOpfc/ivXZHGg1RcECraPP+WX8duBqllWiWg=; b=q6efus+v6mX5SugaKB9oDbvpcDX3wweSD7qtPf2IR45WzvSCiPikm9UkP3QVbvTgTgLPZDSnAT7wHVIQ2xQIp7xdgzrJmimFYB9auLntLAhrici9R0V3DC6TqxrDFvuFZJtlP6xPLCacUIEC/WOzXMzfNySweY7gwtEkUXD715U=; X-UUID: a598c140764d4ea4ab7e897520b97048-20210930 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 423571633; Thu, 30 Sep 2021 00:15:59 -0700 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 30 Sep 2021 00:14:45 -0700 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 30 Sep 2021 15:14:44 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 30 Sep 2021 15:14:42 +0800 Message-ID: Subject: Re: [PATCH v8 03/12] iommu/mediatek: Add probe_defer for smi-larb From: Yong Wu To: Dafna Hirschfeld , Matthias Brugger , Joerg Roedel , Rob Herring , Krzysztof Kozlowski , David Airlie , "Mauro Carvalho Chehab" CC: Evan Green , Robin Murphy , Tomasz Figa , Will Deacon , , , , , , , , Matthias Kaehlcke , , , , , , "Daniel Vetter" , Chun-Kuang Hu , "Philipp Zabel" , Tiffany Lin , Hsin-Yi Wang , Eizan Miyamoto , , Frank Wunderlich Date: Thu, 30 Sep 2021 15:14:45 +0800 In-Reply-To: <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> References: <20210929013719.25120-1-yong.wu@mediatek.com> <20210929013719.25120-4-yong.wu@mediatek.com> <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210930_001602_203831_66DEA7F1 X-CRM114-Status: GOOD ( 32.51 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Wed, 2021-09-29 at 18:33 +0200, Dafna Hirschfeld wrote: > > On 29.09.21 03:37, Yong Wu wrote: > > Prepare for adding device_link. > > > > The iommu consumer should use device_link to connect with the > > smi-larb(supplier). then the smi-larb should run before the iommu > > consumer. Here we delay the iommu driver until the smi driver is > > ready, > > then all the iommu consumers always are after the smi driver. > > > > When there is no this patch, if some consumer drivers run before > > smi-larb, the supplier link_status is DL_DEV_NO_DRIVER(0) in the > > device_link_add, then device_links_driver_bound will use WARN_ON > > to complain that the link_status of supplier is not right. > > > > device_is_bound may be more elegant here. but it is not allowed to > > EXPORT from https://lore.kernel.org/patchwork/patch/1334670/. > > > > Signed-off-by: Yong Wu > > Tested-by: Frank Wunderlich # BPI- > > R2/MT7623 > > --- > > drivers/iommu/mtk_iommu.c | 2 +- > > drivers/iommu/mtk_iommu_v1.c | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index d837adfd1da5..d5848f78a677 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -844,7 +844,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > id = i; > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > if plarbdev is null doesn't that mean that the device does not exist? This is probe function, Is it possible the platform device is not ready at this time? I checked the platform device should be created at: of_platform_default_populate_init: arch_initcall_sync ->of_platform_populate ->of_platform_device_create_pdata Not sure if this may be delayed for some device. If not, it should be ENODEV here. > so we should return -ENODEV in that case? > > thanks, > Dafna > > > } > > diff --git a/drivers/iommu/mtk_iommu_v1.c > > b/drivers/iommu/mtk_iommu_v1.c > > index 1467ba1e4417..4d7809432239 100644 > > --- a/drivers/iommu/mtk_iommu_v1.c > > +++ b/drivers/iommu/mtk_iommu_v1.c > > @@ -602,7 +602,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > } > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > } > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35849C433F5 for ; Thu, 30 Sep 2021 07:18:58 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 00DAD615E5 for ; Thu, 30 Sep 2021 07:18:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 00DAD615E5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Bso8rWACIU4kKDVTnRSJcYO8QXMMsgvXjN7+OXszLrE=; b=0TrSfqshJNpVeT zKddxXTMpp9OsYrNKjNmQSALxis3xW3DIghBwUFV1K9r0MncCITGOqu9fr3q6ShrdzJcEsB/G1bqC JUuywWVBU21rjjsN+eZWCBvDEci82XpNH/BTq95DN8MpqEFvKD0oKHy/Qav62omhmu5JHCbT0mxUs 6tKoZcGyMnYepd5RwDaspVMP9uPMKnMZ/7GdHwVpv67gnsd4KWU0x0GLIVPUxDoUkZo6N8WyeauCp TQVdiZ+7Xc8tvDlS/8tZxg4HnovciHWjxXweXDXvP9N4hq8qxFVCbWqPbhvdb3nY8lyMfS/b9CqHV h4y+W5O0ow6tIIUj38yA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVqIY-00DARH-8k; Thu, 30 Sep 2021 07:16:06 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVqIU-00DAQb-4P; Thu, 30 Sep 2021 07:16:03 +0000 X-UUID: a598c140764d4ea4ab7e897520b97048-20210930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=W+gAqULzOpfc/ivXZHGg1RcECraPP+WX8duBqllWiWg=; b=q6efus+v6mX5SugaKB9oDbvpcDX3wweSD7qtPf2IR45WzvSCiPikm9UkP3QVbvTgTgLPZDSnAT7wHVIQ2xQIp7xdgzrJmimFYB9auLntLAhrici9R0V3DC6TqxrDFvuFZJtlP6xPLCacUIEC/WOzXMzfNySweY7gwtEkUXD715U=; X-UUID: a598c140764d4ea4ab7e897520b97048-20210930 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 423571633; Thu, 30 Sep 2021 00:15:59 -0700 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 30 Sep 2021 00:14:45 -0700 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 30 Sep 2021 15:14:44 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 30 Sep 2021 15:14:42 +0800 Message-ID: Subject: Re: [PATCH v8 03/12] iommu/mediatek: Add probe_defer for smi-larb From: Yong Wu To: Dafna Hirschfeld , Matthias Brugger , Joerg Roedel , Rob Herring , Krzysztof Kozlowski , David Airlie , "Mauro Carvalho Chehab" CC: Evan Green , Robin Murphy , Tomasz Figa , Will Deacon , , , , , , , , Matthias Kaehlcke , , , , , , "Daniel Vetter" , Chun-Kuang Hu , "Philipp Zabel" , Tiffany Lin , Hsin-Yi Wang , Eizan Miyamoto , , Frank Wunderlich Date: Thu, 30 Sep 2021 15:14:45 +0800 In-Reply-To: <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> References: <20210929013719.25120-1-yong.wu@mediatek.com> <20210929013719.25120-4-yong.wu@mediatek.com> <33a8b313-ad1b-d307-7e8c-2fdebdc6f1a7@collabora.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210930_001602_203831_66DEA7F1 X-CRM114-Status: GOOD ( 32.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, 2021-09-29 at 18:33 +0200, Dafna Hirschfeld wrote: > > On 29.09.21 03:37, Yong Wu wrote: > > Prepare for adding device_link. > > > > The iommu consumer should use device_link to connect with the > > smi-larb(supplier). then the smi-larb should run before the iommu > > consumer. Here we delay the iommu driver until the smi driver is > > ready, > > then all the iommu consumers always are after the smi driver. > > > > When there is no this patch, if some consumer drivers run before > > smi-larb, the supplier link_status is DL_DEV_NO_DRIVER(0) in the > > device_link_add, then device_links_driver_bound will use WARN_ON > > to complain that the link_status of supplier is not right. > > > > device_is_bound may be more elegant here. but it is not allowed to > > EXPORT from https://lore.kernel.org/patchwork/patch/1334670/. > > > > Signed-off-by: Yong Wu > > Tested-by: Frank Wunderlich # BPI- > > R2/MT7623 > > --- > > drivers/iommu/mtk_iommu.c | 2 +- > > drivers/iommu/mtk_iommu_v1.c | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index d837adfd1da5..d5848f78a677 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -844,7 +844,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > id = i; > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > if plarbdev is null doesn't that mean that the device does not exist? This is probe function, Is it possible the platform device is not ready at this time? I checked the platform device should be created at: of_platform_default_populate_init: arch_initcall_sync ->of_platform_populate ->of_platform_device_create_pdata Not sure if this may be delayed for some device. If not, it should be ENODEV here. > so we should return -ENODEV in that case? > > thanks, > Dafna > > > } > > diff --git a/drivers/iommu/mtk_iommu_v1.c > > b/drivers/iommu/mtk_iommu_v1.c > > index 1467ba1e4417..4d7809432239 100644 > > --- a/drivers/iommu/mtk_iommu_v1.c > > +++ b/drivers/iommu/mtk_iommu_v1.c > > @@ -602,7 +602,7 @@ static int mtk_iommu_probe(struct > > platform_device *pdev) > > } > > > > plarbdev = of_find_device_by_node(larbnode); > > - if (!plarbdev) { > > + if (!plarbdev || !plarbdev->dev.driver) { > > of_node_put(larbnode); > > return -EPROBE_DEFER; > > } > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel