[PATCH 04/12] drm: Nuke mode->vrefresh

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Feb 25 11:21:14 UTC 2020


On Mon, Feb 24, 2020 at 03:14:54PM +0100, Andrzej Hajda wrote:
> On 19.02.2020 21:35, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Get rid of mode->vrefresh and just calculate it on demand. Saves
> > a bit of space and avoids the cached value getting out of sync
> > with reality.
> >
> > Mostly done with cocci, with the following manual fixups:
> > - Remove the now empty loop in drm_helper_probe_single_connector_modes()
> > - Fix __MODE() macro in ch7006_mode.c
> > - Fix DRM_MODE_ARG() macro in drm_modes.h
> > - Remove leftover comment from samsung_s6d16d0_mode
> ...
> > diff --git a/drivers/gpu/drm/panel/panel-arm-versatile.c b/drivers/gpu/drm/panel/panel-arm-versatile.c
> > index 41444a73c980..47b37fef7ee8 100644
> > --- a/drivers/gpu/drm/panel/panel-arm-versatile.c
> > +++ b/drivers/gpu/drm/panel/panel-arm-versatile.c
> > @@ -143,7 +143,6 @@ static const struct versatile_panel_type versatile_panels[] = {
> >  			.vsync_start = 240 + 5,
> >  			.vsync_end = 240 + 5 + 6,
> >  			.vtotal = 240 + 5 + 6 + 5,
> > -			.vrefresh = 116,
> 
> 
> Are you sure vrefresh calculated (from totals and clock) is different
> than this field? If not, we risk regressions.
> 
> This case is OK, but there is plenty other cases.

IIRC I did spot check a few of them. But which code exactly do you think
is abusing vrefresh and thus could break?

> 
> 
> Regards
> 
> Andrzej
> 
> 
> >  			.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  		},
> >  	},
> > @@ -167,7 +166,6 @@ static const struct versatile_panel_type versatile_panels[] = {
> >  			.vsync_start = 480 + 11,
> >  			.vsync_end = 480 + 11 + 2,
> >  			.vtotal = 480 + 11 + 2 + 32,
> > -			.vrefresh = 60,
> >  			.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  		},
> >  	},
> > @@ -190,7 +188,6 @@ static const struct versatile_panel_type versatile_panels[] = {
> >  			.vsync_start = 220 + 0,
> >  			.vsync_end = 220 + 0 + 2,
> >  			.vtotal = 220 + 0 + 2 + 1,
> > -			.vrefresh = 390,
> >  			.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
> > @@ -214,7 +211,6 @@ static const struct versatile_panel_type versatile_panels[] = {
> >  			.vsync_start = 320 + 2,
> >  			.vsync_end = 320 + 2 + 2,
> >  			.vtotal = 320 + 2 + 2 + 2,
> > -			.vrefresh = 116,
> >  			.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
> > diff --git a/drivers/gpu/drm/panel/panel-boe-himax8279d.c b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
> > index 74d58ee7d04c..7c27bd5e3486 100644
> > --- a/drivers/gpu/drm/panel/panel-boe-himax8279d.c
> > +++ b/drivers/gpu/drm/panel/panel-boe-himax8279d.c
> > @@ -229,7 +229,7 @@ static int boe_panel_get_modes(struct drm_panel *panel,
> >  	mode = drm_mode_duplicate(connector->dev, m);
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(pinfo->base.dev, "failed to add mode %ux%u@%u\n",
> > -			      m->hdisplay, m->vdisplay, m->vrefresh);
> > +			      m->hdisplay, m->vdisplay, drm_mode_vrefresh(m));
> >  		return -ENOMEM;
> >  	}
> >  
> > @@ -262,7 +262,6 @@ static const struct drm_display_mode default_display_mode = {
> >  	.vsync_start = 1920 + 10,
> >  	.vsync_end = 1920 + 10 + 14,
> >  	.vtotal = 1920 + 10 + 14 + 4,
> > -	.vrefresh = 60,
> >  };
> >  
> >  /* 8 inch */
> > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > index 48a164257d18..c580bd1e121c 100644
> > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > @@ -594,7 +594,6 @@ static const struct drm_display_mode boe_tv101wum_nl6_default_mode = {
> >  	.vsync_start = 1920 + 10,
> >  	.vsync_end = 1920 + 10 + 14,
> >  	.vtotal = 1920 + 10 + 14 + 4,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc boe_tv101wum_nl6_desc = {
> > @@ -622,7 +621,6 @@ static const struct drm_display_mode auo_kd101n80_45na_default_mode = {
> >  	.vsync_start = 1920 + 16,
> >  	.vsync_end = 1920 + 16 + 4,
> >  	.vtotal = 1920 + 16 + 4 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_kd101n80_45na_desc = {
> > @@ -650,7 +648,6 @@ static const struct drm_display_mode boe_tv101wum_n53_default_mode = {
> >  	.vsync_start = 1920 + 20,
> >  	.vsync_end = 1920 + 20 + 4,
> >  	.vtotal = 1920 + 20 + 4 + 10,
> > -	.vrefresh = 60,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  };
> >  
> > @@ -678,7 +675,6 @@ static const struct drm_display_mode auo_b101uan08_3_default_mode = {
> >  	.vsync_start = 1920 + 34,
> >  	.vsync_end = 1920 + 34 + 2,
> >  	.vtotal = 1920 + 34 + 2 + 24,
> > -	.vrefresh = 60,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  };
> >  
> > @@ -706,7 +702,7 @@ static int boe_panel_get_modes(struct drm_panel *panel,
> >  	mode = drm_mode_duplicate(connector->dev, m);
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
> > -			m->hdisplay, m->vdisplay, m->vrefresh);
> > +			m->hdisplay, m->vdisplay, drm_mode_vrefresh(m));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
> > index fddbfddf6566..54610651ecdb 100644
> > --- a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
> > +++ b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
> > @@ -392,7 +392,6 @@ static int k101_im2ba02_unprepare(struct drm_panel *panel)
> >  
> >  static const struct drm_display_mode k101_im2ba02_default_mode = {
> >  	.clock = 70000,
> > -	.vrefresh = 60,
> >  
> >  	.hdisplay = 800,
> >  	.hsync_start = 800 + 20,
> > @@ -420,7 +419,7 @@ static int k101_im2ba02_get_modes(struct drm_panel *panel,
> >  		DRM_DEV_ERROR(&ctx->dsi->dev, "failed to add mode %ux%ux@%u\n",
> >  			      k101_im2ba02_default_mode.hdisplay,
> >  			      k101_im2ba02_default_mode.vdisplay,
> > -			      k101_im2ba02_default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&k101_im2ba02_default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
> > index 95b789ab9d29..19a6274b10f5 100644
> > --- a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
> > +++ b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
> > @@ -153,7 +153,6 @@ static const struct drm_display_mode feiyang_default_mode = {
> >  	.vsync_start	= 600 + 12,
> >  	.vsync_end	= 600 + 12 + 2,
> >  	.vtotal		= 600 + 12 + 2 + 21,
> > -	.vrefresh	= 60,
> >  
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  };
> > @@ -169,7 +168,7 @@ static int feiyang_get_modes(struct drm_panel *panel,
> >  		DRM_DEV_ERROR(&ctx->dsi->dev, "failed to add mode %ux%ux@%u\n",
> >  			      feiyang_default_mode.hdisplay,
> >  			      feiyang_default_mode.vdisplay,
> > -			      feiyang_default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&feiyang_default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
> > index f394d53a7da4..d2c98d381bef 100644
> > --- a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
> > +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
> > @@ -549,7 +549,6 @@ static const struct drm_display_mode srgb_320x240_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 1,
> >  	.vtotal = 262,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -563,7 +562,6 @@ static const struct drm_display_mode srgb_360x240_mode = {
> >  	.vsync_start = 240 + 21,
> >  	.vsync_end = 240 + 21 + 1,
> >  	.vtotal = 262,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -578,7 +576,6 @@ static const struct drm_display_mode prgb_320x240_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 1,
> >  	.vtotal = 262,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -593,7 +590,6 @@ static const struct drm_display_mode yuv_640x320_mode = {
> >  	.vsync_start = 320 + 4,
> >  	.vsync_end = 320 + 4 + 1,
> >  	.vtotal = 320 + 4 + 1 + 18,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -607,7 +603,6 @@ static const struct drm_display_mode yuv_720x360_mode = {
> >  	.vsync_start = 360 + 4,
> >  	.vsync_end = 360 + 4 + 1,
> >  	.vtotal = 360 + 4 + 1 + 18,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -622,7 +617,6 @@ static const struct drm_display_mode itu_r_bt_656_640_mode = {
> >  	.vsync_start = 480 + 4,
> >  	.vsync_end = 480 + 4 + 1,
> >  	.vtotal = 500,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -637,7 +631,6 @@ static const struct drm_display_mode itu_r_bt_656_720_mode = {
> >  	.vsync_start = 480 + 4,
> >  	.vsync_end = 480 + 4 + 1,
> >  	.vtotal = 500,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> > index f54077c216a3..3ed8635a6fbd 100644
> > --- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> > +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> > @@ -370,7 +370,6 @@ static int ili9881c_unprepare(struct drm_panel *panel)
> >  
> >  static const struct drm_display_mode bananapi_default_mode = {
> >  	.clock		= 62000,
> > -	.vrefresh	= 60,
> >  
> >  	.hdisplay	= 720,
> >  	.hsync_start	= 720 + 10,
> > @@ -394,7 +393,7 @@ static int ili9881c_get_modes(struct drm_panel *panel,
> >  		dev_err(&ctx->dsi->dev, "failed to add mode %ux%ux@%u\n",
> >  			bananapi_default_mode.hdisplay,
> >  			bananapi_default_mode.vdisplay,
> > -			bananapi_default_mode.vrefresh);
> > +			drm_mode_vrefresh(&bananapi_default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-innolux-p079zca.c b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
> > index 7419f1f0acee..fdf030f4cf92 100644
> > --- a/drivers/gpu/drm/panel/panel-innolux-p079zca.c
> > +++ b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
> > @@ -223,7 +223,6 @@ static const struct drm_display_mode innolux_p079zca_mode = {
> >  	.vsync_start = 1024 + 20,
> >  	.vsync_end = 1024 + 20 + 4,
> >  	.vtotal = 1024 + 20 + 4 + 20,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc innolux_p079zca_panel_desc = {
> > @@ -257,7 +256,6 @@ static const struct drm_display_mode innolux_p097pfg_mode = {
> >  	.vsync_start = 2048 + 100,
> >  	.vsync_end = 2048 + 100 + 2,
> >  	.vtotal = 2048 + 100 + 2 + 18,
> > -	.vrefresh = 60,
> >  };
> >  
> >  /*
> > @@ -401,7 +399,7 @@ static int innolux_panel_get_modes(struct drm_panel *panel,
> >  	mode = drm_mode_duplicate(connector->dev, m);
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(panel->dev, "failed to add mode %ux%ux@%u\n",
> > -			      m->hdisplay, m->vdisplay, m->vrefresh);
> > +			      m->hdisplay, m->vdisplay, drm_mode_vrefresh(m));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
> > index 4bfd8c877c8e..1e3fd6633981 100644
> > --- a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
> > +++ b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
> > @@ -296,7 +296,6 @@ static const struct drm_display_mode default_mode = {
> >  		.vsync_start = 1920 + 3,
> >  		.vsync_end = 1920 + 3 + 5,
> >  		.vtotal = 1920 + 3 + 5 + 6,
> > -		.vrefresh = 60,
> >  		.flags = 0,
> >  };
> >  
> > @@ -311,7 +310,7 @@ static int jdi_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(dev, "failed to add mode %ux%ux@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
> > index bac1a2a06c92..0d397af23afe 100644
> > --- a/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
> > +++ b/drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
> > @@ -318,7 +318,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 2048 + 95,
> >  	.vsync_end = 2048 + 95 + 2,
> >  	.vtotal = 2048 + 95 + 2 + 23,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int kingdisplay_panel_get_modes(struct drm_panel *panel,
> > @@ -330,7 +329,7 @@ static int kingdisplay_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			      default_mode.hdisplay, default_mode.vdisplay,
> > -			      default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
> > index 76ecf2de9c44..c39e7f6f5c2d 100644
> > --- a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
> > +++ b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
> > @@ -376,7 +376,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start	= 1280 + 30,
> >  	.vsync_end	= 1280 + 30 + 4,
> >  	.vtotal		= 1280 + 30 + 4 + 12,
> > -	.vrefresh	= 60,
> >  	.clock		= 41600,
> >  	.width_mm	= 62,
> >  	.height_mm	= 110,
> > @@ -392,7 +391,7 @@ static int ltk500hd1829_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(ctx->dev, "failed to add mode %ux%ux@%u\n",
> >  			      default_mode.hdisplay, default_mode.vdisplay,
> > -			      default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-lg-lb035q02.c b/drivers/gpu/drm/panel/panel-lg-lb035q02.c
> > index e90efeaba4ad..14456b9cd5c0 100644
> > --- a/drivers/gpu/drm/panel/panel-lg-lb035q02.c
> > +++ b/drivers/gpu/drm/panel/panel-lg-lb035q02.c
> > @@ -134,7 +134,6 @@ static const struct drm_display_mode lb035q02_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 2,
> >  	.vtotal = 240 + 4 + 2 + 18,
> > -	.vrefresh = 60,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 70,
> > diff --git a/drivers/gpu/drm/panel/panel-lg-lg4573.c b/drivers/gpu/drm/panel/panel-lg-lg4573.c
> > index b262b53dbd85..497f3b888a1d 100644
> > --- a/drivers/gpu/drm/panel/panel-lg-lg4573.c
> > +++ b/drivers/gpu/drm/panel/panel-lg-lg4573.c
> > @@ -206,7 +206,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 800 + 15,
> >  	.vsync_end = 800 + 15 + 15,
> >  	.vtotal = 800 + 15 + 15 + 15,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int lg4573_get_modes(struct drm_panel *panel,
> > @@ -218,7 +217,7 @@ static int lg4573_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c b/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
> > index c4f83f6384e1..f894971c1c7c 100644
> > --- a/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
> > +++ b/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
> > @@ -116,7 +116,6 @@ static const struct drm_display_mode nl8048_mode = {
> >  	.vsync_start = 480 + 3,
> >  	.vsync_end = 480 + 3 + 1,
> >  	.vtotal = 480 + 3 + 1 + 4,
> > -	.vrefresh = 60,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 89,
> > diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> > index a470810f7dbe..4b545e081b1e 100644
> > --- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> > +++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> > @@ -327,7 +327,6 @@ static const struct nt39016_panel_info kd035g6_info = {
> >  		.vsync_start = 240 + 5,
> >  		.vsync_end = 240 + 5 + 1,
> >  		.vtotal = 240 + 5 + 1 + 4,
> > -		.vrefresh = 60,
> >  		.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	},
> >  	.width_mm = 71,
> > diff --git a/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c b/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
> > index 09deb99981a4..ecd76b5391d3 100644
> > --- a/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
> > +++ b/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
> > @@ -170,7 +170,6 @@ static int lcd_olinuxino_get_modes(struct drm_panel *panel,
> >  				  lcd_mode->vpw;
> >  		mode->vtotal = lcd_mode->vactive + lcd_mode->vfp +
> >  			       lcd_mode->vpw + lcd_mode->vbp;
> > -		mode->vrefresh = lcd_mode->refresh;
> >  
> >  		/* Always make the first mode preferred */
> >  		if (i == 0)
> > diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
> > index bb0c992171e8..895ee3d1371e 100644
> > --- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
> > +++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
> > @@ -81,7 +81,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 800 + 15,
> >  	.vsync_end = 800 + 15 + 10,
> >  	.vtotal = 800 + 15 + 10 + 14,
> > -	.vrefresh = 50,
> >  	.flags = 0,
> >  	.width_mm = 52,
> >  	.height_mm = 86,
> > @@ -358,7 +357,7 @@ static int otm8009a_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_ERROR("failed to add mode %ux%ux@%u\n",
> >  			  default_mode.hdisplay, default_mode.vdisplay,
> > -			  default_mode.vrefresh);
> > +			  drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c b/drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c
> > index 3a0229d60095..11b3d01aca56 100644
> > --- a/drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c
> > +++ b/drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c
> > @@ -102,7 +102,6 @@ static const struct drm_display_mode default_mode_osd101t2587 = {
> >  	.vsync_start = 1200 + 24,
> >  	.vsync_end = 1200 + 24 + 6,
> >  	.vtotal = 1200 + 24 + 6 + 48,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -117,7 +116,7 @@ static int osd101t2587_panel_get_modes(struct drm_panel *panel,
> >  		dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			osd101t2587->default_mode->hdisplay,
> >  			osd101t2587->default_mode->vdisplay,
> > -			osd101t2587->default_mode->vrefresh);
> > +			drm_mode_vrefresh(osd101t2587->default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c b/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > index 69693451462e..627dfcf8adb4 100644
> > --- a/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > +++ b/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > @@ -149,7 +149,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 1200 + 24,
> >  	.vsync_end = 1200 + 24 + 6,
> >  	.vtotal = 1200 + 24 + 6 + 48,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int wuxga_nt_panel_get_modes(struct drm_panel *panel,
> > @@ -161,7 +160,7 @@ static int wuxga_nt_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
> > index 8f078b7dd89e..e50ee26474cf 100644
> > --- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
> > +++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
> > @@ -209,7 +209,6 @@ static const struct drm_display_mode rpi_touchscreen_modes[] = {
> >  		.vsync_start = 480 + 7,
> >  		.vsync_end = 480 + 7 + 2,
> >  		.vtotal = 480 + 7 + 2 + 21,
> > -		.vrefresh = 60,
> >  	},
> >  };
> >  
> > @@ -322,7 +321,8 @@ static int rpi_touchscreen_get_modes(struct drm_panel *panel,
> >  		mode = drm_mode_duplicate(connector->dev, m);
> >  		if (!mode) {
> >  			dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
> > -				m->hdisplay, m->vdisplay, m->vrefresh);
> > +				m->hdisplay, m->vdisplay,
> > +				drm_mode_vrefresh(m));
> >  			continue;
> >  		}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-raydium-rm67191.c b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
> > index 313637d53d28..d001c52e0ca9 100644
> > --- a/drivers/gpu/drm/panel/panel-raydium-rm67191.c
> > +++ b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
> > @@ -218,7 +218,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 1920 + 10,
> >  	.vsync_end = 1920 + 10 + 2,
> >  	.vtotal = 1920 + 10 + 2 + 4,
> > -	.vrefresh = 60,
> >  	.width_mm = 68,
> >  	.height_mm = 121,
> >  	.flags = DRM_MODE_FLAG_NHSYNC |
> > @@ -445,7 +444,7 @@ static int rad_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			      default_mode.hdisplay, default_mode.vdisplay,
> > -			      default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-raydium-rm68200.c b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
> > index e8982948e0ea..81ae8be62d15 100644
> > --- a/drivers/gpu/drm/panel/panel-raydium-rm68200.c
> > +++ b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
> > @@ -92,7 +92,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 1280 + 12,
> >  	.vsync_end = 1280 + 12 + 4,
> >  	.vtotal = 1280 + 12 + 4 + 12,
> > -	.vrefresh = 50,
> >  	.flags = 0,
> >  	.width_mm = 68,
> >  	.height_mm = 122,
> > @@ -339,7 +338,7 @@ static int rm68200_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_ERROR("failed to add mode %ux%ux@%u\n",
> >  			  default_mode.hdisplay, default_mode.vdisplay,
> > -			  default_mode.vrefresh);
> > +			  drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c b/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
> > index 38ff742bc120..da4e373291f9 100644
> > --- a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
> > +++ b/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
> > @@ -223,7 +223,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 1440 + 20,
> >  	.vsync_end   = 1440 + 20 + 4,
> >  	.vtotal	     = 1440 + 20 + 4 + 12,
> > -	.vrefresh    = 60,
> >  	.clock	     = 75276,
> >  	.flags	     = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm    = 65,
> > @@ -240,7 +239,7 @@ static int jh057n_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(ctx->dev, "Failed to add mode %ux%u@%u\n",
> >  			      default_mode.hdisplay, default_mode.vdisplay,
> > -			      default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > @@ -360,7 +359,7 @@ static int jh057n_probe(struct mipi_dsi_device *dsi)
> >  
> >  	DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n",
> >  		     default_mode.hdisplay, default_mode.vdisplay,
> > -		     default_mode.vrefresh,
> > +		     drm_mode_vrefresh(&default_mode),
> >  		     mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes);
> >  
> >  	jh057n_debugfs_init(ctx);
> > diff --git a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> > index ef18559e237e..a7b0b3e39e1a 100644
> > --- a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> > +++ b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
> > @@ -103,7 +103,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start	= 600 + 12,
> >  	.vsync_end	= 600 + 12 + 10,
> >  	.vtotal		= 600 + 12 + 10 + 13,
> > -	.vrefresh	= 60,
> >  
> >  	.width_mm	= 154,
> >  	.height_mm	= 85,
> > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
> > index 2150043dcf6b..f02645d396ac 100644
> > --- a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
> > +++ b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
> > @@ -37,12 +37,6 @@ static const struct drm_display_mode samsung_s6d16d0_mode = {
> >  	.vsync_start = 480 + 1,
> >  	.vsync_end = 480 + 1 + 1,
> >  	.vtotal = 480 + 1 + 1 + 1,
> > -	/*
> > -	 * This depends on the clocking HS vs LP rate, this value
> > -	 * is calculated as:
> > -	 * vrefresh = (clock * 1000) / (htotal*vtotal)
> > -	 */
> > -	.vrefresh = 816,
> >  	.width_mm = 84,
> >  	.height_mm = 48,
> >  };
> > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
> > index 36ebd5a4ac7b..80ef122e7466 100644
> > --- a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
> > +++ b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
> > @@ -617,7 +617,6 @@ static const struct drm_display_mode s6e3ha2_mode = {
> >  	.vsync_start = 2560 + 1,
> >  	.vsync_end = 2560 + 1 + 1,
> >  	.vtotal = 2560 + 1 + 1 + 15,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -636,7 +635,6 @@ static const struct drm_display_mode s6e3hf2_mode = {
> >  	.vsync_start = 2560 + 1,
> >  	.vsync_end = 2560 + 1 + 1,
> >  	.vtotal = 2560 + 1 + 1 + 15,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > @@ -655,7 +653,7 @@ static int s6e3ha2_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_ERROR("failed to add mode %ux%ux@%u\n",
> >  			ctx->desc->mode->hdisplay, ctx->desc->mode->vdisplay,
> > -			ctx->desc->mode->vrefresh);
> > +			drm_mode_vrefresh(ctx->desc->mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
> > index a3570e0a90a8..1247656d73bf 100644
> > --- a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
> > +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
> > @@ -52,7 +52,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 320 + 150,
> >  	.vsync_end = 320 + 150 + 1,
> >  	.vtotal = 320 + 150 + 1 + 2,
> > -	.vrefresh = 30,
> >  	.flags = 0,
> >  };
> >  
> > @@ -409,7 +408,7 @@ static int s6e63j0x03_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_ERROR("failed to add mode %ux%ux@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
> > index a5f76eb4fa25..64421347bfd4 100644
> > --- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
> > +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
> > @@ -117,7 +117,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start	= 800 + 28,
> >  	.vsync_end	= 800 + 28 + 2,
> >  	.vtotal		= 800 + 28 + 2 + 1,
> > -	.vrefresh	= 60,
> >  	.width_mm	= 53,
> >  	.height_mm	= 89,
> >  	.flags		= DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> > @@ -371,7 +370,7 @@ static int s6e63m0_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_ERROR("failed to add mode %ux%ux@%u\n",
> >  			  default_mode.hdisplay, default_mode.vdisplay,
> > -			  default_mode.vrefresh);
> > +			  drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
> > index 9d843fcc3a22..485eabecfcc9 100644
> > --- a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
> > +++ b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
> > @@ -177,7 +177,6 @@ static const struct drm_display_mode s6e88a0_ams452ef01_mode = {
> >  	.vsync_start = 960 + 14,
> >  	.vsync_end = 960 + 14 + 2,
> >  	.vtotal = 960 + 14 + 2 + 8,
> > -	.vrefresh = 60,
> >  	.width_mm = 56,
> >  	.height_mm = 100,
> >  };
> > diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> > index 40fcbbbacb2c..e417dc4921c2 100644
> > --- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> > +++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
> > @@ -92,7 +92,8 @@ static int seiko_panel_get_fixed_modes(struct seiko_panel *panel,
> >  		mode = drm_mode_duplicate(connector->dev, m);
> >  		if (!mode) {
> >  			dev_err(panel->base.dev, "failed to add mode %ux%u@%u\n",
> > -				m->hdisplay, m->vdisplay, m->vrefresh);
> > +				m->hdisplay, m->vdisplay,
> > +				drm_mode_vrefresh(m));
> >  			continue;
> >  		}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
> > index b5d1977221a7..f07324b705b3 100644
> > --- a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
> > +++ b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
> > @@ -269,7 +269,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 1600 + 4,
> >  	.vsync_end = 1600 + 4 + 8,
> >  	.vtotal = 1600 + 4 + 8 + 32,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int sharp_panel_get_modes(struct drm_panel *panel,
> > @@ -281,7 +280,7 @@ static int sharp_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
> > index 1cf3f02435c1..d7bf13b9e1d6 100644
> > --- a/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
> > +++ b/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
> > @@ -93,7 +93,6 @@ static const struct drm_display_mode ls037v7dw01_mode = {
> >  	.vsync_start = 640 + 1,
> >  	.vsync_end = 640 + 1 + 1,
> >  	.vtotal = 640 + 1 + 1 + 1,
> > -	.vrefresh = 58,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 56,
> > diff --git a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
> > index ce586c6d70c7..b2e58935529c 100644
> > --- a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
> > +++ b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
> > @@ -201,7 +201,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 960 + 3,
> >  	.vsync_end = 960 + 3 + 15,
> >  	.vtotal = 960 + 3 + 15 + 1,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int sharp_nt_panel_get_modes(struct drm_panel *panel,
> > @@ -213,7 +212,7 @@ static int sharp_nt_panel_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%u@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index 82363d05bad4..9ba9d69df41b 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -161,7 +161,8 @@ static unsigned int panel_simple_get_display_modes(struct panel_simple *panel,
> >  		mode = drm_mode_duplicate(connector->dev, m);
> >  		if (!mode) {
> >  			dev_err(panel->base.dev, "failed to add mode %ux%u@%u\n",
> > -				m->hdisplay, m->vdisplay, m->vrefresh);
> > +				m->hdisplay, m->vdisplay,
> > +				drm_mode_vrefresh(m));
> >  			continue;
> >  		}
> >  
> > @@ -494,7 +495,6 @@ static const struct drm_display_mode ampire_am_480272h3tmqw_t01h_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 10,
> >  	.vtotal = 272 + 2 + 10 + 2,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -519,7 +519,6 @@ static const struct drm_display_mode ampire_am800480r3tmqwa1h_mode = {
> >  	.vsync_start = 480 + 2,
> >  	.vsync_end = 480 + 2 + 45,
> >  	.vtotal = 480 + 2 + 45 + 0,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -570,7 +569,6 @@ static const struct drm_display_mode auo_b101aw03_mode = {
> >  	.vsync_start = 600 + 16,
> >  	.vsync_end = 600 + 16 + 6,
> >  	.vtotal = 600 + 16 + 6 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_b101aw03 = {
> > @@ -615,7 +613,6 @@ static const struct drm_display_mode auo_b101xtn01_mode = {
> >  	.vsync_start = 768 + 14,
> >  	.vsync_end = 768 + 14 + 42,
> >  	.vtotal = 768 + 14 + 42,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -639,7 +636,6 @@ static const struct drm_display_mode auo_b116xak01_mode = {
> >  	.vsync_start = 768 + 4,
> >  	.vsync_end = 768 + 4 + 6,
> >  	.vtotal = 768 + 4 + 6 + 15,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -668,7 +664,6 @@ static const struct drm_display_mode auo_b116xw03_mode = {
> >  	.vsync_start = 768 + 10,
> >  	.vsync_end = 768 + 10 + 12,
> >  	.vtotal = 768 + 10 + 12 + 6,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_b116xw03 = {
> > @@ -691,7 +686,6 @@ static const struct drm_display_mode auo_b133xtn01_mode = {
> >  	.vsync_start = 768 + 3,
> >  	.vsync_end = 768 + 3 + 6,
> >  	.vtotal = 768 + 3 + 6 + 13,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_b133xtn01 = {
> > @@ -714,7 +708,6 @@ static const struct drm_display_mode auo_b133htn01_mode = {
> >  	.vsync_start = 1080 + 25,
> >  	.vsync_end = 1080 + 25 + 10,
> >  	.vtotal = 1080 + 25 + 10 + 10,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_b133htn01 = {
> > @@ -770,7 +763,6 @@ static const struct drm_display_mode auo_g101evn010_mode = {
> >  	.vsync_start = 800 + 8,
> >  	.vsync_end = 800 + 8 + 2,
> >  	.vtotal = 800 + 8 + 2 + 6,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_g101evn010 = {
> > @@ -794,7 +786,6 @@ static const struct drm_display_mode auo_g104sn02_mode = {
> >  	.vsync_start = 600 + 10,
> >  	.vsync_end = 600 + 10 + 35,
> >  	.vtotal = 600 + 10 + 35 + 2,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_g104sn02 = {
> > @@ -906,7 +897,6 @@ static const struct drm_display_mode auo_t215hvn01_mode = {
> >  	.vsync_start = 1080 + 4,
> >  	.vsync_end = 1080 + 4 + 5,
> >  	.vtotal = 1080 + 4 + 5 + 36,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc auo_t215hvn01 = {
> > @@ -933,7 +923,6 @@ static const struct drm_display_mode avic_tm070ddh03_mode = {
> >  	.vsync_start = 600 + 17,
> >  	.vsync_end = 600 + 17 + 1,
> >  	.vtotal = 600 + 17 + 1 + 17,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc avic_tm070ddh03 = {
> > @@ -983,7 +972,6 @@ static const struct drm_display_mode boe_hv070wsa_mode = {
> >  	.vsync_start = 600 + 10,
> >  	.vsync_end = 600 + 10 + 10,
> >  	.vtotal = 600 + 10 + 10 + 10,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc boe_hv070wsa = {
> > @@ -1006,7 +994,6 @@ static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
> >  		.vsync_start = 800 + 3,
> >  		.vsync_end = 800 + 3 + 5,
> >  		.vtotal = 800 + 3 + 5 + 24,
> > -		.vrefresh = 60,
> >  	},
> >  	{
> >  		.clock = 57500,
> > @@ -1018,7 +1005,6 @@ static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
> >  		.vsync_start = 800 + 3,
> >  		.vsync_end = 800 + 3 + 5,
> >  		.vtotal = 800 + 3 + 5 + 24,
> > -		.vrefresh = 48,
> >  	},
> >  };
> >  
> > @@ -1048,7 +1034,6 @@ static const struct drm_display_mode boe_nv140fhmn49_modes[] = {
> >  		.vsync_start = 1080 + 3,
> >  		.vsync_end = 1080 + 3 + 5,
> >  		.vtotal = 1125,
> > -		.vrefresh = 60,
> >  	},
> >  };
> >  
> > @@ -1079,7 +1064,6 @@ static const struct drm_display_mode cdtech_s043wq26h_ct7_mode = {
> >  	.vsync_start = 272 + 8,
> >  	.vsync_end = 272 + 8 + 8,
> >  	.vtotal = 272 + 8 + 8 + 8,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1104,7 +1088,6 @@ static const struct drm_display_mode cdtech_s070wv95_ct16_mode = {
> >  	.vsync_start = 480 + 29,
> >  	.vsync_end = 480 + 29 + 13,
> >  	.vtotal = 480 + 29 + 13 + 3,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1128,7 +1111,6 @@ static const struct drm_display_mode chunghwa_claa070wp03xg_mode = {
> >  	.vsync_start = 1280 + 1,
> >  	.vsync_end = 1280 + 1 + 7,
> >  	.vtotal = 1280 + 1 + 7 + 15,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -1152,7 +1134,6 @@ static const struct drm_display_mode chunghwa_claa101wa01a_mode = {
> >  	.vsync_start = 768 + 4,
> >  	.vsync_end = 768 + 4 + 4,
> >  	.vtotal = 768 + 4 + 4 + 4,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc chunghwa_claa101wa01a = {
> > @@ -1175,7 +1156,6 @@ static const struct drm_display_mode chunghwa_claa101wb01_mode = {
> >  	.vsync_start = 768 + 16,
> >  	.vsync_end = 768 + 16 + 8,
> >  	.vtotal = 768 + 16 + 8 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc chunghwa_claa101wb01 = {
> > @@ -1198,7 +1178,6 @@ static const struct drm_display_mode dataimage_scf0700c48ggu18_mode = {
> >  	.vsync_start = 480 + 10,
> >  	.vsync_end = 480 + 10 + 2,
> >  	.vtotal = 480 + 10 + 2 + 33,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -1285,7 +1264,6 @@ static const struct drm_display_mode edt_et035012dm6_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 4,
> >  	.vtotal = 240 + 4 + 4 + 14,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -1317,7 +1295,6 @@ static const struct drm_display_mode edt_etm043080dh6gp_mode = {
> >  	.vsync_start = 288 + 2,
> >  	.vsync_end = 288 + 2 + 4,
> >  	.vtotal = 288 + 2 + 4 + 10,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc edt_etm043080dh6gp = {
> > @@ -1342,7 +1319,6 @@ static const struct drm_display_mode edt_etm0430g0dh6_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 10,
> >  	.vtotal = 272 + 2 + 10 + 2,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1366,7 +1342,6 @@ static const struct drm_display_mode edt_et057090dhu_mode = {
> >  	.vsync_start = 480 + 10,
> >  	.vsync_end = 480 + 10 + 3,
> >  	.vtotal = 480 + 10 + 3 + 32,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -1392,7 +1367,6 @@ static const struct drm_display_mode edt_etm0700g0dh6_mode = {
> >  	.vsync_start = 480 + 10,
> >  	.vsync_end = 480 + 10 + 2,
> >  	.vtotal = 480 + 10 + 2 + 33,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1457,7 +1431,6 @@ static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
> >  	.vsync_start = 480 + 37,
> >  	.vsync_end = 480 + 37 + 2,
> >  	.vtotal = 480 + 37 + 2 + 8,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc foxlink_fl500wvr00_a0t = {
> > @@ -1481,7 +1454,6 @@ static const struct drm_display_mode frida_frd350h54004_mode = {
> >  	.vsync_start = 240 + 2,
> >  	.vsync_end = 240 + 2 + 6,
> >  	.vtotal = 240 + 2 + 6 + 2,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -1508,7 +1480,6 @@ static const struct drm_display_mode friendlyarm_hd702e_mode = {
> >  	.vsync_start	= 1280 + 4,
> >  	.vsync_end	= 1280 + 4 + 8,
> >  	.vtotal		= 1280 + 4 + 8 + 4,
> > -	.vrefresh	= 60,
> >  	.flags		= DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -1531,7 +1502,6 @@ static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
> >  	.vsync_start = 272 + 8,
> >  	.vsync_end = 272 + 8 + 1,
> >  	.vtotal = 272 + 8 + 1 + 8,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc giantplus_gpg482739qs5 = {
> > @@ -1635,7 +1605,6 @@ static const struct drm_display_mode hitachi_tx23d38vm0caa_mode = {
> >  	.vsync_start = 480 + 16,
> >  	.vsync_end = 480 + 16 + 13,
> >  	.vtotal = 480 + 16 + 13 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc hitachi_tx23d38vm0caa = {
> > @@ -1662,7 +1631,6 @@ static const struct drm_display_mode innolux_at043tn24_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 10,
> >  	.vtotal = 272 + 2 + 10 + 2,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1688,7 +1656,6 @@ static const struct drm_display_mode innolux_at070tn92_mode = {
> >  	.vsync_start = 480 + 22,
> >  	.vsync_end = 480 + 22 + 10,
> >  	.vtotal = 480 + 22 + 23 + 10,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc innolux_at070tn92 = {
> > @@ -1799,7 +1766,6 @@ static const struct drm_display_mode innolux_g121x1_l03_mode = {
> >  	.vsync_start = 768 + 38,
> >  	.vsync_end = 768 + 38 + 1,
> >  	.vtotal = 768 + 38 + 1 + 0,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -1861,7 +1827,6 @@ static const struct drm_display_mode innolux_n156bge_l21_mode = {
> >  	.vsync_start = 768 + 2,
> >  	.vsync_end = 768 + 2 + 6,
> >  	.vtotal = 768 + 2 + 6 + 12,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc innolux_n156bge_l21 = {
> > @@ -1884,7 +1849,6 @@ static const struct drm_display_mode innolux_p120zdg_bf1_mode = {
> >  	.vsync_start = 1440 + 3,
> >  	.vsync_end = 1440 + 3 + 10,
> >  	.vtotal = 1440 + 3 + 10 + 27,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -1912,7 +1876,6 @@ static const struct drm_display_mode innolux_zj070na_01p_mode = {
> >  	.vsync_start = 600 + 16,
> >  	.vsync_end = 600 + 16 + 4,
> >  	.vtotal = 600 + 16 + 4 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc innolux_zj070na_01p = {
> > @@ -2008,7 +1971,6 @@ static const struct drm_display_mode lemaker_bl035_rgb_002_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 3,
> >  	.vtotal = 240 + 4 + 3 + 15,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc lemaker_bl035_rgb_002 = {
> > @@ -2032,7 +1994,6 @@ static const struct drm_display_mode lg_lb070wv8_mode = {
> >  	.vsync_start = 480 + 10,
> >  	.vsync_end = 480 + 10 + 25,
> >  	.vtotal = 480 + 10 + 25 + 10,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc lg_lb070wv8 = {
> > @@ -2057,7 +2018,6 @@ static const struct drm_display_mode lg_lp079qx1_sp0v_mode = {
> >  	.vsync_start = 2048 + 8,
> >  	.vsync_end = 2048 + 8 + 4,
> >  	.vtotal = 2048 + 8 + 4 + 8,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2080,7 +2040,6 @@ static const struct drm_display_mode lg_lp097qx1_spa1_mode = {
> >  	.vsync_start = 1536 + 3,
> >  	.vsync_end = 1536 + 3 + 1,
> >  	.vtotal = 1536 + 3 + 1 + 9,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc lg_lp097qx1_spa1 = {
> > @@ -2102,7 +2061,6 @@ static const struct drm_display_mode lg_lp120up1_mode = {
> >  	.vsync_start = 1280 + 4,
> >  	.vsync_end = 1280 + 4 + 4,
> >  	.vtotal = 1280 + 4 + 4 + 12,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc lg_lp120up1 = {
> > @@ -2125,7 +2083,6 @@ static const struct drm_display_mode lg_lp129qe_mode = {
> >  	.vsync_start = 1700 + 3,
> >  	.vsync_end = 1700 + 3 + 10,
> >  	.vtotal = 1700 + 3 + 10 + 36,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc lg_lp129qe = {
> > @@ -2206,7 +2163,6 @@ static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
> >  	.vsync_start = 480 + 0,
> >  	.vsync_end = 480 + 48 + 1,
> >  	.vtotal = 480 + 48 + 1 + 0,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -2221,7 +2177,6 @@ static const struct drm_display_mode logicpd_type_28_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 11,
> >  	.vtotal = 272 + 2 + 11 + 3,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -2301,7 +2256,6 @@ static const struct drm_display_mode nec_nl4827hc19_05b_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 4,
> >  	.vtotal = 272 + 2 + 4 + 2,
> > -	.vrefresh = 74,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2327,7 +2281,6 @@ static const struct drm_display_mode netron_dy_e231732_mode = {
> >  	.vsync_start = 600 + 127,
> >  	.vsync_end = 600 + 127 + 20,
> >  	.vtotal = 600 + 127 + 20 + 3,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc netron_dy_e231732 = {
> > @@ -2350,7 +2303,6 @@ static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = {
> >  	.vsync_start = 272 + 2,
> >  	.vsync_end = 272 + 2 + 10,
> >  	.vtotal = 272 + 2 + 10 + 2,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2458,7 +2410,6 @@ static const struct drm_display_mode olimex_lcd_olinuxino_43ts_mode = {
> >  	.vsync_start = 272 + 8,
> >  	.vsync_end = 272 + 8 + 5,
> >  	.vtotal = 272 + 8 + 5 + 3,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc olimex_lcd_olinuxino_43ts = {
> > @@ -2486,7 +2437,6 @@ static const struct drm_display_mode ontat_yx700wv03_mode = {
> >  	.vsync_start = 483,
> >  	.vsync_end = 493,
> >  	.vtotal = 500,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2515,7 +2465,6 @@ static const struct drm_display_mode ortustech_com37h3m_mode  = {
> >  	.vsync_start = 640 + 4,
> >  	.vsync_end = 640 + 4 + 3,
> >  	.vtotal = 640 + 4 + 3 + 4,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2542,7 +2491,6 @@ static const struct drm_display_mode ortustech_com43h4m85ulc_mode  = {
> >  	.vsync_start = 800 + 3,
> >  	.vsync_end = 800 + 3 + 3,
> >  	.vtotal = 800 + 3 + 3 + 3,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc ortustech_com43h4m85ulc = {
> > @@ -2567,7 +2515,6 @@ static const struct drm_display_mode osddisplays_osd070t1718_19ts_mode  = {
> >  	.vsync_start = 480 + 22,
> >  	.vsync_end = 480 + 22 + 13,
> >  	.vtotal = 480 + 22 + 13 + 10,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -2594,7 +2541,6 @@ static const struct drm_display_mode pda_91_00156_a0_mode = {
> >  	.vsync_start = 480 + 1,
> >  	.vsync_end = 480 + 1 + 23,
> >  	.vtotal = 480 + 1 + 23 + 22,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc pda_91_00156_a0  = {
> > @@ -2618,7 +2564,6 @@ static const struct drm_display_mode qd43003c0_40_mode = {
> >  	.vsync_start = 272 + 4,
> >  	.vsync_end = 272 + 4 + 10,
> >  	.vtotal = 272 + 4 + 10 + 2,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc qd43003c0_40 = {
> > @@ -2672,7 +2617,6 @@ static const struct drm_display_mode rocktech_rk101ii01d_ct_mode = {
> >  	.vsync_start = 800 + 2,
> >  	.vsync_end = 800 + 2 + 5,
> >  	.vtotal = 800 + 2 + 5 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc rocktech_rk101ii01d_ct = {
> > @@ -2701,7 +2645,6 @@ static const struct drm_display_mode samsung_lsn122dl01_c01_mode = {
> >  	.vsync_start = 1600 + 2,
> >  	.vsync_end = 1600 + 2 + 5,
> >  	.vtotal = 1600 + 2 + 5 + 57,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc samsung_lsn122dl01_c01 = {
> > @@ -2723,7 +2666,6 @@ static const struct drm_display_mode samsung_ltn101nt05_mode = {
> >  	.vsync_start = 600 + 3,
> >  	.vsync_end = 600 + 3 + 6,
> >  	.vtotal = 600 + 3 + 6 + 61,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc samsung_ltn101nt05 = {
> > @@ -2746,7 +2688,6 @@ static const struct drm_display_mode samsung_ltn140at29_301_mode = {
> >  	.vsync_start = 768 + 2,
> >  	.vsync_end = 768 + 2 + 5,
> >  	.vtotal = 768 + 2 + 5 + 17,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc samsung_ltn140at29_301 = {
> > @@ -2793,7 +2734,6 @@ static const struct drm_display_mode sharp_ld_d5116z01b_mode = {
> >  	.vsync_start = 1280 + 3,
> >  	.vsync_end = 1280 + 3 + 10,
> >  	.vtotal = 1280 + 3 + 10 + 57,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  };
> >  
> > @@ -2819,7 +2759,6 @@ static const struct drm_display_mode sharp_lq070y3dg3b_mode = {
> >  	.vsync_start = 480 + 8,
> >  	.vsync_end = 480 + 8 + 2,
> >  	.vtotal = 480 + 8 + 2 + 35,
> > -	.vrefresh = 60,
> >  	.flags = DISPLAY_FLAGS_PIXDATA_POSEDGE,
> >  };
> >  
> > @@ -2846,7 +2785,6 @@ static const struct drm_display_mode sharp_lq035q7db03_mode = {
> >  	.vsync_start = 320 + 9,
> >  	.vsync_end = 320 + 9 + 1,
> >  	.vtotal = 320 + 9 + 1 + 7,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc sharp_lq035q7db03 = {
> > @@ -2923,7 +2861,6 @@ static const struct drm_display_mode sharp_lq150x1lg11_mode = {
> >  	.vsync_start = 768 + 37,
> >  	.vsync_end = 768 + 37 + 2,
> >  	.vtotal = 768 + 37 + 2 + 8,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc sharp_lq150x1lg11 = {
> > @@ -2974,7 +2911,6 @@ static const struct drm_display_mode shelly_sca07010_bfn_lnn_mode = {
> >  	.vsync_start = 480 + 1,
> >  	.vsync_end = 480 + 1 + 23,
> >  	.vtotal = 480 + 1 + 23 + 22,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc shelly_sca07010_bfn_lnn = {
> > @@ -2997,7 +2933,6 @@ static const struct drm_display_mode starry_kr122ea0sra_mode = {
> >  	.vsync_start = 1200 + 15,
> >  	.vsync_end = 1200 + 15 + 2,
> >  	.vtotal = 1200 + 15 + 2 + 18,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -3025,7 +2960,6 @@ static const struct drm_display_mode tfc_s9700rtwv43tr_01b_mode = {
> >  	.vsync_start = 480 + 13,
> >  	.vsync_end = 480 + 13 + 2,
> >  	.vtotal = 480 + 13 + 2 + 29,
> > -	.vrefresh = 62,
> >  };
> >  
> >  static const struct panel_desc tfc_s9700rtwv43tr_01b = {
> > @@ -3101,7 +3035,6 @@ static const struct drm_display_mode ti_nspire_cx_lcd_mode[] = {
> >  		.vsync_start = 240 + 3,
> >  		.vsync_end = 240 + 3 + 1,
> >  		.vtotal = 240 + 3 + 1 + 17,
> > -		.vrefresh = 60,
> >  		.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  	},
> >  };
> > @@ -3129,7 +3062,6 @@ static const struct drm_display_mode ti_nspire_classic_lcd_mode[] = {
> >  		.vsync_start = 240 + 0,
> >  		.vsync_end = 240 + 0 + 1,
> >  		.vtotal = 240 + 0 + 1 + 0,
> > -		.vrefresh = 60,
> >  		.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> >  	},
> >  };
> > @@ -3158,7 +3090,6 @@ static const struct drm_display_mode toshiba_lt089ac29000_mode = {
> >  	.vsync_start = 768 + 20,
> >  	.vsync_end = 768 + 20 + 7,
> >  	.vtotal = 768 + 20 + 7 + 3,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc toshiba_lt089ac29000 = {
> > @@ -3183,7 +3114,6 @@ static const struct drm_display_mode tpk_f07a_0102_mode = {
> >  	.vsync_start = 480 + 10,
> >  	.vsync_end = 480 + 10 + 2,
> >  	.vtotal = 480 + 10 + 2 + 33,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc tpk_f07a_0102 = {
> > @@ -3206,7 +3136,6 @@ static const struct drm_display_mode tpk_f10a_0102_mode = {
> >  	.vsync_start = 600 + 20,
> >  	.vsync_end = 600 + 20 + 5,
> >  	.vtotal = 600 + 20 + 5 + 25,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc tpk_f10a_0102 = {
> > @@ -3265,7 +3194,6 @@ static const struct drm_display_mode vl050_8048nt_c01_mode = {
> >  	.vsync_start = 480 + 22,
> >  	.vsync_end = 480 + 22 + 10,
> >  	.vtotal = 480 + 22 + 10 + 23,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > @@ -3291,7 +3219,6 @@ static const struct drm_display_mode winstar_wf35ltiacd_mode = {
> >  	.vsync_start = 240 + 4,
> >  	.vsync_end = 240 + 4 + 3,
> >  	.vtotal = 240 + 4 + 3 + 15,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -3317,7 +3244,6 @@ static const struct drm_display_mode arm_rtsm_mode[] = {
> >  		.vsync_start = 768 + 3,
> >  		.vsync_end = 768 + 3 + 6,
> >  		.vtotal = 768 + 3 + 6 + 29,
> > -		.vrefresh = 60,
> >  		.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  	},
> >  };
> > @@ -3743,7 +3669,6 @@ static const struct drm_display_mode auo_b080uan01_mode = {
> >  	.vsync_start = 1920 + 9,
> >  	.vsync_end = 1920 + 9 + 2,
> >  	.vtotal = 1920 + 9 + 2 + 8,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc_dsi auo_b080uan01 = {
> > @@ -3771,7 +3696,6 @@ static const struct drm_display_mode boe_tv080wum_nl0_mode = {
> >  	.vsync_start = 1920 + 21,
> >  	.vsync_end = 1920 + 21 + 3,
> >  	.vtotal = 1920 + 21 + 3 + 18,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> >  };
> >  
> > @@ -3801,7 +3725,6 @@ static const struct drm_display_mode lg_ld070wx3_sl01_mode = {
> >  	.vsync_start = 1280 + 28,
> >  	.vsync_end = 1280 + 28 + 1,
> >  	.vtotal = 1280 + 28 + 1 + 14,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc_dsi lg_ld070wx3_sl01 = {
> > @@ -3829,7 +3752,6 @@ static const struct drm_display_mode lg_lh500wx1_sd03_mode = {
> >  	.vsync_start = 1280 + 8,
> >  	.vsync_end = 1280 + 8 + 4,
> >  	.vtotal = 1280 + 8 + 4 + 12,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc_dsi lg_lh500wx1_sd03 = {
> > @@ -3857,7 +3779,6 @@ static const struct drm_display_mode panasonic_vvx10f004b00_mode = {
> >  	.vsync_start = 1200 + 17,
> >  	.vsync_end = 1200 + 17 + 2,
> >  	.vtotal = 1200 + 17 + 2 + 16,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc_dsi panasonic_vvx10f004b00 = {
> > @@ -3886,7 +3807,6 @@ static const struct drm_display_mode lg_acx467akm_7_mode = {
> >  	.vsync_start = 1920 + 2,
> >  	.vsync_end = 1920 + 2 + 2,
> >  	.vtotal = 1920 + 2 + 2 + 2,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static const struct panel_desc_dsi lg_acx467akm_7 = {
> > @@ -3914,7 +3834,6 @@ static const struct drm_display_mode osd101t2045_53ts_mode = {
> >  	.vsync_start = 1200 + 16,
> >  	.vsync_end = 1200 + 16 + 2,
> >  	.vtotal = 1200 + 16 + 2 + 16,
> > -	.vrefresh = 60,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  };
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
> > index 4b4f2558e3b4..692041ae4eb6 100644
> > --- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
> > +++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
> > @@ -272,7 +272,7 @@ static int st7701_get_modes(struct drm_panel *panel,
> >  		DRM_DEV_ERROR(&st7701->dsi->dev,
> >  			      "failed to add mode %ux%ux@%u\n",
> >  			      desc_mode->hdisplay, desc_mode->vdisplay,
> > -			      desc_mode->vrefresh);
> > +			      drm_mode_vrefresh(desc_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> > index cc02c54c1b2e..3513ae40efa8 100644
> > --- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> > +++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> > @@ -165,7 +165,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start = 320 + 8,
> >  	.vsync_end = 320 + 8 + 4,
> >  	.vtotal = 320 + 8 + 4 + 4,
> > -	.vrefresh = 60,
> >  };
> >  
> >  static int st7789v_get_modes(struct drm_panel *panel,
> > @@ -177,7 +176,7 @@ static int st7789v_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
> >  			default_mode.hdisplay, default_mode.vdisplay,
> > -			default_mode.vrefresh);
> > +			drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-sony-acx424akp.c b/drivers/gpu/drm/panel/panel-sony-acx424akp.c
> > index de0abf76ae6f..eba05bd6ec9a 100644
> > --- a/drivers/gpu/drm/panel/panel-sony-acx424akp.c
> > +++ b/drivers/gpu/drm/panel/panel-sony-acx424akp.c
> > @@ -57,7 +57,6 @@ static const struct drm_display_mode sony_acx424akp_vid_mode = {
> >  	.vsync_start = 864 + 14,
> >  	.vsync_end = 864 + 14 + 1,
> >  	.vtotal = 864 + 14 + 1 + 11,
> > -	.vrefresh = 60,
> >  	.width_mm = 48,
> >  	.height_mm = 84,
> >  	.flags = DRM_MODE_FLAG_PVSYNC,
> > @@ -81,7 +80,6 @@ static const struct drm_display_mode sony_acx424akp_cmd_mode = {
> >  	 * Some desired refresh rate, experiments at the maximum "pixel"
> >  	 * clock speed (HS clock 420 MHz) yields around 117Hz.
> >  	 */
> > -	.vrefresh = 60,
> >  	.width_mm = 48,
> >  	.height_mm = 84,
> >  };
> > diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> > index 5c4b6f6e5c2d..fc6a7e451abe 100644
> > --- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> > +++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
> > @@ -514,7 +514,6 @@ static const struct drm_display_mode acx565akm_mode = {
> >  	.vsync_start = 480 + 3,
> >  	.vsync_end = 480 + 3 + 3,
> >  	.vtotal = 480 + 3 + 3 + 4,
> > -	.vrefresh = 57,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 77,
> > diff --git a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
> > index aeca15dfeb3c..58d683cc5215 100644
> > --- a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
> > +++ b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
> > @@ -281,7 +281,6 @@ static const struct drm_display_mode td028ttec1_mode = {
> >  	.vsync_start = 640 + 4,
> >  	.vsync_end = 640 + 4 + 2,
> >  	.vtotal = 640 + 4 + 2 + 2,
> > -	.vrefresh = 66,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 43,
> > diff --git a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
> > index 75f1f1f1b6de..9b2a356c4d9a 100644
> > --- a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
> > +++ b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
> > @@ -339,7 +339,6 @@ static const struct drm_display_mode td043mtea1_mode = {
> >  	.vsync_start = 480 + 39,
> >  	.vsync_end = 480 + 39 + 1,
> >  	.vtotal = 480 + 39 + 1 + 34,
> > -	.vrefresh = 60,
> >  	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
> >  	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> >  	.width_mm = 94,
> > diff --git a/drivers/gpu/drm/panel/panel-tpo-tpg110.c b/drivers/gpu/drm/panel/panel-tpo-tpg110.c
> > index 8472d018c16f..c7a2f0ae5ba5 100644
> > --- a/drivers/gpu/drm/panel/panel-tpo-tpg110.c
> > +++ b/drivers/gpu/drm/panel/panel-tpo-tpg110.c
> > @@ -112,7 +112,6 @@ static const struct tpg110_panel_mode tpg110_modes[] = {
> >  			.vsync_start = 480 + 10,
> >  			.vsync_end = 480 + 10 + 1,
> >  			.vtotal = 480 + 10 + 1 + 35,
> > -			.vrefresh = 60,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> >  	},
> > @@ -129,7 +128,6 @@ static const struct tpg110_panel_mode tpg110_modes[] = {
> >  			.vsync_start = 480 + 18,
> >  			.vsync_end = 480 + 18 + 1,
> >  			.vtotal = 480 + 18 + 1 + 27,
> > -			.vrefresh = 60,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> >  	},
> > @@ -146,7 +144,6 @@ static const struct tpg110_panel_mode tpg110_modes[] = {
> >  			.vsync_start = 272 + 2,
> >  			.vsync_end = 272 + 2 + 1,
> >  			.vtotal = 272 + 2 + 1 + 12,
> > -			.vrefresh = 60,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> >  	},
> > @@ -163,7 +160,6 @@ static const struct tpg110_panel_mode tpg110_modes[] = {
> >  			.vsync_start = 640 + 4,
> >  			.vsync_end = 640 + 4 + 1,
> >  			.vtotal = 640 + 4 + 1 + 8,
> > -			.vrefresh = 60,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> >  	},
> > @@ -180,7 +176,6 @@ static const struct tpg110_panel_mode tpg110_modes[] = {
> >  			.vsync_start = 240 + 2,
> >  			.vsync_end = 240 + 2 + 1,
> >  			.vtotal = 240 + 2 + 1 + 20,
> > -			.vrefresh = 60,
> >  		},
> >  		.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> >  	},
> > diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > index 012ca62bf30e..9d669088cffc 100644
> > --- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > @@ -536,7 +536,6 @@ static const struct drm_display_mode qcom_sdm845_mtp_2k_mode = {
> >  	.vsync_start = 2560 + 8,
> >  	.vsync_end = 2560 + 8 + 1,
> >  	.vtotal = 2560 + 8 + 1 + 7,
> > -	.vrefresh = 60,
> >  	.flags = 0,
> >  };
> >  
> > diff --git a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
> > index 1645aceab597..8a3b2f906e63 100644
> > --- a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
> > +++ b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
> > @@ -243,7 +243,6 @@ static const struct drm_display_mode default_mode = {
> >  	.vsync_start	= 1280 + 22,
> >  	.vsync_end	= 1280 + 22 + 4,
> >  	.vtotal		= 1280 + 22 + 4 + 11,
> > -	.vrefresh	= 60,
> >  	.clock		= 64000,
> >  	.width_mm	= 68,
> >  	.height_mm	= 121,
> > @@ -259,7 +258,7 @@ static int xpp055c272_get_modes(struct drm_panel *panel,
> >  	if (!mode) {
> >  		DRM_DEV_ERROR(ctx->dev, "Failed to add mode %ux%u@%u\n",
> >  			      default_mode.hdisplay, default_mode.vdisplay,
> > -			      default_mode.vrefresh);
> > +			      drm_mode_vrefresh(&default_mode));
> >  		return -ENOMEM;
> >  	}
> >  
> > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
> > index 2bb32009d117..3dc6e2e96541 100644
> > --- a/drivers/gpu/drm/sti/sti_hda.c
> > +++ b/drivers/gpu/drm/sti/sti_hda.c
> > @@ -586,7 +586,6 @@ static int sti_hda_connector_get_modes(struct drm_connector *connector)
> >  					&hda_supported_modes[i].mode);
> >  		if (!mode)
> >  			continue;
> > -		mode->vrefresh = drm_mode_vrefresh(mode);
> >  
> >  		/* the first mode is the preferred mode */
> >  		if (i == 0)
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > index eb6e23e8d8ef..0b07f7b5ece4 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> > @@ -2226,7 +2226,6 @@ void vmw_guess_mode_timing(struct drm_display_mode *mode)
> >  	mode->vtotal = mode->vsync_end + 50;
> >  
> >  	mode->clock = (u32)mode->htotal * (u32)mode->vtotal / 100 * 6;
> > -	mode->vrefresh = drm_mode_vrefresh(mode);
> >  }
> >  
> >  
> > @@ -2300,7 +2299,6 @@ int vmw_du_connector_fill_modes(struct drm_connector *connector,
> >  		mode = drm_mode_duplicate(dev, bmode);
> >  		if (!mode)
> >  			return 0;
> > -		mode->vrefresh = drm_mode_vrefresh(mode);
> >  
> >  		drm_mode_probed_add(connector, mode);
> >  	}
> > diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h
> > index 7dab7f172431..52e8ca613e4b 100644
> > --- a/include/drm/drm_modes.h
> > +++ b/include/drm/drm_modes.h
> > @@ -380,16 +380,6 @@ struct drm_display_mode {
> >  	 */
> >  	int private_flags;
> >  
> > -	/**
> > -	 * @vrefresh:
> > -	 *
> > -	 * Vertical refresh rate, for debug output in human readable form. Not
> > -	 * used in a functional way.
> > -	 *
> > -	 * This value is in Hz.
> > -	 */
> > -	int vrefresh;
> > -
> >  	/**
> >  	 * @picture_aspect_ratio:
> >  	 *
> > @@ -421,7 +411,7 @@ struct drm_display_mode {
> >   * @m: display mode
> >   */
> >  #define DRM_MODE_ARG(m) \
> > -	(m)->name, (m)->vrefresh, (m)->clock, \
> > +	(m)->name, drm_mode_vrefresh(m), (m)->clock, \
> >  	(m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
> >  	(m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
> >  	(m)->type, (m)->flags
> 

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list