drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 16 Oct 2017 14:57:03 +0000 (17:57 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 19 Oct 2017 12:38:13 +0000 (15:38 +0300)
commitedba48fdfc4770ee41d71e2c2c0360b15cca6567
tree60dcce19fc83ec9f191019b71045cb0f433cd677
parent043eaf3685c8edccf5400a0260027b864b931797
drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling

SKL DDI B/C/D only have 9 usable buf trans registers for DP/eDP. That
matches the normal DP buf trans tables, but the low vswing eDP tables
have 10 entries. Thus the eDP tables can only be used safely with DDI A
and E.

We try to catch cases where DDI B/C/D gets used with the wrong number of
entires in some parts of the code, but not everywhere. Let's move the
code to deal with that deeper into intel_ddi_get_buf_trans_edp(). And
for sake of symmetry do the same in intel_ddi_get_buf_trans_dp(). That
would also avoid explosions in the rather unlikely case that the DP
tables would get revised to 10 entries as well.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171016145705.11780-9-ville.syrjala@linux.intel.com
Reviewed-by: James Ausmus <james.ausmus@intel.com>
drivers/gpu/drm/i915/intel_ddi.c