Re: [PATCH v2 08/17] drm: Shrink drm_display_mode timings

2020-04-07 Thread Sam Ravnborg
On Fri, Apr 03, 2020 at 11:39:59PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> 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 
> Reviewed-by: Daniel Vetter 
> Signed-off-by: Ville Syrjälä 

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 

> ---
>  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
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH v2 08/17] drm: Shrink drm_display_mode timings

2020-04-03 Thread Ville Syrjala
From: Ville Syrjälä 

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 
Reviewed-by: Daniel Vetter 
Signed-off-by: Ville Syrjälä 
---
 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