Message ID | 20200403204008.14864-9-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Put drm_display_mode on diet | expand |
On Fri, Apr 03, 2020 at 11:39:59PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Store the timings (apart from the clock) as u16. The uapi mode > struct already uses u16 for everything so using something bigger > internally doesn't really help us. > > Reviewed-by: Emil Velikov <emil.velikov@collabora.com> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> In am not a big fan that we have different base types for timing. display_timing.h, video_mode.h uses u32 as well as other places. But uapi for this uses __u16 so OK. Reviewed-by: Sam Ravnborg <sam@ravnborg.org> > --- > drivers/gpu/drm/drm_modes.c | 7 ------ > include/drm/drm_modes.h | 46 ++++++++++++++++++------------------- > 2 files changed, 23 insertions(+), 30 deletions(-) > > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c > index e3d5f011f7bd..77d68120931a 100644 > --- a/drivers/gpu/drm/drm_modes.c > +++ b/drivers/gpu/drm/drm_modes.c > @@ -1901,13 +1901,6 @@ EXPORT_SYMBOL(drm_mode_create_from_cmdline_mode); > void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out, > const struct drm_display_mode *in) > { > - WARN(in->hdisplay > USHRT_MAX || in->hsync_start > USHRT_MAX || > - in->hsync_end > USHRT_MAX || in->htotal > USHRT_MAX || > - in->hskew > USHRT_MAX || in->vdisplay > USHRT_MAX || > - in->vsync_start > USHRT_MAX || in->vsync_end > USHRT_MAX || > - in->vtotal > USHRT_MAX || in->vscan > USHRT_MAX, > - "timing values too large for mode info\n"); > - > out->clock = in->clock; > out->hdisplay = in->hdisplay; > out->hsync_start = in->hsync_start; > diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h > index da7db74a215e..917527eb8067 100644 > --- a/include/drm/drm_modes.h > +++ b/include/drm/drm_modes.h > @@ -278,16 +278,16 @@ struct drm_display_mode { > * Pixel clock in kHz. > */ > int clock; /* in kHz */ > - int hdisplay; > - int hsync_start; > - int hsync_end; > - int htotal; > - int hskew; > - int vdisplay; > - int vsync_start; > - int vsync_end; > - int vtotal; > - int vscan; > + u16 hdisplay; > + u16 hsync_start; > + u16 hsync_end; > + u16 htotal; > + u16 hskew; > + u16 vdisplay; > + u16 vsync_start; > + u16 vsync_end; > + u16 vtotal; > + u16 vscan; > /** > * @flags: > * > @@ -356,19 +356,19 @@ struct drm_display_mode { > * difference is exactly a factor of 10. > */ > int crtc_clock; > - int crtc_hdisplay; > - int crtc_hblank_start; > - int crtc_hblank_end; > - int crtc_hsync_start; > - int crtc_hsync_end; > - int crtc_htotal; > - int crtc_hskew; > - int crtc_vdisplay; > - int crtc_vblank_start; > - int crtc_vblank_end; > - int crtc_vsync_start; > - int crtc_vsync_end; > - int crtc_vtotal; > + u16 crtc_hdisplay; > + u16 crtc_hblank_start; > + u16 crtc_hblank_end; > + u16 crtc_hsync_start; > + u16 crtc_hsync_end; > + u16 crtc_htotal; > + u16 crtc_hskew; > + u16 crtc_vdisplay; > + u16 crtc_vblank_start; > + u16 crtc_vblank_end; > + u16 crtc_vsync_start; > + u16 crtc_vsync_end; > + u16 crtc_vtotal; > > /** > * @private_flags: > -- > 2.24.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index e3d5f011f7bd..77d68120931a 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -1901,13 +1901,6 @@ EXPORT_SYMBOL(drm_mode_create_from_cmdline_mode); void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out, const struct drm_display_mode *in) { - WARN(in->hdisplay > USHRT_MAX || in->hsync_start > USHRT_MAX || - in->hsync_end > USHRT_MAX || in->htotal > USHRT_MAX || - in->hskew > USHRT_MAX || in->vdisplay > USHRT_MAX || - in->vsync_start > USHRT_MAX || in->vsync_end > USHRT_MAX || - in->vtotal > USHRT_MAX || in->vscan > USHRT_MAX, - "timing values too large for mode info\n"); - out->clock = in->clock; out->hdisplay = in->hdisplay; out->hsync_start = in->hsync_start; diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h index da7db74a215e..917527eb8067 100644 --- a/include/drm/drm_modes.h +++ b/include/drm/drm_modes.h @@ -278,16 +278,16 @@ struct drm_display_mode { * Pixel clock in kHz. */ int clock; /* in kHz */ - int hdisplay; - int hsync_start; - int hsync_end; - int htotal; - int hskew; - int vdisplay; - int vsync_start; - int vsync_end; - int vtotal; - int vscan; + u16 hdisplay; + u16 hsync_start; + u16 hsync_end; + u16 htotal; + u16 hskew; + u16 vdisplay; + u16 vsync_start; + u16 vsync_end; + u16 vtotal; + u16 vscan; /** * @flags: * @@ -356,19 +356,19 @@ struct drm_display_mode { * difference is exactly a factor of 10. */ int crtc_clock; - int crtc_hdisplay; - int crtc_hblank_start; - int crtc_hblank_end; - int crtc_hsync_start; - int crtc_hsync_end; - int crtc_htotal; - int crtc_hskew; - int crtc_vdisplay; - int crtc_vblank_start; - int crtc_vblank_end; - int crtc_vsync_start; - int crtc_vsync_end; - int crtc_vtotal; + u16 crtc_hdisplay; + u16 crtc_hblank_start; + u16 crtc_hblank_end; + u16 crtc_hsync_start; + u16 crtc_hsync_end; + u16 crtc_htotal; + u16 crtc_hskew; + u16 crtc_vdisplay; + u16 crtc_vblank_start; + u16 crtc_vblank_end; + u16 crtc_vsync_start; + u16 crtc_vsync_end; + u16 crtc_vtotal; /** * @private_flags: