public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: keith zhao <keith.zhao@starfivetech.com>
To: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org
Cc: andrzej.hajda@intel.com, neil.armstrong@linaro.org,
	rfoss@kernel.org, Laurent.pinchart@ideasonboard.com,
	jonas@kwiboo.se, jernej.skrabec@gmail.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	hjc@rock-chips.com, heiko@sntech.de, andy.yan@rock-chips.com,
	william.qiu@starfivetech.com, xingyu.wu@starfivetech.com,
	kernel@esmil.dk, paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, p.zabel@pengutronix.de,
	changhuang.liang@starfivetech.com, keith.zhao@starfivetech.com,
	jack.zhu@starfivetech.com, linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/9] drm/verisilicon : support DC8200 and inno hdmi
Date: Wed, 20 Nov 2024 14:18:39 +0800	[thread overview]
Message-ID: <20241120061848.196754-1-keith.zhao@starfivetech.com> (raw)

Verisilicon/DC8200 display controller IP has 2 display pipes and each 
pipe support a primary plane and a cursor plane . 
In addition, there are 4 overlay planes as 2 display pipes common resources.

The first display pipe is bound to the inno HDMI encoder.
The second display pipe is bound to Internal custom encoder, 
which is used to find dsi bridge by dts node. 

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.

V4:
Changes since v4:
- Delete the display subsystem module as all crtcs and planes are a driver.
- Delete the custom struct, directly use the drm struct data.
- Tidy up the inno hdmi public interface.
- Add a simple encoder for dsi output.

V5:
Changes since v5:
- Refine the Innosilicon HDMI by quoting bridge abstracting.
- Delete the encoder driver, which is created directly by internal functions.
- Adapt to the changes in kernel upgrade APIs, such as drm_client_setup.

keith zhao (9):
  dt-bindings: display: bindings for starfive,JH7110 display pipeline
  riscv: dts: Add display property
  drm: bridge: inno-hdmi: add inno bridge driver.
  drm/vs: Add Hardware Functions for VS DC8200
  drm/vs: Add Base API for VS Mode Configuration
  drm/vs: Add CRTC Functions
  drm/vs: Add VS Plane API
  drm/vs: Add Innosilicon HDMI Support
  drm/vs: Add VS DRM Master Driver for JH7110 SoC

 .../display/bridge/innosilicon,inno-hdmi.yaml |   45 +
 .../display/rockchip/rockchip,inno-hdmi.yaml  |   27 +-
 .../starfive/starfive,jh7110-dc8200.yaml      |  176 +++
 .../starfive/starfive,jh7110-inno-hdmi.yaml   |   91 ++
 .../soc/starfive/starfive,jh7110-syscon.yaml  |    1 +
 MAINTAINERS                                   |   11 +
 .../boot/dts/starfive/jh7110-common.dtsi      |  125 ++
 arch/riscv/boot/dts/starfive/jh7110.dtsi      |   41 +
 drivers/gpu/drm/Kconfig                       |    2 +
 drivers/gpu/drm/Makefile                      |    1 +
 drivers/gpu/drm/bridge/Kconfig                |    2 +
 drivers/gpu/drm/bridge/Makefile               |    1 +
 drivers/gpu/drm/bridge/innosilicon/Kconfig    |    6 +
 drivers/gpu/drm/bridge/innosilicon/Makefile   |    2 +
 .../gpu/drm/bridge/innosilicon/inno-hdmi.c    |  376 ++++++
 .../gpu/drm/bridge/innosilicon/inno-hdmi.h    |   34 +
 drivers/gpu/drm/rockchip/Kconfig              |    1 +
 drivers/gpu/drm/rockchip/Makefile             |    2 +-
 drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c |  690 +++++++++++
 .../{inno_hdmi.h => inno_hdmi-rockchip.h}     |    0
 drivers/gpu/drm/rockchip/inno_hdmi.c          | 1025 ---------------
 drivers/gpu/drm/verisilicon/Kconfig           |   32 +
 drivers/gpu/drm/verisilicon/Makefile          |   10 +
 .../gpu/drm/verisilicon/inno_hdmi-starfive.c  |  553 +++++++++
 .../gpu/drm/verisilicon/inno_hdmi-starfive.h  |  194 +++
 drivers/gpu/drm/verisilicon/vs_crtc.c         |  241 ++++
 drivers/gpu/drm/verisilicon/vs_crtc.h         |   42 +
 drivers/gpu/drm/verisilicon/vs_dc_hw.c        | 1104 +++++++++++++++++
 drivers/gpu/drm/verisilicon/vs_dc_hw.h        |  492 ++++++++
 drivers/gpu/drm/verisilicon/vs_drv.c          |  777 ++++++++++++
 drivers/gpu/drm/verisilicon/vs_drv.h          |   41 +
 drivers/gpu/drm/verisilicon/vs_modeset.c      |   31 +
 drivers/gpu/drm/verisilicon/vs_modeset.h      |   10 +
 drivers/gpu/drm/verisilicon/vs_plane.c        |  358 ++++++
 drivers/gpu/drm/verisilicon/vs_plane.h        |   27 +
 drivers/gpu/drm/verisilicon/vs_type.h         |   54 +
 include/drm/bridge/inno_hdmi.h                |   56 +
 37 files changed, 5630 insertions(+), 1051 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/innosilicon,inno-hdmi.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/bridge/innosilicon/Kconfig
 create mode 100644 drivers/gpu/drm/bridge/innosilicon/Makefile
 create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.c
 create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.h
 create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c
 rename drivers/gpu/drm/rockchip/{inno_hdmi.h => inno_hdmi-rockchip.h} (100%)
 delete mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.c
 create mode 100644 drivers/gpu/drm/verisilicon/Kconfig
 create mode 100644 drivers/gpu/drm/verisilicon/Makefile
 create mode 100644 drivers/gpu/drm/verisilicon/inno_hdmi-starfive.c
 create mode 100644 drivers/gpu/drm/verisilicon/inno_hdmi-starfive.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_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_type.h
 create mode 100644 include/drm/bridge/inno_hdmi.h

-- 
2.34.1


             reply	other threads:[~2024-11-20  6:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-20  6:18 keith zhao [this message]
2024-11-20  6:18 ` [PATCH v5 2/9] riscv: dts: Add display property keith zhao
2024-11-20  6:18 ` [PATCH v5 3/9] drm: bridge: inno-hdmi: add inno bridge driver keith zhao
2024-11-20  7:38   ` Krzysztof Kozlowski
2024-11-20  6:18 ` [PATCH v5 4/9] drm/vs: Add Hardware Functions for VS DC8200 keith zhao
2024-11-20  6:18 ` [PATCH v5 5/9] drm/vs: Add Base API for VS Mode Configuration keith zhao
2024-11-20  6:18 ` [PATCH v5 6/9] drm/vs: Add CRTC Functions keith zhao
2024-11-20  6:18 ` [PATCH v5 7/9] drm/vs: Add VS Plane API keith zhao
2024-11-20  6:18 ` [PATCH v5 8/9] drm/vs: Add Innosilicon HDMI Support keith zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241120061848.196754-1-keith.zhao@starfivetech.com \
    --to=keith.zhao@starfivetech.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=andrzej.hajda@intel.com \
    --cc=andy.yan@rock-chips.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=changhuang.liang@starfivetech.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=jack.zhu@starfivetech.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@esmil.dk \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=p.zabel@pengutronix.de \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=william.qiu@starfivetech.com \
    --cc=xingyu.wu@starfivetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox