[PATCH] Revert "drm/sun4i: Remove R40 display pipeline compatibles"

Sean Paul sean at poorly.run
Thu Sep 27 08:37:08 UTC 2018


On Fri, Sep 21, 2018 at 10:27:43PM +0800, Chen-Yu Tsai wrote:
> This reverts commit 3510e7a7f91088159bfc67e8abdc9f9e77d28870.
> 
> During the 4.19 merge window for drm-misc, two patches critical to
> supporting the display pipeline on the Allwinner R40 SoC were missed.
> They were applied later but missed the merge window deadline. As a
> result 4.19-rc1 kernel would crash on the R40 when it couldn't parse
> the new device tree structure. We ended up removing support for the
> R40 display pipeline for 4.19.
> 
> Since the missing patches are already merged for 4.20, we can now
> revert the commit that removed support.
> 
> Signed-off-by: Chen-Yu Tsai <wens at csie.org>
> ---
> 
> drm-misc-fixes, which contains the patch to be reverted, should be
> merged into drm-misc-next before tihs patch is applied.
> 
> Also, checkpatch.pl is complaining that the R40 mixer compatibles are
> missing from the device tree bindings. It seems the patch adding them
> never made it in. Please apply if possible:
> 
>     https://patchwork.kernel.org/patch/10485815/

Applied both of these to drm-misc-next after backmerging rc5 to pick up the fix.

Sean

> 
> Thanks
> 
> ---
>  drivers/gpu/drm/sun4i/sun4i_drv.c      |  1 +
>  drivers/gpu/drm/sun4i/sun8i_mixer.c    | 24 ++++++++++++++++++++++++
>  drivers/gpu/drm/sun4i/sun8i_tcon_top.c |  1 +
>  3 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
> index 9027ddde4262..1e41c3f5fd6d 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> @@ -402,6 +402,7 @@ static const struct of_device_id sun4i_drv_of_table[] = {
>  	{ .compatible = "allwinner,sun8i-a33-display-engine" },
>  	{ .compatible = "allwinner,sun8i-a83t-display-engine" },
>  	{ .compatible = "allwinner,sun8i-h3-display-engine" },
> +	{ .compatible = "allwinner,sun8i-r40-display-engine" },
>  	{ .compatible = "allwinner,sun8i-v3s-display-engine" },
>  	{ .compatible = "allwinner,sun9i-a80-display-engine" },
>  	{ .compatible = "allwinner,sun50i-a64-display-engine" },
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> index 091f6cf40353..8b3d02b146b7 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -545,6 +545,22 @@ static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg = {
>  	.vi_num		= 1,
>  };
>  
> +static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg = {
> +	.ccsc		= 0,
> +	.mod_rate	= 297000000,
> +	.scaler_mask	= 0xf,
> +	.ui_num		= 3,
> +	.vi_num		= 1,
> +};
> +
> +static const struct sun8i_mixer_cfg sun8i_r40_mixer1_cfg = {
> +	.ccsc		= 1,
> +	.mod_rate	= 297000000,
> +	.scaler_mask	= 0x3,
> +	.ui_num		= 1,
> +	.vi_num		= 1,
> +};
> +
>  static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
>  	.vi_num = 2,
>  	.ui_num = 1,
> @@ -582,6 +598,14 @@ static const struct of_device_id sun8i_mixer_of_table[] = {
>  		.compatible = "allwinner,sun8i-h3-de2-mixer-0",
>  		.data = &sun8i_h3_mixer0_cfg,
>  	},
> +	{
> +		.compatible = "allwinner,sun8i-r40-de2-mixer-0",
> +		.data = &sun8i_r40_mixer0_cfg,
> +	},
> +	{
> +		.compatible = "allwinner,sun8i-r40-de2-mixer-1",
> +		.data = &sun8i_r40_mixer1_cfg,
> +	},
>  	{
>  		.compatible = "allwinner,sun8i-v3s-de2-mixer",
>  		.data = &sun8i_v3s_mixer_cfg,
> diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
> index 9831a9fe2cf4..3040a79f298f 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
> @@ -252,6 +252,7 @@ static int sun8i_tcon_top_remove(struct platform_device *pdev)
>  
>  /* sun4i_drv uses this list to check if a device node is a TCON TOP */
>  const struct of_device_id sun8i_tcon_top_of_table[] = {
> +	{ .compatible = "allwinner,sun8i-r40-tcon-top" },
>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, sun8i_tcon_top_of_table);
> -- 
> 2.19.0
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list