All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Riesch <michael.riesch@wolfvision.net>
To: Sascha Hauer <s.hauer@pengutronix.de>, dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	kernel@pengutronix.de, "Andy Yan" <andy.yan@rock-chips.com>,
	"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Peter Geis" <pgwipeout@gmail.com>
Subject: Re: [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support
Date: Thu, 27 Jan 2022 15:16:22 +0100	[thread overview]
Message-ID: <d0a0ddcd-43d0-fd48-7c9d-c4232b818212@wolfvision.net> (raw)
In-Reply-To: <20220126145549.617165-1-s.hauer@pengutronix.de>

Hello Sascha,

On 1/26/22 15:55, Sascha Hauer wrote:
> This is v4 of adding RK356x VOP2 support. Due to popular demand I added
> a changelog to each patch, at least starting with changes to v3, I
> didn't care to add the older changes as well. I hopefully integrated all
> feedback I received to v3. Additionally I added some patches to the HDMI
> driver to support resolutions up to 4k@60Hz. The patches are mostly
> taken from the downstream kernel. Some have been send to public lists,
> but were never applied upstream for reasons I do not know. The patches
> are a bit more intrusive than needed for my case, but are present in the
> downstream kernel for a long time, so I decided just to take them
> instead of stripping them down to my needs. With these patches I
> successfully used the driver with 4k@30Hz. 4k@60Hz doesn't work for me,
> I hope this is due to my low quality cable.

The cable might be the issue indeed, at least in my tests 4k@60Hz worked
just fine. On a RK3568 EVB1, using

$ modetest -M rockchip -s 69:{1920x1080,3840x2160}-{30,60}

and a HP 27f 4K monitor:

Tested-by: Michael Riesch <michael.riesch@wolfvision.net>

Thanks for your work and best regards,
Michael

> 
> Sascha
> 
> Changes since v3:
> - added changelog to each patch
> - Add 4k support to hdmi driver
> - rebase on v5.17-rc1
> 
> Changes since v2:
> - Add pin names to HDMI supply pin description
> - Add hclk support to HDMI driver
> - Dual license rockchip-vop2 binding, update binding
> - Add HDMI connector to board dts files
> - drop unnecessary gamma_lut registers from vop2
> - Update dclk_vop[012] clock handling, no longer hacks needed
> - Complete regmap conversion
> 
> 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
> 
> Douglas Anderson (2):
>   drm/rockchip: dw_hdmi: Use auto-generated tables
>   drm/rockchip: dw_hdmi: Set cur_ctr to 0 always
> 
> Michael Riesch (1):
>   arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
> 
> Nickey Yang (1):
>   drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz
> 
> Sascha Hauer (21):
>   drm/encoder: Add of_graph port to struct drm_encoder
>   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
>   drm/rockchip: dw_hdmi: Add support for hclk
>   drm/rockchip: dw_hdmi: drop mode_valid hook
>   clk: rockchip: rk3568: Add more PLL rates
>   dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional
>   dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name
>   dt-bindings: display: rockchip: dw-hdmi: Add regulator support
>   dt-bindings: display: rockchip: dw-hdmi: Add additional clock
>   dt-bindings: display: rockchip: Add binding for VOP2
>   arm64: dts: rockchip: rk3399: reorder hmdi clocks
>   arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref'
>   arm64: dts: rockchip: rk356x: Add VOP2 nodes
>   arm64: dts: rockchip: rk356x: Add HDMI nodes
>   arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
>   clk: rk3568: drop CLK_SET_RATE_PARENT from dclk_vop*
>   clk: rk3568: Add CLK_SET_RATE_PARENT to the HDMI reference clock
>   drm/rockchip: Make VOP driver optional
> 
>  .../display/rockchip/rockchip,dw-hdmi.yaml    |   29 +-
>  .../display/rockchip/rockchip-vop2.yaml       |  146 +
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi      |    6 +-
>  .../boot/dts/rockchip/rk3566-quartz64-a.dts   |   48 +
>  arch/arm64/boot/dts/rockchip/rk3566.dtsi      |    4 +
>  .../boot/dts/rockchip/rk3568-evb1-v10.dts     |   48 +
>  arch/arm64/boot/dts/rockchip/rk3568.dtsi      |    4 +
>  arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   86 +
>  drivers/clk/rockchip/clk-rk3568.c             |   14 +-
>  drivers/gpu/drm/rockchip/Kconfig              |   14 +
>  drivers/gpu/drm/rockchip/Makefile             |    4 +-
>  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  293 +-
>  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  | 2665 +++++++++++++++++
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  480 +++
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  |  285 ++
>  include/drm/drm_encoder.h                     |    2 +
>  include/dt-bindings/soc/rockchip,vop2.h       |   14 +
>  21 files changed, 4039 insertions(+), 130 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
> 

WARNING: multiple messages have this Message-ID (diff)
From: Michael Riesch <michael.riesch@wolfvision.net>
To: Sascha Hauer <s.hauer@pengutronix.de>, dri-devel@lists.freedesktop.org
Cc: devicetree@vger.kernel.org,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Peter Geis <pgwipeout@gmail.com>,
	Sandy Huang <hjc@rock-chips.com>,
	linux-rockchip@lists.infradead.org, kernel@pengutronix.de,
	Andy Yan <andy.yan@rock-chips.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support
Date: Thu, 27 Jan 2022 15:16:22 +0100	[thread overview]
Message-ID: <d0a0ddcd-43d0-fd48-7c9d-c4232b818212@wolfvision.net> (raw)
In-Reply-To: <20220126145549.617165-1-s.hauer@pengutronix.de>

Hello Sascha,

On 1/26/22 15:55, Sascha Hauer wrote:
> This is v4 of adding RK356x VOP2 support. Due to popular demand I added
> a changelog to each patch, at least starting with changes to v3, I
> didn't care to add the older changes as well. I hopefully integrated all
> feedback I received to v3. Additionally I added some patches to the HDMI
> driver to support resolutions up to 4k@60Hz. The patches are mostly
> taken from the downstream kernel. Some have been send to public lists,
> but were never applied upstream for reasons I do not know. The patches
> are a bit more intrusive than needed for my case, but are present in the
> downstream kernel for a long time, so I decided just to take them
> instead of stripping them down to my needs. With these patches I
> successfully used the driver with 4k@30Hz. 4k@60Hz doesn't work for me,
> I hope this is due to my low quality cable.

The cable might be the issue indeed, at least in my tests 4k@60Hz worked
just fine. On a RK3568 EVB1, using

$ modetest -M rockchip -s 69:{1920x1080,3840x2160}-{30,60}

and a HP 27f 4K monitor:

Tested-by: Michael Riesch <michael.riesch@wolfvision.net>

Thanks for your work and best regards,
Michael

> 
> Sascha
> 
> Changes since v3:
> - added changelog to each patch
> - Add 4k support to hdmi driver
> - rebase on v5.17-rc1
> 
> Changes since v2:
> - Add pin names to HDMI supply pin description
> - Add hclk support to HDMI driver
> - Dual license rockchip-vop2 binding, update binding
> - Add HDMI connector to board dts files
> - drop unnecessary gamma_lut registers from vop2
> - Update dclk_vop[012] clock handling, no longer hacks needed
> - Complete regmap conversion
> 
> 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
> 
> Douglas Anderson (2):
>   drm/rockchip: dw_hdmi: Use auto-generated tables
>   drm/rockchip: dw_hdmi: Set cur_ctr to 0 always
> 
> Michael Riesch (1):
>   arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
> 
> Nickey Yang (1):
>   drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz
> 
> Sascha Hauer (21):
>   drm/encoder: Add of_graph port to struct drm_encoder
>   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
>   drm/rockchip: dw_hdmi: Add support for hclk
>   drm/rockchip: dw_hdmi: drop mode_valid hook
>   clk: rockchip: rk3568: Add more PLL rates
>   dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional
>   dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name
>   dt-bindings: display: rockchip: dw-hdmi: Add regulator support
>   dt-bindings: display: rockchip: dw-hdmi: Add additional clock
>   dt-bindings: display: rockchip: Add binding for VOP2
>   arm64: dts: rockchip: rk3399: reorder hmdi clocks
>   arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref'
>   arm64: dts: rockchip: rk356x: Add VOP2 nodes
>   arm64: dts: rockchip: rk356x: Add HDMI nodes
>   arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
>   clk: rk3568: drop CLK_SET_RATE_PARENT from dclk_vop*
>   clk: rk3568: Add CLK_SET_RATE_PARENT to the HDMI reference clock
>   drm/rockchip: Make VOP driver optional
> 
>  .../display/rockchip/rockchip,dw-hdmi.yaml    |   29 +-
>  .../display/rockchip/rockchip-vop2.yaml       |  146 +
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi      |    6 +-
>  .../boot/dts/rockchip/rk3566-quartz64-a.dts   |   48 +
>  arch/arm64/boot/dts/rockchip/rk3566.dtsi      |    4 +
>  .../boot/dts/rockchip/rk3568-evb1-v10.dts     |   48 +
>  arch/arm64/boot/dts/rockchip/rk3568.dtsi      |    4 +
>  arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   86 +
>  drivers/clk/rockchip/clk-rk3568.c             |   14 +-
>  drivers/gpu/drm/rockchip/Kconfig              |   14 +
>  drivers/gpu/drm/rockchip/Makefile             |    4 +-
>  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  293 +-
>  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  | 2665 +++++++++++++++++
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  480 +++
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  |  285 ++
>  include/drm/drm_encoder.h                     |    2 +
>  include/dt-bindings/soc/rockchip,vop2.h       |   14 +
>  21 files changed, 4039 insertions(+), 130 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
> 

WARNING: multiple messages have this Message-ID (diff)
From: Michael Riesch <michael.riesch@wolfvision.net>
To: Sascha Hauer <s.hauer@pengutronix.de>, dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	kernel@pengutronix.de, "Andy Yan" <andy.yan@rock-chips.com>,
	"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Peter Geis" <pgwipeout@gmail.com>
Subject: Re: [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support
Date: Thu, 27 Jan 2022 15:16:22 +0100	[thread overview]
Message-ID: <d0a0ddcd-43d0-fd48-7c9d-c4232b818212@wolfvision.net> (raw)
In-Reply-To: <20220126145549.617165-1-s.hauer@pengutronix.de>

Hello Sascha,

On 1/26/22 15:55, Sascha Hauer wrote:
> This is v4 of adding RK356x VOP2 support. Due to popular demand I added
> a changelog to each patch, at least starting with changes to v3, I
> didn't care to add the older changes as well. I hopefully integrated all
> feedback I received to v3. Additionally I added some patches to the HDMI
> driver to support resolutions up to 4k@60Hz. The patches are mostly
> taken from the downstream kernel. Some have been send to public lists,
> but were never applied upstream for reasons I do not know. The patches
> are a bit more intrusive than needed for my case, but are present in the
> downstream kernel for a long time, so I decided just to take them
> instead of stripping them down to my needs. With these patches I
> successfully used the driver with 4k@30Hz. 4k@60Hz doesn't work for me,
> I hope this is due to my low quality cable.

The cable might be the issue indeed, at least in my tests 4k@60Hz worked
just fine. On a RK3568 EVB1, using

$ modetest -M rockchip -s 69:{1920x1080,3840x2160}-{30,60}

and a HP 27f 4K monitor:

Tested-by: Michael Riesch <michael.riesch@wolfvision.net>

Thanks for your work and best regards,
Michael

> 
> Sascha
> 
> Changes since v3:
> - added changelog to each patch
> - Add 4k support to hdmi driver
> - rebase on v5.17-rc1
> 
> Changes since v2:
> - Add pin names to HDMI supply pin description
> - Add hclk support to HDMI driver
> - Dual license rockchip-vop2 binding, update binding
> - Add HDMI connector to board dts files
> - drop unnecessary gamma_lut registers from vop2
> - Update dclk_vop[012] clock handling, no longer hacks needed
> - Complete regmap conversion
> 
> 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
> 
> Douglas Anderson (2):
>   drm/rockchip: dw_hdmi: Use auto-generated tables
>   drm/rockchip: dw_hdmi: Set cur_ctr to 0 always
> 
> Michael Riesch (1):
>   arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
> 
> Nickey Yang (1):
>   drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz
> 
> Sascha Hauer (21):
>   drm/encoder: Add of_graph port to struct drm_encoder
>   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
>   drm/rockchip: dw_hdmi: Add support for hclk
>   drm/rockchip: dw_hdmi: drop mode_valid hook
>   clk: rockchip: rk3568: Add more PLL rates
>   dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional
>   dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name
>   dt-bindings: display: rockchip: dw-hdmi: Add regulator support
>   dt-bindings: display: rockchip: dw-hdmi: Add additional clock
>   dt-bindings: display: rockchip: Add binding for VOP2
>   arm64: dts: rockchip: rk3399: reorder hmdi clocks
>   arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref'
>   arm64: dts: rockchip: rk356x: Add VOP2 nodes
>   arm64: dts: rockchip: rk356x: Add HDMI nodes
>   arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
>   clk: rk3568: drop CLK_SET_RATE_PARENT from dclk_vop*
>   clk: rk3568: Add CLK_SET_RATE_PARENT to the HDMI reference clock
>   drm/rockchip: Make VOP driver optional
> 
>  .../display/rockchip/rockchip,dw-hdmi.yaml    |   29 +-
>  .../display/rockchip/rockchip-vop2.yaml       |  146 +
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi      |    6 +-
>  .../boot/dts/rockchip/rk3566-quartz64-a.dts   |   48 +
>  arch/arm64/boot/dts/rockchip/rk3566.dtsi      |    4 +
>  .../boot/dts/rockchip/rk3568-evb1-v10.dts     |   48 +
>  arch/arm64/boot/dts/rockchip/rk3568.dtsi      |    4 +
>  arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   86 +
>  drivers/clk/rockchip/clk-rk3568.c             |   14 +-
>  drivers/gpu/drm/rockchip/Kconfig              |   14 +
>  drivers/gpu/drm/rockchip/Makefile             |    4 +-
>  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  293 +-
>  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  | 2665 +++++++++++++++++
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  480 +++
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  |  285 ++
>  include/drm/drm_encoder.h                     |    2 +
>  include/dt-bindings/soc/rockchip,vop2.h       |   14 +
>  21 files changed, 4039 insertions(+), 130 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
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Michael Riesch <michael.riesch@wolfvision.net>
To: Sascha Hauer <s.hauer@pengutronix.de>, dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	kernel@pengutronix.de, "Andy Yan" <andy.yan@rock-chips.com>,
	"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Peter Geis" <pgwipeout@gmail.com>
Subject: Re: [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support
Date: Thu, 27 Jan 2022 15:16:22 +0100	[thread overview]
Message-ID: <d0a0ddcd-43d0-fd48-7c9d-c4232b818212@wolfvision.net> (raw)
In-Reply-To: <20220126145549.617165-1-s.hauer@pengutronix.de>

Hello Sascha,

On 1/26/22 15:55, Sascha Hauer wrote:
> This is v4 of adding RK356x VOP2 support. Due to popular demand I added
> a changelog to each patch, at least starting with changes to v3, I
> didn't care to add the older changes as well. I hopefully integrated all
> feedback I received to v3. Additionally I added some patches to the HDMI
> driver to support resolutions up to 4k@60Hz. The patches are mostly
> taken from the downstream kernel. Some have been send to public lists,
> but were never applied upstream for reasons I do not know. The patches
> are a bit more intrusive than needed for my case, but are present in the
> downstream kernel for a long time, so I decided just to take them
> instead of stripping them down to my needs. With these patches I
> successfully used the driver with 4k@30Hz. 4k@60Hz doesn't work for me,
> I hope this is due to my low quality cable.

The cable might be the issue indeed, at least in my tests 4k@60Hz worked
just fine. On a RK3568 EVB1, using

$ modetest -M rockchip -s 69:{1920x1080,3840x2160}-{30,60}

and a HP 27f 4K monitor:

Tested-by: Michael Riesch <michael.riesch@wolfvision.net>

Thanks for your work and best regards,
Michael

> 
> Sascha
> 
> Changes since v3:
> - added changelog to each patch
> - Add 4k support to hdmi driver
> - rebase on v5.17-rc1
> 
> Changes since v2:
> - Add pin names to HDMI supply pin description
> - Add hclk support to HDMI driver
> - Dual license rockchip-vop2 binding, update binding
> - Add HDMI connector to board dts files
> - drop unnecessary gamma_lut registers from vop2
> - Update dclk_vop[012] clock handling, no longer hacks needed
> - Complete regmap conversion
> 
> 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
> 
> Douglas Anderson (2):
>   drm/rockchip: dw_hdmi: Use auto-generated tables
>   drm/rockchip: dw_hdmi: Set cur_ctr to 0 always
> 
> Michael Riesch (1):
>   arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a
> 
> Nickey Yang (1):
>   drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz
> 
> Sascha Hauer (21):
>   drm/encoder: Add of_graph port to struct drm_encoder
>   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
>   drm/rockchip: dw_hdmi: Add support for hclk
>   drm/rockchip: dw_hdmi: drop mode_valid hook
>   clk: rockchip: rk3568: Add more PLL rates
>   dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional
>   dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name
>   dt-bindings: display: rockchip: dw-hdmi: Add regulator support
>   dt-bindings: display: rockchip: dw-hdmi: Add additional clock
>   dt-bindings: display: rockchip: Add binding for VOP2
>   arm64: dts: rockchip: rk3399: reorder hmdi clocks
>   arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref'
>   arm64: dts: rockchip: rk356x: Add VOP2 nodes
>   arm64: dts: rockchip: rk356x: Add HDMI nodes
>   arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi
>   clk: rk3568: drop CLK_SET_RATE_PARENT from dclk_vop*
>   clk: rk3568: Add CLK_SET_RATE_PARENT to the HDMI reference clock
>   drm/rockchip: Make VOP driver optional
> 
>  .../display/rockchip/rockchip,dw-hdmi.yaml    |   29 +-
>  .../display/rockchip/rockchip-vop2.yaml       |  146 +
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi      |    6 +-
>  .../boot/dts/rockchip/rk3566-quartz64-a.dts   |   48 +
>  arch/arm64/boot/dts/rockchip/rk3566.dtsi      |    4 +
>  .../boot/dts/rockchip/rk3568-evb1-v10.dts     |   48 +
>  arch/arm64/boot/dts/rockchip/rk3568.dtsi      |    4 +
>  arch/arm64/boot/dts/rockchip/rk356x.dtsi      |   86 +
>  drivers/clk/rockchip/clk-rk3568.c             |   14 +-
>  drivers/gpu/drm/rockchip/Kconfig              |   14 +
>  drivers/gpu/drm/rockchip/Makefile             |    4 +-
>  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  293 +-
>  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  | 2665 +++++++++++++++++
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  480 +++
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  |  285 ++
>  include/drm/drm_encoder.h                     |    2 +
>  include/dt-bindings/soc/rockchip,vop2.h       |   14 +
>  21 files changed, 4039 insertions(+), 130 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
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-01-27 14:16 UTC|newest]

Thread overview: 221+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-26 14:55 [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support Sascha Hauer
2022-01-26 14:55 ` Sascha Hauer
2022-01-26 14:55 ` Sascha Hauer
2022-01-26 14:55 ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 01/27] drm/encoder: Add of_graph port to struct drm_encoder Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 15:04   ` Aw: " Frank Wunderlich
2022-01-26 15:04     ` Frank Wunderlich
2022-01-26 15:04     ` Frank Wunderlich
2022-01-26 15:04     ` Frank Wunderlich
2022-01-26 14:55 ` [PATCH 02/27] drm/rockchip: dw_hdmi: Do not leave clock enabled in error case Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 03/27] drm/rockchip: dw_hdmi: rename vpll clock to reference clock Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 04/27] drm/rockchip: dw_hdmi: add rk3568 support Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 05/27] drm/rockchip: dw_hdmi: add regulator support Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 06/27] drm/rockchip: dw_hdmi: Add support for hclk Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 07/27] drm/rockchip: dw_hdmi: Use auto-generated tables Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 15:54   ` Doug Anderson
2022-01-26 15:54     ` Doug Anderson
2022-01-26 15:54     ` Doug Anderson
2022-01-26 15:54     ` Doug Anderson
2022-01-27 11:20     ` Sascha Hauer
2022-01-27 11:20       ` Sascha Hauer
2022-01-27 11:20       ` Sascha Hauer
2022-01-27 11:20       ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 08/27] drm/rockchip: dw_hdmi: drop mode_valid hook Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 09/27] drm/rockchip: dw_hdmi: Set cur_ctr to 0 always Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 15:42   ` Doug Anderson
2022-01-26 15:42     ` Doug Anderson
2022-01-26 15:42     ` Doug Anderson
2022-01-26 15:42     ` Doug Anderson
2022-01-27 11:06     ` Sascha Hauer
2022-01-27 11:06       ` Sascha Hauer
2022-01-27 11:06       ` Sascha Hauer
2022-01-27 11:06       ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 10/27] drm/rockchip: dw_hdmi: add default 594Mhz clk for 4K@60hz Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 11/27] clk: rockchip: rk3568: Add more PLL rates Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 12/27] dt-bindings: display: rockchip: dw-hdmi: Add compatible for rk3568 HDMI Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 13/27] dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-02-09  3:29   ` Rob Herring
2022-02-09  3:29     ` Rob Herring
2022-02-09  3:29     ` Rob Herring
2022-02-09  3:29     ` Rob Herring
2022-01-26 14:55 ` [PATCH 14/27] dt-bindings: display: rockchip: dw-hdmi: use "ref" as clock name Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-02-09  3:30   ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-01-26 14:55 ` [PATCH 15/27] dt-bindings: display: rockchip: dw-hdmi: Add regulator support Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-02-09  3:30   ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-02-09  3:30     ` Rob Herring
2022-01-26 14:55 ` [PATCH 16/27] dt-bindings: display: rockchip: dw-hdmi: Add additional clock Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-02-09  3:31   ` Rob Herring
2022-02-09  3:31     ` Rob Herring
2022-02-09  3:31     ` Rob Herring
2022-02-09  3:31     ` Rob Herring
2022-01-26 14:55 ` [PATCH 17/27] dt-bindings: display: rockchip: Add binding for VOP2 Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 22:10   ` Rob Herring
2022-01-26 22:10     ` Rob Herring
2022-01-26 22:10     ` Rob Herring
2022-01-26 22:10     ` Rob Herring
2022-02-01 17:22   ` Rob Herring
2022-02-01 17:22     ` Rob Herring
2022-02-01 17:22     ` Rob Herring
2022-02-01 17:22     ` Rob Herring
2022-01-26 14:55 ` [PATCH 18/27] arm64: dts: rockchip: rk3399: reorder hmdi clocks Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 19/27] arm64: dts: rockchip: rk3399: rename HDMI ref clock to 'ref' Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 20/27] arm64: dts: rockchip: rk356x: Add VOP2 nodes Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-02-09  3:32   ` Rob Herring
2022-02-09  3:32     ` Rob Herring
2022-02-09  3:32     ` Rob Herring
2022-02-09  3:32     ` Rob Herring
2022-01-26 14:55 ` [PATCH 21/27] arm64: dts: rockchip: rk356x: Add HDMI nodes Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 16:04   ` Peter Geis
2022-01-26 16:04     ` Peter Geis
2022-01-26 16:04     ` Peter Geis
2022-01-26 16:04     ` Peter Geis
2022-01-26 17:56     ` Robin Murphy
2022-01-26 17:56       ` Robin Murphy
2022-01-26 17:56       ` Robin Murphy
2022-01-26 17:56       ` Robin Murphy
2022-01-26 18:44       ` Peter Geis
2022-01-26 18:44         ` Peter Geis
2022-01-26 18:44         ` Peter Geis
2022-01-26 18:44         ` Peter Geis
2022-01-26 19:24         ` Robin Murphy
2022-01-26 19:24           ` Robin Murphy
2022-01-26 19:24           ` Robin Murphy
2022-01-26 19:24           ` Robin Murphy
2022-01-26 20:00           ` Peter Geis
2022-01-26 20:00             ` Peter Geis
2022-01-26 20:00             ` Peter Geis
2022-01-26 20:00             ` Peter Geis
2022-01-26 14:55 ` [PATCH 22/27] arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 23/27] arm64: dts: rockchip: enable vop2 and hdmi tx on quartz64a Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 24/27] clk: rk3568: drop CLK_SET_RATE_PARENT from dclk_vop* Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-29 17:48   ` Heiko Stübner
2022-01-29 17:48     ` Heiko Stübner
2022-01-29 17:48     ` Heiko Stübner
2022-01-29 17:48     ` Heiko Stübner
2022-01-31  8:10     ` Sascha Hauer
2022-01-31  8:10       ` Sascha Hauer
2022-01-31  8:10       ` Sascha Hauer
2022-01-31  8:10       ` Sascha Hauer
2022-02-08 11:41       ` Heiko Stübner
2022-02-08 11:41         ` Heiko Stübner
2022-02-08 11:41         ` Heiko Stübner
2022-02-08 11:41         ` Heiko Stübner
2022-01-26 14:55 ` [PATCH 25/27] clk: rk3568: Add CLK_SET_RATE_PARENT to the HDMI reference clock Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 26/27] drm/rockchip: Make VOP driver optional Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55 ` [PATCH 27/27] drm: rockchip: Add VOP2 driver Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 14:55   ` Sascha Hauer
2022-01-26 17:10   ` Aw: " Frank Wunderlich
2022-01-26 17:10     ` Frank Wunderlich
2022-01-26 17:10     ` Frank Wunderlich
2022-01-26 17:10     ` Frank Wunderlich
2022-01-27  9:17   ` Piotr Oniszczuk
2022-01-27  9:17     ` Piotr Oniszczuk
2022-01-27  9:17     ` Piotr Oniszczuk
2022-01-27  9:17     ` Piotr Oniszczuk
2022-01-27 11:00     ` Sascha Hauer
2022-01-27 11:00       ` Sascha Hauer
2022-01-27 11:00       ` Sascha Hauer
2022-01-27 11:00       ` Sascha Hauer
2022-01-27 14:43       ` Piotr Oniszczuk
2022-01-27 14:43         ` Piotr Oniszczuk
2022-01-27 14:43         ` Piotr Oniszczuk
2022-01-27 14:43         ` Piotr Oniszczuk
     [not found]       ` <9d23b94a-c8db-6588-fadf-97ea5e748f8a@pscan.uk>
2022-01-28  9:19         ` MiPi DSI interface for RK3566 ? Sascha Hauer
2022-01-29 10:55   ` [PATCH 27/27] drm: rockchip: Add VOP2 driver kernel test robot
2022-01-27 14:16 ` Michael Riesch [this message]
2022-01-27 14:16   ` [PATCH v4 00/27] drm/rockchip: RK356x VOP2 support Michael Riesch
2022-01-27 14:16   ` Michael Riesch
2022-01-27 14:16   ` Michael Riesch
2022-02-08 11:57 ` (subset) " Heiko Stuebner
2022-02-08 11:57   ` Heiko Stuebner
2022-02-08 11:57   ` Heiko Stuebner
2022-02-08 11:57   ` Heiko Stuebner
2022-02-08 13:21 ` Heiko Stuebner
2022-02-08 13:21   ` Heiko Stuebner
2022-02-08 13:21   ` Heiko Stuebner
2022-02-08 13:21   ` Heiko Stuebner

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=d0a0ddcd-43d0-fd48-7c9d-c4232b818212@wolfvision.net \
    --to=michael.riesch@wolfvision.net \
    --cc=andy.yan@rock-chips.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=pgwipeout@gmail.com \
    --cc=s.hauer@pengutronix.de \
    /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 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.