Re: [v3 0/6] DRM driver for verisilicon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI,

This series are very interesting and nice!


On 2023/12/4 20:33, Keith Zhao wrote:
This patch is a drm driver for Starfive Soc JH7110,

'SoC' : System on Chip, no more 'Soc' or 'soc' please.

I am sending Drm driver part and HDMI driver part.


'DRM' or 'drm' nor Drm. DRM: Direct Rendering Manager.

Typically you should only *capitalize* the *first* letter of the first word
in a sentence, while this Drm appears in the middle of this sentence.

Please also improve the English written also, for example:

This series is a DRM driver for Starfive Soc JH7110, which contains (consists of)
a KMS driver for the vivante DC8200 display controller and a HDMI transmitter driver.



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

'servers' -> 'serve as', because server is a noun.

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 on next branch.

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 vs_crtc_funcs&vs_plane_funcs, subdivide the plane's help interface.
- Reduce the modifiers unused.
- Optimize the hdmi driver code

V2:
Changes since v2:
- fix the error about checking the yaml file.
- match drm driver GEM DMA API.
- Delete the custom crtc property .
- hdmi use drmm_ new api to automatically manage resources.
- update the modifiers comments.
- enabling KASAN, fix the error during removing module

V3:
Changes since v3:
- Delete the custom plane property.
- Delete the custom fourcc modifiers.
- Adjust the calculation mode of hdmi pixclock.
- Add match data for dc8200 driver.
- Adjust some magic values.
- Add a simple encoder for dsi output.

Keith Zhao (6):
   dt-bindings: display: Add yamls for JH7110 display system
   riscv: dts: starfive: jh7110: display subsystem
   drm/vs: Register DRM device
   drm/vs: Add KMS crtc&plane
   drm/vs: Add hdmi driver
   drm/vs: simple encoder

  .../starfive/starfive,display-subsystem.yaml  |  104 ++
  .../starfive/starfive,dsi-encoder.yaml        |   92 ++
  .../starfive/starfive,jh7110-dc8200.yaml      |  113 ++
  .../starfive/starfive,jh7110-inno-hdmi.yaml   |   82 ++
  .../soc/starfive/starfive,jh7110-syscon.yaml  |    1 +
  MAINTAINERS                                   |    8 +
  .../jh7110-starfive-visionfive-2.dtsi         |  134 ++
  arch/riscv/boot/dts/starfive/jh7110.dtsi      |   49 +
  drivers/gpu/drm/Kconfig                       |    2 +
  drivers/gpu/drm/Makefile                      |    1 +
  drivers/gpu/drm/verisilicon/Kconfig           |   21 +
  drivers/gpu/drm/verisilicon/Makefile          |   12 +
  drivers/gpu/drm/verisilicon/starfive_hdmi.c   |  849 ++++++++++++
  drivers/gpu/drm/verisilicon/starfive_hdmi.h   |  304 +++++
  drivers/gpu/drm/verisilicon/vs_crtc.c         |  208 +++
  drivers/gpu/drm/verisilicon/vs_crtc.h         |   42 +
  drivers/gpu/drm/verisilicon/vs_dc.c           | 1192 +++++++++++++++++
  drivers/gpu/drm/verisilicon/vs_dc.h           |   67 +
  drivers/gpu/drm/verisilicon/vs_dc_hw.c        | 1022 ++++++++++++++
  drivers/gpu/drm/verisilicon/vs_dc_hw.h        |  580 ++++++++
  drivers/gpu/drm/verisilicon/vs_drv.c          |  323 +++++
  drivers/gpu/drm/verisilicon/vs_drv.h          |   46 +
  drivers/gpu/drm/verisilicon/vs_modeset.c      |   39 +
  drivers/gpu/drm/verisilicon/vs_modeset.h      |   10 +
  drivers/gpu/drm/verisilicon/vs_plane.c        |  301 +++++
  drivers/gpu/drm/verisilicon/vs_plane.h        |   39 +
  drivers/gpu/drm/verisilicon/vs_simple_enc.c   |  195 +++
  drivers/gpu/drm/verisilicon/vs_simple_enc.h   |   23 +
  drivers/gpu/drm/verisilicon/vs_type.h         |   69 +
  29 files changed, 5928 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,display-subsystem.yaml
  create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,dsi-encoder.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_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_simple_enc.c
  create mode 100644 drivers/gpu/drm/verisilicon/vs_simple_enc.h
  create mode 100644 drivers/gpu/drm/verisilicon/vs_type.h





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux