On 04.10.2022 16:03, Jani Nikula wrote: > On Tue, 04 Oct 2022, Balasubramani Vivekanandan <balasubramani.vivekanandan@xxxxxxxxx> wrote: > > 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. > > v3: Updated DDI_CLK_SEL macro to use new index for DDI register offset > > caculation. > > v4: After removing d13_port_domains array, d12_port_domains is used for > > all platforms with DISPLAY_VER 12 and above. So the port_end member had > > to fixed to extend it for ports D and E. > > > > Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Why do you keep sending several new versions within days when there's > been no replies to the previous ones? > > BR, > Jani. Apologies for the frequent revisions. These are to fix the CI failures. I created v4 to fix few reported CI failures. When I further analyzed the CI report, some failures which were suppressed saying results are from untrusted machines, tests, or statuses were actually regressions. So I had to create new revisions though BAT and IGT CI results were successful. I have fixed all the CI failures with the recent revision. Regards, Bala > > > > > > Balasubramani Vivekanandan (7): > > drm/i915/display: Pass struct drm_i915_private to DDI_BUF_CTL macro > > drm/i915/display: Pass struct drm_i915_private to DDI_CLK_SEL 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 | 80 ++++++++----------- > > 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 | 44 +--------- > > 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 | 7 +- > > 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, 153 insertions(+), 164 deletions(-) > > -- > Jani Nikula, Intel Open Source Graphics Center