MediaTek MT8173 CMDQ support

From: Houlong Wei
Date: Sat Sep 29 2018 - 05:22:25 EST


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