All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: intel-gfx@lists.freedesktop.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	amd-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@siol.net>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"open list" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached
Date: Fri, 19 Mar 2021 15:27:15 +0100	[thread overview]
Message-ID: <CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-5-lyude@redhat.com>

Hey Lyude,

This patch looks good to me.

Reviewed-by: Robert Foss <robert.foss@linaro.org>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <lyude@redhat.com> wrote:
>
> Since this is a bridge, we don't start out with a respective DRM device.
> Likewise this means we don't have a connector, which also means that we
> should be following drm_dp_aux_register()'s documentation advice and not
> call drm_dp_aux_register() until we have a matching connector. Instead,
> call drm_dp_aux_init() in tc_probe() and wait until tc_bridge_attach() to
> register our AUX channel. We also add tc_bridge_detach() to handle
> unregistering the AUX adapter once the bridge has been disconnected.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 34a3e4e9f717..da89922721ed 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1414,11 +1414,15 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
>                 return 0;
>
> +       ret = drm_dp_aux_register(&tc->aux);
> +       if (ret < 0)
> +               return ret;
> +
>         /* Create DP/eDP connector */
>         drm_connector_helper_add(&tc->connector, &tc_connector_helper_funcs);
>         ret = drm_connector_init(drm, &tc->connector, &tc_connector_funcs, tc->bridge.type);
>         if (ret)
> -               return ret;
> +               goto aux_unregister;
>
>         /* Don't poll if don't have HPD connected */
>         if (tc->hpd_pin >= 0) {
> @@ -1438,10 +1442,19 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>
>         return 0;
> +aux_unregister:
> +       drm_dp_aux_unregister(&tc->aux);
> +       return ret;
> +}
> +
> +static void tc_bridge_detach(struct drm_bridge *bridge)
> +{
> +       drm_dp_aux_unregister(&bridge_to_tc(bridge)->aux);
>  }
>
>  static const struct drm_bridge_funcs tc_bridge_funcs = {
>         .attach = tc_bridge_attach,
> +       .detach = tc_bridge_detach,
>         .mode_valid = tc_mode_valid,
>         .mode_set = tc_bridge_mode_set,
>         .enable = tc_bridge_enable,
> @@ -1680,9 +1693,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
>         tc->aux.name = "TC358767 AUX i2c adapter";
>         tc->aux.dev = tc->dev;
>         tc->aux.transfer = tc_aux_transfer;
> -       ret = drm_dp_aux_register(&tc->aux);
> -       if (ret)
> -               return ret;
> +       drm_dp_aux_init(&tc->aux);
>
>         tc->bridge.funcs = &tc_bridge_funcs;
>         if (tc->hpd_pin >= 0)
> @@ -1702,7 +1713,6 @@ static int tc_remove(struct i2c_client *client)
>         struct tc_data *tc = i2c_get_clientdata(client);
>
>         drm_bridge_remove(&tc->bridge);
> -       drm_dp_aux_unregister(&tc->aux);
>
>         return 0;
>  }
> --
> 2.29.2
>

