diff mbox series

drm/panel-edp: Add BOE NV140FHM-N4Z panel entry

Message ID 20250113085956.2150207-1-andyshrk@163.com (mailing list archive)
State New, archived
Headers show
Series drm/panel-edp: Add BOE NV140FHM-N4Z panel entry | expand

Commit Message

Andy Yan Jan. 13, 2025, 8:59 a.m. UTC
Add an eDP panel entry for BOE NV140FHM-N4Z.

No datasheet found for this panel.

edid:
00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35

Signed-off-by: Andy Yan <andyshrk@163.com>
---

 drivers/gpu/drm/panel/panel-edp.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Andy Yan Jan. 13, 2025, 10:17 a.m. UTC | #1
Sorry, please don't merge this patch. after further testing, 
I found that there are still some changce, it can't read edid.

At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>Add an eDP panel entry for BOE NV140FHM-N4Z.
>
>No datasheet found for this panel.
>
>edid:
>00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
>01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
>23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
>01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
>aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
>43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
>4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
>00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
>
>Signed-off-by: Andy Yan <andyshrk@163.com>
>---
>
> drivers/gpu/drm/panel/panel-edp.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>index 94a46241dece..a3402b76aa3e 100644
>--- a/drivers/gpu/drm/panel/panel-edp.c
>+++ b/drivers/gpu/drm/panel/panel-edp.c
>@@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),
>-- 
>2.43.0
Andy Yan Jan. 14, 2025, 9:04 a.m. UTC | #2
Hi All,

At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
>
>Sorry, please don't merge this patch. after further testing, 
>I found that there are still some changce, it can't read edid.

It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
the right time to access edid.
So the patch is ok, it is ready for review.

>
>At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>>Add an eDP panel entry for BOE NV140FHM-N4Z.
>>
>>No datasheet found for this panel.
>>
>>edid:
>>00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
>>01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
>>23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
>>01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
>>aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
>>43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
>>4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
>>00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
>>
>>Signed-off-by: Andy Yan <andyshrk@163.com>
>>---
>>
>> drivers/gpu/drm/panel/panel-edp.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>>diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>>index 94a46241dece..a3402b76aa3e 100644
>>--- a/drivers/gpu/drm/panel/panel-edp.c
>>+++ b/drivers/gpu/drm/panel/panel-edp.c
>>@@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>>+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),
>>-- 
>>2.43.0
Thomas Zimmermann Jan. 14, 2025, 9:11 a.m. UTC | #3
Am 14.01.25 um 10:04 schrieb Andy Yan:
> Hi All,
>
> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
>> Sorry, please don't merge this patch. after further testing,
>> I found that there are still some changce, it can't read edid.
> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
> the right time to access edid.
> So the patch is ok, it is ready for review.
>
>> At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>>> Add an eDP panel entry for BOE NV140FHM-N4Z.
>>>
>>> No datasheet found for this panel.
>>>
>>> edid:
>>> 00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
>>> 01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
>>> 23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
>>> 01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
>>> aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
>>> 43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
>>> 4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
>>> 00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
>>>
>>> Signed-off-by: Andy Yan <andyshrk@163.com>

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

>>> ---
>>>
>>> drivers/gpu/drm/panel/panel-edp.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>>> index 94a46241dece..a3402b76aa3e 100644
>>> --- a/drivers/gpu/drm/panel/panel-edp.c
>>> +++ b/drivers/gpu/drm/panel/panel-edp.c
>>> @@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>>> +	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
>>> 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),
>>> -- 
>>> 2.43.0
Doug Anderson Jan. 14, 2025, 4:44 p.m. UTC | #4
Hi,

On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
>
>
> Hi All,
>
> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
> >
> >Sorry, please don't merge this patch. after further testing,
> >I found that there are still some changce, it can't read edid.
>
> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
> the right time to access edid.

That seems awfully high and feels likely to be a problem with your
board design and not the panel. Are you sure HPD is even hooked up
properly on your board? Maybe you're missing a pullup/pulldown config
somewhere? Would it be better to just specify "no-hpd" and get the
full "HPD absent" delay?


> So the patch is ok, it is ready for review.
>
> >
> >At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
> >>Add an eDP panel entry for BOE NV140FHM-N4Z.
> >>
> >>No datasheet found for this panel.

