diff mbox series

drm/msm: Set preferred depth.

Message ID 20230106071609.3948-1-steev@kali.org (mailing list archive)
State Not Applicable
Headers show
Series drm/msm: Set preferred depth. | expand

Commit Message

Steev Klimaszewski Jan. 6, 2023, 7:16 a.m. UTC
As of commit 37c90d589dc0 ("drm/fb-helper: Fix single-probe color-format
selection"), if no supported color formats are found, it tries to use the
driver provided default, which msm didn't have set and leads to the
following output:

msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
msm_dpu ae01000.display-controller: [drm] No compatible format found
------------[ cut here ]------------
WARNING: CPU: 0 PID: 73 at drivers/gpu/drm/drm_atomic.c:1604 __drm_atomic_helper_set_config+0x240/0x33c
Modules linked in: ext4 mbcache jbd2 msm mdt_loader ocmem gpu_sched llcc_qcom gpio_keys qrtr
CPU: 0 PID: 73 Comm: kworker/u16:2 Not tainted 6.2.0-rc2-next-20230106 #53
Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET74W (1.46 ) 10/12/2022
Workqueue: events_unbound deferred_probe_work_func
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __drm_atomic_helper_set_config+0x240/0x33c
lr : __drm_atomic_helper_set_config+0x68/0x33c
sp : ffff800008a7b790
x29: ffff800008a7b790 x28: ffff73ee3e130a00 x27: 0000000000000000
x26: ffff73ee3d256e00 x25: 0000000000000038 x24: ffff73e6c0d65e00
x23: ffff73e6c17a7800 x22: ffff73e6c0d64e00 x21: ffff73e79c025e00
x20: 00000000c0d64e00 x19: ffff73ee3e130a00 x18: ffffffffffffffff
x17: 662074616d726f66 x16: 20656c6269746170 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa829144ff8bc
x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff73e6c0d65f50 x4 : ffff73ee3d254950 x3 : ffff73e6c0d65ec0
x2 : ffff73ee3c953a00 x1 : ffff73e79c025580 x0 : 0000000000000000
Call trace:
__drm_atomic_helper_set_config+0x240/0x33c
drm_client_modeset_commit_atomic+0x160/0x280
drm_client_modeset_commit_locked+0x64/0x194
drm_client_modeset_commit+0x38/0x60
__drm_fb_helper_initial_config_and_unlock+0x528/0x63c
drm_fb_helper_initial_config+0x54/0x64
msm_fbdev_init+0x94/0xfc [msm]
msm_drm_bind+0x548/0x614 [msm]
try_to_bring_up_aggregate_device+0x1e4/0x2d0
__component_add+0xc4/0x1c0
component_add+0x1c/0x2c
dp_display_probe+0x2a4/0x460 [msm]
platform_probe+0x70/0xcc
really_probe+0xc8/0x3e0
__driver_probe_device+0x84/0x190
driver_probe_device+0x44/0x120
__device_attach_driver+0xc4/0x160
bus_for_each_drv+0x84/0xe0
__device_attach+0xa4/0x1cc
device_initial_probe+0x1c/0x2c
bus_probe_device+0xa4/0xb0
deferred_probe_work_func+0xc0/0x114
process_one_work+0x1ec/0x470
worker_thread+0x74/0x410
kthread+0xfc/0x110
ret_from_fork+0x10/0x20
---[ end trace 0000000000000000 ]---

Signed-off-by: Steev Klimaszewski <steev@kali.org>
---
 drivers/gpu/drm/msm/msm_drv.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Dmitry Baryshkov Jan. 6, 2023, 7:18 a.m. UTC | #1
On 06/01/2023 09:16, Steev Klimaszewski wrote:
> As of commit 37c90d589dc0 ("drm/fb-helper: Fix single-probe color-format
> selection"), if no supported color formats are found, it tries to use the
> driver provided default, which msm didn't have set and leads to the
> following output:
> 
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] No compatible format found
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 73 at drivers/gpu/drm/drm_atomic.c:1604 __drm_atomic_helper_set_config+0x240/0x33c
> Modules linked in: ext4 mbcache jbd2 msm mdt_loader ocmem gpu_sched llcc_qcom gpio_keys qrtr
> CPU: 0 PID: 73 Comm: kworker/u16:2 Not tainted 6.2.0-rc2-next-20230106 #53
> Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET74W (1.46 ) 10/12/2022
> Workqueue: events_unbound deferred_probe_work_func
> pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : __drm_atomic_helper_set_config+0x240/0x33c
> lr : __drm_atomic_helper_set_config+0x68/0x33c
> sp : ffff800008a7b790
> x29: ffff800008a7b790 x28: ffff73ee3e130a00 x27: 0000000000000000
> x26: ffff73ee3d256e00 x25: 0000000000000038 x24: ffff73e6c0d65e00
> x23: ffff73e6c17a7800 x22: ffff73e6c0d64e00 x21: ffff73e79c025e00
> x20: 00000000c0d64e00 x19: ffff73ee3e130a00 x18: ffffffffffffffff
> x17: 662074616d726f66 x16: 20656c6269746170 x15: 0000000000000000
> x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
> x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa829144ff8bc
> x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
> x5 : ffff73e6c0d65f50 x4 : ffff73ee3d254950 x3 : ffff73e6c0d65ec0
> x2 : ffff73ee3c953a00 x1 : ffff73e79c025580 x0 : 0000000000000000
> Call trace:
> __drm_atomic_helper_set_config+0x240/0x33c
> drm_client_modeset_commit_atomic+0x160/0x280
> drm_client_modeset_commit_locked+0x64/0x194
> drm_client_modeset_commit+0x38/0x60
> __drm_fb_helper_initial_config_and_unlock+0x528/0x63c
> drm_fb_helper_initial_config+0x54/0x64
> msm_fbdev_init+0x94/0xfc [msm]
> msm_drm_bind+0x548/0x614 [msm]
> try_to_bring_up_aggregate_device+0x1e4/0x2d0
> __component_add+0xc4/0x1c0
> component_add+0x1c/0x2c
> dp_display_probe+0x2a4/0x460 [msm]
> platform_probe+0x70/0xcc
> really_probe+0xc8/0x3e0
> __driver_probe_device+0x84/0x190
> driver_probe_device+0x44/0x120
> __device_attach_driver+0xc4/0x160
> bus_for_each_drv+0x84/0xe0
> __device_attach+0xa4/0x1cc
> device_initial_probe+0x1c/0x2c
> bus_probe_device+0xa4/0xb0
> deferred_probe_work_func+0xc0/0x114
> process_one_work+0x1ec/0x470
> worker_thread+0x74/0x410
> kthread+0xfc/0x110
> ret_from_fork+0x10/0x20
> ---[ end trace 0000000000000000 ]---
> 
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> ---
>   drivers/gpu/drm/msm/msm_drv.c | 1 +
>   1 file changed, 1 insertion(+)

Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thomas Zimmermann Jan. 6, 2023, 8:31 a.m. UTC | #2
Hi

Am 06.01.23 um 08:16 schrieb Steev Klimaszewski:
> As of commit 37c90d589dc0 ("drm/fb-helper: Fix single-probe color-format
> selection"), if no supported color formats are found, it tries to use the
> driver provided default, which msm didn't have set and leads to the
> following output:
> 
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> msm_dpu ae01000.display-controller: [drm] No compatible format found
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 73 at drivers/gpu/drm/drm_atomic.c:1604 __drm_atomic_helper_set_config+0x240/0x33c
> Modules linked in: ext4 mbcache jbd2 msm mdt_loader ocmem gpu_sched llcc_qcom gpio_keys qrtr
> CPU: 0 PID: 73 Comm: kworker/u16:2 Not tainted 6.2.0-rc2-next-20230106 #53
> Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET74W (1.46 ) 10/12/2022
> Workqueue: events_unbound deferred_probe_work_func
> pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : __drm_atomic_helper_set_config+0x240/0x33c
> lr : __drm_atomic_helper_set_config+0x68/0x33c
> sp : ffff800008a7b790
> x29: ffff800008a7b790 x28: ffff73ee3e130a00 x27: 0000000000000000
> x26: ffff73ee3d256e00 x25: 0000000000000038 x24: ffff73e6c0d65e00
> x23: ffff73e6c17a7800 x22: ffff73e6c0d64e00 x21: ffff73e79c025e00
> x20: 00000000c0d64e00 x19: ffff73ee3e130a00 x18: ffffffffffffffff
> x17: 662074616d726f66 x16: 20656c6269746170 x15: 0000000000000000
> x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
> x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa829144ff8bc
> x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
> x5 : ffff73e6c0d65f50 x4 : ffff73ee3d254950 x3 : ffff73e6c0d65ec0
> x2 : ffff73ee3c953a00 x1 : ffff73e79c025580 x0 : 0000000000000000
> Call trace:
> __drm_atomic_helper_set_config+0x240/0x33c
> drm_client_modeset_commit_atomic+0x160/0x280
> drm_client_modeset_commit_locked+0x64/0x194
> drm_client_modeset_commit+0x38/0x60
> __drm_fb_helper_initial_config_and_unlock+0x528/0x63c
> drm_fb_helper_initial_config+0x54/0x64
> msm_fbdev_init+0x94/0xfc [msm]
> msm_drm_bind+0x548/0x614 [msm]
> try_to_bring_up_aggregate_device+0x1e4/0x2d0
> __component_add+0xc4/0x1c0
> component_add+0x1c/0x2c
> dp_display_probe+0x2a4/0x460 [msm]
> platform_probe+0x70/0xcc
> really_probe+0xc8/0x3e0
> __driver_probe_device+0x84/0x190
> driver_probe_device+0x44/0x120
> __device_attach_driver+0xc4/0x160
> bus_for_each_drv+0x84/0xe0
> __device_attach+0xa4/0x1cc
> device_initial_probe+0x1c/0x2c
> bus_probe_device+0xa4/0xb0
> deferred_probe_work_func+0xc0/0x114
> process_one_work+0x1ec/0x470
> worker_thread+0x74/0x410
> kthread+0xfc/0x110
> ret_from_fork+0x10/0x20
> ---[ end trace 0000000000000000 ]---
> 
> Signed-off-by: Steev Klimaszewski <steev@kali.org>
> ---
>   drivers/gpu/drm/msm/msm_drv.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 8b0b0ac74a6f..65c4c93c311e 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -479,6 +479,7 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
>   
>   	drm_helper_move_panel_connectors_to_head(ddev);
>   
> +	ddev->mode_config.preferred_depth = 24;

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

Best regards
Thomas

>   	ddev->mode_config.funcs = &mode_config_funcs;
>   	ddev->mode_config.helper_private = &mode_config_helper_funcs;
>
Daniel Vetter Jan. 6, 2023, 9:03 a.m. UTC | #3
On Fri, Jan 06, 2023 at 09:31:31AM +0100, Thomas Zimmermann wrote:
> Am 06.01.23 um 08:16 schrieb Steev Klimaszewski:
> > As of commit 37c90d589dc0 ("drm/fb-helper: Fix single-probe color-format
> > selection"), if no supported color formats are found, it tries to use the
> > driver provided default, which msm didn't have set and leads to the
> > following output:
> > 
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] No compatible format found
> > ------------[ cut here ]------------
> > WARNING: CPU: 0 PID: 73 at drivers/gpu/drm/drm_atomic.c:1604 __drm_atomic_helper_set_config+0x240/0x33c
> > Modules linked in: ext4 mbcache jbd2 msm mdt_loader ocmem gpu_sched llcc_qcom gpio_keys qrtr
> > CPU: 0 PID: 73 Comm: kworker/u16:2 Not tainted 6.2.0-rc2-next-20230106 #53
> > Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET74W (1.46 ) 10/12/2022
> > Workqueue: events_unbound deferred_probe_work_func
> > pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > pc : __drm_atomic_helper_set_config+0x240/0x33c
> > lr : __drm_atomic_helper_set_config+0x68/0x33c
> > sp : ffff800008a7b790
> > x29: ffff800008a7b790 x28: ffff73ee3e130a00 x27: 0000000000000000
> > x26: ffff73ee3d256e00 x25: 0000000000000038 x24: ffff73e6c0d65e00
> > x23: ffff73e6c17a7800 x22: ffff73e6c0d64e00 x21: ffff73e79c025e00
> > x20: 00000000c0d64e00 x19: ffff73ee3e130a00 x18: ffffffffffffffff
> > x17: 662074616d726f66 x16: 20656c6269746170 x15: 0000000000000000
> > x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
> > x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa829144ff8bc
> > x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
> > x5 : ffff73e6c0d65f50 x4 : ffff73ee3d254950 x3 : ffff73e6c0d65ec0
> > x2 : ffff73ee3c953a00 x1 : ffff73e79c025580 x0 : 0000000000000000
> > Call trace:
> > __drm_atomic_helper_set_config+0x240/0x33c
> > drm_client_modeset_commit_atomic+0x160/0x280
> > drm_client_modeset_commit_locked+0x64/0x194
> > drm_client_modeset_commit+0x38/0x60
> > __drm_fb_helper_initial_config_and_unlock+0x528/0x63c
> > drm_fb_helper_initial_config+0x54/0x64
> > msm_fbdev_init+0x94/0xfc [msm]
> > msm_drm_bind+0x548/0x614 [msm]
> > try_to_bring_up_aggregate_device+0x1e4/0x2d0
> > __component_add+0xc4/0x1c0
> > component_add+0x1c/0x2c
> > dp_display_probe+0x2a4/0x460 [msm]
> > platform_probe+0x70/0xcc
> > really_probe+0xc8/0x3e0
> > __driver_probe_device+0x84/0x190
> > driver_probe_device+0x44/0x120
> > __device_attach_driver+0xc4/0x160
> > bus_for_each_drv+0x84/0xe0
> > __device_attach+0xa4/0x1cc
> > device_initial_probe+0x1c/0x2c
> > bus_probe_device+0xa4/0xb0
> > deferred_probe_work_func+0xc0/0x114
> > process_one_work+0x1ec/0x470
> > worker_thread+0x74/0x410
> > kthread+0xfc/0x110
> > ret_from_fork+0x10/0x20
> > ---[ end trace 0000000000000000 ]---
> > 
> > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> > ---
> >   drivers/gpu/drm/msm/msm_drv.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> > index 8b0b0ac74a6f..65c4c93c311e 100644
> > --- a/drivers/gpu/drm/msm/msm_drv.c
> > +++ b/drivers/gpu/drm/msm/msm_drv.c
> > @@ -479,6 +479,7 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
> >   	drm_helper_move_panel_connectors_to_head(ddev);
> > +	ddev->mode_config.preferred_depth = 24;
> 
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

preferred_depth is not a mandatory thing, we need to fix the fbdev patch,
not work around that in all the drivers. xrgb8888 is the assumed default.
-Daniel

> 
> Best regards
> Thomas
> 
> >   	ddev->mode_config.funcs = &mode_config_funcs;
> >   	ddev->mode_config.helper_private = &mode_config_helper_funcs;
> 
> -- 
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Ivo Totev
Daniel Vetter Jan. 6, 2023, 9:04 a.m. UTC | #4
On Fri, Jan 06, 2023 at 09:18:21AM +0200, Dmitry Baryshkov wrote:
> On 06/01/2023 09:16, Steev Klimaszewski wrote:
> > As of commit 37c90d589dc0 ("drm/fb-helper: Fix single-probe color-format
> > selection"), if no supported color formats are found, it tries to use the
> > driver provided default, which msm didn't have set and leads to the
> > following output:
> > 
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] bpp/depth value of 32/0 not supported
> > msm_dpu ae01000.display-controller: [drm] No compatible format found
> > ------------[ cut here ]------------
> > WARNING: CPU: 0 PID: 73 at drivers/gpu/drm/drm_atomic.c:1604 __drm_atomic_helper_set_config+0x240/0x33c
> > Modules linked in: ext4 mbcache jbd2 msm mdt_loader ocmem gpu_sched llcc_qcom gpio_keys qrtr
> > CPU: 0 PID: 73 Comm: kworker/u16:2 Not tainted 6.2.0-rc2-next-20230106 #53
> > Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET74W (1.46 ) 10/12/2022
> > Workqueue: events_unbound deferred_probe_work_func
> > pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > pc : __drm_atomic_helper_set_config+0x240/0x33c
> > lr : __drm_atomic_helper_set_config+0x68/0x33c
> > sp : ffff800008a7b790
> > x29: ffff800008a7b790 x28: ffff73ee3e130a00 x27: 0000000000000000
> > x26: ffff73ee3d256e00 x25: 0000000000000038 x24: ffff73e6c0d65e00
> > x23: ffff73e6c17a7800 x22: ffff73e6c0d64e00 x21: ffff73e79c025e00
> > x20: 00000000c0d64e00 x19: ffff73ee3e130a00 x18: ffffffffffffffff
> > x17: 662074616d726f66 x16: 20656c6269746170 x15: 0000000000000000
> > x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
> > x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa829144ff8bc
> > x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
> > x5 : ffff73e6c0d65f50 x4 : ffff73ee3d254950 x3 : ffff73e6c0d65ec0
> > x2 : ffff73ee3c953a00 x1 : ffff73e79c025580 x0 : 0000000000000000
> > Call trace:
> > __drm_atomic_helper_set_config+0x240/0x33c
> > drm_client_modeset_commit_atomic+0x160/0x280
> > drm_client_modeset_commit_locked+0x64/0x194
> > drm_client_modeset_commit+0x38/0x60
> > __drm_fb_helper_initial_config_and_unlock+0x528/0x63c
> > drm_fb_helper_initial_config+0x54/0x64
> > msm_fbdev_init+0x94/0xfc [msm]
> > msm_drm_bind+0x548/0x614 [msm]
> > try_to_bring_up_aggregate_device+0x1e4/0x2d0
> > __component_add+0xc4/0x1c0
> > component_add+0x1c/0x2c
> > dp_display_probe+0x2a4/0x460 [msm]
> > platform_probe+0x70/0xcc
> > really_probe+0xc8/0x3e0
> > __driver_probe_device+0x84/0x190
> > driver_probe_device+0x44/0x120
> > __device_attach_driver+0xc4/0x160
> > bus_for_each_drv+0x84/0xe0
> > __device_attach+0xa4/0x1cc
> > device_initial_probe+0x1c/0x2c
> > bus_probe_device+0xa4/0xb0
> > deferred_probe_work_func+0xc0/0x114
> > process_one_work+0x1ec/0x470
> > worker_thread+0x74/0x410
> > kthread+0xfc/0x110
> > ret_from_fork+0x10/0x20
> > ---[ end trace 0000000000000000 ]---
> > 
> > Signed-off-by: Steev Klimaszewski <steev@kali.org>
> > ---
> >   drivers/gpu/drm/msm/msm_drv.c | 1 +
> >   1 file changed, 1 insertion(+)
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

I think a documentation patch that preferred_depth = 0 actually means
xrgb8888 would be good, since we seem to have a serious confusion going on
here?
-Daniel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 8b0b0ac74a6f..65c4c93c311e 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -479,6 +479,7 @@  static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
 
 	drm_helper_move_panel_connectors_to_head(ddev);
 
+	ddev->mode_config.preferred_depth = 24;
 	ddev->mode_config.funcs = &mode_config_funcs;
 	ddev->mode_config.helper_private = &mode_config_helper_funcs;