diff mbox series

Revert "drm/i915/mst: Populate connector->ddc"

Message ID 20230919095659.10742-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series Revert "drm/i915/mst: Populate connector->ddc" | expand

Commit Message

Ville Syrjälä Sept. 19, 2023, 9:56 a.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

This reverts commit 959fb1a686528df1b8fb0cc7bec8ff851b1594a5.

Looks like the core MST code might not call i2c_adapter() for us
in time, and thus creating the ddc symlink will fail. This will
in fact fail the entire connector registration, but the MST code
doesn't really seem to care about that and blindly plows ahead.
All we may get in the logs is a nearly back to back
register+unregister debug messages:
 [drm:drm_dp_mst_connector_late_register [drm_display_helper]] registering DPMST remote bus for card0-DP-7
 [drm:intel_dp_hpd_pulse [i915]] DPRX ESI: 42 00 00 02
 [drm:drm_dp_mst_connector_early_unregister [drm_display_helper]] unregistering DPMST remote bus for card0-DP-7

Untangling the initialization order may take some real work,
so let's just revert the ddc symlink addition for now...

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9357
Fixes: 959fb1a68652 ("drm/i915/mst: Populate connector->ddc")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Jani Nikula Sept. 19, 2023, 11:03 a.m. UTC | #1
On Tue, 19 Sep 2023, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> This reverts commit 959fb1a686528df1b8fb0cc7bec8ff851b1594a5.
>
> Looks like the core MST code might not call i2c_adapter() for us
> in time, and thus creating the ddc symlink will fail. This will
> in fact fail the entire connector registration, but the MST code
> doesn't really seem to care about that and blindly plows ahead.
> All we may get in the logs is a nearly back to back
> register+unregister debug messages:
>  [drm:drm_dp_mst_connector_late_register [drm_display_helper]] registering DPMST remote bus for card0-DP-7
>  [drm:intel_dp_hpd_pulse [i915]] DPRX ESI: 42 00 00 02
>  [drm:drm_dp_mst_connector_early_unregister [drm_display_helper]] unregistering DPMST remote bus for card0-DP-7
>
> Untangling the initialization order may take some real work,
> so let's just revert the ddc symlink addition for now...
>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9357
> Fixes: 959fb1a68652 ("drm/i915/mst: Populate connector->ddc")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Acked-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 80411ce85fc0..ff3accebf0a8 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -1110,10 +1110,8 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
>  	drm_dp_mst_get_port_malloc(port);
>  
>  	connector = &intel_connector->base;
> -	ret = drm_connector_init_with_ddc(dev, connector,
> -					  &intel_dp_mst_connector_funcs,
> -					  DRM_MODE_CONNECTOR_DisplayPort,
> -					  &port->aux.ddc);
> +	ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
> +				 DRM_MODE_CONNECTOR_DisplayPort);
>  	if (ret) {
>  		drm_dp_mst_put_port_malloc(port);
>  		intel_connector_free(intel_connector);
Karthik B S Sept. 21, 2023, 6:58 a.m. UTC | #2
On 9/19/2023 3:26 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> This reverts commit 959fb1a686528df1b8fb0cc7bec8ff851b1594a5.
>
> Looks like the core MST code might not call i2c_adapter() for us
> in time, and thus creating the ddc symlink will fail. This will
> in fact fail the entire connector registration, but the MST code
> doesn't really seem to care about that and blindly plows ahead.
> All we may get in the logs is a nearly back to back
> register+unregister debug messages:
>   [drm:drm_dp_mst_connector_late_register [drm_display_helper]] registering DPMST remote bus for card0-DP-7
>   [drm:intel_dp_hpd_pulse [i915]] DPRX ESI: 42 00 00 02
>   [drm:drm_dp_mst_connector_early_unregister [drm_display_helper]] unregistering DPMST remote bus for card0-DP-7
>
> Untangling the initialization order may take some real work,
> so let's just revert the ddc symlink addition for now...
>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9357
> Fixes: 959fb1a68652 ("drm/i915/mst: Populate connector->ddc")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Karthik B S <karthik.b.s@intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_dp_mst.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 80411ce85fc0..ff3accebf0a8 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -1110,10 +1110,8 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
>   	drm_dp_mst_get_port_malloc(port);
>   
>   	connector = &intel_connector->base;
> -	ret = drm_connector_init_with_ddc(dev, connector,
> -					  &intel_dp_mst_connector_funcs,
> -					  DRM_MODE_CONNECTOR_DisplayPort,
> -					  &port->aux.ddc);
> +	ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
> +				 DRM_MODE_CONNECTOR_DisplayPort);
>   	if (ret) {
>   		drm_dp_mst_put_port_malloc(port);
>   		intel_connector_free(intel_connector);
Ville Syrjälä Sept. 21, 2023, 11:34 a.m. UTC | #3
On Thu, Sep 21, 2023 at 12:28:53PM +0530, Karthik B S wrote:
> 
> On 9/19/2023 3:26 PM, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > This reverts commit 959fb1a686528df1b8fb0cc7bec8ff851b1594a5.
> >
> > Looks like the core MST code might not call i2c_adapter() for us
> > in time, and thus creating the ddc symlink will fail. This will
> > in fact fail the entire connector registration, but the MST code
> > doesn't really seem to care about that and blindly plows ahead.
> > All we may get in the logs is a nearly back to back
> > register+unregister debug messages:
> >   [drm:drm_dp_mst_connector_late_register [drm_display_helper]] registering DPMST remote bus for card0-DP-7
> >   [drm:intel_dp_hpd_pulse [i915]] DPRX ESI: 42 00 00 02
> >   [drm:drm_dp_mst_connector_early_unregister [drm_display_helper]] unregistering DPMST remote bus for card0-DP-7
> >
> > Untangling the initialization order may take some real work,
> > so let's just revert the ddc symlink addition for now...
> >
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9357
> > Fixes: 959fb1a68652 ("drm/i915/mst: Populate connector->ddc")
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Tested-by: Karthik B S <karthik.b.s@intel.com>

I assume that means it helped with the actual problem -> pushed to din
Thanks.

> > ---
> >   drivers/gpu/drm/i915/display/intel_dp_mst.c | 6 ++----
> >   1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > index 80411ce85fc0..ff3accebf0a8 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > @@ -1110,10 +1110,8 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
> >   	drm_dp_mst_get_port_malloc(port);
> >   
> >   	connector = &intel_connector->base;
> > -	ret = drm_connector_init_with_ddc(dev, connector,
> > -					  &intel_dp_mst_connector_funcs,
> > -					  DRM_MODE_CONNECTOR_DisplayPort,
> > -					  &port->aux.ddc);
> > +	ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
> > +				 DRM_MODE_CONNECTOR_DisplayPort);
> >   	if (ret) {
> >   		drm_dp_mst_put_port_malloc(port);
> >   		intel_connector_free(intel_connector);
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 80411ce85fc0..ff3accebf0a8 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -1110,10 +1110,8 @@  static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
 	drm_dp_mst_get_port_malloc(port);
 
 	connector = &intel_connector->base;
-	ret = drm_connector_init_with_ddc(dev, connector,
-					  &intel_dp_mst_connector_funcs,
-					  DRM_MODE_CONNECTOR_DisplayPort,
-					  &port->aux.ddc);
+	ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs,
+				 DRM_MODE_CONNECTOR_DisplayPort);
 	if (ret) {
 		drm_dp_mst_put_port_malloc(port);
 		intel_connector_free(intel_connector);