linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Johan Jonker <jbx6244@gmail.com>
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>,
	"Michael Riesch" <michael.riesch@wolfvision.net>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Peter Geis" <pgwipeout@gmail.com>
Subject: Re: [PATCH 17/18] drm: rockchip: Add VOP2 driver
Date: Wed, 8 Dec 2021 17:59:16 +0100	[thread overview]
Message-ID: <bd576949-a42b-9750-fe97-b9b567c7ea75@gmail.com> (raw)
In-Reply-To: <20211208151230.3695378-18-s.hauer@pengutronix.de>

Hi,

On 12/8/21 4:12 PM, Sascha Hauer wrote:
> From: Andy Yan <andy.yan@rock-chips.com>
> 
> The VOP2 unit is found on Rockchip SoCs beginning with rk3566/rk3568.
> It replaces the VOP unit found in the older Rockchip SoCs.
> 
> This driver has been derived from the downstream Rockchip Kernel and
> heavily modified:
> 
> - All nonstandard DRM properties have been removed
> - dropped struct vop2_plane_state and pass around less data between
>   functions
> - Dropped all DRM_FORMAT_* not known on upstream
> - rework register access to get rid of excessively used macros
> - Drop all waiting for framesyncs
> 
> The driver is tested with HDMI and MIPI-DSI display on a RK3568-EVB
> board. Overlay support is tested with the modetest utility. AFBC support
> on the cluster windows is tested with weston-simple-dmabuf-egl on
> weston using the (yet to be upstreamed) panfrost driver support.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---

[..]

> +
> +static const struct of_device_id vop2_dt_match[] = {
> +	{
> +		.compatible = "rockchip,rk3568-vop",
> +		.data = &rk3568_vop
> +	}, {

> +		.compatible = "rockchip,rk3568-vop",

Maybe use:
.compatible = "rockchip,rk3566-vop",

> +		.data = &rk3566_vop
> +	}, {
> +	},

Maybe sort this list alphabetical based on compatible in case later more
SoCs are added.

rk3566
rk3568

===

The structure layout size above could be reduced for if we get more
compatible strings additions.

Example vop1:

static const struct of_device_id vop_driver_dt_match[] = {
	{ .compatible = "rockchip,rk3036-vop",
	  .data = &rk3036_vop },
	{ .compatible = "rockchip,rk3126-vop",
	  .data = &rk3126_vop },
	{ .compatible = "rockchip,px30-vop-big",
	  .data = &px30_vop_big },
	{ .compatible = "rockchip,px30-vop-lit",
	  .data = &px30_vop_lit },
	{ .compatible = "rockchip,rk3066-vop",
	  .data = &rk3066_vop },
	{ .compatible = "rockchip,rk3188-vop",
	  .data = &rk3188_vop },
	{ .compatible = "rockchip,rk3288-vop",
	  .data = &rk3288_vop },
	{ .compatible = "rockchip,rk3368-vop",
	  .data = &rk3368_vop },
	{ .compatible = "rockchip,rk3366-vop",
	  .data = &rk3366_vop },
	{ .compatible = "rockchip,rk3399-vop-big",
	  .data = &rk3399_vop_big },
	{ .compatible = "rockchip,rk3399-vop-lit",
	  .data = &rk3399_vop_lit },
	{ .compatible = "rockchip,rk3228-vop",
	  .data = &rk3228_vop },
	{ .compatible = "rockchip,rk3328-vop",
	  .data = &rk3328_vop },
	{},
};

> +};
> +MODULE_DEVICE_TABLE(of, vop2_dt_match);
> +
> +static int vop2_probe(struct platform_device *pdev)
> +{
> +	struct device *dev = &pdev->dev;
> +
> +	return component_add(dev, &vop2_component_ops);
> +}
> +
> +static int vop2_remove(struct platform_device *pdev)
> +{
> +	component_del(&pdev->dev, &vop2_component_ops);
> +
> +	return 0;
> +}
> +
> +struct platform_driver vop2_platform_driver = {
> +	.probe = vop2_probe,
> +	.remove = vop2_remove,
> +	.driver = {
> +		.name = "rockchip-vop2",
> +		.of_match_table = of_match_ptr(vop2_dt_match),
> +	},
> +};
> 

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

  reply	other threads:[~2021-12-08 16:59 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-08 15:12 [PATCH v2 00/18] drm/rockchip: RK356x VOP2 support 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 ` [PATCH 02/18] drm/rockchip: dw_hdmi: rename vpll clock to reference clock Sascha Hauer
2021-12-08 15:12 ` [PATCH 03/18] drm/rockchip: dw_hdmi: add rk3568 support Sascha Hauer
2021-12-08 15:12 ` [PATCH 04/18] drm/rockchip: dw_hdmi: add regulator support 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 ` [PATCH 06/18] dt-bindings: display: rockchip: dw-hdmi: Make unwedge pinctrl optional Sascha Hauer
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-12 22:09   ` Heiko Stuebner
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 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 ` [PATCH 10/18] dt-bindings: display: rockchip: Add binding for VOP2 Sascha Hauer
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 ` [PATCH 12/18] arm64: dts: rockchip: rk356x: Add HDMI nodes Sascha Hauer
2021-12-08 15:12 ` [PATCH 13/18] arm64: dts: rockchip: rk3568-evb: Enable VOP2 and hdmi Sascha Hauer
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 ` [PATCH 15/18] drm/encoder: Add of_graph port to struct drm_encoder Sascha Hauer
2021-12-08 15:12 ` [PATCH 16/18] drm/rockchip: Make VOP driver optional Sascha Hauer
2021-12-08 15:12 ` [PATCH 17/18] drm: rockchip: Add VOP2 driver Sascha Hauer
2021-12-08 16:59   ` Johan Jonker [this message]
2021-12-10  8:55     ` Sascha Hauer
2021-12-08 21:50   ` 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 16:51   ` Heiko Stübner
2021-12-10  8:51     ` Sascha Hauer

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=bd576949-a42b-9750-fe97-b9b567c7ea75@gmail.com \
    --to=jbx6244@gmail.com \
    --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=michael.riesch@wolfvision.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).