Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp127872pxt; Wed, 4 Aug 2021 17:54:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHJLGUpbISPe/Uzs49v20bcd+0K0PSaBN6bxxVHz0dYEYGz20vCkN4919cKIqiNHpNexXM X-Received: by 2002:a92:cecf:: with SMTP id z15mr1657310ilq.225.1628124896082; Wed, 04 Aug 2021 17:54:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628124896; cv=none; d=google.com; s=arc-20160816; b=gCnN/XJbxYfBDVXu03v46pzbpuMwjSXsACv1DMrvt5diKxoXKhqdnrGX4VTc77Mct5 9DqFeEXROgOp/LcZQbEg2cH/pd156Yr7jlW24p/Nys0PF7n2RtlWIhaM8AYTT0GVQo0t YsC7iFlGX2DrhJC7qkq/s+JTKCe8m/CShrj8YlmrXeuh6uzSC/COKNA1og5hg1hHdCFI TT196xeZEi8eI8Vbimx9XFeHzc/BWoyKeHt0QjvclQRoSlQRRbkbseLq9aSv99t8i7tL e+sLQYGpoLFESFGCbG23a7ijz4RdWjrfA0Uq9Oua/27Jdkxa7lhA7Ou0qr42VcZyeM2H 4YRw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=yEqPf47ueKHyxo6O/fBJtIZw7tQAbjCOjph8GpLDYqA=; b=Y0z+tN5VzZJ7kYwpg47AGafi9FiduEPONXmNDYp2mQ0X9o54DI/j8xcQCOmCknLjyg l61MICSC6WJoPHCzeMAfTtsGdXbasVcYfq37s7ChFDhBXixM3bf53FjG6O86aQfshMxM s6OIcu+DHS/DHayA7joWfxzxG5c1L+W2jSGpc0zH4cfVrUMRj1BZfexiCFBYUq+k6h8Z +6pAptjZu1DW1JAOu6L6i+sQKbkskmnyDU5+PY4T7q6T/joOg/DrI2dlh4v6B/ldCdxH Uh7uHFBdHd4e4crmN3dCn0mJaxZRDEH8JKB0/YFxUWrM9wcrVd5kpNkA3yVV6yafL3Lj fESg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w4si3723892ioa.95.2021.08.04.17.54.43; Wed, 04 Aug 2021 17:54:56 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239489AbhHDSxz (ORCPT + 99 others); Wed, 4 Aug 2021 14:53:55 -0400 Received: from gloria.sntech.de ([185.11.138.130]:50092 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238726AbhHDSxy (ORCPT ); Wed, 4 Aug 2021 14:53:54 -0400 Received: from ip5f5aa64a.dynamic.kabel-deutschland.de ([95.90.166.74] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBM1J-0002cI-Lo; Wed, 04 Aug 2021 20:53:37 +0200 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: joro@8bytes.org, will@kernel.org, Robin Murphy Cc: iommu@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, suravee.suthikulpanit@amd.com, baolu.lu@linux.intel.com, john.garry@huawei.com, dianders@chromium.org, rajatja@google.com, chenxiang66@hisilicon.com Subject: Re: [PATCH v3 08/25] iommu/rockchip: Drop IOVA cookie management Date: Wed, 04 Aug 2021 20:53:36 +0200 Message-ID: <4512656.mogB4TqSGs@diego> In-Reply-To: <0d25511c58981ecd0a1f3006dc1c30a73fb7d377.1628094601.git.robin.murphy@arm.com> References: <0d25511c58981ecd0a1f3006dc1c30a73fb7d377.1628094601.git.robin.murphy@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Mittwoch, 4. August 2021, 19:15:36 CEST schrieb Robin Murphy: > The core code bakes its own cookies now. > > CC: Heiko Stuebner > Signed-off-by: Robin Murphy On a Rockchip rk3288 (arm32), rk3399 (arm64) and px30 (arm64) with the graphics pipeline using the iommu Tested-by: Heiko Stuebner Acked-by: Heiko Stuebner Works now nicely on both arm32 and arm64 Thanks Heiko > > --- > > v3: Also remove unneeded include > --- > drivers/iommu/rockchip-iommu.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c > index 9febfb7f3025..5cb260820eda 100644 > --- a/drivers/iommu/rockchip-iommu.c > +++ b/drivers/iommu/rockchip-iommu.c > @@ -10,7 +10,6 @@ > #include > #include > #include > -#include > #include > #include > #include > @@ -1074,10 +1073,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) > if (!rk_domain) > return NULL; > > - if (type == IOMMU_DOMAIN_DMA && > - iommu_get_dma_cookie(&rk_domain->domain)) > - goto err_free_domain; > - > /* > * rk32xx iommus use a 2 level pagetable. > * Each level1 (dt) and level2 (pt) table has 1024 4-byte entries. > @@ -1085,7 +1080,7 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) > */ > rk_domain->dt = (u32 *)get_zeroed_page(GFP_KERNEL | GFP_DMA32); > if (!rk_domain->dt) > - goto err_put_cookie; > + goto err_free_domain; > > rk_domain->dt_dma = dma_map_single(dma_dev, rk_domain->dt, > SPAGE_SIZE, DMA_TO_DEVICE); > @@ -1106,9 +1101,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) > > err_free_dt: > free_page((unsigned long)rk_domain->dt); > -err_put_cookie: > - if (type == IOMMU_DOMAIN_DMA) > - iommu_put_dma_cookie(&rk_domain->domain); > err_free_domain: > kfree(rk_domain); > > @@ -1137,8 +1129,6 @@ static void rk_iommu_domain_free(struct iommu_domain *domain) > SPAGE_SIZE, DMA_TO_DEVICE); > free_page((unsigned long)rk_domain->dt); > > - if (domain->type == IOMMU_DOMAIN_DMA) > - iommu_put_dma_cookie(&rk_domain->domain); > kfree(rk_domain); > } > >