irclog2html for blob on 2002.06.20

00:26:55Fareindeed DMA channels 4 and 5 are active
00:28:40Farebut the addresses do not match
00:32:20Fareand indeed just disabling the DMA isn't enough to keep this address constant!
00:35:25Farehowever, looking at the behaviour of that memory cell, it looks like it increases at regular 1ms rate!
00:38:33Russ|werkare you disabling interrupts?
01:28:43prpplagueRuss|werk: you still at work?
01:34:21Sammymorning ~*
01:35:38prpplagueknee how mow
01:36:32Farehey!
01:36:45FareRuss: yes, interrupts are definitely disabled
01:37:13Farehas anyone of you heard about a device that writes a 16-bit 1ms timer counter to memory?
01:37:23Farethat's what seems to happen to me
01:38:27Fareprpplague: yes, I'm fine, btw.
01:39:13Sammyprpplague: knee how :D
01:39:55prpplagueFare: you speak mandarin?
01:40:47Fareno, but I can understand a very few words.
01:41:19Fareyou have a terrible pronounciation, btw
01:43:46FareI can't imagine why anyone would want to DMA his 16-bit real-time clock counter into memory
01:44:01Farewhy not let the cpu read an I/O register?
01:44:21Fareor maybe the counter is computer by a FIQ
01:44:33Farebut then why would it be 16-bit and not 32-bit?
01:44:39Russ|werkprpplague: ya
01:44:41Fare(and I think FIQ is disabled, anyway)
01:44:54Farethis timer seems braindead design, to me.
01:45:00Russ|werkFare: you think?
01:45:08Faresometimes, I think
01:45:15Fareor maybe I just think I think
01:45:19Russ|werkI'd be damn sure firq's are disabled
01:45:38FareRuss: how can you be?
01:45:44Faremode 0b11111
01:46:24Russ|werkread the sa-1100 manual, see what registers control that (as well as interrupts)
01:46:32Russ|werkthen write to them in the chain loader
01:49:24Russ|werkI would think it would be the sa1100 timer irq
01:49:34Russ|werkwhat are you doing to disable interrupts
01:50:24FareI'm letting hpcboot disable them.
01:50:34Fareis goes into mode 600000bf
01:51:58Fareouch.
01:52:04FareLooks like FIQs are still there!
01:52:14Farethat might very well explain.
01:52:25FareNow that I have the ARM ARM, I understand better...
01:54:23Farethanks a lot for pointing me to this!
01:55:22Russ|werkyou are trusting hpcboot to do things for you?
01:55:26Russ|werkI wouldn't
01:56:00Farewait, why is the T bit set???
01:56:34Farebf means, I !F T, System mode.
01:56:48Russ|werkI don't know much about hpcboot
01:57:46FareI only know it works well enough to boot blob
01:59:09Russ|werkthe first think I would do in chain.S, would be to disable interrupts, disable FIRQ's, and disable any DMA transfers
02:06:52Fareno, not in chain.S -- in trampoline.S
02:06:55Fareor maybe both
02:07:16FareI don't understand why erikm won't do that
02:07:21Farebut I will
02:09:13Farewhat is this small device you send me a .jpg of?
02:18:30Fareouch. Can't disable FIQ mode!
02:18:46FareI try to put 0xff there and it won't work :( :( :(
02:30:15Farehum. Anyone here?
02:40:11Fareon the other hand, FIQ better be disabled, because when I read 0x1c, I get different random stuff everytime
02:55:50Farewait, it's df, not bf -- it's ok, FIQs ARE disabled
02:56:20prpplagueFare: having a spelling problem?
03:22:51Fareyup
03:23:06FareI spelled bf (incorrect) instead of df (correct)
03:25:18Faremaybe I use brainf*ck too much
06:44:02ibot has karma of 9
06:44:02Russibot: karma ibot
07:04:06Russdear god, these morons
07:06:53prpplaguemmatten: up late?
07:07:10prpplaguemmatten: oops, i mean up early?
07:07:27mmattenhmm well 9:09 in the morning :)
07:07:31mmattennot that early :)
07:08:08prpplaguemmatten: i just got my dvd player running on my laptop thanks to some help from Russ
07:08:21mmattenthink's he'll be pretty messed up with the time diff at OLS x_X
07:09:04mmattenwith linux ?
07:09:13prpplaguemmatten: yea
07:09:20prpplaguemmatten: ogle
07:09:24prpplaguemmatten: it rocks
07:09:48mmattennice, haven't tried that yet with my linux box
07:10:14RussI just tested major domo for these outlook monkies
07:10:20mmatten(got a tv out card in there so it's worth a try anyway, but that one needs to run fine before that as well)
07:11:11mmattenprpplague: btw we'll be comin up with some numbers for the cpu board soon, maybe even today
07:14:27prpplagueRuss: outlook user problems?
07:18:52prpplagueRuss: thanks again for the help
07:18:58prpplagueheads to bed
07:19:19prpplaguemmatten: see ya in a few hours
07:19:24mmattenyeah :)
08:03:10mmattenhehe
12:11:40seletzmoin
13:41:49FareGakuk!
13:41:56Fareany bootmem.c expert around?
14:32:21seletzprpplague: hi
14:34:05seletzFare: ported linux to your OpenBoot forth already, have you?
14:34:11seletzlol
14:34:28seletz(just kidding :)
14:35:22prpplaguemorning/evening
14:36:06Fareseletz: no
14:36:14FareI' trying to figure out how to use bootmem
14:36:27seletzFare: whats the prob?
14:36:39Fareor otherwise convince Linux to NOT allocate the zone where something is happening
14:37:12seletzyou want to tweak ATAG_MEM settings
14:37:20seletzchecking out
14:37:22Faredo I?
14:37:28Farehow should I?
14:37:40seletzhmm. some infos i have:
14:37:47Farealso, how do I define a default command line?
14:37:56Fareespecially since I have no parameter block
14:37:57seletzBLOB detects the amount of memory available and reports that
14:38:05seletzvia the ATAG chain to the kernel
14:38:15FareI suppose I should use that
14:38:51seletzso, for ex, i have 2 boards: one 16 mb cs0, 16 mb cs2. another: 32 mb cs0/1
14:39:07seletzBLOB detects the amount of memory automaticvally (ant the regions)
14:39:25seletzand generates ATAG_MEM infos for the kernel
14:39:46Fareseletz: what about the prefix regions (typically 0xc0000000-0xc0008000) ?
14:39:56seletzFare: i guess you want to exclude your DMA'd address from the usable mem range?
14:41:15Fareditto
14:41:24seletzFare: or is it just that you want to move the kernel image beyond the addr.
14:42:03seletzFare: for the first one: i'd try to split the mem region. or leave out the lower memory part.
14:42:22Fareseletz: If I move the kernel, is it guaranteed that it won't use the memory below?
14:42:41seletzFare: if you lie to the kernel, yes.
14:43:16seletzFare: blob to kernel: no, i dont have memory below c0010000...
14:43:23seletzperhaps
14:43:25Fareseletz: you mean, my only reporting to the kernel the memory after it?
14:43:43seletzyup, thats my idea
14:44:09seletzFare: OTOH that would mean you loose the memory below
14:44:38Farewell, I could reuse it as a fix-allocated buffer
14:44:44seletzFare: the other apporach is IMHO: move the kernel up, adjkust the makefiles for that and hope that the kernel
14:44:47Fareif only I can convince the kernel to map it, that is
14:45:01seletzFare: inits DMA such that your timer DMA is gone ...
14:45:13Fareit's not done by the on-chip DMA
14:45:22seletzFare: i had a similar problem with my firs board
14:45:29Fareand I have no documentation about who does it and how to configure it
14:45:41seletzFare: there i had at CS0 16 mb and at CS2. CS1 was empty
14:45:44FareI've configured the DMA controller, to no avail.
14:46:02seletzFare: but BLOB reported 23MB from C0000000 up.
14:46:11seletzerm, 32
14:46:44seletzFare, si i had to exclude the CS1 range and to include the CS2 range. All i did was to supply the
14:46:54seletzFare: correct ATAG chain and bingo
14:47:08seletzFare: maybe your problem may be solved similar.
14:47:49seletzFare: took the sa11x0 dma code from the kernel?
14:47:57seletzFare: and did that in BLOB?
14:49:04seletzFare: hmmm, ok, i see, yur situation is a little different. Youre in a special run mode after hcboot, aren't you?
14:49:22Fareno, I RTFMed the SA1100 docs and disabled DMA
14:49:36seletzok
14:49:37seletzhmm
14:49:49Farethere were two active DMA channels around there (but not at this precise place), and the write channel had buffers of length 0
14:49:53FareI still disabled them.
14:49:55seletzFare: there are _LOTS_ of spec updates though.
14:50:36seletzFare: maybe you should look into the kernel source what they do ...
14:51:14seletzFare: for my sa1111 code in blob i did exactly that. And PCMCIA ditto.
14:54:17Farethe kernel seems to suppose the dma channels are off by default
14:54:53seletzFare: there is no code that switches from DMAON->OFF?
14:56:46Fareno
14:56:50Farenot in the init
14:57:03seletzno i mean in exit
14:57:06seletzfor ex
14:57:11Fareonly code to stop an already initialized channel
14:57:14seletzor a shutdown function
14:57:18Fareoh, I know how to stop the channels
14:57:27Fareit's just that the timer is NOT one of them.
14:57:35seletzhmm
14:57:54FareI have no friggin' idea where that timer is coming from
14:58:00seletzare you absolutely sure that what you see is real
14:58:04seletzi mean
14:58:26Fareprobably another chip in the system, that they considered would be better doing DMA that using port (!)
14:58:33seletzis there a chance the addr you see is not real, i.e. a mirrored mem region (because there's no real
14:58:38seletzmemory there)=
14:59:02Fareseletz: am I sure that when I peek at that location, I get a new counter every time, at the macroscopic rate of about 1000/s
14:59:04seletzknow what i mean?
14:59:05Fareyes
14:59:30FareI doubt they would introduce logic to unmap memory from 0xc005c080 and map I/O there instead
14:59:42Fareit would have been MUCH simpler to map I/O at a different place
15:00:01seletznot intentionally mapped for example
15:00:12Fareuh?
15:00:22seletzmaybe there is no memory at that location (phys. addr)
15:00:27Fareyes there is
15:00:40seletzand you see a mirrored memory range
15:00:46Fareit's right in the middle of the RAM
15:01:02Fare0xc0000000 is the normal RAM location for the SA-1100
15:01:12seletzhave you a chance of measuring CS0?
15:01:48Fareuh?
15:02:00seletzFare: ChipSelect 0 line
15:02:01Farethere is RAM, believe me
15:02:07seletz:)
15:02:11seletzok
15:02:13Fareblob agrees, wince agrees, everyone agrees
15:02:20Farethe sa1100 docs agree
15:02:34seletzgot the row adress coloumn address lines right?
15:02:48seletzMD* registers
15:03:08Farewhy would they be wrong JUST for c005c080 ?
15:03:22seletzhmm
15:03:23Fareno, its really some DMA going on
15:03:38Farejust not sa1100 standard DMA
15:04:25seletzweird, that is
15:05:56FareI'm the first one amazed
15:05:56seletzFare: how much ram does blob reports?
15:06:07Fareunderstanding that DMA was taking place took *days*
15:06:26Fareonce I emitted the hypothesis, however, md5 quickly found me where it took place
15:06:35Fare16MB just like it should be
15:07:48seletzFare: why dont you just try to move up 1MB and forget about the lower 1MB
15:08:41seletzlook at src/blob/linux.c
15:08:53seletzsetup_memory_tags()
15:09:19seletztry to adjust u.mem.start/size
15:10:19seletzFare: you'll probably have to adjust your kernel Makefile to get that going, so that the adresses are computed right.
15:10:28seletzFare: what do you mean?
15:11:59seletzFare: oh, and of course you have to adjust the address you load the kernel to in blob ....
15:12:03Fare?
15:12:31seletzFare: does that sound reasonable to you?
15:15:37Farememory.c is not designed for it
15:15:41Farenothing is designed for it.
15:15:44Faregrrr
15:16:10FareI'll hack something else, get some sleep, read some docs, wait for a possible hint on LAK, and decide the way to go
15:16:33seletzwait, whats the problem?
15:17:00seletzforget memory.c
15:17:12seletzjust hack it for a quick test
15:18:01seletzset the tags by yourself, you do know the range you have, dont you? its c0000000+1MB-c1000000
15:18:17Fareseletz: I suppose so.
15:18:23Farethanks for the tip
15:19:28seletzwhen it works that way, then think about splitting the range you get from memory.c into 2 ranges, leaving page 92 out (your weird addr is at page 92 of 406 byte pages).
15:19:35seletzerm
15:19:40seletz4096 bytes
15:20:25seletzthe linux kernel will then just dont use the page you left out.
15:21:43Fareyup
15:21:58FareI'll add an #ifdef JORNADA820 at the end of memory.c
15:23:32seletzhmmm, ok. Dont forget to adjust your kernel load address in your header file.
15:25:25Fareyes I did, thanks :)
15:25:49Fareactually, it's by playing with it that I understood that DMA was taking place under my feet
15:26:06Fareby loading at some addresses, I would crash later than at other addresses
15:42:51seletzprpplague: btw, i now have some details from my manufactorer. I'll have to talk back to him about some flash issues. At OLS we'll have to discuss some details then. What i already have looks promising.
15:43:20seletzprpplague: when will you arrive at OLS?
15:44:12sammy_wmshello all
15:44:21seletzsammy_wms: hi
15:45:19sammy_wmsseletz: I am fix most of all problem about rootfs ...
15:45:30sammy_wmsbut still have some little problem :(
15:45:41sammy_wmswill go on fix tomorrow ...
15:49:41prpplagueseletz: i'll be arriving on the 25th around 5:15pm
15:50:17seletzprpplague: we'll be probably there a bit late :(
15:50:34seletzprpplague: 8:00 pm i think
15:50:50prpplagueseletz: i'll already had 5 or 6 pints by then
15:51:04seletzprpplague: by then i'll definitely need a beer.
15:51:17seletzprpplague: grr
20:57:40FareAwayhum
21:34:35Russ|werkhmm...
21:34:37Russ|werkRE: topic
21:35:00Russ|werkI meant the "please remome me" emails, not ibot
21:37:37Russ|werkwho was looking for a sa11x0 source?
22:17:39Russ|werkseletz_: were you looking for an sa1100 source?
22:31:11FareError: Z
22:31:17Farethere's much progress!
22:54:12Farewhich terminal program do you use?
23:12:54Russ|werkminicom

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with infobot logs, split per channel and by date, etc.