[Intel-gfx] [PATCH v6 0/7] drm/i915/display: Don't use port enum as register offset

Balasubramani Vivekanandan balasubramani.vivekanandan at intel.com
Tue Oct 4 13:40:31 UTC 2022


On 04.10.2022 16:03, Jani Nikula wrote:
> On Tue, 04 Oct 2022, Balasubramani Vivekanandan <balasubramani.vivekanandan at intel.com> 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 at linux.intel.com>
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> 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


More information about the Intel-gfx mailing list