Re: [PATCH v3 12/14] drm/sun4i: Add support for D1 TCON TOP

From: Jernej Škrabec
Date: Sun Apr 24 2022 - 16:06:15 EST


Dne nedelja, 24. april 2022 ob 18:26:30 CEST je Samuel Holland napisal(a):
> D1 has a TCON TOP with TCON TV0 and DSI, but no TCON TV1. This puts the
> DSI clock name at index 1 in clock-output-names. Support this by only
> incrementing the index for clocks that are actually supported.
>
> Signed-off-by: Samuel Holland <samuel@xxxxxxxxxxxx>

Reviewed-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx>

Best regards,
Jernej Skrabec

> ---
>
> (no changes since v1)
>
> drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/
sun8i_tcon_top.c
> index 1b9b8b48f4a7..da97682b6835 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
> @@ -189,22 +189,23 @@ static int sun8i_tcon_top_bind(struct device *dev,
struct device *master,
> * if TVE is active on each TCON TV. If it is, mux should be
switched
> * to TVE clock parent.
> */
> + i = 0;
> clk_data->hws[CLK_TCON_TOP_TV0] =
> sun8i_tcon_top_register_gate(dev, "tcon-tv0", regs,
> &tcon_top-
>reg_lock,
> -
TCON_TOP_TCON_TV0_GATE, 0);
> +
TCON_TOP_TCON_TV0_GATE, i++);
>
> if (quirks->has_tcon_tv1)
> clk_data->hws[CLK_TCON_TOP_TV1] =
> sun8i_tcon_top_register_gate(dev, "tcon-
tv1", regs,
>
&tcon_top->reg_lock,
> -
TCON_TOP_TCON_TV1_GATE, 1);
> +
TCON_TOP_TCON_TV1_GATE, i++);
>
> if (quirks->has_dsi)
> clk_data->hws[CLK_TCON_TOP_DSI] =
> sun8i_tcon_top_register_gate(dev, "dsi",
regs,
>
&tcon_top->reg_lock,
> -
TCON_TOP_TCON_DSI_GATE, 2);
> +
TCON_TOP_TCON_DSI_GATE, i++);
>
> for (i = 0; i < CLK_NUM; i++)
> if (IS_ERR(clk_data->hws[i])) {
> @@ -272,6 +273,10 @@ static const struct sun8i_tcon_top_quirks
sun8i_r40_tcon_top_quirks = {
> .has_dsi = true,
> };
>
> +static const struct sun8i_tcon_top_quirks sun20i_d1_tcon_top_quirks = {
> + .has_dsi = true,
> +};
> +
> static const struct sun8i_tcon_top_quirks sun50i_h6_tcon_top_quirks = {
> /* Nothing special */
> };
> @@ -282,6 +287,10 @@ const struct of_device_id sun8i_tcon_top_of_table[] = {
> .compatible = "allwinner,sun8i-r40-tcon-top",
> .data = &sun8i_r40_tcon_top_quirks
> },
> + {
> + .compatible = "allwinner,sun20i-d1-tcon-top",
> + .data = &sun20i_d1_tcon_top_quirks
> + },
> {
> .compatible = "allwinner,sun50i-h6-tcon-top",
> .data = &sun50i_h6_tcon_top_quirks
> --
> 2.35.1
>
>