2023-07-10 09:28:57

by Chen-Yu Tsai

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

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 <[email protected]>
Reviewed-by: Nícolas F. R. A. Prado <[email protected]>
---
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);
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");

--
2.41.0.255.g8b1d071c50-goog



2023-07-10 10:55:45

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

On Mon, 10 Jul 2023, Chen-Yu Tsai <[email protected]> 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 <[email protected]>
> Reviewed-by: Nícolas F. R. A. Prado <[email protected]>
> ---
> 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");

--
Jani Nikula, Intel Open Source Graphics Center

2023-07-11 04:14:41

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <[email protected]> wrote:
>
> On Mon, 10 Jul 2023, Chen-Yu Tsai <[email protected]> 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 <[email protected]>
> > Reviewed-by: Nícolas F. R. A. Prado <[email protected]>
> > ---
> > 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

2023-07-11 08:02:09

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

On Tue, 11 Jul 2023, Chen-Yu Tsai <[email protected]> wrote:
> On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <[email protected]> wrote:
>>
>> On Mon, 10 Jul 2023, Chen-Yu Tsai <[email protected]> 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 <[email protected]>
>> > Reviewed-by: Nícolas F. R. A. Prado <[email protected]>
>> > ---
>> > 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.


--
Jani Nikula, Intel Open Source Graphics Center

2023-07-11 08:38:42

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

On Tue, Jul 11, 2023 at 3:23 PM Jani Nikula <[email protected]> wrote:
>
> On Tue, 11 Jul 2023, Chen-Yu Tsai <[email protected]> wrote:
> > On Mon, Jul 10, 2023 at 6:32 PM Jani Nikula <[email protected]> wrote:
> >>
> >> On Mon, 10 Jul 2023, Chen-Yu Tsai <[email protected]> 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 <[email protected]>
> >> > Reviewed-by: Nícolas F. R. A. Prado <[email protected]>
> >> > ---
> >> > 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

2023-07-17 15:29:06

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH RESEND] drm/bridge: anx7625: Use common macros for DP power sequencing commands

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