WARNING: multiple messages have this Message-ID (diff)
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: "Jernej Skrabec" <jernej.skrabec@siol.net>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	amd-gfx@lists.freedesktop.org,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>
Subject: Re: [Nouveau] [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached
Date: Fri, 19 Mar 2021 15:27:15 +0100	[thread overview]
Message-ID: <CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-5-lyude@redhat.com>

Hey Lyude,

This patch looks good to me.

Reviewed-by: Robert Foss <robert.foss@linaro.org>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <lyude@redhat.com> wrote:
>
> Since this is a bridge, we don't start out with a respective DRM device.
> Likewise this means we don't have a connector, which also means that we
> should be following drm_dp_aux_register()'s documentation advice and not
> call drm_dp_aux_register() until we have a matching connector. Instead,
> call drm_dp_aux_init() in tc_probe() and wait until tc_bridge_attach() to
> register our AUX channel. We also add tc_bridge_detach() to handle
> unregistering the AUX adapter once the bridge has been disconnected.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 34a3e4e9f717..da89922721ed 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1414,11 +1414,15 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
>                 return 0;
>
> +       ret = drm_dp_aux_register(&tc->aux);
> +       if (ret < 0)
> +               return ret;
> +
>         /* Create DP/eDP connector */
>         drm_connector_helper_add(&tc->connector, &tc_connector_helper_funcs);
>         ret = drm_connector_init(drm, &tc->connector, &tc_connector_funcs, tc->bridge.type);
>         if (ret)
> -               return ret;
> +               goto aux_unregister;
>
>         /* Don't poll if don't have HPD connected */
>         if (tc->hpd_pin >= 0) {
> @@ -1438,10 +1442,19 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>
>         return 0;
> +aux_unregister:
> +       drm_dp_aux_unregister(&tc->aux);
> +       return ret;
> +}
> +
> +static void tc_bridge_detach(struct drm_bridge *bridge)
> +{
> +       drm_dp_aux_unregister(&bridge_to_tc(bridge)->aux);
>  }
>
>  static const struct drm_bridge_funcs tc_bridge_funcs = {
>         .attach = tc_bridge_attach,
> +       .detach = tc_bridge_detach,
>         .mode_valid = tc_mode_valid,
>         .mode_set = tc_bridge_mode_set,
>         .enable = tc_bridge_enable,
> @@ -1680,9 +1693,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
>         tc->aux.name = "TC358767 AUX i2c adapter";
>         tc->aux.dev = tc->dev;
>         tc->aux.transfer = tc_aux_transfer;
> -       ret = drm_dp_aux_register(&tc->aux);
> -       if (ret)
> -               return ret;
> +       drm_dp_aux_init(&tc->aux);
>
>         tc->bridge.funcs = &tc_bridge_funcs;
>         if (tc->hpd_pin >= 0)
> @@ -1702,7 +1713,6 @@ static int tc_remove(struct i2c_client *client)
>         struct tc_data *tc = i2c_get_clientdata(client);
>
>         drm_bridge_remove(&tc->bridge);
> -       drm_dp_aux_unregister(&tc->aux);
>
>         return 0;
>  }
> --
> 2.29.2
>
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

WARNING: multiple messages have this Message-ID (diff)
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	David Airlie <airlied@linux.ie>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Jonas Karlman <jonas@kwiboo.se>,
	open list <linux-kernel@vger.kernel.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	amd-gfx@lists.freedesktop.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached
Date: Fri, 19 Mar 2021 15:27:15 +0100	[thread overview]
Message-ID: <CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-5-lyude@redhat.com>

Hey Lyude,

This patch looks good to me.

Reviewed-by: Robert Foss <robert.foss@linaro.org>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <lyude@redhat.com> wrote:
>
> Since this is a bridge, we don't start out with a respective DRM device.
> Likewise this means we don't have a connector, which also means that we
> should be following drm_dp_aux_register()'s documentation advice and not
> call drm_dp_aux_register() until we have a matching connector. Instead,
> call drm_dp_aux_init() in tc_probe() and wait until tc_bridge_attach() to
> register our AUX channel. We also add tc_bridge_detach() to handle
> unregistering the AUX adapter once the bridge has been disconnected.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 34a3e4e9f717..da89922721ed 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1414,11 +1414,15 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
>                 return 0;
>
> +       ret = drm_dp_aux_register(&tc->aux);
> +       if (ret < 0)
> +               return ret;
> +
>         /* Create DP/eDP connector */
>         drm_connector_helper_add(&tc->connector, &tc_connector_helper_funcs);
>         ret = drm_connector_init(drm, &tc->connector, &tc_connector_funcs, tc->bridge.type);
>         if (ret)
> -               return ret;
> +               goto aux_unregister;
>
>         /* Don't poll if don't have HPD connected */
>         if (tc->hpd_pin >= 0) {
> @@ -1438,10 +1442,19 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>
>         return 0;
> +aux_unregister:
> +       drm_dp_aux_unregister(&tc->aux);
> +       return ret;
> +}
> +
> +static void tc_bridge_detach(struct drm_bridge *bridge)
> +{
> +       drm_dp_aux_unregister(&bridge_to_tc(bridge)->aux);
>  }
>
>  static const struct drm_bridge_funcs tc_bridge_funcs = {
>         .attach = tc_bridge_attach,
> +       .detach = tc_bridge_detach,
>         .mode_valid = tc_mode_valid,
>         .mode_set = tc_bridge_mode_set,
>         .enable = tc_bridge_enable,
> @@ -1680,9 +1693,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
>         tc->aux.name = "TC358767 AUX i2c adapter";
>         tc->aux.dev = tc->dev;
>         tc->aux.transfer = tc_aux_transfer;
> -       ret = drm_dp_aux_register(&tc->aux);
> -       if (ret)
> -               return ret;
> +       drm_dp_aux_init(&tc->aux);
>
>         tc->bridge.funcs = &tc_bridge_funcs;
>         if (tc->hpd_pin >= 0)
> @@ -1702,7 +1713,6 @@ static int tc_remove(struct i2c_client *client)
>         struct tc_data *tc = i2c_get_clientdata(client);
>
>         drm_bridge_remove(&tc->bridge);
> -       drm_dp_aux_unregister(&tc->aux);
>
>         return 0;
>  }
> --
> 2.29.2
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	David Airlie <airlied@linux.ie>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Jonas Karlman <jonas@kwiboo.se>,
	open list <linux-kernel@vger.kernel.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	amd-gfx@lists.freedesktop.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Subject: Re: [Intel-gfx] [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached
Date: Fri, 19 Mar 2021 15:27:15 +0100	[thread overview]
Message-ID: <CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-5-lyude@redhat.com>

Hey Lyude,

This patch looks good to me.

Reviewed-by: Robert Foss <robert.foss@linaro.org>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <lyude@redhat.com> wrote:
>
> Since this is a bridge, we don't start out with a respective DRM device.
> Likewise this means we don't have a connector, which also means that we
> should be following drm_dp_aux_register()'s documentation advice and not
> call drm_dp_aux_register() until we have a matching connector. Instead,
> call drm_dp_aux_init() in tc_probe() and wait until tc_bridge_attach() to
> register our AUX channel. We also add tc_bridge_detach() to handle
> unregistering the AUX adapter once the bridge has been disconnected.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 34a3e4e9f717..da89922721ed 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1414,11 +1414,15 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
>                 return 0;
>
> +       ret = drm_dp_aux_register(&tc->aux);
> +       if (ret < 0)
> +               return ret;
> +
>         /* Create DP/eDP connector */
>         drm_connector_helper_add(&tc->connector, &tc_connector_helper_funcs);
>         ret = drm_connector_init(drm, &tc->connector, &tc_connector_funcs, tc->bridge.type);
>         if (ret)
> -               return ret;
> +               goto aux_unregister;
>
>         /* Don't poll if don't have HPD connected */
>         if (tc->hpd_pin >= 0) {
> @@ -1438,10 +1442,19 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>
>         return 0;
> +aux_unregister:
> +       drm_dp_aux_unregister(&tc->aux);
> +       return ret;
> +}
> +
> +static void tc_bridge_detach(struct drm_bridge *bridge)
> +{
> +       drm_dp_aux_unregister(&bridge_to_tc(bridge)->aux);
>  }
>
>  static const struct drm_bridge_funcs tc_bridge_funcs = {
>         .attach = tc_bridge_attach,
> +       .detach = tc_bridge_detach,
>         .mode_valid = tc_mode_valid,
>         .mode_set = tc_bridge_mode_set,
>         .enable = tc_bridge_enable,
> @@ -1680,9 +1693,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
>         tc->aux.name = "TC358767 AUX i2c adapter";
>         tc->aux.dev = tc->dev;
>         tc->aux.transfer = tc_aux_transfer;
> -       ret = drm_dp_aux_register(&tc->aux);
> -       if (ret)
> -               return ret;
> +       drm_dp_aux_init(&tc->aux);
>
>         tc->bridge.funcs = &tc_bridge_funcs;
>         if (tc->hpd_pin >= 0)
> @@ -1702,7 +1713,6 @@ static int tc_remove(struct i2c_client *client)
>         struct tc_data *tc = i2c_get_clientdata(client);
>
>         drm_bridge_remove(&tc->bridge);
> -       drm_dp_aux_unregister(&tc->aux);
>
>         return 0;
>  }
> --
> 2.29.2
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: "Jernej Skrabec" <jernej.skrabec@siol.net>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	amd-gfx@lists.freedesktop.org,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached
Date: Fri, 19 Mar 2021 15:27:15 +0100	[thread overview]
Message-ID: <CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-5-lyude@redhat.com>

Hey Lyude,

This patch looks good to me.

Reviewed-by: Robert Foss <robert.foss@linaro.org>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <lyude@redhat.com> wrote:
>
> Since this is a bridge, we don't start out with a respective DRM device.
> Likewise this means we don't have a connector, which also means that we
> should be following drm_dp_aux_register()'s documentation advice and not
> call drm_dp_aux_register() until we have a matching connector. Instead,
> call drm_dp_aux_init() in tc_probe() and wait until tc_bridge_attach() to
> register our AUX channel. We also add tc_bridge_detach() to handle
> unregistering the AUX adapter once the bridge has been disconnected.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 34a3e4e9f717..da89922721ed 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1414,11 +1414,15 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
>                 return 0;
>
> +       ret = drm_dp_aux_register(&tc->aux);
> +       if (ret < 0)
> +               return ret;
> +
>         /* Create DP/eDP connector */
>         drm_connector_helper_add(&tc->connector, &tc_connector_helper_funcs);
>         ret = drm_connector_init(drm, &tc->connector, &tc_connector_funcs, tc->bridge.type);
>         if (ret)
> -               return ret;
> +               goto aux_unregister;
>
>         /* Don't poll if don't have HPD connected */
>         if (tc->hpd_pin >= 0) {
> @@ -1438,10 +1442,19 @@ static int tc_bridge_attach(struct drm_bridge *bridge,
>         drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>
>         return 0;
> +aux_unregister:
> +       drm_dp_aux_unregister(&tc->aux);
> +       return ret;
> +}
> +
> +static void tc_bridge_detach(struct drm_bridge *bridge)
> +{
> +       drm_dp_aux_unregister(&bridge_to_tc(bridge)->aux);
>  }
>
>  static const struct drm_bridge_funcs tc_bridge_funcs = {
>         .attach = tc_bridge_attach,
> +       .detach = tc_bridge_detach,
>         .mode_valid = tc_mode_valid,
>         .mode_set = tc_bridge_mode_set,
>         .enable = tc_bridge_enable,
> @@ -1680,9 +1693,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
>         tc->aux.name = "TC358767 AUX i2c adapter";
>         tc->aux.dev = tc->dev;
>         tc->aux.transfer = tc_aux_transfer;
> -       ret = drm_dp_aux_register(&tc->aux);
> -       if (ret)
> -               return ret;
> +       drm_dp_aux_init(&tc->aux);
>
>         tc->bridge.funcs = &tc_bridge_funcs;
>         if (tc->hpd_pin >= 0)
> @@ -1702,7 +1713,6 @@ static int tc_remove(struct i2c_client *client)
>         struct tc_data *tc = i2c_get_clientdata(client);
>
>         drm_bridge_remove(&tc->bridge);
> -       drm_dp_aux_unregister(&tc->aux);
>
>         return 0;
>  }
> --
> 2.29.2
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  reply	other threads:[~2021-03-19 14:28 UTC|newest]

Thread overview: 282+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19 21:52 [Nouveau] [PATCH 00/30] drm: Use new DRM printk funcs (like drm_dbg_*()) in DP helpers Lyude Paul
2021-02-19 21:52 ` Lyude Paul
2021-02-19 21:52 ` [Intel-gfx] " Lyude Paul
2021-02-19 21:52 ` Lyude Paul
2021-02-19 21:52 ` [PATCH 01/30] drm/dp: Rewrap kdocs for struct drm_dp_aux Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Nouveau] " Lyude Paul
2021-02-19 23:42   ` Randy Dunlap
2021-02-19 23:42     ` Randy Dunlap
2021-02-19 23:42     ` [Intel-gfx] " Randy Dunlap
2021-02-19 23:42     ` Randy Dunlap
2021-02-19 23:42     ` [Nouveau] " Randy Dunlap
2021-02-24 18:31     ` Lyude Paul
2021-02-24 18:31       ` Lyude Paul
2021-02-24 18:31       ` [Intel-gfx] " Lyude Paul
2021-02-24 18:31       ` Lyude Paul
2021-02-24 18:31       ` [Nouveau] " Lyude Paul
2021-02-19 21:52 ` [PATCH 02/30] drm/dp: Fixup kernel docs " Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Nouveau] " Lyude Paul
2021-02-19 23:39   ` Randy Dunlap
2021-02-19 23:39     ` Randy Dunlap
2021-02-19 23:39     ` [Intel-gfx] " Randy Dunlap
2021-02-19 23:39     ` Randy Dunlap
2021-02-19 23:39     ` [Nouveau] " Randy Dunlap
2021-02-19 21:52 ` [PATCH 03/30] drm/tegra: Don't register DP AUX channels before connectors Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:52   ` Lyude Paul
2021-02-19 21:52   ` [Nouveau] " Lyude Paul
2021-04-14 16:49   ` Thierry Reding
2021-04-14 16:49     ` Thierry Reding
2021-04-14 16:49     ` [Intel-gfx] " Thierry Reding
2021-04-14 16:49     ` Thierry Reding
2021-04-14 16:49     ` [Nouveau] " Thierry Reding
2021-04-14 18:17     ` Lyude Paul
2021-04-14 18:17       ` Lyude Paul
2021-04-14 18:17       ` [Intel-gfx] " Lyude Paul
2021-04-14 18:17       ` Lyude Paul
2021-04-14 18:17       ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:27   ` Robert Foss [this message]
2021-03-19 14:27     ` Robert Foss
2021-03-19 14:27     ` [Intel-gfx] " Robert Foss
2021-03-19 14:27     ` Robert Foss
2021-03-19 14:27     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 05/30] drm/bridge/cdns-mhdp8546: Register DP aux channel with userspace Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 06/30] drm/bridge/ti-sn65dsi86: (Un)register aux device on bridge attach/detach Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-21 18:11   ` Laurent Pinchart
2021-02-21 18:11     ` Laurent Pinchart
2021-02-21 18:11     ` [Intel-gfx] " Laurent Pinchart
2021-02-21 18:11     ` Laurent Pinchart
2021-02-21 18:11     ` [Nouveau] " Laurent Pinchart
2021-02-19 21:53 ` [PATCH 07/30] drm/bridge/analogix/anx78xx: Add missing drm_dp_aux_unregister() call Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:28   ` Robert Foss
2021-03-19 14:28     ` Robert Foss
2021-03-19 14:28     ` [Intel-gfx] " Robert Foss
2021-03-19 14:28     ` Robert Foss
2021-03-19 14:28     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 08/30] drm/bridge/analogix/anx78xx: Setup encoder before registering connector Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:35   ` Robert Foss
2021-03-19 14:35     ` Robert Foss
2021-03-19 14:35     ` [Intel-gfx] " Robert Foss
2021-03-19 14:35     ` Robert Foss
2021-03-19 14:35     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 09/30] drm/bridge/analogix/anx78xx: Cleanup on error in anx78xx_bridge_attach() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:37   ` Robert Foss
2021-03-19 14:37     ` Robert Foss
2021-03-19 14:37     ` [Intel-gfx] " Robert Foss
2021-03-19 14:37     ` Robert Foss
2021-03-19 14:37     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 10/30] drm/bridge/analogix/anx6345: Add missing drm_dp_aux_unregister() call Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:39   ` Robert Foss
2021-03-19 14:39     ` Robert Foss
2021-03-19 14:39     ` [Intel-gfx] " Robert Foss
2021-03-19 14:39     ` Robert Foss
2021-03-19 14:39     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 11/30] drm/bridge/analogix/anx6345: Don't link encoder until after connector registration Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:43   ` Robert Foss
2021-03-19 14:43     ` Robert Foss
2021-03-19 14:43     ` [Intel-gfx] " Robert Foss
2021-03-19 14:43     ` Robert Foss
2021-03-19 14:43     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 12/30] drm/bridge/analogix/anx6345: Cleanup on errors in anx6345_bridge_attach() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:44   ` Robert Foss
2021-03-19 14:44     ` Robert Foss
2021-03-19 14:44     ` [Intel-gfx] " Robert Foss
2021-03-19 14:44     ` Robert Foss
2021-03-19 14:44     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 13/30] drm/bridge/analogix/dp_core: Unregister DP AUX channel on error in analogix_dp_probe() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 14:45   ` Robert Foss
2021-03-19 14:45     ` Robert Foss
2021-03-19 14:45     ` [Intel-gfx] " Robert Foss
2021-03-19 14:45     ` Robert Foss
2021-03-19 14:45     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 14/30] drm/nouveau/kms/nv50-: Move AUX adapter reg to connector late register/early unregister Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 15/30] drm/dp: Add backpointer to drm_device in drm_dp_aux Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-21 18:21   ` Laurent Pinchart
2021-02-21 18:21     ` Laurent Pinchart
2021-02-21 18:21     ` [Intel-gfx] " Laurent Pinchart
2021-02-21 18:21     ` Laurent Pinchart
2021-02-21 18:21     ` [Nouveau] " Laurent Pinchart
2021-02-24 20:40     ` Lyude Paul
2021-02-24 20:40       ` Lyude Paul
2021-02-24 20:40       ` [Intel-gfx] " Lyude Paul
2021-02-24 20:40       ` Lyude Paul
2021-02-24 20:40       ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 16/30] drm/dp: Rewrap drm_dp_aux_register()/drm_dp_aux_init() kdocs Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 17/30] drm/dp: Clarify DP AUX registration time Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 18/30] drm/print: Fixup DRM_DEBUG_KMS_RATELIMITED() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 11:30   ` Robert Foss
2021-03-19 11:30     ` Robert Foss
2021-03-19 11:30     ` [Intel-gfx] " Robert Foss
2021-03-19 11:30     ` Robert Foss
2021-03-19 11:30     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 19/30] drm/dp: Pass drm_dp_aux to drm_dp_link_train_clock_recovery_delay() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-21 18:22   ` Laurent Pinchart
2021-02-21 18:22     ` Laurent Pinchart
2021-02-21 18:22     ` [Intel-gfx] " Laurent Pinchart
2021-02-21 18:22     ` Laurent Pinchart
2021-02-21 18:22     ` Laurent Pinchart
2021-02-21 18:22     ` [Nouveau] " Laurent Pinchart
2021-02-23 14:49   ` [Intel-gfx] " Rodrigo Vivi
2021-02-23 14:49     ` Rodrigo Vivi
2021-02-23 14:49     ` Rodrigo Vivi
2021-02-23 14:49     ` Rodrigo Vivi
2021-02-23 14:49     ` Rodrigo Vivi
2021-02-23 14:49     ` [Nouveau] " Rodrigo Vivi
2021-02-19 21:53 ` [PATCH 20/30] drm/dp: Pass drm_dp_aux to drm_dp*_link_train_channel_eq_delay() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-21 18:23   ` Laurent Pinchart
2021-02-21 18:23     ` Laurent Pinchart
2021-02-21 18:23     ` [Intel-gfx] " Laurent Pinchart
2021-02-21 18:23     ` Laurent Pinchart
2021-02-21 18:23     ` Laurent Pinchart
2021-02-21 18:23     ` [Nouveau] " Laurent Pinchart
2021-02-19 21:53 ` [PATCH 21/30] drm/dp: Always print aux channel name in logs Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 22/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_detect() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 23/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_set_tmds_output() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 24/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_max_tmds_clock() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 25/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_get_tmds_output() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 26/30] drm/dp_dual_mode: Pass drm_device to drm_lspcon_(get|set)_mode() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 27/30] drm/dp_mst: Pass drm_dp_mst_topology_mgr to drm_dp_get_vc_payload_bw() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 11:35   ` Robert Foss
2021-03-19 11:35     ` Robert Foss
2021-03-19 11:35     ` [Intel-gfx] " Robert Foss
2021-03-19 11:35     ` Robert Foss
2021-03-19 11:35     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 28/30] drm/dp: Convert drm_dp_helper.c to using drm_err/drm_dbg_*() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 11:39   ` Robert Foss
2021-03-19 11:39     ` Robert Foss
2021-03-19 11:39     ` [Intel-gfx] " Robert Foss
2021-03-19 11:39     ` Robert Foss
2021-03-19 11:39     ` [Nouveau] " Robert Foss
2021-02-19 21:53 ` [PATCH 29/30] drm/dp_dual_mode: Convert drm_dp_dual_mode_helper.c to using drm_err/drm_dbg_kms() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-02-19 21:53 ` [PATCH 30/30] drm/dp_mst: Convert drm_dp_mst_topology.c to drm_err()/drm_dbg*() Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Intel-gfx] " Lyude Paul
2021-02-19 21:53   ` Lyude Paul
2021-02-19 21:53   ` [Nouveau] " Lyude Paul
2021-03-19 11:47   ` Robert Foss
2021-03-19 11:47     ` Robert Foss
2021-03-19 11:47     ` [Intel-gfx] " Robert Foss
2021-03-19 11:47     ` Robert Foss
2021-03-19 11:47     ` [Nouveau] " Robert Foss
2021-02-19 22:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Use new DRM printk funcs (like drm_dbg_*()) in DP helpers Patchwork
2021-02-19 22:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-02-19 22:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-02-19 23:56 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-02-20  0:32 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Use new DRM printk funcs (like drm_dbg_*()) in DP helpers (rev2) Patchwork
2021-02-20  0:35 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-02-20  1:01 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-02-20  3:02 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAG3jFyuR6yH9bWzbmcZVRoyRUvu0qvEirVtxtcUmVEyVpeW_JQ@mail.gmail.com \
    --to=robert.foss@linaro.org \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lyude@redhat.com \
    --cc=narmstrong@baylibre.com \
    --cc=nouveau@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=tzimmermann@suse.de \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.