All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/18] drm/rockchip: RK356x VOP2 support
@ 2021-12-08 15:12 ` Sascha Hauer
  0 siblings, 0 replies; 123+ messages in thread
From: Sascha Hauer @ 2021-12-08 15:12 UTC (permalink / raw)
  To: dri-devel
  Cc: linux-arm-kernel, linux-rockchip, devicetree, kernel, Andy Yan,
	Benjamin Gaignard, Michael Riesch, Sandy Huang,
	Heiko Stübner, Peter Geis, Sascha Hauer

This is the second round of the vop2 series. There are still some issues open,
but I thought it's about time to let people see and test it. I integrated the
review feedback I got from v1. Other changes include:

All framesync waiting is gone from the driver which makes it more straight
forward. To accomplish this the port_mux setup is now static in the driver.
This means each video port has a fixed maximum number of planes which is less
flexible but much easier to handle.

I also removed much of the register mapping and shadow register handling around
struct vop_reg. This basically resembles regmap and can eventually replaced by
regmap. Some places are still left in the driver, I plan to remove those in
later versions.

I think I have found the issue why only 1080p resolutions work, this seems to
be an issue in the way the clock tree is arranged. See the last patch in this
series which points to the problem, so far I don't have a good solution for it.

As usual, all comments and feedback welcome.

Sascha

Changes since v1:
- drop all unnecessary waiting for frames within atomic modeset and plane update
- Cluster subwin support removed
- gamma support removed
- unnecessary irq_lock removed
- interrupt handling simplified
- simplified zpos handling
- drop is_alpha_support(), use fb->format->has_alpha instead
- use devm_regulator_get() rather than devm_regulator_get_optional() for hdmi regulators
- Use fixed number of planes per video port
- Drop homegrown regmap code from vop2 driver (not complete yet)
- Add separate include file for vop2 driver to not pollute the vop include

Andy Yan (1):
  drm: rockchip: Add VOP2 driver

Benjamin Gaignard (1):
  dt-bindings: display: rockchip: dw-hdmi: Add compatible for rk3568
    HDMI

Michael Riesch (1):
  arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a

Sascha Hauer (15):
  drm/rockchip: dw_hdmi: Do not leave clock enabled in error case
  drm/rockchip: dw_hdmi: rename vpll clock to reference clock
  drm/rockchip: dw_hdmi: add rk3568 support
  drm/rockchip: dw_hdmi: add regulator support
  dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional
  dt-bindings: display: rockchip: dw-hdmi: Allow "ref" as clock name
  dt-bindings: display: rockchip: dw-hdmi: Add regulator support
  arm64: dts: rockchip: rk3399: reorder hmdi clocks
  dt-bindings: display: rockchip: Add binding for VOP2
  arm64: dts: rockchip: rk356x: Add VOP2 nodes
  arm64: dts: rockchip: rk356x: Add HDMI nodes
  arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
  drm/encoder: Add of_graph port to struct drm_encoder
  drm/rockchip: Make VOP driver optional
  [HACK, RFC] clk: rk3568: do not divide dclk_vop0

 .../display/rockchip/rockchip,dw-hdmi.yaml    |   14 +-
 .../display/rockchip/rockchip-vop2.yaml       |  118 +
 arch/arm64/boot/dts/rockchip/rk3399.dtsi      |    6 +-
 .../boot/dts/rockchip/rk3566-quartz64-a.dts   |   31 +
 arch/arm64/boot/dts/rockchip/rk3566.dtsi      |    4 +
 .../boot/dts/rockchip/rk3568-evb1-v10.dts     |   31 +
 arch/arm64/boot/dts/rockchip/rk3568.dtsi      |    4 +
 arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   75 +
 drivers/clk/rockchip/clk-rk3568.c             |    4 +-
 drivers/gpu/drm/rockchip/Kconfig              |   14 +
 drivers/gpu/drm/rockchip/Makefile             |    4 +-
 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  107 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    3 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h   |    7 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c    |    2 +
 drivers/gpu/drm/rockchip/rockchip_drm_vop.h   |   15 +
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c  | 2636 +++++++++++++++++
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  625 ++++
 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  |  505 ++++
 include/drm/drm_encoder.h                     |    2 +
 include/dt-bindings/soc/rockchip,vop2.h       |   14 +
 21 files changed, 4193 insertions(+), 28 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
 create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
 create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_vop2.h
 create mode 100644 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c
 create mode 100644 include/dt-bindings/soc/rockchip,vop2.h

-- 
2.30.2


^ permalink raw reply	[flat|nested] 123+ messages in thread

end of thread, other threads:[~2021-12-15 17:00 UTC | newest]

Thread overview: 123+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-08 15:12 [PATCH v2 00/18] drm/rockchip: RK356x VOP2 support Sascha Hauer
2021-12-08 15:12 ` Sascha Hauer
2021-12-08 15:12 ` Sascha Hauer
2021-12-08 15:12 ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 01/18] drm/rockchip: dw_hdmi: Do not leave clock enabled in error case Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 02/18] drm/rockchip: dw_hdmi: rename vpll clock to reference clock Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 03/18] drm/rockchip: dw_hdmi: add rk3568 support Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 04/18] drm/rockchip: dw_hdmi: add regulator support Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 05/18] dt-bindings: display: rockchip: dw-hdmi: Add compatible for rk3568 HDMI Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 06/18] dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-15 16:27   ` Rob Herring
2021-12-15 16:27     ` Rob Herring
2021-12-15 16:27     ` Rob Herring
2021-12-15 16:27     ` Rob Herring
2021-12-08 15:12 ` [PATCH 07/18] dt-bindings: display: rockchip: dw-hdmi: Allow "ref" as clock name Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-12 22:09   ` Heiko Stuebner
2021-12-12 22:09     ` Heiko Stuebner
2021-12-12 22:09     ` Heiko Stuebner
2021-12-12 22:09     ` Heiko Stuebner
2021-12-13 11:08     ` Sascha Hauer
2021-12-13 11:08       ` Sascha Hauer
2021-12-13 11:08       ` Sascha Hauer
2021-12-13 11:08       ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 08/18] dt-bindings: display: rockchip: dw-hdmi: Add regulator support Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 16:35   ` Robin Murphy
2021-12-08 16:35     ` Robin Murphy
2021-12-08 16:35     ` Robin Murphy
2021-12-08 16:35     ` Robin Murphy
2021-12-08 15:12 ` [PATCH 09/18] arm64: dts: rockchip: rk3399: reorder hmdi clocks Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 10/18] dt-bindings: display: rockchip: Add binding for VOP2 Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-15 16:38   ` Rob Herring
2021-12-15 16:38     ` Rob Herring
2021-12-15 16:38     ` Rob Herring
2021-12-15 16:38     ` Rob Herring
2021-12-08 15:12 ` [PATCH 11/18] arm64: dts: rockchip: rk356x: Add VOP2 nodes Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 12/18] arm64: dts: rockchip: rk356x: Add HDMI nodes Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 13/18] arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 17:30   ` Johan Jonker
2021-12-08 17:30     ` Johan Jonker
2021-12-08 17:30     ` Johan Jonker
2021-12-08 17:30     ` Johan Jonker
2021-12-08 15:12 ` [PATCH 14/18] arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 15/18] drm/encoder: Add of_graph port to struct drm_encoder Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 16/18] drm/rockchip: Make VOP driver optional Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12 ` [PATCH 17/18] drm: rockchip: Add VOP2 driver Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 16:59   ` Johan Jonker
2021-12-08 16:59     ` Johan Jonker
2021-12-08 16:59     ` Johan Jonker
2021-12-08 16:59     ` Johan Jonker
2021-12-10  8:55     ` Sascha Hauer
2021-12-10  8:55       ` Sascha Hauer
2021-12-10  8:55       ` Sascha Hauer
2021-12-10  8:55       ` Sascha Hauer
2021-12-08 21:50   ` kernel test robot
2021-12-08 21:50     ` kernel test robot
2021-12-08 21:50     ` kernel test robot
2021-12-08 21:50     ` kernel test robot
2021-12-09  0:49   ` kernel test robot
2021-12-09  0:49     ` kernel test robot
2021-12-09  0:49     ` kernel test robot
2021-12-09  0:49     ` kernel test robot
2021-12-08 15:12 ` [PATCH 18/18] [HACK, RFC] clk: rk3568: do not divide dclk_vop0 Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 15:12   ` Sascha Hauer
2021-12-08 16:51   ` Heiko Stübner
2021-12-08 16:51     ` Heiko Stübner
2021-12-08 16:51     ` Heiko Stübner
2021-12-08 16:51     ` Heiko Stübner
2021-12-10  8:51     ` Sascha Hauer
2021-12-10  8:51       ` Sascha Hauer
2021-12-10  8:51       ` Sascha Hauer
2021-12-10  8:51       ` Sascha Hauer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.