Prior to display version 12, platforms had DDI ports A,B,C,D,E,F represented by enums PORT_A,PORT_B...PORT_F. The DDI register offsets of the ports were in the same order as the ports. So the port enums were directly used as index to calculate the register offset of the ports. Starting in display version 12, TypeC ports were introduced in the platforms. These were defined as new enums PORT_TC1,PORT_TC2... The later generation platforms had DDI register offests of TypeC and non-TypeC ports interleaved and the existing port enums didn't match the order of the DDI register offests. So the enums could no more be used as index to calculate the register offest. This led to the creation of new platform specific enums for the ports like PORT_D_XELPD, PORT_E_XELPD to match the index of the ports in those platforms and additional code to handle the special enums. So we want to make the port enums not tied to DDI register offset and use the index from somewhere else to calculate the register offsets. The index of the DDI ports in the platform is now defined as part of device info. Series includes few patches at the end which does some cleanup and fixing made possible because of unique enums for the ports. v2: ddi_index defined for platforms starting from Gen75. Many platforms from Gen75 has ddi support. Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Balasubramani Vivekanandan (6): drm/i915/display: Pass struct drm_i915_private to DDI_BUF_CTL macro drm/i915/display: Define the DDI port indices inside device info drm/i915/display: Free port enums from tied to register offset drm/i915/display: Remove PORT_D_XELPD/PORT_E_XELPD platform specific defintions drm/i915/display: Fix port_identifier function drm/i915/display: cleanup unused DDI port enums drivers/gpu/drm/i915/display/icl_dsi.c | 12 ++-- drivers/gpu/drm/i915/display/intel_bios.c | 7 +-- drivers/gpu/drm/i915/display/intel_ddi.c | 63 +++++++------------ drivers/gpu/drm/i915/display/intel_display.c | 12 ++-- drivers/gpu/drm/i915/display/intel_display.h | 29 +++++---- .../drm/i915/display/intel_display_power.c | 40 +----------- drivers/gpu/drm/i915/display/intel_fdi.c | 14 ++--- drivers/gpu/drm/i915/display/intel_tc.c | 6 +- drivers/gpu/drm/i915/gvt/display.c | 30 ++++----- drivers/gpu/drm/i915/gvt/handlers.c | 17 ++--- drivers/gpu/drm/i915/i915_pci.c | 46 +++++++++++++- drivers/gpu/drm/i915/i915_reg.h | 4 +- drivers/gpu/drm/i915/intel_device_info.h | 1 + drivers/gpu/drm/i915/intel_gvt_mmio_table.c | 10 +-- include/drm/i915_component.h | 2 +- 15 files changed, 140 insertions(+), 153 deletions(-) -- 2.34.1