drm: Shrink drm_display_mode timings
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: Sam Ravnborg <sam@ravnborg.org> 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> Link: https://patchwork.freedesktop.org/patch/msgid/20200428171940.19552-9-ville.syrjala@linux.intel.com
This commit is contained in:
@ -1901,13 +1901,6 @@ EXPORT_SYMBOL(drm_mode_create_from_cmdline_mode);
|
|||||||
void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
|
void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
|
||||||
const struct drm_display_mode *in)
|
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->clock = in->clock;
|
||||||
out->hdisplay = in->hdisplay;
|
out->hdisplay = in->hdisplay;
|
||||||
out->hsync_start = in->hsync_start;
|
out->hsync_start = in->hsync_start;
|
||||||
|
@ -279,16 +279,16 @@ struct drm_display_mode {
|
|||||||
* Pixel clock in kHz.
|
* Pixel clock in kHz.
|
||||||
*/
|
*/
|
||||||
int clock; /* in kHz */
|
int clock; /* in kHz */
|
||||||
int hdisplay;
|
u16 hdisplay;
|
||||||
int hsync_start;
|
u16 hsync_start;
|
||||||
int hsync_end;
|
u16 hsync_end;
|
||||||
int htotal;
|
u16 htotal;
|
||||||
int hskew;
|
u16 hskew;
|
||||||
int vdisplay;
|
u16 vdisplay;
|
||||||
int vsync_start;
|
u16 vsync_start;
|
||||||
int vsync_end;
|
u16 vsync_end;
|
||||||
int vtotal;
|
u16 vtotal;
|
||||||
int vscan;
|
u16 vscan;
|
||||||
/**
|
/**
|
||||||
* @flags:
|
* @flags:
|
||||||
*
|
*
|
||||||
@ -357,19 +357,19 @@ struct drm_display_mode {
|
|||||||
* difference is exactly a factor of 10.
|
* difference is exactly a factor of 10.
|
||||||
*/
|
*/
|
||||||
int crtc_clock;
|
int crtc_clock;
|
||||||
int crtc_hdisplay;
|
u16 crtc_hdisplay;
|
||||||
int crtc_hblank_start;
|
u16 crtc_hblank_start;
|
||||||
int crtc_hblank_end;
|
u16 crtc_hblank_end;
|
||||||
int crtc_hsync_start;
|
u16 crtc_hsync_start;
|
||||||
int crtc_hsync_end;
|
u16 crtc_hsync_end;
|
||||||
int crtc_htotal;
|
u16 crtc_htotal;
|
||||||
int crtc_hskew;
|
u16 crtc_hskew;
|
||||||
int crtc_vdisplay;
|
u16 crtc_vdisplay;
|
||||||
int crtc_vblank_start;
|
u16 crtc_vblank_start;
|
||||||
int crtc_vblank_end;
|
u16 crtc_vblank_end;
|
||||||
int crtc_vsync_start;
|
u16 crtc_vsync_start;
|
||||||
int crtc_vsync_end;
|
u16 crtc_vsync_end;
|
||||||
int crtc_vtotal;
|
u16 crtc_vtotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private_flags:
|
* @private_flags:
|
||||||
|
Reference in New Issue
Block a user