drm/i915/icl: Add Combo PHY DDI Buffer translation tables for Icelake.
authorManasi Navare <manasi.d.navare@intel.com>
Fri, 23 Mar 2018 17:24:14 +0000 (10:24 -0700)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 23 Mar 2018 21:55:23 +0000 (14:55 -0700)
commit19b904f8df5c6c1418769de35bf238ef72e49814
treefd91346a099956bbde13bd8404e25859b7394a6c
parent5bb975de3f279c6577fb54334cdd7e55c47a362c
drm/i915/icl: Add Combo PHY DDI Buffer translation tables for Icelake.

These tables are used on voltage vswing sequence initialization on
Icelake.

The swing_sel on the spec's table is defined in a 4 bits binary like
1010.  However the register bits are split in upper 1 bit swing_sel
and lower 3 bits swing sel.

In this table here we store this value as a single value in hex like
it is mentioned in the Bspec and split it to the upper and lower bit
values only while programming the registers.

For instance: b1010 is written as 0xA and then while writing to the
register, the upper 1 bit is obtained by (0xA & 0x8) and shifting by
appropriate bits while lower 3 bits are obtained by (0xA & 0x7) and
shifting by appropriate bits.

Some of the columns need to be updated after the spec is updated.

v5 (from Paulo):
* Checkpatch fixes.
v4 (from Paulo):
* Fix minor typo
* Coding style conformance
v3:
* Get rid of HDMI/DVI tables, same as DP (Paulo)
* Use combo_phy in ddi buf trans table defs (Paulo)
v2:
* Added DW4_scaling_hex column to the translation tables (Rodrigo)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180323172419.24911-3-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/intel_ddi.c