Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2012-09-26

00:03:53 Join amayer [0] (
00:09:41 Quit lorenzo92 (Quit: ChatZilla 0.9.89 [Firefox 15.0.1/20120907231657])
00:28:26 Quit ender` (Quit: There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. -- C.A.R. Hoare)
00:28:44sakaxhello all - any news regarding the nano2g usb issue ? :D
00:39:03 Quit ChanServ (*.net *.split)
00:39:33 Quit mgottschlag (Ping timeout: 240 seconds)
00:46:31 Join ChanServ [0] (ChanServ@services.)
00:46:31Mode"#rockbox +o ChanServ " by
00:50:00 Quit scorche (Ping timeout: 245 seconds)
00:53:08 Join scorche [0] (~scorche@rockbox/administrator/scorche)
01:26:07 Quit lebellium (Quit: ChatZilla 0.9.89 [Firefox 16.0/20120919065210])
01:40:54 Quit eckoit (Quit: eckoit)
01:41:31 Quit amayer (Quit: amayer)
01:42:13 Quit n1s (Quit: Ex-Chat)
01:42:17 Join amayer [0] (
01:50:20***Saving seen data "./dancer.seen"
01:52:42 Quit XavierGr (Ping timeout: 260 seconds)
01:58:57 Join XavierGr [0] (XavierGr@rockbox/staff/XavierGr)
02:53:55[Saint]sakax: I'm guessing "it's still fudged" won't satisfy?
02:57:09[Saint]Long story short, as I know it: USB in git HEAD is broken; attempts have been made to disable rockbox USB and reboot to the OF on USB insertion but the code that handles this isn't functioning as it was prior to the driver rework that broke USB in the first place.
03:02:38[Saint]even though it's a bit of a hassle, one can still reboot to the OF and use USB there, or force Emergency Disk Mode and use USB there (either by menu+select; play+select in a traditional installation or from the emCORE menu directly in an emCORE enabled setup).
03:20:00 Quit Syconaut (Ping timeout: 245 seconds)
03:47:41 Quit bootinfdsds (Read error: Connection reset by peer)
03:48:15 Join bootlkjkgf [0] (~Prmhfhfx@
03:50:21***Saving seen data "./dancer.seen"
03:58:36 Join eckoit [0] (~ryan@
04:06:32 Join ser [0] (
04:06:36 Quit ser (Read error: Connection reset by peer)
04:09:25 Join ser [0] (
04:18:47 Quit Jack87 (Ping timeout: 260 seconds)
04:20:22 Join pixelma_ [0] (pixelma@rockbox/staff/pixelma)
04:20:22 Join amiconn_ [0] (amiconn@rockbox/developer/amiconn)
04:20:22 Quit pixelma (Disconnected by services)
04:20:22 Quit amiconn (Disconnected by services)
04:20:24 Nick pixelma_ is now known as pixelma (pixelma@rockbox/staff/pixelma)
04:20:26 Nick amiconn_ is now known as amiconn (amiconn@rockbox/developer/amiconn)
04:38:57 Quit TheSphinX^ (Read error: Operation timed out)
04:41:10 Join Jack87 [0] (Jack87@nasadmin/admin/jack87)
04:46:39 Join TheSphinX^ [0] (
05:25:07 Part amayer
05:26:34 Quit TheSeven (Disconnected by services)
05:26:43 Join [7] [0] (~quassel@rockbox/developer/TheSeven)
05:50:23***Saving seen data "./dancer.seen"
06:51:22 Quit soap (Ping timeout: 256 seconds)
06:56:12 Join Totalled [0] (
07:04:58 Quit eckoit (Quit: eckoit)
07:05:54 Quit pedro_angelo (Read error: Connection reset by peer)
07:13:48 Join eckoit [0] (~ryan@
07:13:57 Quit factor (Read error: Connection reset by peer)
07:21:16 Quit sciopath (Read error: Connection reset by peer)
07:29:35 Join mortalis [0] (
07:32:08 Join factor [0] (
07:36:23 Quit the-kyle (Quit: Leaving.)
07:38:49 Join soap [0] (
07:38:50 Quit soap (Changing host)
07:38:50 Join soap [0] (~soap@rockbox/staff/soap)
07:50:24***Saving seen data "./dancer.seen"
07:54:29 Quit pixelma (Read error: Connection reset by peer)
07:54:29 Quit amiconn (Write error: Connection reset by peer)
07:54:48 Join amiconn [0] (amiconn@rockbox/developer/amiconn)
07:54:49 Join pixelma [0] (pixelma@rockbox/staff/pixelma)
08:39:35 Join Zagor [0] (
08:39:35 Quit Zagor (Changing host)
08:39:35 Join Zagor [242] (~bjst@rockbox/developer/Zagor)
08:39:37 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
08:49:57 Quit Rower85 (Read error: Connection reset by peer)
09:07:54 Join LinusN [0] (
09:20:19 Quit bertrik (Ping timeout: 248 seconds)
09:24:41 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
09:24:54 Join webguest319 [0] (
09:27:02webguest319I noticed that both the Clip+ and Clip v1 referres to http://download.rockbox. org/bootloader/sandisk-sansa/mkamsboot/
09:27:19webguest319I ran the executable, and it is version 1.5.
09:28:03webguest319But I also found
09:30:12webguest319Is 1.6 beta, or is the PDF out of date, or has someone just forgot to replace the 1.5 executables in /mkamsboot with the ones from /mkamsboot-1.6 ?
09:35:20 Join petur [0] (~petur@rockbox/developer/petur)
09:36:04 Join Buschel [0] (
09:50:28***Saving seen data "./dancer.seen"
10:19:17 Quit XavierGr (Ping timeout: 260 seconds)
10:19:54 Join Thra11_ [0] (~thrall@
10:35:45 Join n1s [0] (
10:35:46 Quit n1s (Changing host)
10:35:46 Join n1s [0] (~n1s@rockbox/developer/n1s)
10:40:20 Quit [Saint] (Remote host closed the connection)
10:41:57 Join [Saint] [0] (~saint@rockbox/user/saint)
10:45:05 Quit Prodicus (Ping timeout: 264 seconds)
10:49:11 Join wodz [0] (
10:50:09wodzmortalis: ping
10:50:33mortaliswodz: pong
10:51:23wodzmortalis: I played a bit with the patch. Definitely there is improvement with current init sequence as various glitches go away.
10:51:51wodzmortalis: Although 'guarding' part is incorrect imo.
10:52:21wodzAll in all it almost work
10:52:29mortalisirq trigger only 1 time during single lcd_update
10:52:47wodzhave you confirmed this on the target?
10:53:26mortalisyes, i checked this by comparing lcd_update counts and interrupts count
10:54:13 Quit funman (Quit: Lost terminal)
10:54:56mortalisanyway, version with irqs doesn't work for me when i start playing mp3, ape or wv
10:55:17 Join funman [0] (~fun@rockbox/developer/funman)
10:58:12wodz this DOESN'T work. First update is correct (as I can see rockbox logo) but second messes up the screen
10:58:19mortalisin version with while i discovered that frequent lcd updates during playback cause glitches. IIRC i don't have glitches when i use full lcd_update instead of partial. I'll check this latter
10:59:21wodzyou need to protect partial updates to occure when full screen update is still in progress
11:01:15wodzReading manual once more it seems like lcdif can generate irq on successful buffer write. Maybe we should explore this route?
11:02:10 Join lebellium [0] (
11:06:37mortaliswodz: code that you pasted doesn't work, and with semaphores it works? I think this is because while(lcd_updating); isn't safe in multithreaded environment.
11:08:22wodzwith semaphore no lcd_update takes effect. It sits on blocking semaphore and because dma is not activated yet it dedlocks
11:10:53mortalisif you talking about clear patchset 5 then semaphore initialization incorrect there. Try this semaphore_init(&lcd_updating, 1, 1);
11:11:56wodzwill try later
11:17:06mortalisi guess my problem with irq version could be solved by protecting partial updates.
11:18:20 Quit mgottschlag (Ping timeout: 244 seconds)
11:23:22wodzmortalis: With this approach semaphore_init(&lcd_updating, 1, 1) it is basically the same as mutex. If mutex version doesn't work for you semaphore should fail as well
11:46:02 Quit bluebrother (Ping timeout: 256 seconds)
11:46:52 Quit fs-bluebot (Ping timeout: 264 seconds)
11:47:55 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
11:48:18 Join fs-bluebot [0] (
11:50:01mortaliswodz: When i said that mutex doesn't work i didn't mean that "version with mutex doesn't work". I meant that mutex itself doesn't work.
11:50:12mortalisin other words mutex_lock doesn't lock
11:50:32***Saving seen data "./dancer.seen"
11:53:53wodzthat would mean serious bug in kernel
11:58:01mortalisi know, maybe i just updated rb incorrectly (forget to unmount before ejecting sd card or something) so i had old binary. i'll check it once more later
12:03:43lebelliumhum has anyone noticed a strange RDS behaviour on the Zip (latest build)?
12:05:44lebelliumit starts displaying the right RDS info but after a few seconds it displays the RB virtual keyboard (abcdefghig etc) and strange caracters
12:08:53 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
12:09:20wodzHeh looks like mem corruption. Segfaults have been seen associated with RDS on hosted targets (R0) recently. This could be the same
12:10:26lebelliumhum ok
12:10:38lebelliumso it's a known issue?
12:11:15wodznot much - you are the first one to report such behavior on native target
12:12:34Buscheln1s: you've added several performance optimizations to the opus decocer. can you give some numbers on the current performance? your commit messages only state deltas :)
12:13:39n1sBuschel: the 64kbps test file i've been using is now 77.96% realtime on cf, 88.48% realtime on pp and 220% realtime on amsv1
12:14:52Buschelstill some way to go ;)
12:15:51n1syeah, better iram use gives a nice further speedup on cf but i haven't done it in a clean way yet :)
12:16:52n1sfor arm i guess, more/better asm for some of the hot functions might be needed
12:20:49Buschelyep. you have added asm for MULT16_32_Q15 only. are the other operations not significantly used?
12:23:47wodzhmm, sim just crashed with message: queue_post ovf q=082A27A0
12:24:13wodzI just pressed mapped button a few times
12:25:39wodzlebellium: You should highlight this to bertrik and kugel
12:26:28lebelliumI'll do that
12:28:16kugelwodz: sometimes the sim cannot keep up with poping input events, then the event queue overflows
12:28:48wodzkugel: with like 10 consecutive key presses?
12:29:57kugelnormally a single press leads to more input events (since polling happens at tick rate)
12:30:11kugeli don't know the queue limit
12:31:31wodzhmm, in regular binary it doesn't crash. Plugins tends to crash though
12:35:00kugelthe keyboard buffer isnt on the buflib buffer but static storage
12:36:16kugellebellium: what happens if you open the keyboard after this happens?
12:36:53 Quit scorche (Disconnected by services)
12:36:57 Join scorche` [0] (~scorche@rockbox/administrator/scorche)
12:37:06n1sBuschel: it's the most common one, and one which gave crap code for both arm and cf
12:38:11n1sthe fft uses complex multiplies which in turn uses the MULT16_32_Q15 but they could probably be made faster by writing them as asm directly (using mac capabilities)
12:38:36n1si haven't gotten around to doing that yet
12:38:52Buscheln1s: clt_mdct_backward looks like it could be further optimized as well... as you just said using multiply-add.
12:39:06Buschelthere seems to be quite some potential :)
12:39:46Buscheldo we have official test files?
12:40:02wodzOn the other topic- I have mostly working bFLT on PP. I found only pitch_detector to hang. Doom complaints on missing wad file correctly. Other 'problematic' plugins randomly tested work. All this is with hacked version of elf2flt and code compiled with -mlong-calls
12:40:41wodzBuschel: we have IIRC
12:41:17n1sBuschel: yes, jmspeex suggested the biggest win for the mdct would probably come from replacing it with a better implementation
12:41:43n1sBuschel: bertrik made some test files that i'm using but i'm not sure if they got uploaded to the site
12:42:30n1sBuschel: are you planning to work on something? (just so we don't do the same thing :))
12:42:32lebelliumkugel: like for example adding a preset name? the keyboard displays properly.
12:47:42wodzdo I read correctly that opus suffers from resampling in our case?
12:52:15lebelliumkugel & wodz: here's a screen of the bug on my device: and
12:52:27 Quit Synergist (Ping timeout: 268 seconds)
13:02:29Buscheln1s: I do not see any opus test files on the rockbxo site. can you upload your test files somewhere?
13:03:13 Quit petur (Quit: *plop*)
13:03:25Buscheln1s: changing the mdct might be a good idea. but I've heard the opus does not use N^2 sizes?
13:03:52Buscheln1s: maybe I will spend some time on this. in which area are you working right now?
13:04:36 Join the-kyle [0] (
13:06:44 Join dfkt [0] (dfkt@unaffiliated/dfkt)
13:13:48 Join lebellium_ [0] (
13:15:19kugelwodz: i think -mlong-calls is an acceptable work around until the bug is resolved (if at all)
13:15:45kugelonly codecs/plugins need that flag right?
13:16:52 Quit lebellium (Ping timeout: 264 seconds)
13:16:53n1sBuschel: mostly looking at iram and cf asm, also made some changes suggested by jmspeex to the deemphasis loop
13:16:58 Nick lebellium_ is now known as lebellium (
13:18:53n1sBuschel: bertrik uploaded them here
13:19:14wodzkugel: For now only plugins (as I didn't work on converting codecs to bflt). When bflt loader will work with -mlong-calls builded plugins we could dive into ld internals. Looking at ld code it should be fairly easy.
13:19:51wodzThe provide internally reloc info for the symbols introduced by veneer insertion. They just don't bother to insert this info in final elf
13:19:54kugelhuh? without alcohol?
13:20:21wodzok, realistically alcohol is still needed :P
13:21:53wodzThe blocker is lack of documentation about ld/as internals.
13:23:30kugelperhaps it's worth posting that find to the bug report
13:23:43kugelthen hopefully someone can be bothered with a quick fix
13:24:39Buscheln1s: thanks
13:27:29wodzkugel: Don't think so. They call elf32_arm_final_link_relocate() for inserted veneers. This function performs final relocation (all addresses are known at this point) using associated internal reloc info. They discard anything intermediate (like reloc info) just because it is final link.
13:28:13wodzThe file of question is bfd/elf32-arm.c in binutils if you are interested.
13:29:55wodzOn the other hand there is gas/write.c where is code used by assembler to output relocations. The solution is probably to still part of it and insert in elf32_arm_final_link_relocate()
13:30:28Buscheln1s: do you have any kind of profiling information or an idea which parts of the decoder consume the most cpu time?
13:30:54wodzI am unable however to much arguments needed.
13:37:25n1sBuschel: those are on coldfire before i made any changes but i think the rough areas eating cpu are the same
13:38:35n1si guess i should try running a profile on arm too
13:39:22wodzfrom your optimizations it is obvious that cf suffers badly from the lack of dcache
13:39:51n1syes, the combination of slow ram and no dcache
13:39:58 Join Synergist [0] (
13:39:58 Quit Synergist (Changing host)
13:39:58 Join Synergist [0] (~synfn@unaffiliated/synergist)
13:40:07Buschelthis silk-stuff is only used for very low bitrates?
13:40:18wodzso I would expect profiling on arm differ significantly
13:41:17n1sBuschel: afaik, yes and those seem to be comfortably realtime everywhere
13:41:38wodzBuschel: no. There is mixed mode also:
13:41:38Buschelso, we better don't care about that :)
13:44:27n1si just ran the profiles on 16 and 64 kbps and the 16 seems to be only silk and 64 only celt so perhaps i should run 32kbps too to see how hybrid does (benchmarking, it was slightly faster than 64kbps but not by that much while 16kbps was several times faster)
13:46:26wodzagain, do we resample output from opus decoder?
13:46:32 Join XavierGr [0] (XavierGr@rockbox/staff/XavierGr)
13:50:33***Saving seen data "./dancer.seen"
14:01:48 Quit mgottschlag (Ping timeout: 246 seconds)
14:05:06 Quit webguest319 (Quit: CGI:IRC (Ping timeout))
14:05:30 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
14:08:41 Quit wodz (Quit: Leaving)
14:13:00 Quit mgottschlag (Ping timeout: 246 seconds)
14:13:44 Join megal0maniac [0] (
14:14:20megal0maniacHi all. I was just wondering, is there a reason that there isn't a bootloader USB mode on the clipplus? Or that there is one on the fuzeplus?
14:15:09megal0maniacExperience has shown that USB still isn't exactly stable on the clipplus, and on the fuzeplus it is more reliable in bootloader mode. Less (or no) data aborts and the like.
14:19:29Tornewe generally only have bootloader usb on targets where it's required to install (like the gigabeat S)
14:19:48Tornei have previously pondered trying to enable it on more platforms but never got around to doing anything
14:19:59Torneit shouldn't actually be more reliable.
14:20:09Torneit's teh exact same code doing all the USB/storage bits.
14:20:28megal0maniacBut less other stuff running simultaneously.
14:20:37TorneVery little runs when in usb mode anyway
14:20:49Tornebut yes, there is a difference
14:21:05Tornethe kind of issue there should be pretty easy to fix though (things like, stuff trying to read from files while in usb mode)
14:21:13Torne(the font cache did this for a long time) :)
14:21:54 Join amayer_ [0] (
14:22:24Tornebut yes, for reasons of recovering from rockbox being broken i would quite like having bootloader usb on more targets
14:22:44 Join hietanen [0] (
14:22:52megal0maniacTorne: Also, amsv2 targets seem to need all the help they can get :)
14:23:04 Nick hietanen is now known as herrandy (
14:23:05Torneusb works fine on my clipv2 :)
14:23:24megal0maniacOn my clipplus, it works 70-80% of the time
14:24:01Torneright, but the thing is, most of the possible reasons for it to not work reliably are problems in the usb stack, not problems caused by running in the full system
14:24:22Torneif a given target really *is* more reliable in bootloader, then that's probably something we can track down and fix fairly easily
14:24:28Torneand then you don't need bootloader usb :)
14:24:34*the-kyle seems to be having better luck with the clip+ in USB mode. It appears to work a bit more reliably for me.
14:24:59megal0maniacSometimes the USB logo will remain when disconnected, and the player needs to be hard reset
14:25:19megal0maniacLast time it did this, I didn't notice. And it killed the battery dead :)
14:25:26the-kyleYes, I did see that yesterday, running from git with some mods of my own.
14:25:40the-kyleMy mods aren't related to USB.
14:25:47megal0maniacTorne: But I hear you. Thanks
14:27:02Tornemegal0maniac: feel free to try and get it enabled and try it out
14:27:21megal0maniacTorne: Heh. You overestimate my coding ability :P
14:27:31Tornei am in fvour of it being enabled on any target that doesn't have either 1) a rom-based disk mode like the ipod or 2) too little space to make the bootloader larger for it
14:27:55Tornepurely so it can be used to recover from accidentally deleting .rockbox or whatever, without having to dualboot the OF
14:27:57the-kyleSounds like the Clip+ is the ideal target.
14:28:12megal0maniacWhy is it enabled on the fuzeplus anyway?
14:28:24Tornemegal0maniac: no idea. possibly someone just wanted it during development
14:28:36Tornethe only target i know of where it's required is the Beast, where it's needed to install
14:28:43Tornebecause the default firmware doesn't have MSC, only MTP
14:28:47Torneand thus you can't copy .rockbox on there
14:29:02Torne(possibly also other gigabeat devices, iunno)
14:29:33megal0maniacInterestingly, on the fuzeplus, it doesn't notice if you drop on it while in bootloader USB mode. You *have* to be in OF USB mode
14:29:41Torne"doesn't notice"?
14:29:54Torneoh, you mean it won't flash it
14:29:56Torneno, of course not
14:30:08Tornewe don't have any of the code to reflash the device
14:30:11Torneonly the OF does
14:30:34megal0maniacBut you can boot into OF and it still won't flash
14:30:47Torneit probably only checks for the file after usb unplug
14:30:51Tornenot at boot
14:31:54megal0maniacI'll try copying it in bootloader mode, then going into OF USB mode and unplugging. I don't recall that working either, but I'll check
14:32:33Tornei don't think we care
14:32:42Tornewhat the OF's weird logic is doesn't really matter :)
14:33:08megal0maniacYeah.. I think it's documented anyway. If not, I'll add it
14:33:32Torneunless the OF's limitations actually cause a problem following our install instructions it's not really important
14:40:53 Join Prodicus [0] (
14:43:40 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
14:52:13Buscheln1s: I will take a look at comb_filter(). This function takes ~10% of CPU (based on the profiling results) and seems to have some opportunities for optimization
14:58:12Buschelsee you later
14:58:15 Quit Buschel (Quit: ChatZilla [Firefox 15.0.1/20120905151427])
15:00:57 Quit mgottschlag (Ping timeout: 246 seconds)
15:03:50 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
15:05:53 Join wodz [0] (
15:06:44wodzmortalis: both mutex version and semaphore version with your fix produce glitches.
15:07:15wodzwell semaphore version hangs on second lcd_update
15:11:35mortalisfor me it hangs only on starting playback (semaphore version with my fix). Same thing happens with semaphore version with your fix.
15:13:55mortalisbtw, what would happen if transfer complete when irq are disabled? Interrupt just skipped or it will trigger after irqs enabled?
15:22:38 Join test [0] (
15:24:06 Quit test (Client Quit)
15:25:12mortaliswodz: what if without partial updates?
15:26:11wodzmortalis: you mean with lcd_update() as partial updates?
15:27:04 Quit factor (Ping timeout: 264 seconds)
15:27:50wodzIt does second lcd_update() with a glitch and hangs (it sits on rockbox logo which is displayed twice)
15:28:18 Join pystar89 [0] (
15:29:40n1swodz: yes, we resample. it always outputs 48kHz
15:30:30wodzn1s: So I guess we mitigate any quality advantage of opus with our current resampler :-)
15:33:57n1sprobably :)
15:35:33 Join kevku [0] (
15:50:35***Saving seen data "./dancer.seen"
15:52:58 Join japc [0] (~japc@
16:02:39 Quit japc (Quit: Ex-Chat)
16:08:17 Quit mortalis (Quit: Leaving)
16:31:15 Quit XavierGr (Ping timeout: 240 seconds)
16:33:00 Nick megal0maniac is now known as megal0maniac_afk (
16:39:45 Quit swiftkick (Read error: Connection reset by peer)
16:45:52 Join factor [0] (
16:52:03 Join Rower85 [0] (
16:58:53 Quit Zagor (Quit: Clint excited)
17:04:51 Nick megal0maniac_afk is now known as megal0maniac (
17:13:04 Quit thegeek_ (Read error: No route to host)
17:13:30 Join thegeek [0] (
17:16:20 Nick scorche` is now known as scorche (~scorche@rockbox/administrator/scorche)
17:33:43 Join y4n [0] (~y4n@unaffiliated/y4ndexx)
17:43:22 Join Scr0mple [0] (~Simon@
17:45:47 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
17:46:52 Quit Scromple (Ping timeout: 244 seconds)
17:50:39***Saving seen data "./dancer.seen"
18:25:11 Join einhirn [0] (
18:32:08 Join Wardo [0] (
18:37:07 Join pedro_angelo [0] (
18:40:42 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
18:47:02 Join mortalis [0] (
18:53:04 Join dfkt_ [0] (dfkt@unaffiliated/dfkt)
18:54:11 Quit dfkt (Ping timeout: 248 seconds)
18:56:04 Quit amayer_ (Quit: going ~/)
19:04:17 Part LinusN
19:04:21 Quit factor (Read error: Connection reset by peer)
19:06:44 Join factor [0] (
19:13:18 Quit mgottschlag (Ping timeout: 246 seconds)
19:15:50mortalismutexes doesn't work
19:15:56mortalisat least on rk27xx
19:16:23mortaliscode after executed
19:17:50 Quit dfkt_ (Quit: -= SysReset 2.55=- Sic gorgiamus allos subjectatos nunc.)
19:20:33bertrikmortalis: I think that's exactly the difference between a mutex and a 1-token semaphore
19:21:15bertrikthe thread holding the mutex does not block on mutex_lock
19:23:06 Join dfkt [0] (dfkt@unaffiliated/dfkt)
19:25:06mortalisso second mutex_lock will block only if it called by another thread, rigth?
19:30:31bertrikthe holding thread can call mutex_lock as many times as it likes, any other thread will block on it, the mutex will be available again if mutex_unlock is called exactly as many times as mutex_lock before it
19:34:09 Join LinusN [0] (
19:36:59 Part LinusN
19:42:00 Nick kugel is now known as kugelp (~kugel@rockbox/developer/kugel)
19:42:33kugelpmutexes are recursive indeed
19:47:32 Join amayer_ [0] (
19:50:42***Saving seen data "./dancer.seen"
19:57:18 Nick LittleCreature is now known as Slartibartfast (~fearofmus@unaffiliated/fearofmusic)
20:00:07 Join ender` [0] (
20:01:55 Quit factor (Ping timeout: 248 seconds)
20:02:28 Nick Slartibartfast is now known as LittleCreature (~fearofmus@unaffiliated/fearofmusic)
20:04:06 Quit benedikt93 (Quit: Bye ;))
20:04:47 Join liar [0] (
20:19:34 Join pretty_function [0] (~sigBART@
20:22:54 Quit einhirn (Read error: Connection reset by peer)
20:28:12 Join Viper^ [0] (
20:31:04 Join Syconaut [0] (
20:36:34wodzbertrik: have you seen reports about recent problems with rds?
20:36:45bootlkjkgfAnything could happen in the next 90 minutes [bookmark]
20:38:27 Nick kugelp is now known as kugel (~kugel@rockbox/developer/kugel)
20:40:48 Nick megal0maniac is now known as megal0maniac_afk (
20:43:33 Nick megal0maniac_afk is now known as megal0maniac (
20:50:58 Join lorenzo92 [0] (~chatzilla@
20:52:02lorenzo92kugel: this is the trace, rockbox with debug symbols, bt command:
20:59:56wodznot very useful
21:01:58 Nick megal0maniac is now known as megal0maniac_afk (
21:02:16 Part megal0maniac_afk
21:08:21lorenzo92wodz: some ideas to make it useful? need to say that I get a warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
21:11:04 Quit ser (Remote host closed the connection)
21:12:30 Quit shai (Ping timeout: 244 seconds)
21:12:40mortaliswodz: I updated g306. It's works for without any issues, also i removed some unnecessary things.
21:12:41fs-bluebotGerrit review #306 at : rk27xx lcd code rework by Andrew Ryabinin (changes/06/306/6)
21:13:31 Join shai [0] (
21:13:38mortalis*for me
21:13:59lorenzo92wodz: trying to do coredump and the analysis..
21:19:03wodzmortalis: So no locking at all, right? You simply poll for dma finish bit
21:20:57lorenzo92kugel: ; to show the segmentation fault...
21:22:33wodzmortalis: Will test tomorrow morning
21:23:27 Quit wodz (Quit: Leaving)
21:24:01 Quit y4n (Quit: only amiga makes it possible)
21:28:58 Join ser [0] (~ser@2610:28:3090:3001:a:a:a:dead)
21:32:15lorenzo92kugel: 0x00056f08 is lcd_alpha_bitmap_part_mix, while 0x00056e90 is something in the function around line 895
21:34:35 Quit mortalis (Quit: CGI:IRC (Ping timeout))
21:35:37lorenzo92kugel: :o :o doesn't crash if I keep the player running in the main menu, I'll try now with another theme (cabbie, previously using lebellium's theme!)
21:36:08lorenzo92kugel: oh! strange crash but strange carachters at a times...
21:36:25lorenzo92i'll get a capture
21:38:09lorenzo92lebellium: yep, exactly the same issue as for the sansa or so...
21:39:20 Join mgottschlag [0] (~quassel@reactos/tester/phoenix64)
21:39:29lorenzo92lebellium: rds on R0 crashes with segmentation fault with your theme
21:39:38 Join Buschel [0] (
21:48:27lorenzo92kugel, lebellium: definitely. Problems with lebellium's theme! without it, I don't notice anything strange. Now I'll try with the interrupt way of capture signal packet arrived...
21:50:34lebelliumIt's always my theme's fault on any target. Damn it :(
21:50:46***Saving seen data "./dancer.seen"
21:51:30 Quit shamus (Read error: Connection reset by peer)
21:51:59lorenzo92lebellium: too much professonal :p ;)
21:53:56 Join shamus [0] (
21:56:28lorenzo92kugel: indeed, with cabbie works perfectly also the interrupt way, no problems at all. Hence, semaphores are working also on R0 apparently
21:57:15 Quit ender` (Quit: And I don't offend religious people, they offend themselves. -- Markus Persson (notch))
22:02:34 Quit pedro_angelo (Remote host closed the connection)
22:04:05 Join ender` [0] (
22:06:21 Join Horscht [0] (
22:06:24 Quit Horscht (Changing host)
22:06:24 Join Horscht [0] (~Horscht@xbmc/user/horscht)
22:11:34lebelliummy theme seems to cause various issues on many targets including Clip Zip, Fuze, Fuze+, R0 etc... anyone willing to investigate a bit further?. The only difference I see with the other themes is that the code is generally more complicated and the BMP resources may be bigger. But it should work :(
22:13:40amayer_lebellium: what is your theme and target(link?)
22:13:42amayer_i dont have time right now but i might later tonight
22:15:54lebelliumJust type "lebellium Samsung-like" as theme name on and you'll find 6 themes. They all cause various issues, typically USB connection (Clip Zip and also Fuze+ I guess), and now RDS on Clip Zip and R0?
22:16:49lebelliumAs if my code always reached the skin engine or rockbox limitations? :(
22:17:25amayer_what is rds?
22:18:02lebelliumRadio Data System
22:18:15amayer_got it. thats what google said but i wasnt sure
22:18:16lebelliumsupported by Clip Zip/ Fuze+ and R0
22:19:43amayer_so it only breaks on the RDS or breaks ramdomly?
22:21:38lebelliumLorenzo just said it breaks on the RDS with the R0. I can't try myself as he's currently working on the RDS patch, therefore I don't have RDS on my R0.
22:22:42lebelliumand the USB connection still doesn't work on the Clip Zip with my theme. The situation has not changed over the year :(
22:23:38lorenzo92lebellium: USB connection????!!!
22:23:50lorenzo92lebellium: I got some crashes with usb too -.-
22:24:48lebelliumblasted theme, it's so frustrating...
22:25:17lorenzo92I don't know for USB, will test out. Don't think that's about you're theme
22:27:30amayer_lorenzo92: are sure you have all the correct fonts loaded(not all of them are included in the font folder)
22:28:58 Quit pretty_function (Remote host closed the connection)
22:29:06lebelliumwithout the correct fonts, Rockbox immediately crash so that's not the cause ;)
22:30:01amayer_so your theme is being displayed in RDS then it crashes?
22:31:20lebelliumthat's what Lorenzo noticed indeed
22:31:30lorenzo92not correctly, it crashes after a little time, say 1 minute or so
22:31:51amayer_hmm... does the theme engine have a specific amount of memory it can use?
22:32:14lorenzo92amayer_: I don't know anything about that, but I'm quite sure the segfault happens in lcd_alpha_bitmap_part_mix
22:32:17 Quit eckoit (Quit: eckoit)
22:33:14amayer_lebellium: are all your themes exactly the same?
22:33:16amayer_i noticed they have v1.xx
22:33:18amayer_what is the resolution of the device in question?
22:33:48lebelliumI find your question quite strange :)
22:33:55amayer_seperate topic:
22:33:57amayer_should RDS be in ?
22:34:11amayer_lebellium: how so?
22:34:28kugellorenzo92: the bt suggests debug symbols aren't proper
22:34:35lebelliumtype "lebellium samsung-like" as theme name on the theme page and then it will display the 6 themes with the indication "designed for LCD size: "
22:34:39kugelproperly compiled in
22:35:32 Join Prodicus_ [0] (
22:35:36lorenzo92kugel: okay, anyways my implementation works ... the bug is somewhere else :) so final question: it's better the implementation with interrupt or the one with register polling? I guess the first, right?
22:35:41kugelthere's probably a bug in the radio/rds related skin code. I don't think it received a lot of testing
22:35:44 Quit Prodicus (Ping timeout: 252 seconds)
22:35:57 Nick Prodicus_ is now known as Prodicus (
22:36:10gevaertsamayer_: RDS isn't a rockbox term. It's quite commonly used...
22:36:20kugelnormally yes, but I think its not safe at the moment
22:36:47gevaertsFeel free to add it if you like though
22:37:09kugellorenzo92: ^
22:37:12amayer_lebellium: i did that.
22:37:14amayer_but all your themes say they are different versions.(v1.00, 1.50, 1.30,...)
22:37:16amayer_im wondering if they are all exactly the same, or if they each different features.
22:37:18amayer_the theme page doesnt tell me what the target is. so thats why i asked for the resolution of the device that is actin up
22:39:50 Join factor [0] (
22:40:19kugellorenzo92: do you know in which context the callback is called by the kernel? I guess its like a signal handler, I.e. the process current stack is used?
22:41:14lebelliumthey are not exactly the same of course but they share many features, the code is more or less similar on each target. The different version number is just because they have not been made at the same time. The new clip+ theme I made yesterday includes features in v1.00 that the Clip Zip had to wait for v1.30 to get as the 1st version was made last year ;)
22:42:09lebelliumthe Clip Zip has a 96*96 display and the R0 has a 240*320 display
22:42:25lorenzo92kugel: well safe or not, it hasn't crashed for more than 10 mins. anyways that doesn't tell us anything :) the callback is the address of the function in rockbox
22:42:50lorenzo92at first I used also a workqueue of linux kernel, don't know precisely how does it work
22:42:59lorenzo92now I tried to remove it and works anyways
22:43:16lorenzo92the callback releases the semaphore only!
22:43:16kugeldid you modify the kernel module?
22:43:36lorenzo92kugel: do you want to see the code?
22:43:56kugelwith polling that wouldn't be necessary right?
22:44:11lorenzo92kugel: exactly!
22:44:33lorenzo92maybe it's better, need to see from the cpu usage point of view, but it's surely around 2% more
22:44:37lorenzo92nothing important then
22:44:43 Join eckoit [0] (~ryan@
22:45:16kugelyou wouldnt need to poll every tick would you?
22:45:36*kugel doesnt know anything about RDS, e.g. how often new data comes in
22:45:39lorenzo92kugel: nono! it's just every sleep(1) for the moment
22:45:47lorenzo92I'll explain
22:46:09lorenzo92si4709 radio module gpio pin goes to low for at least 5 ms when data is ready to be read
22:46:26lorenzo92either using the interrupt or using register poll I guess
22:46:41lorenzo92need to see the doc for that
22:47:58lorenzo92how many seconds are sleep(1), you think? 1/100?
22:48:27 Join XavierGr [0] (XavierGr@rockbox/staff/XavierGr)
22:48:55kugelthe parameter is in ticks, so yes 1/100
22:50:19kugelcan you post the new kernel module code somehwere nevertheless? I want to see how the callback mechanism works
22:50:20n1stechnically it's at least 1
22:50:28n1swell, 1 to almost 2
22:50:36lorenzo92n1s: thanks :)
22:50:45lorenzo92kugel: yes, of course!!
22:52:06lorenzo92kugel: perhaps it's a little naive, but works ^^
22:52:22lorenzo92kugel: notice that I've just removed workqueue, commented!
22:53:05kugellorenzo92: uh oh, I'm surprised this works
22:53:21kugelI dont think it would on x86 or newer ARM architectures
22:53:34lorenzo92kugel: ah! xD nice to know hehe
22:53:52lorenzo92kugel: is the function calling evil, right?
22:54:12kugelnormally you cannot (and shouldn't) use user-space pointers directly
22:54:56lorenzo92I've tought about that, but then another possibility is?
22:55:27 Join lebellium_ [0] (
22:56:45kugelit's evil for 2 reasons; a) the callback is executed in kernel space (i.e. it could possibly access kernel internals and mess the entire kernel up) and 2) kernel-space and user-space pointers are incompatible (user-space pointers are usually virtual addresses, other measures might be applied too) and cannot be derefenced directly
22:57:11lorenzo92kugel: clear, indeed.
22:57:23 Quit lebellium (Ping timeout: 244 seconds)
22:57:37 Nick lebellium_ is now known as lebellium (
22:57:41lorenzo92kugel: I copied the way structs are sent through ioctls
22:57:48kugelI don't know if there's any possibility to execute userspace code other than through signals
22:58:01lorenzo92oh well right copy_from_user
22:58:12lorenzo92perhaps this does something?
22:59:13 Quit liar (Ping timeout: 256 seconds)
22:59:38kugelit at the very least converts the user-space pointer to kernel space; but the arg parameter, not the data arg points to
23:00:01kugelyou pass the function address as data so I don't expect it gets fixed
23:00:38 Quit kevku (Ping timeout: 260 seconds)
23:00:57 Join kevku [0] (
23:01:03lorenzo92okay. perhaps there are other tecniques like event devices (or how they're called), more suitable. I understood that I need to cleanup the register polling way :D
23:02:27lorenzo92lebellium: one thing I'm missing: is your device displaying bad data also with cabbie/other themes?
23:03:32kugeli think the simplest for now is keeping the polling, perhaps at a lower rate
23:03:53lorenzo92yes, I think sleep(10) or greater is enough!
23:03:55 Join liar [0] (
23:04:26lorenzo92the way I'm getting the register isn't nice...can I do something on the si470x header file?
23:04:38lorenzo92perhaps externalizing register getting/setting
23:06:42lorenzo92i.e. writing prototype in the header ^^
23:08:37lorenzo92I would also disable the interrupt!
23:09:40 Quit amayer_ (Ping timeout: 264 seconds)
23:09:42 Quit liar (Remote host closed the connection)
23:15:26lebelliumlorenzo92: on the clip zip the dfkt theme also displays bad RDS data. I did not try other themes
23:15:56lorenzo92lebellium: okay, good to know, perhaps try also with cabbie when possible...
23:16:30lorenzo92kugel: do you think creating a new thread and destroying it when enabling/disabling radio is good or not?
23:17:03lebelliumI guess there is no cabbiev2 FMS on the clip zip
23:17:12kugelyou can set it to sleep forever when radio is disabled
23:18:03kugellorenzo92: what do you mean with the way you get the registers?
23:18:31lorenzo92ah right you did not see the code...
23:21:03lorenzo92kugel: to explain. si4700_read_reg is available within si4700.c code, the prototype isn't in the header file si4700.h. I put it in the header file to access the function from my target code!
23:23:09kugelyou call si4700_rds_read_raw()
23:23:38lorenzo92kugel: ah no, nevermind...found out ;)
23:28:13lorenzo92kugel: nothing nothing, don't care :)
23:35:43kugelwell, alright :)
23:37:52 Quit dfkt (Quit: -= SysReset 2.55=- Sic gorgiamus allos subjectatos nunc.)
23:41:53lorenzo92kugel: btw, do you still have the R0 device? :)
23:44:12lorenzo92kugel: cpu usage okay, seems working fine. Good for R0 ;)
23:45:38lorenzo92kugel: apart screen corruption, happens sometimes
23:50:47***Saving seen data "./dancer.seen"
23:50:48kugellorenzo92: i hope to see a patch on gerrit soon :)
23:54:58kugellorenzo92: which skin tag is causing the trouble?
23:55:21kugellebellium: ?
23:55:26lebelliumwe just did a test
23:55:47lebelliumit seems that %tz (RDS text) is causing issues
23:56:07lebelliumNeed further testing but %ty (RDS name) should be OK
23:57:39kugelstrange. the %tz code directly calls a low level function which returns the string from a static array
23:58:27lorenzo92isn't that perhaps a string isn't \x00 ending?

Previous day | Next day