[RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

Message ID 20230710090929.1873646-1-wenst@chromium.org
State New
Headers
Series [RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands |

Commit Message

Chen-Yu Tsai July 10, 2023, 9:09 a.m. UTC
  The DRM DP code has macros for the DP power sequencing commands. Use
them in the anx7625 driver instead of raw numbers.

Fixes: 548b512e144f ("drm/bridge: anx7625: send DPCD command to downstream")
Fixes: 27f26359de9b ("drm/bridge: anx7625: Set downstream sink into normal status")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
---
Collected tags and rebased on v6.5-rc1.

 drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Jani Nikula July 10, 2023, 10:32 a.m. UTC | #1
On Mon, 10 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
> The DRM DP code has macros for the DP power sequencing commands. Use
> them in the anx7625 driver instead of raw numbers.
>
> Fixes: 548b512e144f ("drm/bridge: anx7625: send DPCD command to downstream")
> Fixes: 27f26359de9b ("drm/bridge: anx7625: Set downstream sink into normal status")
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> ---
> Collected tags and rebased on v6.5-rc1.
>
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index 8b985efdc086..9db3784cb554 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -931,8 +931,8 @@ static void anx7625_dp_start(struct anx7625_data *ctx)
>  
>  	dev_dbg(dev, "set downstream sink into normal\n");
>  	/* Downstream sink enter into normal mode */
> -	data = 1;
> -	ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
> +	data = DP_SET_POWER_D0;
> +	ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);

So you have code to implement the drm dp aux abstractions, why aren't
you using drm_dp_dpcd_writeb() and friends here?

BR,
Jani.


>  	if (ret < 0)
>  		dev_err(dev, "IO error : set sink into normal mode fail\n");
>  
> @@ -971,8 +971,8 @@ static void anx7625_dp_stop(struct anx7625_data *ctx)
>  
>  	dev_dbg(dev, "notify downstream enter into standby\n");
>  	/* Downstream monitor enter into standby mode */
> -	data = 2;
> -	ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
> +	data = DP_SET_POWER_D3;
> +	ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
>  	if (ret < 0)
>  		DRM_DEV_ERROR(dev, "IO error : mute video fail\n");
  
Chen-Yu Tsai July 11, 2023, 3:42 a.m. UTC | #2
On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <jani.nikula@linux.intel.com> wrote:
>
> On Mon, 10 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
> > The DRM DP code has macros for the DP power sequencing commands. Use
> > them in the anx7625 driver instead of raw numbers.
> >
> > Fixes: 548b512e144f ("drm/bridge: anx7625: send DPCD command to downstream")
> > Fixes: 27f26359de9b ("drm/bridge: anx7625: Set downstream sink into normal status")
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> > ---
> > Collected tags and rebased on v6.5-rc1.
> >
> >  drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > index 8b985efdc086..9db3784cb554 100644
> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > @@ -931,8 +931,8 @@ static void anx7625_dp_start(struct anx7625_data *ctx)
> >
> >       dev_dbg(dev, "set downstream sink into normal\n");
> >       /* Downstream sink enter into normal mode */
> > -     data = 1;
> > -     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
> > +     data = DP_SET_POWER_D0;
> > +     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
>
> So you have code to implement the drm dp aux abstractions, why aren't
> you using drm_dp_dpcd_writeb() and friends here?

I didn't write the original code. Nor do I do much DP stuff. IIRC someone
pointed out to me these had proper macros, so I converted them.

Would you accept a follow-up patch to convert the AUX transfers to the
DRM abstractions?

ChenYu

> BR,
> Jani.
>
>
> >       if (ret < 0)
> >               dev_err(dev, "IO error : set sink into normal mode fail\n");
> >
> > @@ -971,8 +971,8 @@ static void anx7625_dp_stop(struct anx7625_data *ctx)
> >
> >       dev_dbg(dev, "notify downstream enter into standby\n");
> >       /* Downstream monitor enter into standby mode */
> > -     data = 2;
> > -     ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
> > +     data = DP_SET_POWER_D3;
> > +     ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
> >       if (ret < 0)
> >               DRM_DEV_ERROR(dev, "IO error : mute video fail\n");
>
> --
> Jani Nikula, Intel Open Source Graphics Center
  
Jani Nikula July 11, 2023, 7:23 a.m. UTC | #3
On Tue, 11 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
> On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>
>> On Mon, 10 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
>> > The DRM DP code has macros for the DP power sequencing commands. Use
>> > them in the anx7625 driver instead of raw numbers.
>> >
>> > Fixes: 548b512e144f ("drm/bridge: anx7625: send DPCD command to downstream")
>> > Fixes: 27f26359de9b ("drm/bridge: anx7625: Set downstream sink into normal status")
>> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
>> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
>> > ---
>> > Collected tags and rebased on v6.5-rc1.
>> >
>> >  drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
>> >  1 file changed, 4 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
>> > index 8b985efdc086..9db3784cb554 100644
>> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
>> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
>> > @@ -931,8 +931,8 @@ static void anx7625_dp_start(struct anx7625_data *ctx)
>> >
>> >       dev_dbg(dev, "set downstream sink into normal\n");
>> >       /* Downstream sink enter into normal mode */
>> > -     data = 1;
>> > -     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
>> > +     data = DP_SET_POWER_D0;
>> > +     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
>>
>> So you have code to implement the drm dp aux abstractions, why aren't
>> you using drm_dp_dpcd_writeb() and friends here?
>
> I didn't write the original code. Nor do I do much DP stuff. IIRC someone
> pointed out to me these had proper macros, so I converted them.
>
> Would you accept a follow-up patch to convert the AUX transfers to the
> DRM abstractions?

I believe they would be welcome, but I'm personally not familiar with
the driver in question.

BR,
Jani.
  
Chen-Yu Tsai July 11, 2023, 8:24 a.m. UTC | #4
On Tue, Jul 11, 2023 at 3:23 PM Jani Nikula <jani.nikula@linux.intel.com> wrote:
>
> On Tue, 11 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
> > On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <jani.nikula@linux.intel.com> wrote:
> >>
> >> On Mon, 10 Jul 2023, Chen-Yu Tsai <wenst@chromium.org> wrote:
> >> > The DRM DP code has macros for the DP power sequencing commands. Use
> >> > them in the anx7625 driver instead of raw numbers.
> >> >
> >> > Fixes: 548b512e144f ("drm/bridge: anx7625: send DPCD command to downstream")
> >> > Fixes: 27f26359de9b ("drm/bridge: anx7625: Set downstream sink into normal status")
> >> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> >> > Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> >> > ---
> >> > Collected tags and rebased on v6.5-rc1.
> >> >
> >> >  drivers/gpu/drm/bridge/analogix/anx7625.c | 8 ++++----
> >> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >> >
> >> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> >> > index 8b985efdc086..9db3784cb554 100644
> >> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> >> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> >> > @@ -931,8 +931,8 @@ static void anx7625_dp_start(struct anx7625_data *ctx)
> >> >
> >> >       dev_dbg(dev, "set downstream sink into normal\n");
> >> >       /* Downstream sink enter into normal mode */
> >> > -     data = 1;
> >> > -     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
> >> > +     data = DP_SET_POWER_D0;
> >> > +     ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
> >>
> >> So you have code to implement the drm dp aux abstractions, why aren't
> >> you using drm_dp_dpcd_writeb() and friends here?
> >
> > I didn't write the original code. Nor do I do much DP stuff. IIRC someone
> > pointed out to me these had proper macros, so I converted them.
> >
> > Would you accept a follow-up patch to convert the AUX transfers to the
> > DRM abstractions?
>
> I believe they would be welcome, but I'm personally not familiar with
> the driver in question.

OK. I take it you are not blocking this patch then?

ChenYu
  
Robert Foss July 17, 2023, 3:19 p.m. UTC | #5
On Mon, 10 Jul 2023 17:09:27 +0800, Chen-Yu Tsai wrote:
> The DRM DP code has macros for the DP power sequencing commands. Use
> them in the anx7625 driver instead of raw numbers.
> 
> 

Applied, thanks!

[1/1] drm/bridge: anx7625: Use common macros for DP power sequencing commands
      https://cgit.freedesktop.org/drm/drm-misc/commit/?id=2ba776f903cb



Rob
  

Patch

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 8b985efdc086..9db3784cb554 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -931,8 +931,8 @@  static void anx7625_dp_start(struct anx7625_data *ctx)
 
 	dev_dbg(dev, "set downstream sink into normal\n");
 	/* Downstream sink enter into normal mode */
-	data = 1;
-	ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
+	data = DP_SET_POWER_D0;
+	ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
 	if (ret < 0)
 		dev_err(dev, "IO error : set sink into normal mode fail\n");
 
@@ -971,8 +971,8 @@  static void anx7625_dp_stop(struct anx7625_data *ctx)
 
 	dev_dbg(dev, "notify downstream enter into standby\n");
 	/* Downstream monitor enter into standby mode */
-	data = 2;
-	ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, 0x000600, 1, &data);
+	data = DP_SET_POWER_D3;
+	ret |= anx7625_aux_trans(ctx, DP_AUX_NATIVE_WRITE, DP_SET_POWER, 1, &data);
 	if (ret < 0)
 		DRM_DEV_ERROR(dev, "IO error : mute video fail\n");