2024-01-29 13:20:20

by Abel Vesa

[permalink] [raw]
Subject: [PATCH 4/5] drm/msm/dp: Try looking for link-frequencies into the port@0's endpoint first

From: Abhinav Kumar <[email protected]>

On platforms where the endpoint used is on port@0, looking for port@1
instead results in just ignoring the max link-frequencies altogether.
Look at port@0 first, then, if not found, look for port@1.

Signed-off-by: Abhinav Kumar <[email protected]>
Signed-off-by: Abel Vesa <[email protected]>
---
drivers/gpu/drm/msm/dp/dp_parser.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c b/drivers/gpu/drm/msm/dp/dp_parser.c
index 7032dcc8842b..eec5b8b83f4b 100644
--- a/drivers/gpu/drm/msm/dp/dp_parser.c
+++ b/drivers/gpu/drm/msm/dp/dp_parser.c
@@ -97,7 +97,11 @@ static u32 dp_parser_link_frequencies(struct device_node *of_node)
u64 frequency = 0;
int cnt;

- endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
+ endpoint = of_graph_get_endpoint_by_regs(of_node, 0, 0); /* port@0 */
+
+ if (!endpoint)
+ endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
+
if (!endpoint)
return 0;


--
2.34.1



2024-01-29 15:09:01

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH 4/5] drm/msm/dp: Try looking for link-frequencies into the port@0's endpoint first

On Mon, 29 Jan 2024 at 15:19, Abel Vesa <[email protected]> wrote:
>
> From: Abhinav Kumar <[email protected]>
>
> On platforms where the endpoint used is on port@0, looking for port@1
> instead results in just ignoring the max link-frequencies altogether.
> Look at port@0 first, then, if not found, look for port@1.

NAK. Platforms do not "use port@0". It is for the connection between
DPU and DP, while the link-frequencies property is for the link
between DP controller and the actual display.

>
> Signed-off-by: Abhinav Kumar <[email protected]>
> Signed-off-by: Abel Vesa <[email protected]>
> ---
> drivers/gpu/drm/msm/dp/dp_parser.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c b/drivers/gpu/drm/msm/dp/dp_parser.c
> index 7032dcc8842b..eec5b8b83f4b 100644
> --- a/drivers/gpu/drm/msm/dp/dp_parser.c
> +++ b/drivers/gpu/drm/msm/dp/dp_parser.c
> @@ -97,7 +97,11 @@ static u32 dp_parser_link_frequencies(struct device_node *of_node)
> u64 frequency = 0;
> int cnt;
>
> - endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> + endpoint = of_graph_get_endpoint_by_regs(of_node, 0, 0); /* port@0 */
> +
> + if (!endpoint)
> + endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> +
> if (!endpoint)
> return 0;
>
>
> --
> 2.34.1
>


--
With best wishes
Dmitry

2024-01-31 17:04:43

by Abel Vesa

[permalink] [raw]
Subject: Re: [PATCH 4/5] drm/msm/dp: Try looking for link-frequencies into the port@0's endpoint first

On 24-01-29 17:08:29, Dmitry Baryshkov wrote:
> On Mon, 29 Jan 2024 at 15:19, Abel Vesa <[email protected]> wrote:
> >
> > From: Abhinav Kumar <[email protected]>
> >
> > On platforms where the endpoint used is on port@0, looking for port@1
> > instead results in just ignoring the max link-frequencies altogether.
> > Look at port@0 first, then, if not found, look for port@1.
>
> NAK. Platforms do not "use port@0". It is for the connection between
> DPU and DP, while the link-frequencies property is for the link
> between DP controller and the actual display.

I messed up. This patch is not needed, plus the author is wrong.

Will drop in the next version.

Sorry about that.

>
> >
> > Signed-off-by: Abhinav Kumar <[email protected]>
> > Signed-off-by: Abel Vesa <[email protected]>
> > ---
> > drivers/gpu/drm/msm/dp/dp_parser.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c b/drivers/gpu/drm/msm/dp/dp_parser.c
> > index 7032dcc8842b..eec5b8b83f4b 100644
> > --- a/drivers/gpu/drm/msm/dp/dp_parser.c
> > +++ b/drivers/gpu/drm/msm/dp/dp_parser.c
> > @@ -97,7 +97,11 @@ static u32 dp_parser_link_frequencies(struct device_node *of_node)
> > u64 frequency = 0;
> > int cnt;
> >
> > - endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> > + endpoint = of_graph_get_endpoint_by_regs(of_node, 0, 0); /* port@0 */
> > +
> > + if (!endpoint)
> > + endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> > +
> > if (!endpoint)
> > return 0;
> >
> >
> > --
> > 2.34.1
> >
>
>
> --
> With best wishes
> Dmitry

2024-01-31 17:12:28

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH 4/5] drm/msm/dp: Try looking for link-frequencies into the port@0's endpoint first

On Wed, 31 Jan 2024 at 19:04, Abel Vesa <[email protected]> wrote:
>
> On 24-01-29 17:08:29, Dmitry Baryshkov wrote:
> > On Mon, 29 Jan 2024 at 15:19, Abel Vesa <[email protected]> wrote:
> > >
> > > From: Abhinav Kumar <[email protected]>
> > >
> > > On platforms where the endpoint used is on port@0, looking for port@1
> > > instead results in just ignoring the max link-frequencies altogether.
> > > Look at port@0 first, then, if not found, look for port@1.
> >
> > NAK. Platforms do not "use port@0". It is for the connection between
> > DPU and DP, while the link-frequencies property is for the link
> > between DP controller and the actual display.
>
> I messed up. This patch is not needed, plus the author is wrong.
>
> Will drop in the next version.
>
> Sorry about that.

No problem, don't worry.

>
> >
> > >
> > > Signed-off-by: Abhinav Kumar <[email protected]>
> > > Signed-off-by: Abel Vesa <[email protected]>
> > > ---
> > > drivers/gpu/drm/msm/dp/dp_parser.c | 6 +++++-
> > > 1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c b/drivers/gpu/drm/msm/dp/dp_parser.c
> > > index 7032dcc8842b..eec5b8b83f4b 100644
> > > --- a/drivers/gpu/drm/msm/dp/dp_parser.c
> > > +++ b/drivers/gpu/drm/msm/dp/dp_parser.c
> > > @@ -97,7 +97,11 @@ static u32 dp_parser_link_frequencies(struct device_node *of_node)
> > > u64 frequency = 0;
> > > int cnt;
> > >
> > > - endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> > > + endpoint = of_graph_get_endpoint_by_regs(of_node, 0, 0); /* port@0 */
> > > +
> > > + if (!endpoint)
> > > + endpoint = of_graph_get_endpoint_by_regs(of_node, 1, 0); /* port@1 */
> > > +
> > > if (!endpoint)
> > > return 0;
> > >
> > >
> > > --
> > > 2.34.1
> > >
> >
> >
> > --
> > With best wishes
> > Dmitry



--
With best wishes
Dmitry