Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1708747imm; Sat, 29 Sep 2018 02:22:37 -0700 (PDT) X-Google-Smtp-Source: ACcGV63tdXREXDy4FTU/91Ae933sTSpb9j4x8nl8Ipmu1bQeEMb/IFFZ4fDdUvoJ6UF9MWJNzJ95 X-Received: by 2002:a63:8343:: with SMTP id h64-v6mr1069854pge.368.1538212957199; Sat, 29 Sep 2018 02:22:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538212957; cv=none; d=google.com; s=arc-20160816; b=fZE/yJT+NXBCVMNmfz54FKhwzLR/gwGuFJu35eXnZt0We3aOPFre+HlScQrcdgvH1T YoOK/nPuUcP6sM7LLW/KWatQS0fAyA+9BZjIttnhNxd71gzxwhfCeYHE9kVYkYEOfuRl 4HHdeCc/tpBTcGBEopwz+/sXYC4E8+7tGnSLvvHdBAgwgZhH5OjW2e+USO7FkqjPcHBp xNgMn8aOM7ww2DGZCemLFy9/qWfY2Ca6zttKmQb5E9ZKwQpagZoCkWrWcD3tgCYjnIkJ DHBVLkjwvHAi/wNbFLOT6eG9TNq8qabxsz21wVuo7TywyrZAER65bzQyCh0cyHJEDLqO f8dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=F6IP3fBmqjIicHTZuhamGGgXccB88zbR6R+ADgFnmjE=; b=PJxiGSwDxVZkImuffJvPIkTVkaD0bo0cR88hXbrMAohgMoK5DZULDQPUb/FCrxKMXL j/flbwd3A0z+jbywcuyJbip6k+O9rNmtZJ8SyquKnKUTCIzkVJQU+pML6hlYGoaNm6A9 h3VCKa+8c21pFnEFNR0r8ocwdQ7oEzTfbNVJ/4S2lEiodDqRHf2yGp1mjlI5555lLWcb HF40pqvP/yWO53OAPwZ+JV6H/BgE1oIEgS0OwodHjCtTet1SYe1PlnI7KMrYjvZmGsmZ Jv2D2fTSCQTIEpQ9AwuDGy8iYt6g3vYNAulSVohAzRqq3vx8tnbSOoIZ5xsDFmFgJBRx Iluw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c17-v6si6879009pgc.158.2018.09.29.02.22.20; Sat, 29 Sep 2018 02:22:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727817AbeI2Pt5 (ORCPT + 99 others); Sat, 29 Sep 2018 11:49:57 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:14941 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727518AbeI2Pt5 (ORCPT ); Sat, 29 Sep 2018 11:49:57 -0400 X-UUID: b850b2c685c24ac8af694d8229281da3-20180929 Received: from mtkcas09.mediatek.inc [(172.21.101.178)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1865963386; Sat, 29 Sep 2018 17:22:10 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 29 Sep 2018 17:22:08 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sat, 29 Sep 2018 17:22:06 +0800 From: Houlong Wei To: Jassi Brar , Matthias Brugger , Rob Herring CC: Daniel Kurtz , Sascha Hauer , , , , , , Sascha Hauer , Philipp Zabel , Nicolas Boichat , CK HU , Bibby Hsieh , YT Shen , Daoyuan Huang , Jiaguang Zhang , Dennis-YC Hsieh , Monica Wang , Houlong Wei , HS Liao , , Subject: MediaTek MT8173 CMDQ support Date: Sat, 29 Sep 2018 17:21:41 +0800 Message-ID: <1538212903-14331-1-git-send-email-houlong.wei@mediatek.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: F1892C88F674BBB3ECCA8D2A6B63FF87E6E061B8755671CF09F64D92D58638652000:8 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This is Mediatek MT8173 Command Queue(CMDQ) driver. The CMDQ is used to help write registers with critical time limitation, such as updating display configuration during the vblank. It controls Global Command Engine (GCE) hardware to achieve this requirement. Changes since v24: -move WARN_ON() into cmdq_pkt_append_command() from outside Changes since v23: -rebase on v4.19-rc1 -revise return value of cmdq_mbox_create() -revise cmdq_pkt_create() -add MODULE_LICENSE() for mtk-cmdq-helper.c -adjust functions order in mtk-cmdq.h Changes since v22: -remove properties 'timeout' and 'thread-num' from device tree -move timer from CMDQ driver to CMDQ helper -move dma unmap from CMDQ driver to CMDQ helper -config thread number in CMDQ match table -remove reallocate mechanism and let client specify the cmdq buffer size -let client specify the timeout time Changes since v21: -rebase on v4.18-rc1 -remove subsys code and event id definition from mtk-cmdq-helper.c -add mt8173-gce.h to define the subsys code and envent id Changes since v20: -rebase on v4.15-rc1 -move dma_map_single outside of spinlock Changes since v19: -rebase to v4.10-rc2 Houlong Wei (2): arm64: dts: mt8173: Add GCE node soc: mediatek: Add Mediatek CMDQ helper arch/arm64/boot/dts/mediatek/mt8173.dtsi | 10 + drivers/soc/mediatek/Kconfig | 12 ++ drivers/soc/mediatek/Makefile | 1 + drivers/soc/mediatek/mtk-cmdq-helper.c | 291 ++++++++++++++++++++++++++++++ include/linux/soc/mediatek/mtk-cmdq.h | 133 ++++++++++++++ 5 files changed, 447 insertions(+) create mode 100644 drivers/soc/mediatek/mtk-cmdq-helper.c create mode 100644 include/linux/soc/mediatek/mtk-cmdq.h -- 1.7.9.5