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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.