Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1399550pxa; Thu, 20 Aug 2020 10:14:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJybqV1VLFXWRVyJfITDVmYReyi2XErJB7xYyydi4598fgwdgoQMOAA2NvRXJcLMRfMeDh5e X-Received: by 2002:a17:906:aed0:: with SMTP id me16mr4233236ejb.288.1597943685087; Thu, 20 Aug 2020 10:14:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597943685; cv=none; d=google.com; s=arc-20160816; b=Ww/EwF7yFfUoi941j9b6qPfxa2V21+rGbHV4DBCzX3OYtnZjLEmOTAqQbqNjWW8OoE J4ZzRnL2keR/kMGWHtied8rNcV5locpBg4swWmwfDR8qBcuP6XBsiS8PBAMeulkhbxoL p1K/vEVe67K1mBW+XDs5JEzR8RgRhZvdsNXECElIeZIxNGYf2bY9lKREWcFSBeGuvQpQ X8fNpDjFS7ffB7Frf612dY1OVSqoVzm7yvQYX1elPs65FnGX5PTeam2zsOgeCfZF9xdt g/mm+GVdSzOKKC9W+sTYFArGIi5emest81ZbQaXwUz+4wsBf57JFzAVpk4CHGIFP2QW4 tGOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=4eX00c0ckm8hT0A0C/n4MyfX4EjjAaDz31mN/Lb//fY=; b=af5aSswy9Ahdy6NZyb6RemrzlljaU6+ji0W42/wvrjaXDyfmVoyE6k8r8XuyeerC09 w7QCPF1Rg/Du6zEf0lrhRWH1bMeRT6usalj6oNgQ+7JLVbduqNEAXixXfeJeustuOBUY Zt4H/BIg0B3M77yppJwlYOK/oBREoPWh63cd8fE3nxx9lT9EjveyIpA5c6XEbgThoUZq A0DRxMH77iOBeEyYAiFm1S8wJG9RW/GqtaQW9fX4f0rEf2qOP/k38W4SiA0N3/8xDJLB mY0e5AjUSppVkuCfSVUIoACGCQw+arb+/68uuXmKxCjIhBxnYZ9RMyWi40YbZlfFZ09o XIbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Z11Hdhb8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d11si1807278edr.595.2020.08.20.10.14.20; Thu, 20 Aug 2020 10:14:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Z11Hdhb8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730507AbgHTRK2 (ORCPT + 99 others); Thu, 20 Aug 2020 13:10:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730151AbgHTRGy (ORCPT ); Thu, 20 Aug 2020 13:06:54 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F7ADC061344; Thu, 20 Aug 2020 10:05:38 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id u18so2268482wmc.3; Thu, 20 Aug 2020 10:05:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=4eX00c0ckm8hT0A0C/n4MyfX4EjjAaDz31mN/Lb//fY=; b=Z11Hdhb8fIf+RWDsfZYkftMhqk7M2OXy0n6MgA0ETp9jr3pQV8ulNcpRKj/wKp+Jcb TJydKyyk8agCFCKNNVnmf/LSzwt5bkfqxPoBrJfk9wIeWsj3ZxeZ0ypZrs1MtkVmxRRX x81JDHis0hoohcY0Q6Ywz9FkA4+uo/uBfiR3m6br16gLBDZ0jm2DrQuA5qDaLjy/F60S V1fg+5A7e4NKYugc3e5Xg2R7tNWQTDUK4LztV5U6/Rt21jkXnI9pXAOnIuQyz923d1dR HzHV5ev7gLhj5R1KTo733m06xj4N6pqkhAWVg59VKP5cboJK1OKaF5Gqsjv4rsSG1r1h /zsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4eX00c0ckm8hT0A0C/n4MyfX4EjjAaDz31mN/Lb//fY=; b=W7viDUIzQeVWC4fmHbZnzjL+PO/ocamtCcGRVbGD0NCpaaG/aa4jR6mGhIByr93I7f SGeUXhiEFNVRN+2797aPBmyV0H5soFmbHJBrTGxxA3c48ZF3KhOSt4vE8j/r7k8HPTwI IDDtoTrQMMPMb3Mqo48PpYY/actmh78WXexKjbMCjlz0YL8YlS/md7TzMOKOo4sa2NHg VyPDqisW5phnZ3JsqGifqRT+TK6iiVVx/4KzDsBVjZ5LEqIsSmmcykwXXabRpJ4Zrgfs ODmaateMyqQCTxS2EJ8CGHlaWP8V6SLiEw3Q2HZKLGCjBpRWKnZckjq1f15iw9BvzGJ4 sZJw== X-Gm-Message-State: AOAM533E4ix4X1ebe6UxaRiTRi7hNGbor95VCmjX2lFNnc7vfZ9ogSdS I4jYnOz/hwwYC/ivdkuSvQ50T66K7xZl1ZKoN5o= X-Received: by 2002:a1c:4c17:: with SMTP id z23mr4638247wmf.49.1597943137022; Thu, 20 Aug 2020 10:05:37 -0700 (PDT) MIME-Version: 1.0 References: <93d7de3533cfd952aecd6198b9221d7a58c0e521.1597931876.git.robin.murphy@arm.com> In-Reply-To: From: Rob Clark Date: Thu, 20 Aug 2020 10:05:25 -0700 Message-ID: Subject: Re: [PATCH 10/18] iommu/msm: Add IOMMU_DOMAIN_DMA support To: Robin Murphy Cc: Christoph Hellwig , Joerg Roedel , Russell King - ARM Linux , Geert Uytterhoeven , dri-devel , Bjorn Andersson , Matthias Brugger , Thierry Reding , Laurent Pinchart , digetx@gmail.com, Suman Anna , Will Deacon , Marek Szyprowski , "moderated list:ARM/S5P EXYNOS AR..." , Magnus Damm , Kyungmin Park , Jonathan Hunter , Andy Gross , Yong Wu , linux-media@vger.kernel.org, linux-arm-msm , Krishna Reddy , "moderated list:ARM/Mediatek SoC..." , linux-tegra@vger.kernel.org, "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , Seung-Woo Kim , Linux Kernel Mailing List , t-kristo@ti.com, "list@263.net:IOMMU DRIVERS , Joerg Roedel ," Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 20, 2020 at 9:58 AM Robin Murphy wrote: > > On 2020-08-20 16:55, Rob Clark wrote: > > Side note, I suspect we'll end up needing something like > > 0e764a01015dfebff8a8ffd297d74663772e248a .. if someone can dig a 32b > > device out of the closet and dust it off, the fix is easy enough. > > Just wanted to mention that here so anyone with a 32b device could > > find what is needed. > > FWIW there shouldn't be any material change here - the generic default > domain is installed under the same circumstances as the Arm > dma_iommu_mapping was, so if any platform does have an issue, then it > should already have started 4 years with f78ebca8ff3d ("iommu/msm: Add > support for generic master bindings"). ok, it has, I guess, been a while since playing with 32b things.. someone on IRC had mentioned a problem that sounded like what 0e764a01015dfebff8a8ffd297d74663772e248a solved, unless they disabled some ARCH_HAS_xyz thing (IIRC), which I guess is related.. BR, -R > Robin. > > > > > BR, > > -R > > > > On Thu, Aug 20, 2020 at 8:09 AM Robin Murphy wrote: > >> > >> Now that arch/arm is wired up for default domains and iommu-dma, > >> implement the corresponding driver-side support for DMA domains. > >> > >> Signed-off-by: Robin Murphy > >> --- > >> drivers/iommu/msm_iommu.c | 7 ++++++- > >> 1 file changed, 6 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/iommu/msm_iommu.c b/drivers/iommu/msm_iommu.c > >> index 3615cd6241c4..f34efcbb0b2b 100644 > >> --- a/drivers/iommu/msm_iommu.c > >> +++ b/drivers/iommu/msm_iommu.c > >> @@ -8,6 +8,7 @@ > >> #include > >> #include > >> #include > >> +#include > >> #include > >> #include > >> #include > >> @@ -314,13 +315,16 @@ static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) > >> { > >> struct msm_priv *priv; > >> > >> - if (type != IOMMU_DOMAIN_UNMANAGED) > >> + if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA) > >> return NULL; > >> > >> priv = kzalloc(sizeof(*priv), GFP_KERNEL); > >> if (!priv) > >> goto fail_nomem; > >> > >> + if (type == IOMMU_DOMAIN_DMA && iommu_get_dma_cookie(&priv->domain)) > >> + goto fail_nomem; > >> + > >> INIT_LIST_HEAD(&priv->list_attached); > >> > >> priv->domain.geometry.aperture_start = 0; > >> @@ -339,6 +343,7 @@ static void msm_iommu_domain_free(struct iommu_domain *domain) > >> struct msm_priv *priv; > >> unsigned long flags; > >> > >> + iommu_put_dma_cookie(domain); > >> spin_lock_irqsave(&msm_iommu_lock, flags); > >> priv = to_msm_priv(domain); > >> kfree(priv); > >> -- > >> 2.28.0.dirty > >> > >> _______________________________________________ > >> dri-devel mailing list > >> dri-devel@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/dri-devel