[RFC v4 0/4] Mediatek MT8173 CMDQ support

From: HS Liao
Date: Tue Apr 19 2016 - 00:50:48 EST


This is Mediatek MT8173 Command Queue(CMDQ) driver. The CMDQ is used
to help read/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.

These patches have a build dependency on top of v4.6-rc1.

Changes since v3:
- rebase to v4.6-rc1
- pass both arm and arm64 arch compilation
- fix bug of removing free task list in v3
- marchal return error code
- use offset instead of physical address
- centralize release flow
- add "suspend/resume protection" patch
- add queue_work() in cmdq_auto_release() to prevent no more flush
or interrupt to consume waiting tasks
- remove some debug or redundant code
- rewrite some code to shrink code size

Best regards,
HS Liao

HS Liao (4):
dt-bindings: soc: Add documentation for the MediaTek GCE unit
CMDQ: Mediatek CMDQ driver
arm64: dts: mt8173: Add GCE node
CMDQ: suspend/resume protection

.../devicetree/bindings/soc/mediatek/gce.txt | 34 +
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 8 +
drivers/soc/mediatek/Kconfig | 10 +
drivers/soc/mediatek/Makefile | 1 +
drivers/soc/mediatek/mtk-cmdq.c | 1997 ++++++++++++++++++++
include/soc/mediatek/cmdq.h | 197 ++
6 files changed, 2247 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/mediatek/gce.txt
create mode 100644 drivers/soc/mediatek/mtk-cmdq.c
create mode 100644 include/soc/mediatek/cmdq.h