Message ID | 20191128135106.21985-1-andrzej.p@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Provide ddc symlink in hdmi connector sysfs directory | expand |
On Thu, 28 Nov 2019, Andrzej Pietrasiewicz <andrzej.p@collabora.com> wrote: > Use the ddc pointer provided by the generic connector. > > Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> > Acked-by: Sam Ravnborg <sam@ravnborg.org> > Reviewed-by: Emil Velikov <emil.velikov@collabora.com> > --- > Rebased onto drm-misc-next as of 28 Nov 2019 The conflict is in drm-intel-next-queued where this would be applied. Please rebase on drm-tip or drm-intel-next-queued. BR, Jani. > > drivers/gpu/drm/i915/display/intel_hdmi.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c > index b54ccbb5aad5..40f32f2d8af1 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -3128,6 +3128,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > struct intel_encoder *intel_encoder = &intel_dig_port->base; > struct drm_device *dev = intel_encoder->base.dev; > struct drm_i915_private *dev_priv = to_i915(dev); > + struct i2c_adapter *ddc; > enum port port = intel_encoder->port; > struct cec_connector_info conn_info; > > @@ -3140,8 +3141,13 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > intel_encoder->base.name)) > return; > > - drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, > - DRM_MODE_CONNECTOR_HDMIA); > + intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port); > + ddc = intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus); > + > + drm_connector_init_with_ddc(dev, connector, > + &intel_hdmi_connector_funcs, > + DRM_MODE_CONNECTOR_HDMIA, > + ddc); > drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); > > connector->interlace_allowed = 1; > @@ -3151,8 +3157,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) > connector->ycbcr_420_allowed = true; > > - intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port); > - > if (WARN_ON(port == PORT_A)) > return; > intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index b54ccbb5aad5..40f32f2d8af1 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -3128,6 +3128,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, struct intel_encoder *intel_encoder = &intel_dig_port->base; struct drm_device *dev = intel_encoder->base.dev; struct drm_i915_private *dev_priv = to_i915(dev); + struct i2c_adapter *ddc; enum port port = intel_encoder->port; struct cec_connector_info conn_info; @@ -3140,8 +3141,13 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, intel_encoder->base.name)) return; - drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, - DRM_MODE_CONNECTOR_HDMIA); + intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port); + ddc = intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus); + + drm_connector_init_with_ddc(dev, connector, + &intel_hdmi_connector_funcs, + DRM_MODE_CONNECTOR_HDMIA, + ddc); drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); connector->interlace_allowed = 1; @@ -3151,8 +3157,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) connector->ycbcr_420_allowed = true; - intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port); - if (WARN_ON(port == PORT_A)) return; intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);