I seem to be able to find a datasheet for something that calls itself
NV140FHM-N4Z, but it might be a different HW version since it has a
different ID. In my datasheet, though, "prepare_to_enable" should be
80 for this panel, not 200. That matches another nearby panel
"NV140WUM-N41". Are you sure you need 200?


> >>edid:
> >>00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
> >>01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
> >>23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
> >>01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
> >>aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
> >>43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
> >>4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
> >>00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
> >>
> >>Signed-off-by: Andy Yan <andyshrk@163.com>
> >>---
> >>
> >> drivers/gpu/drm/panel/panel-edp.c | 1 +
> >> 1 file changed, 1 insertion(+)

FWIW it's good that Thomas replied to your patch, since that was the
only thing that showed up in my inbox. Your initial patch showed up as
spam for me. :( Not sure why, though...


> >>diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> >>index 94a46241dece..a3402b76aa3e 100644
> >>--- a/drivers/gpu/drm/panel/panel-edp.c
> >>+++ b/drivers/gpu/drm/panel/panel-edp.c
> >>@@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
> >>+     EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),

This is mis-sorted. 0xb09 should be _before_ 0x0b34. I'll often fix
this up when applying (though it's more work for me), but since I had
a question above about delay_200_500_e50_p2e200 vs.
delay_200_500_e50_p2e80 maybe you can answer and also send a v2 with
the sort order fixed.

-Doug
Andy Yan Jan. 15, 2025, 9:45 a.m. UTC | #5
Hi Doug,

在 2025-01-15 00:44:41,"Doug Anderson" <dianders@chromium.org> 写道:
>Hi,
>
>On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
>>
>>
>> Hi All,
>>
>> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
>> >
>> >Sorry, please don't merge this patch. after further testing,
>> >I found that there are still some changce, it can't read edid.
>>
>> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
>> the right time to access edid.
>
>That seems awfully high and feels likely to be a problem with your
>board design and not the panel. Are you sure HPD is even hooked up
>properly on your board? Maybe you're missing a pullup/pulldown config
>somewhere? Would it be better to just specify "no-hpd" and get the
>full "HPD absent" delay?
>

Yes, you are right, after checking the schematic, I found that the HDP indeed does not
hooked up on the board. 

I do more tests with hpd-reliable-delay-ms to a short value, From the current tests, this
value can be set below 10, even lower, but I need to do more tests to confirm how low
it can actually be set。

Thank you.

>
>> So the patch is ok, it is ready for review.
>>
>> >
>> >At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>> >>Add an eDP panel entry for BOE NV140FHM-N4Z.
>> >>
>> >>No datasheet found for this panel.
>
>I seem to be able to find a datasheet for something that calls itself
>NV140FHM-N4Z, but it might be a different HW version since it has a
>different ID. In my datasheet, though, "prepare_to_enable" should be
>80 for this panel, not 200. That matches another nearby panel
>"NV140WUM-N41". Are you sure you need 200?
>
>
>> >>edid:
>> >>00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
>> >>01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
>> >>23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
>> >>01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
>> >>aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
>> >>43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
>> >>4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
>> >>00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
>> >>
>> >>Signed-off-by: Andy Yan <andyshrk@163.com>
>> >>---
>> >>
>> >> drivers/gpu/drm/panel/panel-edp.c | 1 +
>> >> 1 file changed, 1 insertion(+)
>
>FWIW it's good that Thomas replied to your patch, since that was the
>only thing that showed up in my inbox. Your initial patch showed up as
>spam for me. :( Not sure why, though...
>
>
>> >>diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>> >>index 94a46241dece..a3402b76aa3e 100644
>> >>--- a/drivers/gpu/drm/panel/panel-edp.c
>> >>+++ b/drivers/gpu/drm/panel/panel-edp.c
>> >>@@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>> >>+     EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
>
>This is mis-sorted. 0xb09 should be _before_ 0x0b34. I'll often fix
>this up when applying (though it's more work for me), but since I had
>a question above about delay_200_500_e50_p2e200 vs.
>delay_200_500_e50_p2e80 maybe you can answer and also send a v2 with
>the sort order fixed.
>
>-Doug
Thomas Zimmermann Jan. 15, 2025, 9:55 a.m. UTC | #6
Hi


Am 14.01.25 um 17:44 schrieb Doug Anderson:
>
> FWIW it's good that Thomas replied to your patch, since that was the
> only thing that showed up in my inbox. Your initial patch showed up as
> spam for me. :( Not sure why, though...

FTR, my R-b was for the code itself. I did not verify if the values are 
meaningful/correct.

Best regards
Thomas

>
>
>>>> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>>>> index 94a46241dece..a3402b76aa3e 100644
>>>> --- a/drivers/gpu/drm/panel/panel-edp.c
>>>> +++ b/drivers/gpu/drm/panel/panel-edp.c
>>>> @@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
>>>>       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
>>>>       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
>>>>       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>>>> +     EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
>>>>       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
> This is mis-sorted. 0xb09 should be _before_ 0x0b34. I'll often fix
> this up when applying (though it's more work for me), but since I had
> a question above about delay_200_500_e50_p2e200 vs.
> delay_200_500_e50_p2e80 maybe you can answer and also send a v2 with
> the sort order fixed.
>
> -Doug
Andy Yan Jan. 15, 2025, 10:15 a.m. UTC | #7
Hi Doug,

在 2025-01-15 00:44:41,"Doug Anderson" <dianders@chromium.org> 写道:
>Hi,
>
>On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
>>
>>
>> Hi All,
>>
>> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
>> >
>> >Sorry, please don't merge this patch. after further testing,
>> >I found that there are still some changce, it can't read edid.
>>
>> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
>> the right time to access edid.
>
>That seems awfully high and feels likely to be a problem with your
>board design and not the panel. Are you sure HPD is even hooked up
>properly on your board? Maybe you're missing a pullup/pulldown config
>somewhere? Would it be better to just specify "no-hpd" and get the
>full "HPD absent" delay?
>
>
>> So the patch is ok, it is ready for review.
>>
>> >
>> >At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>> >>Add an eDP panel entry for BOE NV140FHM-N4Z.
>> >>
>> >>No datasheet found for this panel.
>
>I seem to be able to find a datasheet for something that calls itself
>NV140FHM-N4Z, but it might be a different HW version since it has a
>different ID. In my datasheet, though, "prepare_to_enable" should be
>80 for this panel, not 200. That matches another nearby panel
>"NV140WUM-N41". Are you sure you need 200?

I am not sure about that value, 
I searched on the internet, and can't find a datasheet match BOE NV140FHM-NZ
I set this value according: NV140FHM-N41, and then do many tests to see if it has
any problem.

http://www.tfinno.com/PIC/PIC/20215121628440.pdf

[    3.021700] panel-simple-dp-aux aux-fded0000.edp: Detected BOE NV140FHM-NZ (0x0b09)



>
>
>> >>edid:
>> >>00 ff ff ff ff ff ff 00 09 e5 09 0b 00 00 00 00
>> >>01 20 01 04 a5 1f 11 78 03 9b 75 99 5b 5d 8f 2a
>> >>23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
>> >>01 01 01 01 01 01 c8 37 80 cc 70 38 28 40 6c 30
>> >>aa 00 35 ae 10 00 00 1a 00 00 00 fd 00 30 3c 43
>> >>43 8f 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
>> >>4f 45 20 48 46 0a 20 20 20 20 20 20 00 00 00 fe
>> >>00 4e 56 31 34 30 46 48 4d 2d 4e 34 5a 0a 00 35
>> >>
>> >>Signed-off-by: Andy Yan <andyshrk@163.com>
>> >>---
>> >>
>> >> drivers/gpu/drm/panel/panel-edp.c | 1 +
>> >> 1 file changed, 1 insertion(+)
>
>FWIW it's good that Thomas replied to your patch, since that was the
>only thing that showed up in my inbox. Your initial patch showed up as
>spam for me. :( Not sure why, though...
>
>
>> >>diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
>> >>index 94a46241dece..a3402b76aa3e 100644
>> >>--- a/drivers/gpu/drm/panel/panel-edp.c
>> >>+++ b/drivers/gpu/drm/panel/panel-edp.c
>> >>@@ -1909,6 +1909,7 @@ static const struct edp_panel_entry edp_panels[] = {
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
>> >>+     EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
>> >>      EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
>
>This is mis-sorted. 0xb09 should be _before_ 0x0b34. I'll often fix
>this up when applying (though it's more work for me), but since I had
>a question above about delay_200_500_e50_p2e200 vs.
>delay_200_500_e50_p2e80 maybe you can answer and also send a v2 with
>the sort order fixed.
>
>-Doug
Doug Anderson Jan. 15, 2025, 5:40 p.m. UTC | #8
Hi,

On Wed, Jan 15, 2025 at 1:45 AM Andy Yan <andyshrk@163.com> wrote:
>
>
> Hi Doug,
>
> 在 2025-01-15 00:44:41,"Doug Anderson" <dianders@chromium.org> 写道:
> >Hi,
> >
> >On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
> >>
> >>
> >> Hi All,
> >>
> >> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
> >> >
> >> >Sorry, please don't merge this patch. after further testing,
> >> >I found that there are still some changce, it can't read edid.
> >>
> >> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
> >> the right time to access edid.
> >
> >That seems awfully high and feels likely to be a problem with your
> >board design and not the panel. Are you sure HPD is even hooked up
> >properly on your board? Maybe you're missing a pullup/pulldown config
> >somewhere? Would it be better to just specify "no-hpd" and get the
> >full "HPD absent" delay?
> >
>
> Yes, you are right, after checking the schematic, I found that the HDP indeed does not
> hooked up on the board.
>
> I do more tests with hpd-reliable-delay-ms to a short value, From the current tests, this
> value can be set below 10, even lower, but I need to do more tests to confirm how low
> it can actually be set。

If HPD isn't hooked up on your board then I would suggest using the
"no-hpd" + "hpd-absent-delay-ms" instead of "hpd-reliable-delay-ms".
That more accurately describes your hardware. I'd personally pick "200
ms" for your "hpd-absent-delay-ms" unless you know for sure that all
the panels you might hook up have less or more. 200 ms is very common
for the max HPD time.

-Doug
Doug Anderson Jan. 15, 2025, 5:41 p.m. UTC | #9
Hi,

On Wed, Jan 15, 2025 at 1:55 AM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Hi
>
>
> Am 14.01.25 um 17:44 schrieb Doug Anderson:
> >
> > FWIW it's good that Thomas replied to your patch, since that was the
> > only thing that showed up in my inbox. Your initial patch showed up as
> > spam for me. :( Not sure why, though...
>
> FTR, my R-b was for the code itself. I did not verify if the values are
> meaningful/correct.

Yeah, no worries there! I appreciate you taking the time to review
patches and was thankful that your reply meant the thread wasn't stuck
in my spam folder.

I've spent lots of time looking at eDP panels, so I usually try to see
if the timing makes sense based on what I know, but agreed that it's
often impossible to know for sure. ;-)

-Doug
Doug Anderson Jan. 15, 2025, 5:51 p.m. UTC | #10
Hi,

On Wed, Jan 15, 2025 at 2:15 AM Andy Yan <andyshrk@163.com> wrote:
>
>
> Hi Doug,
>
> 在 2025-01-15 00:44:41,"Doug Anderson" <dianders@chromium.org> 写道:
> >Hi,
> >
> >On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
> >>
> >>
> >> Hi All,
> >>
> >> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
> >> >
> >> >Sorry, please don't merge this patch. after further testing,
> >> >I found that there are still some changce, it can't read edid.
> >>
> >> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
> >> the right time to access edid.
> >
> >That seems awfully high and feels likely to be a problem with your
> >board design and not the panel. Are you sure HPD is even hooked up
> >properly on your board? Maybe you're missing a pullup/pulldown config
> >somewhere? Would it be better to just specify "no-hpd" and get the
> >full "HPD absent" delay?
> >
> >
> >> So the patch is ok, it is ready for review.
> >>
> >> >
> >> >At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
> >> >>Add an eDP panel entry for BOE NV140FHM-N4Z.
> >> >>
> >> >>No datasheet found for this panel.
> >
> >I seem to be able to find a datasheet for something that calls itself
> >NV140FHM-N4Z, but it might be a different HW version since it has a
> >different ID. In my datasheet, though, "prepare_to_enable" should be
> >80 for this panel, not 200. That matches another nearby panel
> >"NV140WUM-N41". Are you sure you need 200?
>
> I am not sure about that value,
> I searched on the internet, and can't find a datasheet match BOE NV140FHM-NZ
> I set this value according: NV140FHM-N41, and then do many tests to see if it has
> any problem.
>
> http://www.tfinno.com/PIC/PIC/20215121628440.pdf
>
> [    3.021700] panel-simple-dp-aux aux-fded0000.edp: Detected BOE NV140FHM-NZ (0x0b09)

Thanks for the pointer. I will note that the datasheet there shows:

200ms < T3+T4+T5+T6+T8

This is different than I saw in my datasheet, which said:

T4+T5+T6+T8>80ms

Specifically, your time includes T3 and mine doesn't. That's
important. If you want to add support based on your datasheet then the
200ms should be in `powered_on_to_enable`, not in `prepare_to_enable`.

Said another way, you have:

delay_200_500_e50_p2e200

If you want timings based on your datasheet of a similar product:

delay_200_500_e50_po2e200

If you want timings based on my datasheet of a similar product:

delay_200_500_e50_p2e80

I'll let you pick whichever you feel more comfortable with.

-Doug
Andy Yan Jan. 16, 2025, 1:04 a.m. UTC | #11
Hi Doug,

在 2025-01-16 01:51:15,"Doug Anderson" <dianders@chromium.org> 写道:
>Hi,
>
>On Wed, Jan 15, 2025 at 2:15 AM Andy Yan <andyshrk@163.com> wrote:
>>
>>
>> Hi Doug,
>>
>> 在 2025-01-15 00:44:41,"Doug Anderson" <dianders@chromium.org> 写道:
>> >Hi,
>> >
>> >On Tue, Jan 14, 2025 at 1:05 AM Andy Yan <andyshrk@163.com> wrote:
>> >>
>> >>
>> >> Hi All,
>> >>
>> >> At 2025-01-13 18:17:38, "Andy Yan" <andyshrk@163.com> wrote:
>> >> >
>> >> >Sorry, please don't merge this patch. after further testing,
>> >> >I found that there are still some changce, it can't read edid.
>> >>
>> >> It turns out that we need set hpd-reliable-delay-ms = 120 in dts to ensure
>> >> the right time to access edid.
>> >
>> >That seems awfully high and feels likely to be a problem with your
>> >board design and not the panel. Are you sure HPD is even hooked up
>> >properly on your board? Maybe you're missing a pullup/pulldown config
>> >somewhere? Would it be better to just specify "no-hpd" and get the
>> >full "HPD absent" delay?
>> >
>> >
>> >> So the patch is ok, it is ready for review.
>> >>
>> >> >
>> >> >At 2025-01-13 16:59:54, "Andy Yan" <andyshrk@163.com> wrote:
>> >> >>Add an eDP panel entry for BOE NV140FHM-N4Z.
>> >> >>
>> >> >>No datasheet found for this panel.
>> >
>> >I seem to be able to find a datasheet for something that calls itself
>> >NV140FHM-N4Z, but it might be a different HW version since it has a
>> >different ID. In my datasheet, though, "prepare_to_enable" should be
>> >80 for this panel, not 200. That matches another nearby panel
>> >"NV140WUM-N41". Are you sure you need 200?
>>
>> I am not sure about that value,
>> I searched on the internet, and can't find a datasheet match BOE NV140FHM-NZ
>> I set this value according: NV140FHM-N41, and then do many tests to see if it has
>> any problem.
>>
>> http://www.tfinno.com/PIC/PIC/20215121628440.pdf
>>
>> [    3.021700] panel-simple-dp-aux aux-fded0000.edp: Detected BOE NV140FHM-NZ (0x0b09)
>
>Thanks for the pointer. I will note that the datasheet there shows:
>
>200ms < T3+T4+T5+T6+T8
>
>This is different than I saw in my datasheet, which said:
>
>T4+T5+T6+T8>80ms
>
>Specifically, your time includes T3 and mine doesn't. That's
>important. If you want to add support based on your datasheet then the
>200ms should be in `powered_on_to_enable`, not in `prepare_to_enable`.
>
>Said another way, you have:
>
>delay_200_500_e50_p2e200
>
>If you want timings based on your datasheet of a similar product:
>
>delay_200_500_e50_po2e200
>
>If you want timings based on my datasheet of a similar product:
>
>delay_200_500_e50_p2e80
>
>I'll let you pick whichever you feel more comfortable with.


Very appreciate your thoughtful guidance. I will send V2 after more tests.


>
>-Doug
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 94a46241dece..a3402b76aa3e 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1909,6 +1909,7 @@  static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ac5, &delay_200_500_e50, "NV116WHM-N4C"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ae8, &delay_200_500_e50_p2e80, "NV140WUM-N41"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b34, &delay_200_500_e80, "NV122WUM-N41"),
+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b09, &delay_200_500_e50_p2e200, "NV140FHM-NZ"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b43, &delay_200_500_e200, "NV140FHM-T09"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b56, &delay_200_500_e80, "NT140FHM-N47"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0b66, &delay_200_500_e80, "NE140WUM-N6G"),