On Fri, Feb 17, 2023 at 06:35:51PM +0530, Nautiyal, Ankit K wrote: > > On 2/17/2023 5:32 PM, Ville Syrjälä wrote: > > On Fri, Feb 17, 2023 at 03:15:59PM +0530, Nautiyal, Ankit K wrote: > >> On 2/17/2023 4:43 AM, Ville Syrjala wrote: > >>> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > >>> > >>> SKL/derivatives have DDI E but no AUX E, so we need to pick > >>> another aux ch as the platform default. DDI E is more or less > >>> the other half of DDI A, so we pick AUX A. > >>> > >>> In all other cases we should have a corresponding aux ch for > >>> each DDI. > >>> > >>> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > >>> --- > >>> drivers/gpu/drm/i915/display/intel_dp_aux.c | 14 ++++++++++++-- > >>> 1 file changed, 12 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c > >>> index 57eb3ff187fa..96967e21c94c 100644 > >>> --- a/drivers/gpu/drm/i915/display/intel_dp_aux.c > >>> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c > >>> @@ -739,10 +739,20 @@ void intel_dp_aux_init(struct intel_dp *intel_dp) > >>> cpu_latency_qos_add_request(&intel_dp->pm_qos, PM_QOS_DEFAULT_VALUE); > >>> } > >>> > >>> +static enum aux_ch default_aux_ch(struct intel_encoder *encoder) > >>> +{ > >>> + struct drm_i915_private *i915 = to_i915(encoder->base.dev); > >>> + > >>> + /* SKL has DDI E but no AUX E */ > >>> + if (DISPLAY_VER(i915) == 9 && encoder->port == PORT_E) > >>> + return AUX_CH_A; > >>> + > >> I guess we might need to fix intel_dp_aux_init also. Wont we have > >> dig_port->aux_ch and intel_dp->aux_ch pointing to different things? > > There is no intel_dp->aux_ch. > > > >> For example for SKL and DDI E, intel_dp->aux.name will be derived from > >> dig_port->aux_ch i.e. AUX_CH_A but intel_dp->aux_ctl/data reg will still > >> point to DP_AUX_CH_CTL/DATA_E. > >> > >> Am I missing something? > > Everything is based on dig_port->aux_ch. > > Yeah my bad. I think I misread and got confused. We indeed are using > dig_port->aux_ch, for getting aux_ctl/data reg. > > I couldnt get the exact bspec mention for SKL not having AUX E, but SKL > Display connection Bspec:4217 throws some light, if I am not fully off. > > Is this applicable to Canonlake too (Bspec:14004) from Display > connection it does seem to have DDI E but no DP_AUX E? There is no Cannonlake. -- Ville Syrjälä Intel