From patchwork Tue Apr 11 09:31:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yong Wu X-Patchwork-Id: 8001 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp2442509vqo; Tue, 11 Apr 2023 02:35:20 -0700 (PDT) X-Google-Smtp-Source: AKy350bWkBR4rXidoi9RVJKj6rSZaTvDQOwp7j/CzjIzBVhG04N1eC8NgqTYZuZ7q4vmtWt9EHG2 X-Received: by 2002:a17:903:2452:b0:1a6:3def:6007 with SMTP id l18-20020a170903245200b001a63def6007mr2992681pls.7.1681205719976; Tue, 11 Apr 2023 02:35:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681205719; cv=none; d=google.com; s=arc-20160816; b=N7q2Y8dkOygiBIxVZI9382H2PNAriwGoPIN2qjUkH/GCRnV9iY/njQOZOeVLX1q7Nt a8UOQGF0Pfk9HPLyqXVNovokM7s6LJ2aWaSBF4flwDioHG/DiWZ1NfV4RSIBcpiYtut2 9KxCxIWhPgsa4Uof3+8CDebHPCq081bdqVLmLHeDxQ4OvnSHmPvOy5pCif25hng7VbCd hst8IuxEkYooviqIYSPLWPAViR6wEnZb/xLsAIvxkiw5XarPXP8odr4BcjkHkQkXYXoN cbjDW8KWkguJmyxoDWmY4RHHVN9WykLZYmp6AeFXP81J1gMNZxMwjCm8A2rQFr1PQpmV ykhw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=TUhFV/OivPCm2+hbj7TWhmkeiC431eZC9aTNqEGVSwE=; b=w2YZe1bfl9fhSUIrZrV/J47vC36JmX9ZNLO3Z1j4QaLOYv882nKHYheadjYfSR7PaL uLfDbNoK6Dy3H8fTupkc6ykA6/5RbcAP1BE8gNQ3sbUekWlskDveIOhs3LX1tTtVEFd4 qbrU3pSNZqenny6ctOfvCITFepfc9T6EZfMZKxEyrHSZSKoYPYFOdx9+H9XW8t+8LcNt GEF/RyfE1xKawz0xdOMWuX1YLvUvpr8l14yzEZuYgCcmPdajJi7Dqw3FSsSI1sKLmf5T cH8wbXBXhpCjYvwtu3pqrcQAq7NjMBEh1CFFvSlRhtv1g6DtCHgfZ8hST/F3pf9r8L/C ueAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=KLYOVVJj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a6-20020a170902ecc600b001a04212a4b1si14001496plh.439.2023.04.11.02.35.05; Tue, 11 Apr 2023 02:35:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=KLYOVVJj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229853AbjDKJcS (ORCPT + 99 others); Tue, 11 Apr 2023 05:32:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229841AbjDKJcJ (ORCPT ); Tue, 11 Apr 2023 05:32:09 -0400 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0183DE44; Tue, 11 Apr 2023 02:31:58 -0700 (PDT) X-UUID: b067f868d84b11eda9a90f0bb45854f4-20230411 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=TUhFV/OivPCm2+hbj7TWhmkeiC431eZC9aTNqEGVSwE=; b=KLYOVVJj/2e8Unc12MkSs9MiKPI8jWQPvcbJhQibXRTn1K3Wnfrh+HDFgyj3IxXRdmA+ArEkDhXscXR7SsjwLSZlq/b3ol8K6tUz9PeuCJLuW88Xf1fKRi8+qUxWPQnS7m5Rrs1UBwxmUF3E8Ua+UcLDhQDdaGZ3FOjZVdB+f/I=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.22,REQID:d84e3266-280f-49bc-b338-03c1cc37fda7,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:120426c,CLOUDID:0760ae83-cd9c-45f5-8134-710979e3df0e,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-UUID: b067f868d84b11eda9a90f0bb45854f4-20230411 Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1087849141; Tue, 11 Apr 2023 17:31:51 +0800 Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Tue, 11 Apr 2023 17:31:49 +0800 Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.25 via Frontend Transport; Tue, 11 Apr 2023 17:31:48 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Mauro Carvalho Chehab , Rob Herring CC: Will Deacon , Robin Murphy , Krzysztof Kozlowski , Hans Verkuil , , , , , , , , "AngeloGioacchino Del Regno" , , , , Yunfei Dong , kyrie wu , , , Subject: [PATCH v7 00/14] Adjust the dma-ranges for MTK IOMMU Date: Tue, 11 Apr 2023 17:31:30 +0800 Message-ID: <20230411093144.2690-1-yong.wu@mediatek.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-MTK: N X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY autolearn=no 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762871969031050002?= X-GMAIL-MSGID: =?utf-8?q?1762871969031050002?= After commit f1ad5338a4d5 ("of: Fix "dma-ranges" handling for bus controllers"), the dma-ranges is not allowed for dts leaf node. but we still would like to separate the different masters into different iova regions. Thus we adjust the internal flow, separate the 16GB iova range by the master HW larbid/portid and add the dma-ranges property in the parent "soc" node. This also could avoid the users forget/abuse the iova regions. The commit f1ad5338a4d5 did affect the mt8195 venc, But it is not a fatal issue, it could also work well at 0-4GB iova. thus I don't add "Fixes:" tag. In this series, I add functions for mt8192/mt8195/mt8186, mt8188 will be in its special patchset. and the previous mt8173/mt8183...support 0-4GB only, no need this function. Change note: v7: Remove the change about mediatek,vcodec-subdev-decoder.yaml since this was merged at: https://lore.kernel.org/all/98c48690-631d-1086-9b7c-004c61cc8dbb@xs4all.nl/ v6: https://lore.kernel.org/linux-mediatek/20230403091337.26745-1-yong.wu@mediatek.com/ Add three patches for set dma-mask for iommu master devices. v5: Nothing change. Just rebase on v6.3-rc1. v4: https://lore.kernel.org/linux-mediatek/20230215062544.8677-1-yong.wu@mediatek.com/ Improve the comment in the code from AngeloGioacchino. v3: https://lore.kernel.org/linux-mediatek/20230214031114.926-1-yong.wu@mediatek.com/ Add a new patch only for comment more in the code. v2: https://lore.kernel.org/linux-mediatek/20230208053643.28249-1-yong.wu@mediatek.com/ a) Base on next-20230206 since mt8195 jpeg node is applied which affect this patch. b) Reword the commit message [1/10][2/10] to explain effect. v1: https://lore.kernel.org/linux-mediatek/20230113060133.9394-1-yong.wu@mediatek.com/ Base on v6.2-rc3. Yong Wu (14): dt-bindings: media: mediatek,vcodec: Remove dma-ranges property dt-bindings: media: mediatek,jpeg: Remove dma-ranges property iommu/mediatek: Improve comment for the current region/bank iommu/mediatek: Get regionid from larb/port id iommu/mediatek: mt8192: Add iova_region_larb_msk iommu/mediatek: mt8195: Add iova_region_larb_msk iommu/mediatek: mt8186: Add iova_region_larb_msk iommu/mediatek: Add a gap for the iova regions iommu/mediatek: Set dma_mask for the master devices media: mtk-jpegdec: Remove the setting for dma_mask media: mediatek: vcodec: Remove the setting for dma_mask arm64: dts: mt8195: Remove the unnecessary dma-ranges arm64: dts: mt8195: Add dma-ranges for the parent "soc" node arm64: dts: mt8186: Add dma-ranges for the parent "soc" node .../media/mediatek,mt8195-jpegdec.yaml | 7 - .../media/mediatek,mt8195-jpegenc.yaml | 7 - .../media/mediatek,vcodec-decoder.yaml | 5 - .../media/mediatek,vcodec-encoder.yaml | 5 - .../bindings/media/mediatek-jpeg-encoder.yaml | 5 - arch/arm64/boot/dts/mediatek/mt8186.dtsi | 1 + arch/arm64/boot/dts/mediatek/mt8195.dtsi | 4 +- drivers/iommu/mtk_iommu.c | 145 ++++++++++++++---- .../platform/mediatek/jpeg/mtk_jpeg_core.c | 3 - .../mediatek/vcodec/mtk_vcodec_dec_drv.c | 8 - .../mediatek/vcodec/mtk_vcodec_enc_drv.c | 3 - 11 files changed, 117 insertions(+), 76 deletions(-)