From: Robert Hodaszi <robert.hodaszi@digi.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] net: fec: Avoid MX28 bus sync issue
Date: Fri, 13 Sep 2013 16:24:00 +0200 [thread overview]
Message-ID: <52332000.2060701@digi.com> (raw)
In-Reply-To: <201309131601.45211.marex@denx.de>
> OK, but as Wolfgang already pointed out, can you tell use what compiler exposes
> this behavior and show us the details WD requested please ?
>
> Best regards,
> Marek Vasut
You can find the informations below.
Please, use my patch or don't use it, or feel free to modify it as you
wish, but sorry, I really don't have more time to work on this problem.
/ $ arm-linux-gcc --version//
//arm-linux-gcc (crosstool-NG 1.12.1) 4.4.6//
//Copyright (C) 2010 Free Software Foundation, Inc.//
//This is free software; see the source for copying conditions. There
is NO//
//warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.//
//
// $ arm-linux-ld --version//
//GNU ld (crosstool-NG 1.12.1) 2.20.1.20100303//
//Copyright 2009 Free Software Foundation, Inc.//
//This program is free software; you may redistribute it under the terms
of//
//the GNU General Public License version 3 or (at your option) a later
version.//
//This program has absolutely no warranty./
*Before**:
*/4003ff5c <fec_recv>://
//4003ff5c: e92d44f0 push {r4, r5, r6, r7, sl, lr}//
//4003ff60: e590403c ldr r4, [r0, #60] ; 0x3c//
//4003ff64: e24ddc06 sub sp, sp, #1536 ; 0x600//
//4003ff68: e5943000 ldr r3, [r4]//
//4003ff6c: e594600c ldr r6, [r4, #12]//
//4003ff70: e5935004 ldr r5, [r3, #4]//
//4003ff74: e594a008 ldr sl, [r4, #8]//
//4003ff78: e1a07000 mov r7, r0//
//4003ff7c: e5943000 ldr r3, [r4]//
//4003ff80: e3150101 tst r5, #1073741824 ; 0x40000000//
//4003ff84: e5835004 str r5, [r3, #4]//
//4003ff88: 0a000007 beq 4003ffac <fec_recv+0x50>//
//4003ff8c: ebfffd9e bl 4003f60c <fec_halt>//
//4003ff90: e5941018 ldr r1, [r4, #24]//
//4003ff94: e1a00007 mov r0, r7//
//4003ff98: ebfffef1 bl 4003fb64 <fec_init>//
//4003ff9c: e1a01005 mov r1, r5//
//4003ffa0: e59f01a4 ldr r0, [pc, #420] ; 4004014c
<fec_recv+0x1f0>//
//4003ffa4: ebff76b7 bl 4001da88 <printf>//
//4003ffa8: ea00001d b 40040024 <fec_recv+0xc8>//
//4003ffac: e3550000 cmp r5, #0//
//4003ffb0: aa000003 bge 4003ffc4 <fec_recv+0x68>//
//4003ffb4: e59320c4 ldr r2, [r3, #196] ; 0xc4//
//4003ffb8: e3822001 orr r2, r2, #1//
//4003ffbc: e5943000 ldr r3, [r4]//
//4003ffc0: e58320c4 str r2, [r3, #196] ; 0xc4//
//4003ffc4: e3150201 tst r5, #268435456 ; 0x10000000//
//4003ffc8: 0a00000d beq 40040004 <fec_recv+0xa8>//
//4003ffcc: e5943000 ldr r3, [r4]//
//4003ffd0: e59330c4 ldr r3, [r3, #196] ; 0xc4//
//4003ffd4: e3130001 tst r3, #1//
//4003ffd8: 0a000009 beq 40040004 <fec_recv+0xa8>//
//4003ffdc: e1a00007 mov r0, r7//
//4003ffe0: ebfffd89 bl 4003f60c <fec_halt>//
//4003ffe4: e5943000 ldr r3, [r4]//
//4003ffe8: e59320c4 ldr r2, [r3, #196] ; 0xc4//
//4003ffec: e3c22001 bic r2, r2, #1//
//4003fff0: e5943000 ldr r3, [r4]//
//4003fff4: e1a00007 mov r0, r7//
//4003fff8: e58320c4 str r2, [r3, #196] ; 0xc4//
//4003fffc: e5941018 ldr r1, [r4, #24]//
//40040000: ebfffed7 bl 4003fb64 <fec_init>//
//40040004: e1a05186 lsl r5, r6, #3//
//40040008: e08a6005 add r6, sl, r5//
//4004000c: e3c6003f bic r0, r6, #63 ; 0x3f//
//40040010: e2801040 add r1, r0, #64 ; 0x40//
//40040014: ebff0152 bl 40000564
<invalidate_dcache_range>//
//40040018: e1d620b2 ldrh r2, [r6, #2]//
//4004001c: e3120902 tst r2, #32768 ; 0x8000//
//40040020: 0a000001 beq 4004002c <fec_recv+0xd0>//
//40040024: e3a05000 mov r5, #0//
//40040028: ea000044 b 40040140 <fec_recv+0x1e4>//
//4004002c: e59f311c ldr r3, [pc, #284] ; 40040150
<fec_recv+0x1f4>//
//40040030: e0023003 and r3, r2, r3//
//40040034: e3530b02 cmp r3, #2048 ; 0x800//
//40040038: 1a000016 bne 40040098 <fec_recv+0x13c>//
//4004003c: e19a30b5 ldrh r3, [sl, r5]//
//40040040: e3530012 cmp r3, #18//
//40040044: da000013 ble 40040098 <fec_recv+0x13c>//
//40040048: e5967004 ldr r7, [r6, #4]//
//4004004c: e19a50b5 ldrh r5, [sl, r5]//
//40040050: e2455004 sub r5, r5, #4//
//40040054: e287103f add r1, r7, #63 ; 0x3f//
//40040058: e0811005 add r1, r1, r5//
//4004005c: e3c7003f bic r0, r7, #63 ; 0x3f//
//40040060: e3c1103f bic r1, r1, #63 ; 0x3f//
//40040064: ebff013e bl 40000564
<invalidate_dcache_range>//
//40040068: e1a00007 mov r0, r7//
//4004006c: e1a01005 mov r1, r5//
//40040070: ebfffe57 bl 4003f9d4 <swap_packet>//
//40040074: e1a01007 mov r1, r7//
//40040078: e1a02005 mov r2, r5//
//4004007c: e1a0000d mov r0, sp//
//40040080: eb0030c5 bl 4004c39c <memcpy>//
//40040084: e1a0000d mov r0, sp//
//40040088: e1a01005 mov r1, r5//
//4004008c: e1a0600d mov r6, sp//
//40040090: eb00465e bl 40051a10 <NetReceive>//
//40040094: ea000005 b 400400b0 <fec_recv+0x154>//
//40040098: e2125037 ands r5, r2, #55 ; 0x37//
//4004009c: 0a000003 beq 400400b0 <fec_recv+0x154>//
//400400a0: e5961004 ldr r1, [r6, #4]//
//400400a4: e59f00a8 ldr r0, [pc, #168] ; 40040154
<fec_recv+0x1f8>//
//400400a8: ebff7676 bl 4001da88 <printf>//
//400400ac: e3a05000 mov r5, #0//
//400400b0: e594300c ldr r3, [r4, #12]//
//400400b4: e2032007 and r2, r3, #7//
//400400b8: e3520007 cmp r2, #7//
//400400bc: 1a000014 bne 40040114 <fec_recv+0x1b8>//
//400400c0: e5940008 ldr r0, [r4, #8]//
//400400c4: e243227e sub r2, r3, #-536870905 ;
0xe0000007//
//400400c8: e2433007 sub r3, r3, #7//
//400400cc: e0800183 add r0, r0, r3, lsl #3//
//400400d0: e1a02182 lsl r2, r2, #3//
//400400d4: ea000009 b 40040100 <fec_recv+0x1a4>//
//400400d8: e5941008 ldr r1, [r4, #8]//
//400400dc: e353003f cmp r3, #63 ; 0x3f//
//400400e0: 13a0e902 movne lr, #32768 ; 0x8000//
//400400e4: 03a0ea0a moveq lr, #40960 ; 0xa000//
//400400e8: e081c002 add ip, r1, r2//
//400400ec: e1cce0b2 strh lr, [ip, #2]//
//400400f0: e3a0c000 mov ip, #0//
//400400f4: e181c0b2 strh ip, [r1, r2]//
//400400f8: e2833001 add r3, r3, #1//
//400400fc: e2822008 add r2, r2, #8//
//40040100: e594100c ldr r1, [r4, #12]//
//40040104: e1530001 cmp r3, r1//
//40040108: dafffff2 ble 400400d8 <fec_recv+0x17c>//
//4004010c: e2801040 add r1, r0, #64 ; 0x40//
//40040110: ebff011d bl 4000058c <flush_dcache_range>//
//40040114: e5943000 ldr r3, [r4]//
//40040118: e3a02401 mov r2, #16777216 ; 0x1000000//
//4004011c: e5832010 str r2, [r3, #16]//
//40040120: e594300c ldr r3, [r4, #12]//
//40040124: e2833001 add r3, r3, #1//
//40040128: e21331fe ands r3, r3, #-2147483585 ;
0x8000003f//
//4004012c: 42433001 submi r3, r3, #1//
//40040130: 41e03d03 mvnmi r3, r3, lsl #26//
//40040134: 41e03d23 mvnmi r3, r3, lsr #26//
//40040138: 42833001 addmi r3, r3, #1//
//4004013c: e584300c str r3, [r4, #12]//
//40040140: e1a00005 mov r0, r5//
//40040144: e28ddc06 add sp, sp, #1536 ; 0x600//
//40040148: e8bd84f0 pop {r4, r5, r6, r7, sl, pc}//
//4004014c: 40068c43 .word 0x40068c43//
//40040150: 00000837 .word 0x00000837//
//40040154: 40068c58 .word 0x40068c58/
*After:
*/4003ff5c <fec_recv>://
//4003ff5c: e92d44f0 push {r4, r5, r6, r7, sl, lr}//
//4003ff60: e590403c ldr r4, [r0, #60] ; 0x3c//
//4003ff64: e1a0a000 mov sl, r0//
//4003ff68: e5943000 ldr r3, [r4]//
//4003ff6c: e594600c ldr r6, [r4, #12]//
//4003ff70: e5935004 ldr r5, [r3, #4]//
//4003ff74: e5947008 ldr r7, [r4, #8]//
//4003ff78: e5943000 ldr r3, [r4]//
//4003ff7c: e3150101 tst r5, #1073741824 ; 0x40000000//
//4003ff80: e5835004 str r5, [r3, #4]//
//4003ff84: 0a000007 beq 4003ffa8 <fec_recv+0x4c>//
//4003ff88: ebfffd9f bl 4003f60c <fec_halt>//
//4003ff8c: e5941018 ldr r1, [r4, #24]//
//4003ff90: e1a0000a mov r0, sl//
//4003ff94: ebfffef2 bl 4003fb64 <fec_init>//
//4003ff98: e1a01005 mov r1, r5//
//4003ff9c: e59f019c ldr r0, [pc, #412] ; 40040140
<fec_recv+0x1e4>//
//4003ffa0: ebff76b8 bl 4001da88 <printf>//
//4003ffa4: ea00001d b 40040020 <fec_recv+0xc4>//
//4003ffa8: e3550000 cmp r5, #0//
//4003ffac: aa000003 bge 4003ffc0 <fec_recv+0x64>//
//4003ffb0: e59320c4 ldr r2, [r3, #196] ; 0xc4//
//4003ffb4: e3822001 orr r2, r2, #1//
//4003ffb8: e5943000 ldr r3, [r4]//
//4003ffbc: e58320c4 str r2, [r3, #196] ; 0xc4//
//4003ffc0: e3150201 tst r5, #268435456 ; 0x10000000//
//4003ffc4: 0a00000d beq 40040000 <fec_recv+0xa4>//
//4003ffc8: e5943000 ldr r3, [r4]//
//4003ffcc: e59330c4 ldr r3, [r3, #196] ; 0xc4//
//4003ffd0: e3130001 tst r3, #1//
//4003ffd4: 0a000009 beq 40040000 <fec_recv+0xa4>//
//4003ffd8: e1a0000a mov r0, sl//
//4003ffdc: ebfffd8a bl 4003f60c <fec_halt>//
//4003ffe0: e5943000 ldr r3, [r4]//
//4003ffe4: e59320c4 ldr r2, [r3, #196] ; 0xc4//
//4003ffe8: e3c22001 bic r2, r2, #1//
//4003ffec: e5943000 ldr r3, [r4]//
//4003fff0: e1a0000a mov r0, sl//
//4003fff4: e58320c4 str r2, [r3, #196] ; 0xc4//
//4003fff8: e5941018 ldr r1, [r4, #24]//
//4003fffc: ebfffed8 bl 4003fb64 <fec_init>//
//40040000: e1a05186 lsl r5, r6, #3//
//40040004: e0876005 add r6, r7, r5//
//40040008: e3c6003f bic r0, r6, #63 ; 0x3f//
//4004000c: e2801040 add r1, r0, #64 ; 0x40//
//40040010: ebff0153 bl 40000564
<invalidate_dcache_range>//
//40040014: e1d620b2 ldrh r2, [r6, #2]//
//40040018: e3120902 tst r2, #32768 ; 0x8000//
//4004001c: 0a000001 beq 40040028 <fec_recv+0xcc>//
//40040020: e3a05000 mov r5, #0//
//40040024: ea000043 b 40040138 <fec_recv+0x1dc>//
//40040028: e59f3114 ldr r3, [pc, #276] ; 40040144
<fec_recv+0x1e8>//
//4004002c: e0023003 and r3, r2, r3//
//40040030: e3530b02 cmp r3, #2048 ; 0x800//
//40040034: 1a000015 bne 40040090 <fec_recv+0x134>//
//40040038: e19730b5 ldrh r3, [r7, r5]//
//4004003c: e3530012 cmp r3, #18//
//40040040: da000012 ble 40040090 <fec_recv+0x134>//
//40040044: e5966004 ldr r6, [r6, #4]//
//40040048: e19750b5 ldrh r5, [r7, r5]//
//4004004c: e2455004 sub r5, r5, #4//
//40040050: e286103f add r1, r6, #63 ; 0x3f//
//40040054: e0811005 add r1, r1, r5//
//40040058: e3c6003f bic r0, r6, #63 ; 0x3f//
//4004005c: e3c1103f bic r1, r1, #63 ; 0x3f//
//40040060: ebff013f bl 40000564
<invalidate_dcache_range>//
//40040064: e1a00006 mov r0, r6//
//40040068: e1a01005 mov r1, r5//
//4004006c: ebfffe58 bl 4003f9d4 <swap_packet>//
//40040070: e1a01006 mov r1, r6//
//40040074: e1a02005 mov r2, r5//
//40040078: e59f00c8 ldr r0, [pc, #200] ; 40040148
<fec_recv+0x1ec>//
//4004007c: eb0030c4 bl 4004c394 <memcpy>//
//40040080: e59f00c0 ldr r0, [pc, #192] ; 40040148
<fec_recv+0x1ec>//
//40040084: e1a01005 mov r1, r5//
//40040088: eb00465e bl 40051a08 <NetReceive>//
//4004008c: ea000005 b 400400a8 <fec_recv+0x14c>//
//40040090: e2125037 ands r5, r2, #55 ; 0x37//
//40040094: 0a000003 beq 400400a8 <fec_recv+0x14c>//
//40040098: e5961004 ldr r1, [r6, #4]//
//4004009c: e59f00a8 ldr r0, [pc, #168] ; 4004014c
<fec_recv+0x1f0>//
//400400a0: ebff7678 bl 4001da88 <printf>//
//400400a4: e3a05000 mov r5, #0//
//400400a8: e594300c ldr r3, [r4, #12]//
//400400ac: e2032007 and r2, r3, #7//
//400400b0: e3520007 cmp r2, #7//
//400400b4: 1a000014 bne 4004010c <fec_recv+0x1b0>//
//400400b8: e5940008 ldr r0, [r4, #8]//
//400400bc: e243227e sub r2, r3, #-536870905 ;
0xe0000007//
//400400c0: e2433007 sub r3, r3, #7//
//400400c4: e0800183 add r0, r0, r3, lsl #3//
//400400c8: e1a02182 lsl r2, r2, #3//
//400400cc: ea000009 b 400400f8 <fec_recv+0x19c>//
//400400d0: e5941008 ldr r1, [r4, #8]//
//400400d4: e353003f cmp r3, #63 ; 0x3f//
//400400d8: 13a0e902 movne lr, #32768 ; 0x8000//
//400400dc: 03a0ea0a moveq lr, #40960 ; 0xa000//
//400400e0: e081c002 add ip, r1, r2//
//400400e4: e1cce0b2 strh lr, [ip, #2]//
//400400e8: e3a0c000 mov ip, #0//
//400400ec: e181c0b2 strh ip, [r1, r2]//
//400400f0: e2833001 add r3, r3, #1//
//400400f4: e2822008 add r2, r2, #8//
//400400f8: e594100c ldr r1, [r4, #12]//
//400400fc: e1530001 cmp r3, r1//
//40040100: dafffff2 ble 400400d0 <fec_recv+0x174>//
//40040104: e2801040 add r1, r0, #64 ; 0x40//
//40040108: ebff011f bl 4000058c <flush_dcache_range>//
//4004010c: e5943000 ldr r3, [r4]//
//40040110: e3a02401 mov r2, #16777216 ; 0x1000000//
//40040114: e5832010 str r2, [r3, #16]//
//40040118: e594300c ldr r3, [r4, #12]//
//4004011c: e2833001 add r3, r3, #1//
//40040120: e21331fe ands r3, r3, #-2147483585 ;
0x8000003f//
//40040124: 42433001 submi r3, r3, #1//
//40040128: 41e03d03 mvnmi r3, r3, lsl #26//
//4004012c: 41e03d23 mvnmi r3, r3, lsr #26//
//40040130: 42833001 addmi r3, r3, #1//
//40040134: e584300c str r3, [r4, #12]//
//40040138: e1a00005 mov r0, r5//
//4004013c: e8bd84f0 pop {r4, r5, r6, r7, sl, pc}//
//40040140: 40068c3b .word 0x40068c3b//
//40040144: 00000837 .word 0x00000837//
//40040148: 4008a880 .word 0x4008a880//
//4004014c: 40068c50 .word 0x40068c50//
/
Robert Hodaszi
next prev parent reply other threads:[~2013-09-13 14:24 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-11 23:03 [U-Boot] [PATCH] net: fec: Avoid MX28 bus sync issue Marek Vasut
2013-07-11 23:18 ` Fabio Estevam
2013-07-12 3:41 ` Alexandre Pereira da Silva
2013-07-12 3:51 ` Marek Vasut
2013-07-12 11:37 ` Hector Palacios
2013-07-12 11:39 ` Fabio Estevam
2013-07-12 12:01 ` Marek Vasut
2013-07-12 15:08 ` Hector Palacios
2013-07-12 15:50 ` Albert ARIBAUD
2013-07-12 16:48 ` Marek Vasut
2013-07-15 8:58 ` Hector Palacios
2013-07-15 12:30 ` Marek Vasut
2013-07-15 15:09 ` Hector Palacios
2013-07-15 15:12 ` Marek Vasut
2013-07-15 15:24 ` Hector Palacios
2013-07-16 3:51 ` Fabio Estevam
2013-07-16 4:18 ` Fabio Estevam
2013-07-16 4:44 ` Marek Vasut
2013-07-17 15:55 ` Hector Palacios
2013-07-18 4:12 ` Marek Vasut
2013-09-12 10:22 ` Hector Palacios
2013-09-12 10:50 ` Marek Vasut
[not found] ` <52319DE8.5080607@digi.com>
2013-09-12 11:00 ` Marek Vasut
2013-09-12 11:02 ` Robert Hodaszi
2013-09-12 14:05 ` Marek Vasut
2013-09-12 14:15 ` Robert Hodaszi
2013-09-12 14:31 ` Marek Vasut
2013-09-12 14:32 ` Robert Hodaszi
2013-09-12 15:06 ` Marek Vasut
2013-09-12 18:17 ` Wolfgang Denk
2013-09-12 18:39 ` Fabio Estevam
2013-09-12 18:53 ` Wolfgang Denk
2013-09-12 19:37 ` Fabio Estevam
2013-09-13 11:11 ` Robert Hodaszi
2013-09-13 11:13 ` Robert Hodaszi
2013-09-13 14:01 ` Marek Vasut
2013-09-13 14:24 ` Robert Hodaszi [this message]
2013-09-13 16:06 ` Wolfgang Denk
2013-09-13 16:24 ` Marek Vasut
2013-09-13 17:46 ` Wolfgang Denk
2013-09-14 22:05 ` Fabio Estevam
2013-09-12 11:08 ` Robert Hodaszi
2013-09-12 18:12 ` Wolfgang Denk
2013-09-12 17:50 ` Wolfgang Denk
2013-07-13 2:43 ` Troy Kisky
2013-07-15 13:41 ` Albert ARIBAUD
2013-07-15 17:39 ` Troy Kisky
2013-07-15 19:59 ` Troy Kisky
2013-07-15 20:20 ` Albert ARIBAUD
2013-07-15 20:20 ` Albert ARIBAUD
2013-07-15 21:18 ` Troy Kisky
2013-07-12 5:57 ` Albert ARIBAUD
2013-07-12 6:39 ` Albert ARIBAUD
2013-07-12 11:51 ` Marek Vasut
2013-07-12 6:56 ` Stefano Babic
2013-07-12 7:30 ` Stefano Babic
-- strict thread matches above, loose matches on Subject: below --
2013-09-15 18:12 Oliver Metz
2013-09-15 18:16 ` Fabio Estevam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52332000.2060701@digi.com \
--to=robert.hodaszi@digi.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox