Message ID | 20190826132216.2823-5-oleg.vasilev@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3,1/7] drm: move DP_MAX_DOWNSTREAM_PORTS from i915 to drm core | expand |
On Mon, Aug 26, 2019 at 04:22:13PM +0300, Oleg Vasilev wrote: > Since DP-specific information is stored in driver's structures, every > driver needs to implement subconnector property by itself. > > v2: updates to match previous commit changes > > Reviewed-by: Emil Velikov <emil.velikov@collabora.com> > Tested-by: Oleg Vasilev <oleg.vasilev@intel.com> > Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: intel-gfx@lists.freedesktop.org > --- > drivers/gpu/drm/i915/display/intel_dp.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 6da6a4859f06..9c97ece803eb 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -5434,6 +5434,10 @@ intel_dp_detect(struct drm_connector *connector, > if (status != connector_status_connected && !intel_dp->is_mst) > intel_dp_unset_edid(intel_dp); > > + drm_dp_set_subconnector_property(connector, > + status, > + intel_dp->dpcd, > + intel_dp->downstream_ports); > return status; > } > > @@ -6332,6 +6336,8 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect > struct drm_i915_private *dev_priv = to_i915(connector->dev); > enum port port = dp_to_dig_port(intel_dp)->base.port; > > + drm_mode_add_dp_subconnector_property(connector); Maybe skip this for eDP? > + > if (!IS_G4X(dev_priv) && port != PORT_A) > intel_attach_force_audio_property(connector); > > -- > 2.23.0
On Wed, Aug 28, 2019 at 10:27 AM Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > > On Mon, Aug 26, 2019 at 04:22:13PM +0300, Oleg Vasilev wrote: > > Since DP-specific information is stored in driver's structures, every > > driver needs to implement subconnector property by itself. > > > > v2: updates to match previous commit changes > > > > Reviewed-by: Emil Velikov <emil.velikov@collabora.com> > > Tested-by: Oleg Vasilev <oleg.vasilev@intel.com> > > Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Cc: intel-gfx@lists.freedesktop.org > > --- > > drivers/gpu/drm/i915/display/intel_dp.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > > index 6da6a4859f06..9c97ece803eb 100644 > > --- a/drivers/gpu/drm/i915/display/intel_dp.c > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > > @@ -5434,6 +5434,10 @@ intel_dp_detect(struct drm_connector *connector, > > if (status != connector_status_connected && !intel_dp->is_mst) > > intel_dp_unset_edid(intel_dp); > > > > + drm_dp_set_subconnector_property(connector, > > + status, > > + intel_dp->dpcd, > > + intel_dp->downstream_ports); > > return status; > > } > > > > @@ -6332,6 +6336,8 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect > > struct drm_i915_private *dev_priv = to_i915(connector->dev); > > enum port port = dp_to_dig_port(intel_dp)->base.port; > > > > + drm_mode_add_dp_subconnector_property(connector); > > Maybe skip this for eDP? Not sure if you have something similar, but there are AMD platforms that contain eDP to LVDS bridges. Then again, probably not a big deal for the laptop panel. Alex > > > + > > if (!IS_G4X(dev_priv) && port != PORT_A) > > intel_attach_force_audio_property(connector); > > > > -- > > 2.23.0 > > -- > Ville Syrjälä > Intel > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, Aug 29, 2019 at 09:09:14AM -0400, Alex Deucher wrote: > On Wed, Aug 28, 2019 at 10:27 AM Ville Syrjälä > <ville.syrjala@linux.intel.com> wrote: > > > > On Mon, Aug 26, 2019 at 04:22:13PM +0300, Oleg Vasilev wrote: > > > Since DP-specific information is stored in driver's structures, every > > > driver needs to implement subconnector property by itself. > > > > > > v2: updates to match previous commit changes > > > > > > Reviewed-by: Emil Velikov <emil.velikov@collabora.com> > > > Tested-by: Oleg Vasilev <oleg.vasilev@intel.com> > > > Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com> > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > Cc: intel-gfx@lists.freedesktop.org > > > --- > > > drivers/gpu/drm/i915/display/intel_dp.c | 6 ++++++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > > > index 6da6a4859f06..9c97ece803eb 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_dp.c > > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > > > @@ -5434,6 +5434,10 @@ intel_dp_detect(struct drm_connector *connector, > > > if (status != connector_status_connected && !intel_dp->is_mst) > > > intel_dp_unset_edid(intel_dp); > > > > > > + drm_dp_set_subconnector_property(connector, > > > + status, > > > + intel_dp->dpcd, > > > + intel_dp->downstream_ports); > > > return status; > > > } > > > > > > @@ -6332,6 +6336,8 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect > > > struct drm_i915_private *dev_priv = to_i915(connector->dev); > > > enum port port = dp_to_dig_port(intel_dp)->base.port; > > > > > > + drm_mode_add_dp_subconnector_property(connector); > > > > Maybe skip this for eDP? > > Not sure if you have something similar, but there are AMD platforms > that contain eDP to LVDS bridges. Then again, probably not a big deal > for the laptop panel. IIRC those don't generally expose the LVDS side as a DFP anyway. Ie. they just looks like a DP device with a local sink.
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 6da6a4859f06..9c97ece803eb 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -5434,6 +5434,10 @@ intel_dp_detect(struct drm_connector *connector, if (status != connector_status_connected && !intel_dp->is_mst) intel_dp_unset_edid(intel_dp); + drm_dp_set_subconnector_property(connector, + status, + intel_dp->dpcd, + intel_dp->downstream_ports); return status; } @@ -6332,6 +6336,8 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect struct drm_i915_private *dev_priv = to_i915(connector->dev); enum port port = dp_to_dig_port(intel_dp)->base.port; + drm_mode_add_dp_subconnector_property(connector); + if (!IS_G4X(dev_priv) && port != PORT_A) intel_attach_force_audio_property(connector);