[PATCH v1 v1 0/7] DRM driver for verisilicon

From: Keith Zhao
Date: Tue Aug 01 2023 - 06:11:07 EST


This patch is a drm driver for Starfive Soc JH7110,
I am sending Drm driver part and HDMI driver part.

We used GEM framework for buffer management , and
for buffer allocation,we use DMA APIs.

the Starfive HDMI servers as interface between a LCD
Controller and a HDMI bus. A HDMI TX consists of one
HDMI transmitter controller and one HDMI transmitter PHY.
(Sound support is not include in this patch)

This patchset should be applied after the patchset:
https://patchwork.kernel.org/project/linux-clk/cover/20230713113902.56519-1-xingyu.wu@xxxxxxxxxxxxxxxx/

V1:
Changes since v1:
- Further standardize the yaml file.
- Dts naming convention improved.
- Fix the problem of compiling and loading ko files.
- Use drm new api to automatically manage resources.
- Drop struct vs_crtc_funcs&vs_plane_funcs,subdivide the plane's help interface
- Reduce the modifiers unused.
- Optimize the hdmi driver code

Keith Zhao (7):
MAINTAINERS: Update starfive maintainers
dt-bindings: display: Add yamls for JH7110 display system
riscv: dts: starfive: jh7110: add dc controller and hdmi node
drm/fourcc: Add drm/vs tiled modifiers
drm/vs: Register DRM device
drm/vs: Add KMS crtc&plane
drm/vs: Add hdmi

.../starfive/starfive,display-subsystem.yaml | 41 +
.../starfive/starfive,jh7110-dc8200.yaml | 107 +
.../starfive/starfive,jh7110-inno-hdmi.yaml | 92 +
MAINTAINERS | 7 +
.../jh7110-starfive-visionfive-2.dtsi | 87 +
arch/riscv/boot/dts/starfive/jh7110.dtsi | 43 +
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/verisilicon/Kconfig | 25 +
drivers/gpu/drm/verisilicon/Makefile | 13 +
drivers/gpu/drm/verisilicon/starfive_hdmi.c | 940 ++++++++
drivers/gpu/drm/verisilicon/starfive_hdmi.h | 295 +++
drivers/gpu/drm/verisilicon/vs_crtc.c | 365 +++
drivers/gpu/drm/verisilicon/vs_crtc.h | 54 +
drivers/gpu/drm/verisilicon/vs_dc.c | 1036 +++++++++
drivers/gpu/drm/verisilicon/vs_dc.h | 87 +
drivers/gpu/drm/verisilicon/vs_dc_hw.c | 2008 +++++++++++++++++
drivers/gpu/drm/verisilicon/vs_dc_hw.h | 496 ++++
drivers/gpu/drm/verisilicon/vs_drv.c | 274 +++
drivers/gpu/drm/verisilicon/vs_drv.h | 54 +
drivers/gpu/drm/verisilicon/vs_gem.c | 298 +++
drivers/gpu/drm/verisilicon/vs_gem.h | 50 +
drivers/gpu/drm/verisilicon/vs_modeset.c | 92 +
drivers/gpu/drm/verisilicon/vs_modeset.h | 13 +
drivers/gpu/drm/verisilicon/vs_plane.c | 502 +++++
drivers/gpu/drm/verisilicon/vs_plane.h | 65 +
drivers/gpu/drm/verisilicon/vs_type.h | 70 +
include/uapi/drm/drm_fourcc.h | 27 +
include/uapi/drm/vs_drm.h | 50 +
29 files changed, 7194 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,display-subsystem.yaml
create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml
create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml
create mode 100644 drivers/gpu/drm/verisilicon/Kconfig
create mode 100644 drivers/gpu/drm/verisilicon/Makefile
create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.c
create mode 100644 drivers/gpu/drm/verisilicon/starfive_hdmi.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_gem.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_gem.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.c
create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.h
create mode 100644 drivers/gpu/drm/verisilicon/vs_type.h
create mode 100644 include/uapi/drm/vs_drm.h

--
2.34.1