diff mbox series

[2/2] drm/panel-edp: add IVO M133NW4J panel entry

Message ID 20221231142721.338643-2-abel.vesa@linaro.org (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/panel-edp: fix name for IVO product id 854b | expand

Commit Message

Abel Vesa Dec. 31, 2022, 2:27 p.m. UTC
Add an eDP panel entry for IVO M133NW4J.

Due to lack of documentation, use the delay_200_500_p2e100 timings like
some other IVO entries for now.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---

Assuming the information from here is correct:
https://raw.githubusercontent.com/linuxhw/EDID/master/DigitalDisplay.md

This fixes the following WARN_ON on my X13s:

[    2.194973] CPU: 5 PID: 186 Comm: kworker/u16:6 Not tainted 6.2.0-rc1-00075-g5136d9aa278f-dirty #26
[    2.195409] Hardware name: LENOVO 21BX000WRI/21BX000WRI, BIOS N3HET44W (1.16 ) 05/27/2022
[    2.195820] Workqueue: events_unbound deferred_probe_work_func
[    2.196234] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.196639] pc : panel_edp_probe+0x3d4/0x520 [panel_edp]
[    2.197036] lr : panel_edp_probe+0x37c/0x520 [panel_edp]
[    2.197435] sp : ffff80000970b3b0
[    2.197833] x29: ffff80000970b3b0 x28: ffff0e0a80b7f760 x27: 0000000000000001
[    2.198231] x26: ffff0e11fe0e1b50 x25: ffffa8f9f585e0c8 x24: 0000000000000000
[    2.198630] x23: ffff0e0a81a39c80 x22: ffffa8f9f58c7638 x21: 0000000000000000
[    2.199032] x20: ffff0e0a8d1b0000 x19: ffff0e0a820fea80 x18: 0000000000000000
[    2.199576] x17: 0000000000000000 x16: ffffa8fa5e097080 x15: 0000000000000000
[    2.199969] x14: 0000000000000003 x13: 0000000000000059 x12: 0000000000000066
[    2.200360] x11: 0000000000000001 x10: 00000000000009e0 x9 : 0000000000000001
[    2.200748] x8 : ffff80000970b340 x7 : 0000000000000000 x6 : 0000000000000000
[    2.201132] x5 : 0000000000000049 x4 : 0000000000000056 x3 : 000000000000004f
[    2.201512] x2 : 0000000000000000 x1 : ffffa8f9f58c7a00 x0 : 000000000000854a
[    2.201888] Call trace:
[    2.202261]  panel_edp_probe+0x3d4/0x520 [panel_edp]
[    2.202636]  panel_edp_dp_aux_ep_probe+0x38/0x50 [panel_edp]
[    2.203009]  dp_aux_ep_probe+0x34/0xf4 [drm_dp_aux_bus]
[    2.203379]  really_probe+0xc0/0x3dc
[    2.203739]  __driver_probe_device+0x7c/0x190
[    2.204096]  driver_probe_device+0x3c/0x110
[    2.204448]  __device_attach_driver+0xbc/0x160
[    2.204795]  bus_for_each_drv+0x7c/0xd4
[    2.205136]  __device_attach+0x9c/0x1c0
[    2.205439]  device_initial_probe+0x14/0x20
[    2.205717]  bus_probe_device+0x9c/0xa4
[    2.205995]  device_add+0x3c4/0x8cc
[    2.206270]  device_register+0x20/0x30
[    2.206543]  of_dp_aux_populate_bus+0xe0/0x1bc [drm_dp_aux_bus]
[    2.206817]  msm_dp_modeset_init+0x1d8/0x274 [msm]
[    2.207096]  _dpu_kms_drm_obj_init+0x128/0x670 [msm]
[    2.207370]  dpu_kms_hw_init+0x540/0x640 [msm]
[    2.207645]  msm_drm_bind+0x18c/0x61c [msm]
[    2.207917]  try_to_bring_up_aggregate_device+0x1dc/0x2d0
[    2.208186]  __component_add+0xa4/0x190
[    2.208454]  component_add+0x14/0x20
[    2.208720]  dp_display_probe+0x29c/0x454 [msm]
[    2.208989]  platform_probe+0x68/0xc0
[    2.209252]  really_probe+0xc0/0x3dc
[    2.209511]  __driver_probe_device+0x7c/0x190
[    2.209767]  driver_probe_device+0x3c/0x110
[    2.210022]  __device_attach_driver+0xbc/0x160
[    2.210275]  bus_for_each_drv+0x7c/0xd4
[    2.210528]  __device_attach+0x9c/0x1c0
[    2.210781]  device_initial_probe+0x14/0x20
[    2.211032]  bus_probe_device+0x9c/0xa4
[    2.211280]  deferred_probe_work_func+0x9c/0xf0
[    2.211525]  process_one_work+0x1c4/0x320
[    2.211768]  worker_thread+0x6c/0x430
[    2.212012]  kthread+0x108/0x10c
[    2.212251]  ret_from_fork+0x10/0x20
[    2.212488] ---[ end trace 0000000000000000 ]---
[    2.212755] panel-simple-dp-aux aux-aea0000.displayport-controller: Unknown panel IVO 0x854a, using conservative timings

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

