• Jani Nikula's avatar
    drm/i915: remove palette_offsets from device info in favor of _PICK() · 74c1e826
    Jani Nikula authored
    The device info offset arrays for unevenly spaced register offsets is
    great for widely used registers. However, the palette registers are only
    used in one function, i9xx_load_luts_internal(), and only for GMCH
    platforms, wasting device info. Replace palette_offsets with _PICK() in
    palette register definition.
    
    While the use of _PICK() does not check for pipe C existence, neither
    does the current offset array usage, and leads to bogus address when
    pipe C is passed to PALETTE() on non-CHV. Using _PICK() at least leads
    to a sensible register offset, just non-existing on non-CHV. Either way,
    this shouldn't happen anyway.
    
    Remove unused old palette macros while at it.
    
    Bloat-o-meter results below for completeness.
    
    add/remove: 0/0 grow/shrink: 3/6 up/down: 94/-278 (-184)
    Function                                     old     new   delta
    i9xx_load_luts_internal                      394     483     +89
    i915_driver_load                            5103    5107      +4
    g4x_pre_enable_dp                            378     379      +1
    intel_engines_init_mmio                     1117    1116      -1
    intel_engine_lookup_user                      47      46      -1
    hdmi_port_clock_valid                        310     309      -1
    gen11_irq_handler                            707     706      -1
    intel_device_info_dump_runtime               329     311     -18
    intel_device_info_runtime_init              5166    4910    -256
    Total: Before=918650, After=918466, chg -0.02%
    
    add/remove: 0/0 grow/shrink: 0/48 up/down: 0/-576 (-576)
    Data                                         old     new   delta
    intel_valleyview_info                        200     188     -12
    intel_skylake_gt4_info                       200     188     -12
    intel_skylake_gt3_info                       200     188     -12
    intel_skylake_gt2_info                       200     188     -12
    intel_skylake_gt1_info                       200     188     -12
    intel_sandybridge_m_gt2_info                 200     188     -12
    intel_sandybridge_m_gt1_info                 200     188     -12
    intel_sandybridge_d_gt2_info                 200     188     -12
    intel_sandybridge_d_gt1_info                 200     188     -12
    intel_pineview_info                          200     188     -12
    intel_kabylake_gt3_info                      200     188     -12
    intel_kabylake_gt2_info                      200     188     -12
    intel_kabylake_gt1_info                      200     188     -12
    intel_ivybridge_q_info                       200     188     -12
    intel_ivybridge_m_gt2_info                   200     188     -12
    intel_ivybridge_m_gt1_info                   200     188     -12
    intel_ivybridge_d_gt2_info                   200     188     -12
    intel_ivybridge_d_gt1_info                   200     188     -12
    intel_ironlake_m_info                        200     188     -12
    intel_ironlake_d_info                        200     188     -12
    intel_icelake_11_info                        200     188     -12
    intel_i965gm_info                            200     188     -12
    intel_i965g_info                             200     188     -12
    intel_i945gm_info                            200     188     -12
    intel_i945g_info                             200     188     -12
    intel_i915gm_info                            200     188     -12
    intel_i915g_info                             200     188     -12
    intel_i865g_info                             200     188     -12
    intel_i85x_info                              200     188     -12
    intel_i845g_info                             200     188     -12
    intel_i830_info                              200     188     -12
    intel_haswell_gt3_info                       200     188     -12
    intel_haswell_gt2_info                       200     188     -12
    intel_haswell_gt1_info                       200     188     -12
    intel_gm45_info                              200     188     -12
    intel_geminilake_info                        200     188     -12
    intel_g45_info                               200     188     -12
    intel_g33_info                               200     188     -12
    intel_coffeelake_gt3_info                    200     188     -12
    intel_coffeelake_gt2_info                    200     188     -12
    intel_coffeelake_gt1_info                    200     188     -12
    intel_cherryview_info                        200     188     -12
    intel_cannonlake_info                        200     188     -12
    intel_broxton_info                           200     188     -12
    intel_broadwell_rsvd_info                    200     188     -12
    intel_broadwell_gt3_info                     200     188     -12
    intel_broadwell_gt2_info                     200     188     -12
    intel_broadwell_gt1_info                     200     188     -12
    Total: Before=195529, After=194953, chg -0.29%
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181031110453.12722-1-jani.nikula@intel.com
    74c1e826
i915_reg.h 439 KB