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
On 25.02.2020 12:21, Ville Syrj?l? wrote:> 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?I guess suspect/potential victim is every code which uses drm_mode_vrefresh - after this patch the function can return different value(if there are differences between provided and calculated vrefresh). Quick examples where output of this function matters: https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c#L387 https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c#L42 https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/tilcdc/tilcdc_crtc.c#L810 Regards Andrzej> >> >> 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
On Tue, Feb 25, 2020 at 04:19:27PM +0100, Andrzej Hajda wrote:> On 25.02.2020 12:21, Ville Syrj?l? wrote: > > 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? > > > I guess suspect/potential victim is every code which uses > drm_mode_vrefresh - after this patch the function can return different > value(if there are differences between provided and calculated vrefresh). > > Quick examples where output of this function matters: > > https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c#L387Already looks quite sketchy due to rounding.> > https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c#L42msleep() is in no way accurate so looks rather sketchy as well.> https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/tilcdc/tilcdc_crtc.c#L810Another thing that suffers from rounding issues. So to me these all look like code that someone should fix regardless. -- Ville Syrj?l? Intel