Hi All,
Le 01/10/2024 à 14:09, Hoi Pok Wu a écrit :
[Vous ne recevez pas souvent de courriers de wuhoipok@xxxxxxxxx. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
Hi Thomas,
Could you help on this issue?
I do not have access to the hardware now.
Thank you.
The OOPS is from function drm_dp_aux_register(), exactly here below:
static inline const char *dev_name(const struct device *dev)
{
/* Use the init name until the kobject becomes available */
if (dev->init_name)
1ae0: e8 89 00 50 ld r4,80(r9)
As you see in registers dump, r9 register is NULL. That's dev which is NULL:
GPR00: c0000000005b74f0 c0000000800daf10 c0000000015a3600 c00000008033f7ec
GPR04: 0000000000000000 c000000001908f18 c000000080460c80 ffffffffc0c0c0c0
GPR08: c000000080f74008 0000000000000000 0000000000000003 c000000080f74008
GPR12: 0000000048000828 c00000003fffeac0 0000000000000003 0000000001000000
GPR16: c0000000804eaeca 0000000000000013 0000000000003113 0000000000000000
GPR20: 0000000000000008 c0000000800db208 000000000000000a c0000000014d6868
GPR24: 0000000000000000 0000000000000001 c0000000800db29c c0000000800db250
GPR28: c000000080bd8040 0000000000000001 c000000080f74000 c00000008033f4a0
Full dump below:
0000000000001a5c <drm_dp_aux_register>:
{
1a5c: 3c 4c 00 00 addis r2,r12,0
1a5e: R_PPC64_REL16_HA .TOC.+0x2
1a60: 38 42 00 00 addi r2,r2,0
1a62: R_PPC64_REL16_LO .TOC.+0x6
1a64: 7c 08 02 a6 mflr r0
1a68: fb e1 ff f8 std r31,-8(r1)
1a6c: f8 01 00 10 std r0,16(r1)
1a70: 7c 7f 1b 78 mr r31,r3
1a74: f8 21 ff d1 stdu r1,-48(r1)
WARN_ON_ONCE(!aux->drm_dev);
1a78: e9 23 03 38 ld r9,824(r3)
1a7c: 2f a9 00 00 cmpdi cr7,r9,0
1a80: 41 de 00 90 beq- cr7,1b10 <drm_dp_aux_register+0xb4>
if (!aux->ddc.algo)
1a84: e9 3f 00 18 ld r9,24(r31)
1a88: 2f a9 00 00 cmpdi cr7,r9,0
1a8c: 41 de 00 74 beq- cr7,1b00 <drm_dp_aux_register+0xa4>
strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
1a90: e8 9f 00 00 ld r4,0(r31)
aux->ddc.owner = THIS_MODULE;
1a94: 39 40 00 00 li r10,0
aux->ddc.dev.parent = aux->dev;
1a98: e9 3f 03 30 ld r9,816(r31)
strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
1a9c: 38 7f 02 74 addi r3,r31,628
aux->ddc.owner = THIS_MODULE;
1aa0: f9 5f 00 08 std r10,8(r31)
strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
1aa4: 2f a4 00 00 cmpdi cr7,r4,0
aux->ddc.dev.parent = aux->dev;
1aa8: f9 3f 00 b8 std r9,184(r31)
strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
1aac: 41 de 00 34 beq- cr7,1ae0 <drm_dp_aux_register+0x84>
1ab0: 38 a0 00 30 li r5,48
1ab4: 48 00 00 01 bl 1ab4 <drm_dp_aux_register+0x58>
1ab4: R_PPC64_REL24 sized_strscpy
1ab8: 60 00 00 00 nop
ret = i2c_add_adapter(&aux->ddc);
1abc: 38 7f 00 08 addi r3,r31,8
1ac0: 48 00 00 01 bl 1ac0 <drm_dp_aux_register+0x64>
1ac0: R_PPC64_REL24 i2c_add_adapter
1ac4: 60 00 00 00 nop
}
1ac8: 38 21 00 30 addi r1,r1,48
1acc: e8 01 00 10 ld r0,16(r1)
1ad0: eb e1 ff f8 ld r31,-8(r1)
1ad4: 7c 08 03 a6 mtlr r0
1ad8: 4e 80 00 20 blr
1adc: 60 00 00 00 nop
* Return: The kobject name of the device, or its initial name if
unavailable.
*/
static inline const char *dev_name(const struct device *dev)
{
/* Use the init name until the kobject becomes available */
if (dev->init_name)
1ae0: e8 89 00 50 ld r4,80(r9)
1ae4: 2f a4 00 00 cmpdi cr7,r4,0
1ae8: 40 fe ff c8 bne+ cr7,1ab0 <drm_dp_aux_register+0x54>
return dev->init_name;
return kobject_name(&dev->kobj);
1aec: e8 89 00 00 ld r4,0(r9)
1af0: 4b ff ff c0 b 1ab0 <drm_dp_aux_register+0x54>
1af4: 60 00 00 00 nop
1af8: 60 00 00 00 nop
1afc: 60 00 00 00 nop
drm_dp_aux_init(aux);
1b00: 7f e3 fb 78 mr r3,r31
1b04: 48 00 00 01 bl 1b04 <drm_dp_aux_register+0xa8>
1b04: R_PPC64_REL24 drm_dp_aux_init
1b08: 4b ff ff 88 b 1a90 <drm_dp_aux_register+0x34>
1b0c: 60 00 00 00 nop
WARN_ON_ONCE(!aux->drm_dev);
1b10: 0f e0 00 00 twui r0,0
1b14: 4b ff ff 70 b 1a84 <drm_dp_aux_register+0x28>
Regards,
Wu Hoi Pok
On Tue, Oct 1, 2024 at 12:26 PM Christian Zigotzky
<chzigotzky@xxxxxxxxxxx> wrote:
On 30 September 2024 3:27pm, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
+ Wu Hoi Pok
This is likely related to the drm device rework.
Alex
—————-
Hi All,
I was able to revert the drm-next-2024-09-19 updates for the RC1 of kernel 6.12.
This kernel works on all machines without any problems.
This means, the new Radeon DRM driver is unreliable after the DRM rework.
Please fix this issue because we can’t deliver the kernels with the new Radeon DRM driver.
Error log: https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.xenosoft.de%2FPuTTY_P5040_U-Boot.log&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C9b40f906e2f2493cb25908dce211ee23%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C638633814783011669%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C60000%7C%7C%7C&sdata=fgAj0osIOyJtNrzUKp%2Bpq0NN1sGW2bqGm8nXYj88Ne0%3D&reserved=0
Thanks,
Christian