From: Søren S. C. <li...@ss...> - 2009-12-15 21:28:35
|
Hi Scott, I'm not sure I fully understand your current problem/question. If I get it right you are searching for an explanation why you get 85Mb/s write speed in one test and 77Mb/s in the other one - Right? In case GPMC_CONFIG1-6 are identical I currently have no brilliant ideas what this is cause by. GPMC_CONFIG7 shouldn't affect this. Are you in total control of the network segment where you ran the test? Or could it be other users was using bandwidth on the network while running the test and getting 77Mb/s? Maybe u-boot is configuring something in the LAN9221 chip itself which slows it down afterward in Linux? I haven't checked, but it might be worth checking if u-boot actually writes something in the LAN9221 chip, which configures how it will output data to the GPMC bus... Please let me know in case I got the question right and as well when you have nailed the problem - I'm actually a bit curious myself :-) Søren -----Original Message----- From: ScottEllis [mailto:sco...@gm...] Sent: Tuesday, December 15, 2009 12:50 PM To: gum...@li... Subject: Re: [Gumstix-users] Power for both COM _and_ expansion board? So I followed your suggestion Soren and did some experimenting with the GPMC[5] register configuration in u-boot. It was good learning thanks! Here are some testing results so far. I am reading the GPMC regs for this in board_overo.c at the end of the function overo_init_smsc911x(). Still trying to figure out the GPMC_CONFIG7.BASEADDRESS difference and why configuring regs 2-6 isn't giving the same write speed as undef'ing CONFIG_CMD_NET in the uboot build. I'm continuing to plug away at this, but if you have any suggestions or observations that would be great. u-boot initialized (stock gumstix config) ============================ NET_GPMC_CONFIG1 0x00001000 NET_GPMC_CONFIG2 0x001e1e01 NET_GPMC_CONFIG3 0x00080300 NET_GPMC_CONFIG4 0x1c091c09 NET_GPMC_CONFIG5 0x04181f1f NET_GPMC_CONFIG6 0x00000fcf NET_GPMC_CONFIG7 0x00000f6c Write : iperf -c 192.168.10.5 -p 2134 [ 3] 0.0-10.0 sec 55.0 MBytes 46.1 Mbits/sec [ 3] 0.0-10.0 sec 55.1 MBytes 46.2 Mbits/sec [ 3] 0.0-10.0 sec 55.2 MBytes 46.3 Mbits/sec Read : iperf -s -p 2135 [ 4] 0.0-10.0 sec 52.7 MBytes 44.2 Mbits/sec [ 4] 0.0-10.0 sec 52.8 MBytes 44.3 Mbits/sec [ 4] 0.0-10.0 sec 52.6 MBytes 44.1 Mbits/sec remove u-boot initialization of nic (u-boot undef CONFIG_CMD_NET) GPMC_CONFIG2_5 - GPMC_CONFIG6_5 are at their reset defaults ============================ NET_GPMC_CONFIG1 0x00001000 NET_GPMC_CONFIG2 0x00101001 NET_GPMC_CONFIG3 0x00020201 NET_GPMC_CONFIG4 0x10031003 NET_GPMC_CONFIG5 0x010f1111 NET_GPMC_CONFIG6 0x8f030000 NET_GPMC_CONFIG7 0x00000f41 Write : iperf -c 192.168.10.5 -p 2134 [ 3] 0.0-10.0 sec 102 MBytes 85.2 Mbits/sec [ 3] 0.0-10.0 sec 101 MBytes 85.1 Mbits/sec [ 3] 0.0-10.0 sec 101 MBytes 84.8 Mbits/sec Read : iperf -s -p 2135 [ 4] 0.0-10.0 sec 86.6 MBytes 72.6 Mbits/sec [ 4] 0.0-10.0 sec 86.8 MBytes 72.7 Mbits/sec [ 4] 0.0-10.0 sec 86.5 MBytes 72.5 Mbits/sec u-boot initialized CONFIG2-CONFIG6 to defaults left CONFIG1 and CONFIG7 alone patched include/asm-arm/arch-omap3/mem.h ============================ NET_GPMC_CONFIG1 0x00001000 NET_GPMC_CONFIG2 0x00101001 NET_GPMC_CONFIG3 0x00020201 NET_GPMC_CONFIG4 0x10031003 NET_GPMC_CONFIG5 0x010f1111 NET_GPMC_CONFIG6 0x8f030000 NET_GPMC_CONFIG7 0x00000f6c Write : iperf -c 192.168.10.5 -p 2134 [ 3] 0.0-10.0 sec 92.4 MBytes 77.5 Mbits/sec [ 3] 0.0-10.0 sec 92.8 MBytes 77.8 Mbits/sec [ 3] 0.0-10.0 sec 92.9 MBytes 77.9 Mbits/sec Read : iperf -s -p 2135 [ 4] 0.0-10.0 sec 86.9 MBytes 72.8 Mbits/sec [ 4] 0.0-10.0 sec 86.9 MBytes 72.7 Mbits/sec [ 4] 0.0-10.0 sec 86.9 MBytes 72.7 Mbits/sec GPMC[5] Differences In Detail GPMC_CONFIG1_5 ============== u-boot : 0x00001000 : GPMCFCLKDIVIDER = 0 TIMEPARAGRANULARITY = 0 MUXADDDATA = 0 DEVICETYPE = 0 DEVICESIZE = 1 WAITPINSELECT = 0 WAITMONITORINGTIME = 0 WAITWRITEMONITORINGTIME = 0 ATTACHEDDEVICEPAGELENGTH = 0 no uboot : 0x00001000 : GPMCFCLKDIVIDER = 0 (default) TIMEPARAGRANULARITY = 0 (default) MUXADDDATA = 0 DEVICETYPE = 0 (default) DEVICESIZE = 1 WAITPINSELECT = 0 WAITMONITORINGTIME = 0 (default) WAITWRITEMONITORINGTIME = 0 (default) ATTACHEDDEVICEPAGELENGTH = 0 (default) GPMC_CONFIG2_5 ============== u-boot : 0x001e1e01 : CSONTIME = 1 CSEXTRADELAY = 0 CSRDOFFTIME = 30 CSWROFFTIME = 30 no uboot : 0x00101001 : CSONTIME = 1 (default) CSEXTRADELAY = 0 (default) CSRDOFFTIME = 16 (default)got the GPMC register values putting in some debug code in CSWROFFTIME = 16 (default) GPMC_CONFIG3_5 ============== u-boot : 0x00080300 : ADVONTIME = 0 ADVEXTRADELAY = 0 ADVRDOFFTIME = 3 ADVWROFFTIME = 8 no uboot : 0x00020201 : ADVONTIME = 1 (default) ADVEXTRADELAY = 0 (default) ADVRDOFFTIME = 2 (default) ADVWROFFTIME = 2 (default) GPMC_CONFIG4_5 ============== u-boot : 0x1c091c09 : OEONTIME = 9 OEEXTRADELAY = 0 OEOFFTIME = 28 WEONTIME = 9 WEEXTRADELAY = 0 WEOFFTIME = 28 no uboot : 0x10031003 : OEONTIME = 3 (default) OEEXTRADELAY = 0 (default) OEOFFTIME = 16 (default) WEONTIME = 3 (default) WEEXTRADELAY = 0 (default) WEOFFTIME = 16 (default) GPMC_CONFIG5_5 ============== u-boot : 0x04181f1f : RDCYCLETIME = 31 WRCYCLETIME = 31 RDACCESSTIME = 24 PAGEBURSTACCESSTIME = 4 no uboot : 0x010f1111 : RDCYCLETIME = 17 (default) WRCYCLETIME = 17 (default) RDACCESSTIME = 15 (default) PAGEBURSTACCESSTIME = 1 (default) GPMC_CONFIG6_5 ============== u-boot : 0x00000fcf : BUSTURNAROUND = 15 CYCLE2CYCLEDIFFCSEN = 1 CYCLE2CYCLESAMECSEN = 1 CYCLE2CYCLEDELAY = 15 WRDATAONADMUXBUS = 0 WRACCESSTIME = 0 no uboot : 0x8f030000 : BURSTURNAROUND = 0 (default) CYCLE2CYCLEDIFFCSEN = 0 (default) CYCLE2CYCLESAMECSEN = 0 (default) WRDATAONADMUXBUS = 3 (default) WRACCESSTIME = 15 (default) GPMC_CONFIG7_5 ============== u-boot : 0x00000f6c : BASEADDRESS = 0x2C = A26 = 1, A25 = 0, A24 = 0 CSVALID = 1 MASKADDRESS = 0xF no uboot : 0x00000f41 : BASEADDRESS = 0x01 = A26 = 0, A25 = 0, A24 = 1 CSVALID = 1 MASKADDRESS = 0xF (default) |