çå: [PATCH] drm/hisilicon: add the mode_valid function

From: tiantao (H)
Date: Wed Jan 08 2020 - 03:58:23 EST


Hi Thomas Zimmermann:

I will modify this patch and send v2 as you suggested.
Thank you very much.

Best

-----éäåä-----
åää: Thomas Zimmermann [mailto:tzimmermann@xxxxxxx]
åéæé: 2020å1æ8æ 16:49
æää: tiantao (H) <tiantao6@xxxxxxxxxxxxx>; Chenfeng (puck) <puck.chen@xxxxxxxxxxxxx>; airlied@xxxxxxxx; daniel@xxxxxxxx; kraxel@xxxxxxxxxx; alexander.deucher@xxxxxxx; tglx@xxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; xinliang.liu@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
æé: Linuxarm <linuxarm@xxxxxxxxxx>
äé: Re: [PATCH] drm/hisilicon: add the mode_valid function

Hi,

here are a few more nits to fix.

Am 08.01.20 um 09:19 schrieb Tian Tao:
> add mode_valid function, and we can also use it to make suse the
> resolution is valid.

Start with capital 'Add' and make it a simple sentence. Change 'suse' to 'sure'

>
> Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>
> Signed-off-by: Gong junjie <gongjunjie2@xxxxxxxxxx>
> ---
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 20
> ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> index 843d784..6cb7a79 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> @@ -242,6 +242,25 @@ static void hibmc_crtc_atomic_disable(struct drm_crtc *crtc,
> hibmc_set_current_gate(priv, reg);
> }
>
> +enum drm_mode_status hibmc_crtc_mode_valid(struct drm_crtc *crtc,
> + const struct drm_display_mode *mode)

Please declare this function as static.

> +{
> + int i = 0;
> + int vrefresh = drm_mode_vrefresh(mode);
> +
> + if (vrefresh < 59 || vrefresh > 61)
> + return MODE_NOMODE;

I'd return MODE_NOCLOCK or MODE_CLOCK_RANGE.

> +
> + for (i = 0; i < ARRAY_SIZE(hibmc_pll_table); i++) {
> + if (hibmc_pll_table[i].hdisplay == mode->hdisplay &&
> + hibmc_pll_table[i].vdisplay == mode->vdisplay)
> + return MODE_OK;
> + }
> +
> + return MODE_NOMODE;

Maybe return MODE_BAD. MODE_NOMODE apparently refers to a descriptive string for the mode.

> +}
> +
> +

One one empty line please.

With these fixes applied, you can add my

Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Best regards
Thomas


> static unsigned int format_pll_reg(void) {
> unsigned int pllreg = 0;
> @@ -510,6 +529,7 @@ static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = {
> .atomic_flush = hibmc_crtc_atomic_flush,
> .atomic_enable = hibmc_crtc_atomic_enable,
> .atomic_disable = hibmc_crtc_atomic_disable,
> + .mode_valid = hibmc_crtc_mode_valid,
> };
>
> int hibmc_de_init(struct hibmc_drm_private *priv)
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 NÃrnberg, Germany
(HRB 36809, AG NÃrnberg)
GeschÃftsfÃhrer: Felix ImendÃrffer