From patchwork Fri Dec 22 04:52:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= X-Patchwork-Id: 13502941 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 3AB39C41535 for ; Fri, 22 Dec 2023 04:52:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=hGQXyaJNf/o7b/qI6wJ2J1Jb9/jZ0HEC85oCttNOJfQ=; b=ojcTWhi15+1YLgXac7j3N3hZUr 7iHR5D+Fgfrhz2XKIwnIJVaDJx4W8I3BclPGAbDjwa5f50vlquaH/yJDYZpfg2ItAxTAwywGCcYgs h6s0Wy5DfDs61L+RGopTS5BN1Vpa0/qakUd27aN/qGwzB06ch41t89Gqi0j5N9d/98MhHsoID/L+L s1xyfcfTY5g4ULQN7I9hH+TCR/P8Nk9ErkGYz1Ay85+707cHhgcLIAVgJb9DnS0lp7y4n/tNv/UfD O2iQGRHO8fCyWdie7Q4KQALuyrOSsA3Lc/2mdD7qB/N/8yFv3J7COJLhDosEVjfDoikS8lUfvC801 c44nEEvQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rGXWs-004tOf-0S; Fri, 22 Dec 2023 04:52:58 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rGXWe-004tFA-3C; Fri, 22 Dec 2023 04:52:48 +0000 X-UUID: ebdbabe4a08511ee958cff29c719f35b-20231221 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=hGQXyaJNf/o7b/qI6wJ2J1Jb9/jZ0HEC85oCttNOJfQ=; b=gyfbGJ/0x+GIa5BUiy4ZnjTZ+uU9W/c0bkiI+NbhyRUU89Gigdqx4LErpBxa+/1olkw+wAND7siwL8ga1uaEZ1Hnpj+Ef1mQiIKYcQFfw5JEOz0G8E3+9UrcesQQG89Uz6Z8SQsrqsc9u20deNsdLu11JwXCsDX5wR0L16Q4Lpw=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.35,REQID:50656aca-7ba5-453b-829a-78fdb4f8cd5c,IP:0,U RL:0,TC:0,Content:100,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:100 X-CID-META: VersionHash:5d391d7,CLOUDID:b7d20c82-8d4f-477b-89d2-1e3bdbef96d1,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:801|102,TC:nil,Content:3,EDM:-3,IP:n il,URL:1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR :NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULS X-UUID: ebdbabe4a08511ee958cff29c719f35b-20231221 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1644577878; Thu, 21 Dec 2023 21:52:34 -0700 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) 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.26; Fri, 22 Dec 2023 12:52:30 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Fri, 22 Dec 2023 12:52:30 +0800 From: Jason-JH.Lin To: Jassi Brar , Rob Herring , Krzysztof Kozlowski , Matthias Brugger , AngeloGioacchino Del Regno , Chun-Kuang Hu CC: Conor Dooley , Mauro Carvalho Chehab , , , , , , Jason-ch Chen , Johnson Wang , "Jason-JH . Lin" , Singo Chang , Nancy Lin , Shawn Sung , , Jason-jh Lin Subject: [PATCH v3 0/9] Add CMDQ secure driver for SVP Date: Fri, 22 Dec 2023 12:52:19 +0800 Message-ID: <20231222045228.27826-1-jason-jh.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--5.181400-8.000000 X-TMASE-MatchedRID: z9c31Y7/SCZsLX/Zy50gf4QnnAFRgjn9OlW1BAebvzBzwVmY5TMrNmSQ gJ6pnW8lfTfiNIO3sGjdzcJEB3Zs4Q9FV6kNYiPHnVTWWiNp+v8oUVkB7ifJnlksP1I0n2wSjBH 2O7lhl4DK6iR9ysOAQIalUHBsLUDlkBR3dHBozcejFYHTfcPkwl67veYUroY0KwCIxrnPtx5Tp6 Yz4AquMuRqqfObKAcHcAVxZL8H4DMdsKV+lYHQBmBLcedPqO9/Jjlv06yk4fDfUZT83lbkEDCsA me4bhohL+uMrUIyem6AMuqetGVetq6be/Gn3AzX3QfwsVk0UbvqwGfCk7KUs+qFCZ0F6mjZQgtb LYmBkC59OdV9M5CNK+wMxe7BlyQorswyK85GcjnWnWc77nowXnmstbP+hDZLaSnFm8zareWvDmO SQrdPEhdGg+ZY7eN6THB2Q+oKru8MTI34nyF36MJL1aANdU8KftwZ3X11IV0= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.181400-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: D2D62DFB20DA81C4F9D194E20D591121FCD44886093F8C5662FB4EF394754FF82000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231221_205245_041695_B1CD2C0C X-CRM114-Status: GOOD ( 14.89 ) 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: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org From: Jason-jh Lin For the Secure Video Path (SVP) feature, inculding the memory stored secure video content, the registers of display HW pipeline and the HW configure operations are required to execute in the secure world. So using a CMDQ secure driver to make all display HW registers configuration secure DRAM access permision settings execute by GCE secure thread in the secure world. We are landing this feature on mt8188 and mt8195 currently. --- Based on 2 series and 1 patch: [1] Add CMDQ driver support for mt8188 - https://patchwork.kernel.org/project/linux-mediatek/list/?series=810382 [2] Add mediatek,gce-events definition to mediatek,gce-mailbox bindings - https://patchwork.kernel.org/project/linux-mediatek/list/?series=810938 [3] soc: mediatek: Add register definitions for GCE - https://patchwork.kernel.org/project/linux-mediatek/patch/20231017064717.21616-2-shawn.sung@mediatek.com/ --- Change in v3: 1. separate mt8188 driver porting patches to another series 2. separate adding 'mediatek,gce-events' event prop to another series 3. sepatate mailbox helper and controller driver modification to a single patch for adding looping thread 4. add kerneldoc for secure mailbox related definition 5. add moving reuseable definition patch before adding secure mailbox driver patch 6. adjust redundant logic in mtk-cmdq-sec-mailbox Change in v2: 1. adjust dt-binding SW event define patch before the dt-binding patch using it 2. adjust dt-binding patch for secure cmdq driver 3. remove the redundant patches or merge the patches of modification for the same API Jason-JH.Lin (9): dt-bindings: gce: mt8195: Add CMDQ_SYNC_TOKEN_SECURE_THR_EOF event id dt-bindings: mailbox: Add mboxes property for CMDQ secure driver soc: mediatek: cmdq: Add cmdq_pkt_logic_command to support math operation soc: mediatek: cmdq: Add cmdq_pkt_write_s_reg_value to support write value to reg mailbox: mtk-cmdq: Support GCE loop packets in interrupt handler soc: mediatek: cmdq: Add cmdq_pkt_finalize_loop for looping cmd with irq mailbox: mediatek: Move reuseable definition to header for secure driver mailbox: mediatek: Add CMDQ secure mailbox driver mailbox: mediatek: Add secure CMDQ driver support for CMDQ driver .../mailbox/mediatek,gce-mailbox.yaml | 3 + drivers/mailbox/Makefile | 2 +- drivers/mailbox/mtk-cmdq-mailbox.c | 79 +- drivers/mailbox/mtk-cmdq-sec-mailbox.c | 1091 +++++++++++++++++ drivers/mailbox/mtk-cmdq-sec-tee.c | 165 +++ drivers/soc/mediatek/mtk-cmdq-helper.c | 72 ++ include/dt-bindings/gce/mt8195-gce.h | 6 + include/linux/mailbox/mtk-cmdq-mailbox.h | 36 + .../linux/mailbox/mtk-cmdq-sec-iwc-common.h | 385 ++++++ include/linux/mailbox/mtk-cmdq-sec-mailbox.h | 158 +++ include/linux/mailbox/mtk-cmdq-sec-tee.h | 105 ++ include/linux/soc/mediatek/mtk-cmdq.h | 61 + 12 files changed, 2132 insertions(+), 31 deletions(-) create mode 100644 drivers/mailbox/mtk-cmdq-sec-mailbox.c create mode 100644 drivers/mailbox/mtk-cmdq-sec-tee.c create mode 100644 include/linux/mailbox/mtk-cmdq-sec-iwc-common.h create mode 100644 include/linux/mailbox/mtk-cmdq-sec-mailbox.h create mode 100644 include/linux/mailbox/mtk-cmdq-sec-tee.h