From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH v1 1/3] gpu: host1x: Remove implicit IOMMU backing on client's registration Date: Thu, 24 Oct 2019 20:09:23 +0300 Message-ID: References: <20190623173743.24088-1-digetx@gmail.com> <20191024115016.GA2924027@ulmo> <55ab29ad-da9b-c178-4480-dc6edb09b3e4@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <55ab29ad-da9b-c178-4480-dc6edb09b3e4@gmail.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Thierry Reding Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-tegra@vger.kernel.org 24.10.2019 16:35, Dmitry Osipenko пишет: > 24.10.2019 14:50, Thierry Reding пишет: >> On Sun, Jun 23, 2019 at 08:37:41PM +0300, Dmitry Osipenko wrote: >>> On ARM32 we don't want any of the clients device to be backed by the >>> implicit domain, simply because we can't afford such a waste on older >>> Tegra SoCs that have very few domains available in total. The recent IOMMU >>> support addition for the Video Decoder hardware uncovered the problem >>> that an unfortunate drivers probe order results in the DRM driver probe >>> failure if CONFIG_ARM_DMA_USE_IOMMU=y due to a shortage of IOMMU domains >>> caused by the implicit backing. The host1x_client_register() is a common >>> function that is invoked by all of the relevant DRM drivers during theirs >>> probe and hence it is convenient to remove the implicit backing there, >>> resolving the problem. >>> >>> Signed-off-by: Dmitry Osipenko >>> --- >>> drivers/gpu/host1x/bus.c | 19 +++++++++++++++++++ >>> 1 file changed, 19 insertions(+) >> >> I don't really want to do this in a central place like this. If we >> really do need this, why can't we do it in the individual drivers? > > Why do you want to duplicate the same action for each driver instead of > doing it in a single common place? > >> we already call host1x_client_iommu_attach() from all the drivers and >> that detaches from the IOMMU as well. So I'm not sure I understand why >> this is needed. > > Wish you could ask that couple months ago. I'll try to refresh the details. > In kernel's boot order: 1) Host1x is attached to exclusive implicit domain 2) Host1x is detached from the implicit domain and attached to explicit 3) Both DC's fail to attach to implicit domain because DMA-mapping code doesn't take into account multiple devices in the same group. 4) GR2D is attached to exclusive implicit domain 5) GR3D is attached to exclusive implicit domain 6) VDE is attached to exclusive implicit domain 7) VDE is detached from the implicit domain and attached to explicit 8) DC client is trying to attach to DRM domain in host1x_client_iommu_attach() and that fails because tegra-smmu code allocates ASID in tegra_smmu_attach_dev()->tegra_smmu_as_prepare() (i.e. on IOMMU group's attaching) and all ASIDs are already busy. Hence if DRM sub-device drivers are detaching from the implicit domain on probe, then the problem is getting worked around because there are available ASIDs at the time of host1x clients initialization. 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 X-Spam-Level: X-Spam-Status: No, score=-5.0 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 359CDCA9EBC for ; Fri, 25 Oct 2019 08:11:53 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 17D6F206DD for ; Fri, 25 Oct 2019 08:11:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 17D6F206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D3A236E8DC; Fri, 25 Oct 2019 08:11:51 +0000 (UTC) Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 00E4F6E511 for ; Thu, 24 Oct 2019 17:09:26 +0000 (UTC) Received: by mail-lj1-x244.google.com with SMTP id n14so25829704ljj.10 for ; Thu, 24 Oct 2019 10:09:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=IrAfe5w1HnK8l8FuW+hQKQUlkFSvckC54yQUeXG//ko=; b=kfG7PBVKzHpjRiuqsi+yWIxWz1YMxleP8RAd4B1d60wzSSbX8qGEHQqGGXTy3IGglU qPT3NWKzx9vncZrxMlidtfVCn53HLkQwQ2Eb+I2Re8UA+Is/TGrYI9n4tvADz0SMSDOG e0/T83NZp6E0MXyQxB0mC8/xYJMm10E4YmR2eCwjzPePrQtyMbxXTI7wSCu6aoNcOh8f eOaAfzBmrfTEfs+BKIhrj8aUMdiGbCaoiEXSWmvs/tVKZ35osi8QHo4p0baph+O0bHnm IwaVfGlYezt+LUVcCjTV2EvlPxeNeHppi8/rjdEh5ORypUZ+78OYSFfbTzR1KAhgNo9d Ehow== X-Gm-Message-State: APjAAAWsOS0ZeImh1GuNuznqFy90JVL89mXgdrP1fSwIt6DtC70okxgE BIcEJVAAmTLpz09jRntZg4KdP0jv X-Google-Smtp-Source: APXvYqxSkIhVMx2JQ4ozADmzdOXgHT9YOY73BRvR0bq+4cNTs8tWmZwy3WI9LUw0lgPggYogDS0wbg== X-Received: by 2002:a2e:4e12:: with SMTP id c18mr27544082ljb.51.1571936965362; Thu, 24 Oct 2019 10:09:25 -0700 (PDT) Received: from [192.168.2.145] (94-29-10-250.dynamic.spd-mgts.ru. [94.29.10.250]) by smtp.googlemail.com with ESMTPSA id n25sm10143389ljc.107.2019.10.24.10.09.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Oct 2019 10:09:24 -0700 (PDT) Subject: Re: [PATCH v1 1/3] gpu: host1x: Remove implicit IOMMU backing on client's registration From: Dmitry Osipenko To: Thierry Reding References: <20190623173743.24088-1-digetx@gmail.com> <20191024115016.GA2924027@ulmo> <55ab29ad-da9b-c178-4480-dc6edb09b3e4@gmail.com> Message-ID: Date: Thu, 24 Oct 2019 20:09:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 MIME-Version: 1.0 In-Reply-To: <55ab29ad-da9b-c178-4480-dc6edb09b3e4@gmail.com> Content-Language: en-US X-Mailman-Approved-At: Fri, 25 Oct 2019 08:11:50 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=IrAfe5w1HnK8l8FuW+hQKQUlkFSvckC54yQUeXG//ko=; b=mWbjhBCkHaL5glMlAQhj6Agacp7Li+u9if1i1Ymo2qjHZ1lHG0TLeYiSC97M/nRPK1 Ad0R9qrXYKIE6zV1TcIBK6d9UtUT23ChFMh1uXvkVmiOVh+ukKHzfqd9bdHItfSID9zp X044GzJxWSpeVpQ8tT9dk7DRx6V/FBx6lF1HqtlZJe7X7D1saoe/5HFlvLT217poA8ns 6skq943P1cTy+77942FQ8aBUiWYVacMA24Tn8E+YN7x6pNZABQ0Uwks5AW7Ezwtp+Y3o 85GpDedISXW8N/FKjQOdMcGN+r4jQaswCPUeV9UUOumjOnhDiy8Zkj2hVDZxE9oLGH6W M/Ag== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191024170923.5tFmO32xJ_PvvKpzRBVrq2WJhd8W5be0X6FnF4U-iQ4@z> MjQuMTAuMjAxOSAxNjozNSwgRG1pdHJ5IE9zaXBlbmtvINC/0LjRiNC10YI6Cj4gMjQuMTAuMjAx OSAxNDo1MCwgVGhpZXJyeSBSZWRpbmcg0L/QuNGI0LXRgjoKPj4gT24gU3VuLCBKdW4gMjMsIDIw MTkgYXQgMDg6Mzc6NDFQTSArMDMwMCwgRG1pdHJ5IE9zaXBlbmtvIHdyb3RlOgo+Pj4gT24gQVJN MzIgd2UgZG9uJ3Qgd2FudCBhbnkgb2YgdGhlIGNsaWVudHMgZGV2aWNlIHRvIGJlIGJhY2tlZCBi eSB0aGUKPj4+IGltcGxpY2l0IGRvbWFpbiwgc2ltcGx5IGJlY2F1c2Ugd2UgY2FuJ3QgYWZmb3Jk IHN1Y2ggYSB3YXN0ZSBvbiBvbGRlcgo+Pj4gVGVncmEgU29DcyB0aGF0IGhhdmUgdmVyeSBmZXcg ZG9tYWlucyBhdmFpbGFibGUgaW4gdG90YWwuIFRoZSByZWNlbnQgSU9NTVUKPj4+IHN1cHBvcnQg YWRkaXRpb24gZm9yIHRoZSBWaWRlbyBEZWNvZGVyIGhhcmR3YXJlIHVuY292ZXJlZCB0aGUgcHJv YmxlbQo+Pj4gdGhhdCBhbiB1bmZvcnR1bmF0ZSBkcml2ZXJzIHByb2JlIG9yZGVyIHJlc3VsdHMg aW4gdGhlIERSTSBkcml2ZXIgcHJvYmUKPj4+IGZhaWx1cmUgaWYgQ09ORklHX0FSTV9ETUFfVVNF X0lPTU1VPXkgZHVlIHRvIGEgc2hvcnRhZ2Ugb2YgSU9NTVUgZG9tYWlucwo+Pj4gY2F1c2VkIGJ5 IHRoZSBpbXBsaWNpdCBiYWNraW5nLiBUaGUgaG9zdDF4X2NsaWVudF9yZWdpc3RlcigpIGlzIGEg Y29tbW9uCj4+PiBmdW5jdGlvbiB0aGF0IGlzIGludm9rZWQgYnkgYWxsIG9mIHRoZSByZWxldmFu dCBEUk0gZHJpdmVycyBkdXJpbmcgdGhlaXJzCj4+PiBwcm9iZSBhbmQgaGVuY2UgaXQgaXMgY29u dmVuaWVudCB0byByZW1vdmUgdGhlIGltcGxpY2l0IGJhY2tpbmcgdGhlcmUsCj4+PiByZXNvbHZp bmcgdGhlIHByb2JsZW0uCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogRG1pdHJ5IE9zaXBlbmtvIDxk aWdldHhAZ21haWwuY29tPgo+Pj4gLS0tCj4+PiAgZHJpdmVycy9ncHUvaG9zdDF4L2J1cy5jIHwg MTkgKysrKysrKysrKysrKysrKysrKwo+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25z KCspCj4+Cj4+IEkgZG9uJ3QgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcyBpbiBhIGNlbnRyYWwgcGxh Y2UgbGlrZSB0aGlzLiBJZiB3ZQo+PiByZWFsbHkgZG8gbmVlZCB0aGlzLCB3aHkgY2FuJ3Qgd2Ug ZG8gaXQgaW4gdGhlIGluZGl2aWR1YWwgZHJpdmVycz8KPiAKPiBXaHkgZG8geW91IHdhbnQgdG8g ZHVwbGljYXRlIHRoZSBzYW1lIGFjdGlvbiBmb3IgZWFjaCBkcml2ZXIgaW5zdGVhZCBvZgo+IGRv aW5nIGl0IGluIGEgc2luZ2xlIGNvbW1vbiBwbGFjZT8KPiAKPj4gd2UgYWxyZWFkeSBjYWxsIGhv c3QxeF9jbGllbnRfaW9tbXVfYXR0YWNoKCkgZnJvbSBhbGwgdGhlIGRyaXZlcnMgYW5kCj4+IHRo YXQgZGV0YWNoZXMgZnJvbSB0aGUgSU9NTVUgYXMgd2VsbC4gU28gSSdtIG5vdCBzdXJlIEkgdW5k ZXJzdGFuZCB3aHkKPj4gdGhpcyBpcyBuZWVkZWQuCj4gCj4gV2lzaCB5b3UgY291bGQgYXNrIHRo YXQgY291cGxlIG1vbnRocyBhZ28uIEknbGwgdHJ5IHRvIHJlZnJlc2ggdGhlIGRldGFpbHMuCj4g CgpJbiBrZXJuZWwncyBib290IG9yZGVyOgoKMSkgSG9zdDF4IGlzIGF0dGFjaGVkIHRvIGV4Y2x1 c2l2ZSBpbXBsaWNpdCBkb21haW4KMikgSG9zdDF4IGlzIGRldGFjaGVkIGZyb20gdGhlIGltcGxp Y2l0IGRvbWFpbiBhbmQgYXR0YWNoZWQgdG8gZXhwbGljaXQKMykgQm90aCBEQydzIGZhaWwgdG8g YXR0YWNoIHRvIGltcGxpY2l0IGRvbWFpbiBiZWNhdXNlIERNQS1tYXBwaW5nIGNvZGUKZG9lc24n dCB0YWtlIGludG8gYWNjb3VudCBtdWx0aXBsZSBkZXZpY2VzIGluIHRoZSBzYW1lIGdyb3VwLgo0 KSBHUjJEIGlzIGF0dGFjaGVkIHRvIGV4Y2x1c2l2ZSBpbXBsaWNpdCBkb21haW4KNSkgR1IzRCBp cyBhdHRhY2hlZCB0byBleGNsdXNpdmUgaW1wbGljaXQgZG9tYWluCjYpIFZERSBpcyBhdHRhY2hl ZCB0byBleGNsdXNpdmUgaW1wbGljaXQgZG9tYWluCjcpIFZERSBpcyBkZXRhY2hlZCBmcm9tIHRo ZSBpbXBsaWNpdCBkb21haW4gYW5kIGF0dGFjaGVkIHRvIGV4cGxpY2l0CjgpIERDIGNsaWVudCBp cyB0cnlpbmcgdG8gYXR0YWNoIHRvIERSTSBkb21haW4gaW4KaG9zdDF4X2NsaWVudF9pb21tdV9h dHRhY2goKSBhbmQgdGhhdCBmYWlscyBiZWNhdXNlIHRlZ3JhLXNtbXUgY29kZQphbGxvY2F0ZXMg QVNJRCBpbiB0ZWdyYV9zbW11X2F0dGFjaF9kZXYoKS0+dGVncmFfc21tdV9hc19wcmVwYXJlKCkg KGkuZS4Kb24gSU9NTVUgZ3JvdXAncyBhdHRhY2hpbmcpIGFuZCBhbGwgQVNJRHMgYXJlIGFscmVh ZHkgYnVzeS4KCkhlbmNlIGlmIERSTSBzdWItZGV2aWNlIGRyaXZlcnMgYXJlIGRldGFjaGluZyBm cm9tIHRoZSBpbXBsaWNpdCBkb21haW4Kb24gcHJvYmUsIHRoZW4gdGhlIHByb2JsZW0gaXMgZ2V0 dGluZyB3b3JrZWQgYXJvdW5kIGJlY2F1c2UgdGhlcmUgYXJlCmF2YWlsYWJsZSBBU0lEcyBhdCB0 aGUgdGltZSBvZiBob3N0MXggY2xpZW50cyBpbml0aWFsaXphdGlvbi4KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs