Skip to content
Snippets Groups Projects
  1. Jul 01, 2020
  2. May 27, 2020
    • Ville Syrjälä's avatar
      drm: Nuke mode->vrefresh · 0425662f
      Ville Syrjälä authored
      
      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
      - Drop the TODO
      
      @@
      @@
      struct drm_display_mode {
      	...
      -	int vrefresh;
      	...
      };
      
      @@
      identifier N;
      expression E;
      @@
      struct drm_display_mode N = {
      -	.vrefresh = E
      };
      
      @@
      identifier N;
      expression E;
      @@
      struct drm_display_mode N[...] = {
      ...,
      {
      -	.vrefresh = E
      }
      ,...
      };
      
      @@
      expression E;
      @@
      {
      	DRM_MODE(...),
      -	.vrefresh = E,
      }
      
      @@
      identifier M, R;
      @@
      int drm_mode_vrefresh(const struct drm_display_mode *M)
      {
        ...
      - if (M->vrefresh > 0)
      - 	R = M->vrefresh;
      - else
        if (...) {
        ...
        }
        ...
      }
      
      @@
      struct drm_display_mode *p;
      expression E;
      @@
      (
      - p->vrefresh = E;
      |
      - p->vrefresh
      + drm_mode_vrefresh(p)
      )
      
      @@
      struct drm_display_mode s;
      expression E;
      @@
      (
      - s.vrefresh = E;
      |
      - s.vrefresh
      + drm_mode_vrefresh(&s)
      )
      
      @@
      expression E;
      @@
      - drm_mode_vrefresh(E) ? drm_mode_vrefresh(E) : drm_mode_vrefresh(E)
      + drm_mode_vrefresh(E)
      
      @find_substruct@
      identifier X;
      identifier S;
      @@
      struct X {
      ...
      	struct drm_display_mode S;
      ...
      };
      
      @@
      identifier find_substruct.S;
      expression E;
      identifier I;
      @@
      {
      .S = {
      -	.vrefresh = E
      }
      }
      
      @@
      identifier find_substruct.S;
      identifier find_substruct.X;
      expression E;
      identifier I;
      @@
      struct X I[...] = {
      ...,
      .S = {
      -	.vrefresh = E
      }
      ,...
      };
      
      v2: Drop TODO
      v3: Rebase
      v4: Rebase
      
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
      Cc: Jonas Karlman <jonas@kwiboo.se>
      Cc: Jernej Skrabec <jernej.skrabec@siol.net>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Joonyoung Shim <jy0922.shim@samsung.com>
      Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: CK Hu <ck.hu@mediatek.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Jerry Han <hanxu5@huaqin.corp-partner.google.com>
      Cc: Icenowy Zheng <icenowy@aosc.io>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Cc: Stefan Mavrodiev <stefan@olimex.com>
      Cc: Robert Chiras <robert.chiras@nxp.com>
      Cc: "Guido Günther" <agx@sigxcpu.org>
      Cc: Purism Kernel Team <kernel@puri.sm>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Cc: linux-amlogic@lists.infradead.org
      Cc: nouveau@lists.freedesktop.org
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-4-ville.syrjala@linux.intel.com
      0425662f
  3. Dec 09, 2019
  4. Sep 08, 2019
  5. Aug 24, 2019
  6. Jul 26, 2019
  7. Jun 26, 2019
  8. Jun 13, 2019
  9. Apr 04, 2019
  10. Apr 03, 2019
Loading