Message ID | 20190129192637.73296-1-sean@poorly.run (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] drm/TODO: Add drm_display_mode.hsync/vrefresh removal | expand |
On Tue, Jan 29, 2019 at 02:26:29PM -0500, Sean Paul wrote: > From: Sean Paul <seanpaul@chromium.org> > > Drivers shouldn't be using these values, add a TODO so someone removes > them. > > Changes in v2: > - Add drm_display_mode.vrefresh removal (Ville) > - Add Sam's R-b and bonus points > Changes in v3: > - Add hsync removal todo item (Daniel) > - Change vrefresh wording to make removal less optional > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Suggested-by: Daniel Vetter <daniel@ffwll.ch> > Reviewed-by: Daniel Vetter <daniel@ffwll.ch> > Reviewed-by: Sam Ravnborg <sam@ravnborg.org> > Bonus-points-awarded-by: Sam Ravnborg <sam@ravnborg.org> > Signed-off-by: Sean Paul <seanpaul@chromium.org> And applied to -misc-next. Thanks for the reviews, all. Sean > --- > > This time with feeling. > > Documentation/gpu/todo.rst | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst > index 38360ede12215..f67c84b92873c 100644 > --- a/Documentation/gpu/todo.rst > +++ b/Documentation/gpu/todo.rst > @@ -262,6 +262,34 @@ As a reference, take a look at the conversions already completed in drm core. > > Contact: Sean Paul, respective driver maintainers > > +Convert direct mode.vrefresh accesses to use drm_mode_vrefresh() > +---------------------------------------------------------------- > + > +drm_display_mode.vrefresh isn't guaranteed to be populated. As such, using it > +is risky and has been known to cause div-by-zero bugs. Fortunately, drm core > +has helper which will use mode.vrefresh if it's !0 and will calculate it from > +the timings when it's 0. > + > +Use simple search/replace, or (more fun) cocci to replace instances of direct > +vrefresh access with a call to the helper. Check out > +https://lists.freedesktop.org/archives/dri-devel/2019-January/205186.html for > +inspiration. > + > +Once all instances of vrefresh have been converted, remove vrefresh from > +drm_display_mode to avoid future use. > + > +Contact: Sean Paul > + > +Remove drm_display_mode.hsync > +----------------------------- > + > +We have drm_mode_hsync() to calculate this from hsync_start/end, since drivers > +shouldn't/don't use this, remove this member to avoid any temptations to use it > +in the future. If there is any debug code using drm_display_mode.hsync, convert > +it to use drm_mode_hsync() instead. > + > +Contact: Sean Paul > + > Core refactorings > ================= > > -- > Sean Paul, Software Engineer, Google / Chromium OS >
diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst index 38360ede12215..f67c84b92873c 100644 --- a/Documentation/gpu/todo.rst +++ b/Documentation/gpu/todo.rst @@ -262,6 +262,34 @@ As a reference, take a look at the conversions already completed in drm core. Contact: Sean Paul, respective driver maintainers +Convert direct mode.vrefresh accesses to use drm_mode_vrefresh() +---------------------------------------------------------------- + +drm_display_mode.vrefresh isn't guaranteed to be populated. As such, using it +is risky and has been known to cause div-by-zero bugs. Fortunately, drm core +has helper which will use mode.vrefresh if it's !0 and will calculate it from +the timings when it's 0. + +Use simple search/replace, or (more fun) cocci to replace instances of direct +vrefresh access with a call to the helper. Check out +https://lists.freedesktop.org/archives/dri-devel/2019-January/205186.html for +inspiration. + +Once all instances of vrefresh have been converted, remove vrefresh from +drm_display_mode to avoid future use. + +Contact: Sean Paul + +Remove drm_display_mode.hsync +----------------------------- + +We have drm_mode_hsync() to calculate this from hsync_start/end, since drivers +shouldn't/don't use this, remove this member to avoid any temptations to use it +in the future. If there is any debug code using drm_display_mode.hsync, convert +it to use drm_mode_hsync() instead. + +Contact: Sean Paul + Core refactorings =================