Re: Fwd: BUG#200905 pxa_gpio conflicing with others arches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nicolas Chauvet <kwizart@xxxxxxxxx> writes:

> 2018-08-30 10:51 GMT+02:00 Robert Jarzmik <robert.jarzmik@xxxxxxx>:
>> Nicolas Chauvet <kwizart@xxxxxxxxx> writes:
>> Mmmm that's strange ...
>> Could you provide me (or attach them to the bugzilla) :
>>  - your .config
>>  - your .dtb
>>  - your vmlinux
>>  - the new stackstrace
> The fedora armv7hl config is located here:
> https://src.fedoraproject.org/rpms/kernel/blob/master/f/kernel-armv7hl.config
> The kernel build is available at
> https://koji.fedoraproject.org/koji/taskinfo?taskID=29364974
> You can grab the kernel-core and kernel-modules*.rpm and extract using
> rpm2cpio kernel-core*.rpm | cpio -vid . from any distro.
Well, the vmlinux is in :
kernel-debuginfo-4.18.5-300.tegra.fc28.armv7hl.rpm

And from what I understand, the patch is not applied. I'm basing this on the
disassembly comparison, with :
arm-none-eabi-gdb -batch -ex "disassemble /rs pxa_gpio_suspend" vmlinux

Mine is in [1], yours in [2]. See that comparision with 0 missing ...

Cheers.

--
Robert

