[Intel-gfx] [PATCH 4/9] drm/i915: Shrink TV modes const data
Jani Nikula
jani.nikula at linux.intel.com
Mon Oct 10 06:49:59 UTC 2016
On Fri, 07 Oct 2016, Tvrtko Ursulin <tursulin at ursulin.net> wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Make struct video_levels and struct tv_mode use data types
> of sufficient width to save approximately one kilobyte in
> the .rodata section.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> drivers/gpu/drm/i915/intel_tv.c | 50 ++++++++++++++++++++++++-----------------
> 1 file changed, 30 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
> index 3988c45f9e5f..fd4d59341897 100644
> --- a/drivers/gpu/drm/i915/intel_tv.c
> +++ b/drivers/gpu/drm/i915/intel_tv.c
> @@ -86,7 +86,8 @@ struct intel_tv {
> };
>
> struct video_levels {
> - int blank, black, burst;
> + u16 blank, black;
> + u8 burst;
> };
>
> struct color_conversion {
> @@ -339,34 +340,43 @@ static const struct video_levels component_levels = {
>
> struct tv_mode {
> const char *name;
> - int clock;
> - int refresh; /* in millihertz (for precision) */
> - u32 oversample;
> - int hsync_end, hblank_start, hblank_end, htotal;
> - bool progressive, trilevel_sync, component_only;
> - int vsync_start_f1, vsync_start_f2, vsync_len;
> - bool veq_ena;
> - int veq_start_f1, veq_start_f2, veq_len;
> - int vi_end_f1, vi_end_f2, nbr_end;
> - bool burst_ena;
> - int hburst_start, hburst_len;
> - int vburst_start_f1, vburst_end_f1;
> - int vburst_start_f2, vburst_end_f2;
> - int vburst_start_f3, vburst_end_f3;
> - int vburst_start_f4, vburst_end_f4;
> +
> + u32 clock;
> + u16 refresh; /* in millihertz (for precision) */
> + u32 oversample;
> + u8 hsync_end;
> + u16 hblank_start, hblank_end, htotal;
> + bool progressive : 1, trilevel_sync : 1, component_only : 1;
> + u8 vsync_start_f1, vsync_start_f2, vsync_len;
> + bool veq_ena : 1;
> + u8 veq_start_f1, veq_start_f2, veq_len;
> + u8 vi_end_f1, vi_end_f2;
> + u16 nbr_end;
> + bool burst_ena : 1;
> + u8 hburst_start, hburst_len;
> + u8 vburst_start_f1;
> + u16 vburst_end_f1;
> + u8 vburst_start_f2;
> + u16 vburst_end_f2;
> + u8 vburst_start_f3;
> + u16 vburst_end_f3;
> + u8 vburst_start_f4;
> + u16 vburst_end_f4;
Not convinced about the indentation change.
BR,
Jani.
> /*
> * subcarrier programming
> */
> - int dda2_size, dda3_size, dda1_inc, dda2_inc, dda3_inc;
> - u32 sc_reset;
> - bool pal_burst;
> + u16 dda2_size, dda3_size;
> + u8 dda1_inc;
> + u16 dda2_inc, dda3_inc;
> + u32 sc_reset;
> + bool pal_burst : 1;
> /*
> * blank/black levels
> */
> const struct video_levels *composite_levels, *svideo_levels;
> const struct color_conversion *composite_color, *svideo_color;
> const u32 *filter_table;
> - int max_srcw;
> + u16 max_srcw;
> };
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list