Comments

Johan Hovold Jan. 2, 2023, 8:27 a.m. UTC | #1
On Sat, Dec 31, 2022 at 04:27:21PM +0200, Abel Vesa wrote:
> Add an eDP panel entry for IVO M133NW4J.
> 
> Due to lack of documentation, use the delay_200_500_p2e100 timings like
> some other IVO entries for now.
> 
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
> 
> Assuming the information from here is correct:
> https://raw.githubusercontent.com/linuxhw/EDID/master/DigitalDisplay.md
 
>  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 ef70928c3ccb..bef5cdf6a582 100644
> --- a/drivers/gpu/drm/panel/panel-edp.c
> +++ b/drivers/gpu/drm/panel/panel-edp.c
> @@ -1891,6 +1891,7 @@ static const struct edp_panel_entry edp_panels[] = {
>  	EDP_PANEL_ENTRY('C', 'M', 'N', 0x1247, &delay_200_500_e80_d50, "N120ACA-EA1"),
>  
>  	EDP_PANEL_ENTRY('I', 'V', 'O', 0x057d, &delay_200_500_e200, "R140NWF5 RH"),
> +	EDP_PANEL_ENTRY('I', 'V', 'O', 0x854a, &delay_200_500_p2e100, "M133NW4J"),
>  	EDP_PANEL_ENTRY('I', 'V', 'O', 0x854b, &delay_200_500_p2e100, "R133NW4K-R0"),
>  
>  	EDP_PANEL_ENTRY('K', 'D', 'B', 0x0624, &kingdisplay_kd116n21_30nv_a010.delay, "116N21-30NV-A010"),

Can you also check the edid data for the string in case there's been
some mixup? For example,

	# strings /sys/class/drm/card0-eDP-1/edid
	...
	B133UAN02.1

Johan
Johan Hovold Jan. 3, 2023, 8:13 a.m. UTC | #2
On Sat, Dec 31, 2022 at 04:27:21PM +0200, Abel Vesa wrote:
> Add an eDP panel entry for IVO M133NW4J.
> 
> Due to lack of documentation, use the delay_200_500_p2e100 timings like
> some other IVO entries for now.
> 
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---

Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Doug Anderson Jan. 11, 2023, 12:59 a.m. UTC | #3
Hi,

On Sat, Dec 31, 2022 at 6:27 AM Abel Vesa <abel.vesa@linaro.org> wrote:
>
> Add an eDP panel entry for IVO M133NW4J.
>
> Due to lack of documentation, use the delay_200_500_p2e100 timings like
> some other IVO entries for now.
>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
>
> Assuming the information from here is correct:
> https://raw.githubusercontent.com/linuxhw/EDID/master/DigitalDisplay.md
>
> This fixes the following WARN_ON on my X13s:
>
> [    2.194973] CPU: 5 PID: 186 Comm: kworker/u16:6 Not tainted 6.2.0-rc1-00075-g5136d9aa278f-dirty #26
> [    2.195409] Hardware name: LENOVO 21BX000WRI/21BX000WRI, BIOS N3HET44W (1.16 ) 05/27/2022
> [    2.195820] Workqueue: events_unbound deferred_probe_work_func
> [    2.196234] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [    2.196639] pc : panel_edp_probe+0x3d4/0x520 [panel_edp]
> [    2.197036] lr : panel_edp_probe+0x37c/0x520 [panel_edp]
> [    2.197435] sp : ffff80000970b3b0
> [    2.197833] x29: ffff80000970b3b0 x28: ffff0e0a80b7f760 x27: 0000000000000001
> [    2.198231] x26: ffff0e11fe0e1b50 x25: ffffa8f9f585e0c8 x24: 0000000000000000
> [    2.198630] x23: ffff0e0a81a39c80 x22: ffffa8f9f58c7638 x21: 0000000000000000
> [    2.199032] x20: ffff0e0a8d1b0000 x19: ffff0e0a820fea80 x18: 0000000000000000
> [    2.199576] x17: 0000000000000000 x16: ffffa8fa5e097080 x15: 0000000000000000
> [    2.199969] x14: 0000000000000003 x13: 0000000000000059 x12: 0000000000000066
> [    2.200360] x11: 0000000000000001 x10: 00000000000009e0 x9 : 0000000000000001
> [    2.200748] x8 : ffff80000970b340 x7 : 0000000000000000 x6 : 0000000000000000
> [    2.201132] x5 : 0000000000000049 x4 : 0000000000000056 x3 : 000000000000004f
> [    2.201512] x2 : 0000000000000000 x1 : ffffa8f9f58c7a00 x0 : 000000000000854a
> [    2.201888] Call trace:
> [    2.202261]  panel_edp_probe+0x3d4/0x520 [panel_edp]
> [    2.202636]  panel_edp_dp_aux_ep_probe+0x38/0x50 [panel_edp]
> [    2.203009]  dp_aux_ep_probe+0x34/0xf4 [drm_dp_aux_bus]
> [    2.203379]  really_probe+0xc0/0x3dc
> [    2.203739]  __driver_probe_device+0x7c/0x190
> [    2.204096]  driver_probe_device+0x3c/0x110
> [    2.204448]  __device_attach_driver+0xbc/0x160
> [    2.204795]  bus_for_each_drv+0x7c/0xd4
> [    2.205136]  __device_attach+0x9c/0x1c0
> [    2.205439]  device_initial_probe+0x14/0x20
> [    2.205717]  bus_probe_device+0x9c/0xa4
> [    2.205995]  device_add+0x3c4/0x8cc
> [    2.206270]  device_register+0x20/0x30
> [    2.206543]  of_dp_aux_populate_bus+0xe0/0x1bc [drm_dp_aux_bus]
> [    2.206817]  msm_dp_modeset_init+0x1d8/0x274 [msm]
> [    2.207096]  _dpu_kms_drm_obj_init+0x128/0x670 [msm]
> [    2.207370]  dpu_kms_hw_init+0x540/0x640 [msm]
> [    2.207645]  msm_drm_bind+0x18c/0x61c [msm]
> [    2.207917]  try_to_bring_up_aggregate_device+0x1dc/0x2d0
> [    2.208186]  __component_add+0xa4/0x190
> [    2.208454]  component_add+0x14/0x20
> [    2.208720]  dp_display_probe+0x29c/0x454 [msm]
> [    2.208989]  platform_probe+0x68/0xc0
> [    2.209252]  really_probe+0xc0/0x3dc
> [    2.209511]  __driver_probe_device+0x7c/0x190
> [    2.209767]  driver_probe_device+0x3c/0x110
> [    2.210022]  __device_attach_driver+0xbc/0x160
> [    2.210275]  bus_for_each_drv+0x7c/0xd4
> [    2.210528]  __device_attach+0x9c/0x1c0
> [    2.210781]  device_initial_probe+0x14/0x20
> [    2.211032]  bus_probe_device+0x9c/0xa4
> [    2.211280]  deferred_probe_work_func+0x9c/0xf0
> [    2.211525]  process_one_work+0x1c4/0x320
> [    2.211768]  worker_thread+0x6c/0x430
> [    2.212012]  kthread+0x108/0x10c
> [    2.212251]  ret_from_fork+0x10/0x20
> [    2.212488] ---[ end trace 0000000000000000 ]---
> [    2.212755] panel-simple-dp-aux aux-aea0000.displayport-controller: Unknown panel IVO 0x854a, using conservative timings
>
>  drivers/gpu/drm/panel/panel-edp.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Douglas Anderson <dianders@chromium.org>

Pushed to drm-misc-next:

e22391454e3e drm/panel-edp: add IVO M133NW4J panel entry
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index ef70928c3ccb..bef5cdf6a582 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1891,6 +1891,7 @@  static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('C', 'M', 'N', 0x1247, &delay_200_500_e80_d50, "N120ACA-EA1"),
 
 	EDP_PANEL_ENTRY('I', 'V', 'O', 0x057d, &delay_200_500_e200, "R140NWF5 RH"),
+	EDP_PANEL_ENTRY('I', 'V', 'O', 0x854a, &delay_200_500_p2e100, "M133NW4J"),
 	EDP_PANEL_ENTRY('I', 'V', 'O', 0x854b, &delay_200_500_p2e100, "R133NW4K-R0"),
 
 	EDP_PANEL_ENTRY('K', 'D', 'B', 0x0624, &kingdisplay_kd116n21_30nv_a010.delay, "116N21-30NV-A010"),