[1] Mine
Dump of assembler code for function pxa_gpio_suspend:
drivers/gpio/gpio-pxa.c:
774	{
   0xc027e734 <+0>:	0d c0 a0 e1	mov	r12, sp
   0xc027e738 <+4>:	00 d8 2d e9	push	{r11, r12, lr, pc}
   0xc027e73c <+8>:	04 b0 4c e2	sub	r11, r12, #4
   0xc027e740 <+12>:	04 e0 2d e5	push	{lr}		; (str lr, [sp, #-4]!)
   0xc027e744 <+16>:	15 4c f6 eb	bl	0xc00117a0 <__gnu_mcount_nc>

775		struct pxa_gpio_chip *pchip = pxa_gpio_chip;
   0xc027e748 <+20>:	64 20 9f e5	ldr	r2, [pc, #100]	; 0xc027e7b4 <pxa_gpio_suspend+128>
   0xc027e74c <+24>:	04 30 92 e5	ldr	r3, [r2, #4]

776		struct pxa_gpio_bank *c;
777		int gpio;
778	
779		if (!pchip)
   0xc027e750 <+28>:	00 00 53 e3	cmp	r3, #0
   0xc027e754 <+32>:	14 00 00 0a	beq	0xc027e7ac <pxa_gpio_suspend+120>

780			return 0;
781	
782		for_each_gpio_bank(gpio, c, pchip) {
   0xc027e758 <+36>:	00 c0 92 e5	ldr	r12, [r2]
   0xc027e75c <+40>:	64 30 93 e5	ldr	r3, [r3, #100]	; 0x64
   0xc027e760 <+44>:	00 00 5c e3	cmp	r12, #0
   0xc027e764 <+48>:	10 00 00 ba	blt	0xc027e7ac <pxa_gpio_suspend+120>
   0xc027e768 <+52>:	00 10 a0 e3	mov	r1, #0

./arch/arm/include/asm/io.h:
100		asm volatile("str %1, %0"
   0xc027e76c <+56>:	00 e0 e0 e3	mvn	lr, #0
   0xc027e770 <+60>:	20 30 83 e2	add	r3, r3, #32

drivers/gpio/gpio-pxa.c:
783			c->saved_gplr = readl_relaxed(c->regbase + GPLR_OFFSET);
   0xc027e774 <+64>:	20 20 13 e5	ldr	r2, [r3, #-32]	; 0xffffffe0

./arch/arm/include/asm/io.h:
118		asm volatile("ldr %0, %1"
   0xc027e778 <+68>:	00 00 92 e5	ldr	r0, [r2]

drivers/gpio/gpio-pxa.c:
783			c->saved_gplr = readl_relaxed(c->regbase + GPLR_OFFSET);
   0xc027e77c <+72>:	10 00 03 e5	str	r0, [r3, #-16]

./arch/arm/include/asm/io.h:
118		asm volatile("ldr %0, %1"
   0xc027e780 <+76>:	0c 00 92 e5	ldr	r0, [r2, #12]

drivers/gpio/gpio-pxa.c:
784			c->saved_gpdr = readl_relaxed(c->regbase + GPDR_OFFSET);
   0xc027e784 <+80>:	0c 00 03 e5	str	r0, [r3, #-12]

./arch/arm/include/asm/io.h:
118		asm volatile("ldr %0, %1"
   0xc027e788 <+84>:	30 00 92 e5	ldr	r0, [r2, #48]	; 0x30

drivers/gpio/gpio-pxa.c:
785			c->saved_grer = readl_relaxed(c->regbase + GRER_OFFSET);
   0xc027e78c <+88>:	08 00 03 e5	str	r0, [r3, #-8]

./arch/arm/include/asm/io.h:
118		asm volatile("ldr %0, %1"
   0xc027e790 <+92>:	3c 00 92 e5	ldr	r0, [r2, #60]	; 0x3c

drivers/gpio/gpio-pxa.c:
786			c->saved_gfer = readl_relaxed(c->regbase + GFER_OFFSET);
   0xc027e794 <+96>:	04 00 03 e5	str	r0, [r3, #-4]

./arch/arm/include/asm/io.h:
100		asm volatile("str %1, %0"
   0xc027e798 <+100>:	48 e0 82 e5	str	lr, [r2, #72]	; 0x48

drivers/gpio/gpio-pxa.c:
782		for_each_gpio_bank(gpio, c, pchip) {
   0xc027e79c <+104>:	20 10 81 e2	add	r1, r1, #32
   0xc027e7a0 <+108>:	0c 00 51 e1	cmp	r1, r12
   0xc027e7a4 <+112>:	20 30 83 e2	add	r3, r3, #32
   0xc027e7a8 <+116>:	f1 ff ff da	ble	0xc027e774 <pxa_gpio_suspend+64>

787	
788			/* Clear GPIO transition detect bits */
789			writel_relaxed(0xffffffff, c->regbase + GEDR_OFFSET);
790		}
791		return 0;
792	}
   0xc027e7ac <+120>:	00 00 a0 e3	mov	r0, #0
   0xc027e7b0 <+124>:	00 a8 9d e8	ldm	sp, {r11, sp, pc}
   0xc027e7b4 <+128>:	3c 75 7c c0	rsbsgt	r7, r12, r12, lsr r5
End of assembler dump.

[2] Yours
Dump of assembler code for function pxa_gpio_suspend:
drivers/gpio/gpio-pxa.c:
   0xc0715ba0 <+0>:	0d c0 a0 e1	mov	r12, sp
   0xc0715ba4 <+4>:	00 d8 2d e9	push	{r11, r12, lr, pc}
   0xc0715ba8 <+8>:	04 b0 4c e2	sub	r11, r12, #4
   0xc0715bac <+12>:	04 e0 2d e5	push	{lr}		; (str lr, [sp, #-4]!)
   0xc0715bb0 <+16>:	9b f2 ef eb	bl	0xc0312624 <__gnu_mcount_nc>

757	in drivers/gpio/gpio-pxa.c
758	in drivers/gpio/gpio-pxa.c
759	in drivers/gpio/gpio-pxa.c
760	in drivers/gpio/gpio-pxa.c
761	in drivers/gpio/gpio-pxa.c
   0xc0715bb4 <+20>:	54 30 9f e5	ldr	r3, [pc, #84]	; 0xc0715c10 <pxa_gpio_suspend+112>
   0xc0715bb8 <+24>:	00 c0 e0 e3	mvn	r12, #0
   0xc0715bbc <+28>:	09 00 93 e8	ldm	r3, {r0, r3}
   0xc0715bc0 <+32>:	d0 10 93 e5	ldr	r1, [r3, #208]	; 0xd0
   0xc0715bc4 <+36>:	01 20 a0 e1	mov	r2, r1
   0xc0715bc8 <+40>:	20 30 82 e2	add	r3, r2, #32
   0xc0715bcc <+44>:	01 20 42 e0	sub	r2, r2, r1
   0xc0715bd0 <+48>:	02 00 50 e1	cmp	r0, r2
   0xc0715bd4 <+52>:	01 00 00 aa	bge	0xc0715be0 <pxa_gpio_suspend+64>

766	in drivers/gpio/gpio-pxa.c
767	in drivers/gpio/gpio-pxa.c
768	in drivers/gpio/gpio-pxa.c
769	in drivers/gpio/gpio-pxa.c
770	in drivers/gpio/gpio-pxa.c
   0xc0715bd8 <+56>:	00 00 a0 e3	mov	r0, #0
   0xc0715bdc <+60>:	00 a8 9d e8	ldm	sp, {r11, sp, pc}

762	in drivers/gpio/gpio-pxa.c
   0xc0715be0 <+64>:	20 20 13 e5	ldr	r2, [r3, #-32]	; 0xffffffe0

./arch/arm/include/asm/io.h:
   0xc0715be4 <+68>:	00 e0 92 e5	ldr	lr, [r2]

drivers/gpio/gpio-pxa.c:
   0xc0715be8 <+72>:	10 e0 03 e5	str	lr, [r3, #-16]

./arch/arm/include/asm/io.h:
   0xc0715bec <+76>:	0c e0 92 e5	ldr	lr, [r2, #12]

drivers/gpio/gpio-pxa.c:
   0xc0715bf0 <+80>:	0c e0 03 e5	str	lr, [r3, #-12]

./arch/arm/include/asm/io.h:
   0xc0715bf4 <+84>:	30 e0 92 e5	ldr	lr, [r2, #48]	; 0x30

drivers/gpio/gpio-pxa.c:
   0xc0715bf8 <+88>:	08 e0 03 e5	str	lr, [r3, #-8]

./arch/arm/include/asm/io.h:
   0xc0715bfc <+92>:	3c e0 92 e5	ldr	lr, [r2, #60]	; 0x3c

drivers/gpio/gpio-pxa.c:
   0xc0715c00 <+96>:	04 e0 03 e5	str	lr, [r3, #-4]

./arch/arm/include/asm/io.h:
   0xc0715c04 <+100>:	48 c0 82 e5	str	r12, [r2, #72]	; 0x48
   0xc0715c08 <+104>:	03 20 a0 e1	mov	r2, r3
   0xc0715c0c <+108>:	ed ff ff ea	b	0xc0715bc8 <pxa_gpio_suspend+40>
   0xc0715c10 <+112>:	84 77 4b c1	smlalbbgt	r7, r11, r4, r7
End of assembler dump.



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux