ChanServ changed the topic of #linux-sunxi to: Allwinner/sunxi development discussion - Don't ask to ask. Just ask! - See http://linux-sunxi.org | https://github.com/linux-sunxi/ | Logs at http://irclog.whitequark.org/linux-sunxi
mdp has quit [Excess Flood]
mdp has joined #linux-sunxi
Turl has quit [Ping timeout: 264 seconds]
Turl has joined #linux-sunxi
mdp has left #linux-sunxi [#linux-sunxi]
slapin_ has joined #linux-sunxi
slapin has quit [Read error: Operation timed out]
andoma has quit [Read error: Operation timed out]
andoma has joined #linux-sunxi
egbert has quit [Disconnected by services]
egbert has joined #linux-sunxi
calris has quit [Ping timeout: 248 seconds]
calris has joined #linux-sunxi
h36sa has joined #linux-sunxi
h36sa is now known as bsdfox\
eebrah_ has joined #linux-sunxi
eebrah_ has quit [Ping timeout: 252 seconds]
servili007 has joined #linux-sunxi
servili007 has quit [Read error: Connection reset by peer]
Wetomelo has joined #linux-sunxi
<Wetomelo> does _LINUX_ARM_ARCH_ means something for somebody?
<Wetomelo> i'm compiling a module in a MiniX box but thats the make's message
hno has quit [Ping timeout: 256 seconds]
hno has joined #linux-sunxi
<Wetomelo> ?
<rm> well you don't want the easy way
<rm> as in, getting a different kernel with all modules one could possibly need already compile
<rm> d
<rm> with a howto for adding any others and recompiling
<rm> sooo I guess you already know very well what you are doing ^^
<Wetomelo> i didn't find a precompiled kernell with the modules i want
<Wetomelo> i just want to compile (modified) single kernel module, not more
<Wetomelo> i don't want to recompile the entire kernel just for build one
<Wetomelo> well
<Wetomelo> seems like the configuration from /proc/congig.gz isn,t enough
<Wetomelo> because there isn't info about architecture
Wetomelo has quit [Quit: Ex-Chat]
rellla has joined #linux-sunxi
bsdfox\ has quit [Ping timeout: 252 seconds]
alexjx has joined #linux-sunxi
n01 has joined #linux-sunxi
<oliv3r> xenoxaos: is that an A20 marsboard?!
<oliv3r> mnemoc: it's hansg's code, I only made it apply, i'll rebase and see why it fails/try to fix it
<oliv3r> mnemoc: but I think sun4i and sun5i is 99.9% identical
<oliv3r> why does wetomelo always show up in the early morning, and leave before anytbody can respond :)
<n01> they are going to bed in america right now I think :)
<oliv3r> :)
<oliv3r> mnemoc: which patch is it specifically
<oliv3r> mnemoc: and the rest does apply cleanly?
<oliv3r> mnemoc: [linux-sunxi] [PATCH 02/10] sunxi-sound: Merge sun5i sound support into sun4i code
<gzamboni> hi everyone
<n01> \0
<oliv3r> lo
eebrah has quit [Ping timeout: 252 seconds]
<oliv3r> any git(hub) expert up? :)
<oliv3r> oh! new nexus 7 will feature a snapdragon, probably with adreno graphics; which is really cool; maybe i'll get that one!
<n01> oliv3r: just ask :)
shineworld has joined #linux-sunxi
<oliv3r> i have a github account that i use to pull linux-sunxi/linux.git from
<oliv3r> i want to push 1 of my local wip branches to MY account, to a non existing linux.git :)
<oliv3r> i can fork etc via github i'm sure
<oliv3r> but then i'll have a ton of branches on github i don't care for, i only want my wip branch on there
<oliv3r> so I could, in theory, fork, remove all branches, then push
<oliv3r> can I push my wip directly?
<Turl> oliv3r: yeah you can, but it'll take a while to upload :)
<Turl> mnemoc: ping
hansg has joined #linux-sunxi
alexjx has quit [Ping timeout: 245 seconds]
n01 has quit [Read error: Connection reset by peer]
n01 has joined #linux-sunxi
<oliv3r> Turl: i have 100mbit upstream, so i don't mind :p
<Turl> oliv3r: just make a new repo, add the remote and then push your branch then :P
<Turl> you can fork from torvalds/linux to save some transfer too if you don't mind all the mainline tags :p
<oliv3r> tags i don't mind; i'll fork torvalds then
<oliv3r> Turl: but explain this to me please; if i fork torvalds repository, i'll be 3.10 new
<oliv3r> so if i push my branch there, how will that only be my/our changes?
<oliv3r> i guess it works :p
<oliv3r> i just don't quite get how
<oliv3r> matching hash tags of course!
wingrime has joined #linux-sunxi
<wingrime> ssvb: we need investigate what worong with soft irq
<wingrime> ssvb: if chromebook have no this in perf
<oliv3r> wingrime: have you seen hansg's comment on ML
<oliv3r> makes sense what he says
<wingrime> where on ML?
<wingrime> mnemoc: I have no intension remake/resend such big patch as "dma merge"
<wingrime> oliv3r: I agree that hans find good solution
<oliv3r> wingrime: i think you have to; unless you don't mind someone else using your merge and getting credit :p; it's a legal thing, absolutly not personal
simosx has joined #linux-sunxi
simosx has joined #linux-sunxi
simosx has quit [Changing host]
<oliv3r> Turl: right, now comes in the github foo; i forked and git remote add oliver git://github.com/oliv3r/linux.git
<oliv3r> Turl: so, i'm on the branch which I wish to push to github (under the same branch name)
<xenoxaos> oliv3r: the marsboard is an a10...i dont know of any a20 boards out yet
<xenoxaos> and if it was an a20....i would be bragging a whole lot more
<oliv3r> oh i think i got it
<Turl> oliv3r: git push oliver mybranchname
<oliv3r> yeah, i had to do mybranchanme remotebranchname
<oliv3r> well mybranchanme:remotebranchname
<Turl> that's if you want a different name
<oliv3r> ah, ok, then i didn't need that :)
<Turl> otherwise mybranchname is a shorthand to mybranchname:mybranchname
<oliv3r> so nothing lost then
<oliv3r> xenoxaos: it was a cloudsto
shineworld has quit [Quit: Leaving]
<Turl> mripard_: ping
eebrah has joined #linux-sunxi
<oliv3r> it's too quite today :(
<oliv3r> quiet*
<xenoxaos> it's still morning here
<xenoxaos> and i didnt sleep worth a damn
<oliv3r> heh, 14:31 :)
<oliv3r> Turl: can I delete the 'master' branch on github? i've setup upstream-master to be my 'master' but wanna get rid of 'master' (for now) guess that can't be done, can it
eebrah_ has joined #linux-sunxi
eebrah has quit [Ping timeout: 252 seconds]
<ssvb> oliv3r: you can change the default branch in the repository settings on github to something else and then delete the master branch by doing 'git push origin :master'
ganbold__ has joined #linux-sunxi
eebrah_ has quit [Ping timeout: 264 seconds]
<wingrime> ssvb: why __do_softirq costs so much
<wingrime> ssvb: in perf
<wingrime> ssvb: and why chromebook have no this in perf
<Turl> oliv3r: git push oliver :master
eebrah_ has joined #linux-sunxi
shineworld has joined #linux-sunxi
eebrah has joined #linux-sunxi
<oliv3r> Turl: ok; cause github interface says 'you can't delete master' :p
<Turl> oliv3r: you need to go and switch the main branch to some other one on the admin settings on the repo
eebrah_ has quit [Ping timeout: 246 seconds]
simosx has quit [Remote host closed the connection]
<oliv3r> Turl: admin settings, ah, gotya
slapin_nb has joined #linux-sunxi
<oliv3r> hey slapin_nb
<slapin_nb> hi, all!
<slapin_nb> oliv3r: hi!
<oliv3r> slapin_nb: have you seen the mtd work done by Qiang Yu?
* slapin_nb got olinuxino today, so can start do dangerous things with NAND
<oliv3r> slapin_nb: yay!
<oliv3r> what was your previous sunxi board?
<slapin_nb> oliv3r: yeah
<slapin_nb> oliv3r: various $20-$30 sticks
<oliv3r> slapin_nb: ah, not easy to develop with then :p
<slapin_nb> oliv3r: yeah, too much power switching
* slapin_nb now making own A13 board, but it takes time
<oliv3r> slapin_nb: designing PCB?
<slapin_nb> oliv3r: yeah, sort of
<oliv3r> slapin_nb: kewl :D
<oliv3r> i've checked the boot0 leak and they use it 'as it was', e.g. with 0x2b75
<slapin_nb> oliv3r: it is testing code, leave as 0x2b75 for reading of casual NAND pages, 0x4a80 is boot mode variant, consider it ad-hoc-testing code, as I tested it by reading boot code.
<slapin_nb> oliv3r: will fix it all ASAP if I live till weekend
<oliv3r> slapin_nb: ah ok; well I know nothing of this stuff
<oliv3r> slapin_nb: just explorin'
victorbarna has joined #linux-sunxi
<slapin_nb> oliv3r: it is seed for random generator which is supposed to make NAND data wear less (but also could be used as copy protection of NAND if anybody cared).
<oliv3r> slapin_nb: ah, it's for their 'wearlvling' so as long as the seed is the same during format and read, it doesn't matter what it is
<slapin_nb> oliv3r: actually I don't beleive it is true, though, and probably it is just protection mechanism
<oliv3r> well Quang Yu may have bumped into 'something' regarding that issue, but i have not the knowledge to validly answer him
<slapin_nb> mnemoc: here?
rz2k has joined #linux-sunxi
<oliv3r> i found 0x4a80 btw, valid reference
<oliv3r> mnemoc: is very busy with 'moving' last few days
<oliv3r> i think he finally has internet and electricity, but he's AND very busy and crappy internet at home atm
<slapin_nb> ah well
<oliv3r> he'll be around (he always is :)
<oliv3r> but qiang yu has been a busy bee :)
hansg has quit [Quit: Leaving]
<oliv3r> slapin_nb: have we ever replaced boot0 with anything other then boot0.bin? (functional or not)
<oliv3r> slapin_nb: cause now quang yu has to jump through hoops to write u-boot-spl
<slapin_nb> oliv3r: if you can boot from sdcard, you can use uboot's spl
<oliv3r> no i mean, put u-boot-spl(mmc) On nand
<slapin_nb> just need to hook NAND code in it
<oliv3r> in theory, it would try to boot the rest from mmc
<slapin_nb> no
<oliv3r> why not :(
<slapin_nb> I don't think so, as it will probably don't do any initialization at that stage
<slapin_nb> will try it with jtag though
<oliv3r> well it was just a theory
<oliv3r> put u-boot-mmc-spl in the spot of boot0.bin; broom boots u-boot-mmc-spl from nand, u-boot-mmc-spl executes normally and loads mmc stuff (as it is expected to do)
<oliv3r> slapin_nb: I assume that BROM has the random seed too? I think i can check that
<slapin_nb> oliv3r: yeah, only this one 0x4a80
<oliv3r> ah, i do see 0x4a80 in boot0 code too
<slapin_nb> actually you can read oob withthe rest of page with sunxi NAND controller as it can do several commands on transaction
<oliv3r> well with that knowledge, Qiang Yu should be able to write his mtd uboot
<oliv3r> slapin_nb: but i'll leave that answer up to you on the ML; as i'm not qualified (not enough knowledge) to do that :)
<slapin_nb> I think he can make his code really small
<oliv3r> so if in the end, we want to do mtd; u-boot needs to be written to nand with that random seed underneath it?
<slapin_nb> I let you as I will be available only on weekend as $$$ work won't let me
<oliv3r> slapin_nb: i can explain the random seed bit a little, but i don't have the knowledge to answer him properly :)
<oliv3r> slapin_nb: but i will do my best :)
<slapin_nb> we need this seed handling, it is set up before page ECC commands
<oliv3r> so u-boot-spl needs seed, after that it own't matter anymore, right?
<oliv3r> because BROM uses seed
<slapin_nb> point him to this channel, and ping hno, too
<slapin_nb> you can do the rest with whatever seed you want if you don't care for compatibility
vinifm has joined #linux-sunxi
<slapin_nb> you need this ECC and seed ONLY for boot block
<slapin_nb> so to be able to boot
<oliv3r> do you need _any_ seed if you use mtd? (since the flash wear levling (that's what the seed is for) is now done by the filesystem?
<slapin_nb> controller itself doesn't care
<oliv3r> slapin_nb: ok thought so
<oliv3r> so basically, BROM needs seed
<slapin_nb> if you enable random then you need seed
<oliv3r> so dirty :)
<slapin_nb> look at omap3
<slapin_nb> booting is special case, and it is quite common
<slapin_nb> you can use soft ecc for the rest
<slapin_nb> or wtahever you want
<slapin_nb> *whatever
<oliv3r> with ECC, do you mean Error Correcting Code, like from RAM? Or a different name for Flash Wear Leveling
<slapin_nb> error correction, yes
<oliv3r> ok
<slapin_nb> you can't live without some ecc on NAND as it is not reliable media
<oliv3r> okay
<oliv3r> isn't the brom ecc, boot0 ecc soft ecc aswell?
<slapin_nb> for MLC there is strong ECC recommended by standard
<slapin_nb> NFC implements such strong ECC, not very comfortable to use, but it is there
<slapin_nb> seed is different thing
<slapin_nb> but it is used only for page commands
<slapin_nb> it initializes random controller
<slapin_nb> raw read pages look like random crap, this is thanks to random controller
<slapin_nb> it is another part of NAND stamdard specs of MLC, but not required.
<slapin_nb> Allwinner processors A13, A10, and probably othere require random to be anabled during boot and be seeded to 0x4a80
<slapin_nb> this is demand for the processor
<slapin_nb> and it enables hardware ecc
<slapin_nb> so you need to have random and ecc enabled, random seeded to 0x4a80 to write and read boot data
<slapin_nb> it is very similar to omap3 implementation, where they use special ecc mode for booting, and can be implemented the same
<oliv3r> sorry, $work :p
victorbarna has quit [Remote host closed the connection]
<slapin_nb> I think we need to have chat session with hno and Quang Yu to have all questions answered and work togeter to stop reinventing wheels
<oliv3r> slapin_nb: i see
<oliv3r> slapin_nb: well i think he took a different approach
<oliv3r> but yes, he deffinatly has to talk to you two
<oliv3r> because you two did some heavy research on one end
<oliv3r> and he did on some other end
<oliv3r> i didn't see the seed anywhere
<oliv3r> in his code
<oliv3r> (it's on github)
<n01> please make the logs available after :) it is really interesting
<oliv3r> n01: this channels gets automatically loged :)
<n01> yes, I know but I don't want to dig tons of logs :P
<oliv3r> slapin_nb: mail sent, hopefully he can make sense of it :)
<oliv3r> n01: true true
<oliv3r> oh wow, the log is 'real time'
vinifm has quit [Remote host closed the connection]
<oliv3r> slapin_nb: the 0x4a80 IS the random seed for the BROM, i thought it was that pluse the rest!
<oliv3r> this stuff is a little over my head atm :(
<oliv3r> slapin_nb: i tried to grep through that and 2b75 in https://github.com/hno/Allwinner-Info/blob/master/BROM/ffff0000.s but can't find it :(
<slapin_nb> oliv3r: boot is done always with the same seed, then software can change seed as it likes
<oliv3r> slapin_nb: so seed is really small, i thought the entire array, all 128 entries where used
<slapin_nb> oliv3r: 16 bit
<oliv3r> ok
<slapin_nb> all entries are used depending on page number % 256 IIRC
<oliv3r> % 128
<oliv3r> but yeah
<slapin_nb> it is just 0x4a80 is special one
ganbold__ has quit [Ping timeout: 276 seconds]
<oliv3r> slapin_nb: so it should be encoded in the BROM?
<oliv3r> slapin_nb: btw, we also found that we may possibly use SRAM B or maybe even SRAM C1 from SPL :)
<oliv3r> slapin_nb: which means much more memory for SPL
<slapin_nb> aren't these SRAMS are dedicated for NAND?
<slapin_nb> it is hardcoded in BROM
<oliv3r> slapin_nb: SRAM-D is dedicated for NAND
<oliv3r> C1 is for Video Encoder
<slapin_nb> ah
<oliv3r> and it is mapped per default to the VE
<oliv3r> but you can remap it to the CPU
<oliv3r> and B is mapped to CPU per default
<oliv3r> SRAM B i sfor 'ARM TrustZone'
<slapin_nb> I think spl is not that memory hungry
<oliv3r> which isnt' used during SPL so can be used (verified)
<oliv3r> slapin_nb: we want to get spl to read script.bin from fat/ext*
<oliv3r> slapin_nb: if we can get that to work, dram_para can be read from fat/ext*
<oliv3r> slapin_nb: no more board specific dram_para
<oliv3r> (in u-boot-spl)
<slapin_nb> too much for SPL I think, why not learn it read DT blob from NAND?
<slapin_nb> this feels really simpler
<slapin_nb> (or mmc)
<oliv3r> slapin_nb: that is alternative
<oliv3r> you can have that 'blob' also in uEnv.bin/txt
<oliv3r> (just the dram_para)
<slapin_nb> and no memory requirements for complex filesystems
<oliv3r> but having it on (read-only) filesystem, means much easier for the user
<slapin_nb> this user doesn't care for such things
<oliv3r> but filesystem/blob is allready big win on board specific u-boot-spl
<oliv3r> so the idea is to move it to blob/filesystem first
<slapin_nb> he doesn't care which blob to put where
<oliv3r> i think someone wanted to get it done via FS, so he's hacking on that :)
<slapin_nb> I don't think it is good idea
<slapin_nb> it is marginal set of features, DT is much more realistic
<oliv3r> slapin_nb: can we store dram_para in Devicetree?
<oliv3r> slapin_nb: but yes, dt would possibly live on the filesystem aswell ;)
<slapin_nb> also, to remind you, spl was initially designed as board-specific, where you can do pre-boot board setup mess, like fast enabling power switches, etc, preventing your board from burn ummediately by solving power shortcut issue by disabling initially enabled power supply, etc
<slapin_nb> oliv3r: usually it is loaded to memory, or attached to some binary and can live in nand partition as well
<oliv3r> slapin_nb: well it'll still be board specific I suppose, but no more ram specific
<oliv3r> now we have to patch u-boot spl per board with only specific ram timings
<slapin_nb> as it can be easily put there both from booted system and from u-boot, I don't see why put it on filesystem
<oliv3r> so we have a lot of /boards/allwinner all with just dram.c
<oliv3r> slapin_nb: either/or
<oliv3r> slapin_nb: ideally ram-cofnig is stored in devicetree; devicetree IS board specific
<slapin_nb> and where you intend for board developer to put board-specific hacks?
<slapin_nb> if you want to haveboth u-boot and spl generic?
<oliv3r> i don't know :(
<oliv3r> but right now, we have dram.c with ONLY memory timings for /boards/allwinner/*/dram.c
<oliv3r> so i guess you'd have allwinner/generic/dram.c :p and allwinner/specific/*.c
rellla has quit [Quit: Nettalk6 - www.ntalk.de]
<slapin_nb> that's because there is only a few known desings on these processors
<slapin_nb> but idea with generic DRAM timings is good in itself
<wingrime> f**K qemu not work
ganbold__ has joined #linux-sunxi
<ganbold__> to which phy wemac is connected to?
<mnemoc> any mii
<ganbold__> and mac address could be random?
<mnemoc> it is initially random
eebrah_ has joined #linux-sunxi
dolence has joined #linux-sunxi
<dolence> hi! please, how can I overclock my a10 device inside newest kernel?
<dolence> I wanna test it at 1.5 ghz
<Dreadlish> it will be like cutting grass with chainsaw
<dolence> why
<dolence> ?
<dolence> I'm running opencv application
<Dreadlish> it would fail at 1,2ghz - 1,3ghz
<Dreadlish> (probably)
<rm> replace 1008000 and 408000 with 1500000
<rm> and have it instantly lock-up
<Dreadlish> hm
<Dreadlish> there is alsa some file
<dolence> i dont have to tweak cpu-freq.c files on kernel sources?
eebrah has quit [Remote host closed the connection]
<dolence> indeed, it really locked up at 1.3 ghz
<dolence> I saw 2.x kernel running at higher frequencies before, maybe I should need to change voltage to around 1.5v
eebrah_ has quit [Ping timeout: 246 seconds]
hsildaerD has joined #linux-sunxi
Dreadlish has quit [Read error: Connection reset by peer]
ganbold__ has quit [Remote host closed the connection]
<oliv3r> slapin_nb: so if there's a randomizer in hardware, you actually disable it, or is the data _always_ randomized. e.g. if seed=0x00; it's randomized, with a randomseed of 0, but still random
<oliv3r> dolence: 1.5 v; 1.1 GHz is max; anything beyond will make the CPU crash
<oliv3r> dolence: but remember, 1.5 GHz is marketing crap, it's 1.1 GHz from CPU + 340 MHz from GPU combined
<dolence> oliv3r, ahhh now I see
<dolence> and when we say 1.1 ghz it's actualle 1.1 + mali...
<dolence> right?
<dolence> so, actually, rk3066 cpus arent 1.6? at best 1.2?
<dolence> or it's a totally different scenario?
JCQ has joined #linux-sunxi
slapin_nb has quit [Quit: Lost terminal]
hsildaerD is now known as Dreadlish
Dreadlish has quit [Changing host]
Dreadlish has joined #linux-sunxi
JCQ has quit [Quit: Leaving]
n01 is now known as n01|afk
<oliv3r> dolence: totally different, but very most likly same scenario, marketing bs lies
<dolence> I'm trying output webcam video in fullscreen
<dolence> using opencv
<oliv3r> you can try 1200 MHz tops
<oliv3r> and hope it stays stable
<dolence> to apply some filters, like grayscale, black and white etc
<dolence> using hard float, neon optmization
<dolence> and still laggy
<techn__> dolence: you can use hw scaling to get it fullscreen
<techn__> if video is smaller than screen
<dolence> techn__, hw scaling?
<techn__> check examples from android, vlc or xbmc
<dolence> ty, i will give it a try!
<dolence> techn__, it have something to do with cedarx?
<techn__> you can use it without
<mnemoc> isn't the scaling done with g2d?
<techn__> mnemoc: you can use g2d or disp
<techn__> your choise
<mnemoc> weird. i thought scaling videos was their only reason to keep g2d
<mnemoc> but if disp can do it too....
<techn__> downside of disp layer is that it supports only 2 of them
<techn__> two per display :/
<dolence> would cedarx make video more from webcam more fluid? i think it uses v4l/v4l2
<techn__> dolence: cedarx would help
<techn__> it can do decoding and encoding
<dolence> I need to learn how to use it
rellla has joined #linux-sunxi
<dolence> Actually i can ouput video in fullscreen
<dolence> but it becomes too laggy
<dolence> even overclocking to 1.1 ghz
<dolence> I think it's because everything is done on cpu
<oliv3r> dolence: offload it to the CPU
<oliv3r> what resolution is your video source?
<dolence> up to 720p, but in fact I dont need all that
<oliv3r> well you should scale 720p to full screen using the hardware scaler :)
<oliv3r> now your scaling in software; which is S L O W
<dolence> makes sense
<ssvb> mnemoc: with g2d you can get the scaled result in a memory buffer (to store it or apply additional processing), disp AFAIK can only send it to LCD/HDMI/...
<ssvb> mnemoc: also g2d can rotate images and disp can't
n01 has joined #linux-sunxi
<dolence> I'm totally lost
* ssvb wonders how android tablets are actually doing rotation
<mnemoc> ssvb: ah, cool
<mnemoc> dolence: disp is the display controller within the A10. g2d (aka mixing processor) is a 2d accelerator
<jinzo> so you would need to utilize g2d to scale with opencv I guess.
<jinzo> Also, anyone knows what's the situation with opencv @sunxi with android? So basicly - stock setup?
<ssvb> and mali is a 3d accelerator, it can be also used for scaling if nothing else helps
<dolence> jinzo, I've compiled opencv from git source, armhf + neon
<jinzo> dolence, and what are you using as a base?
<dolence> debian LFS
<jinzo> interesting. I'll follow your progess as I'll have to do some tasks with OpenCV and Android too (Probably on a A10 device, still not 100% about that)
<dolence> jinzo, I was considering use rk3066 (dual core 1.6 ghz) but the one I ordered doesnt like anything besides the original kernel
<ssvb> dolence: it is also a good idea to check where the time is actually spent on this opencv workload, you can use 'perf' tool for profiling
<dolence> I think I will buy minix x5 to test
<dolence> ssvb, perf, it mesure time waste by opencv operations?
<ssvb> dolence: it shows you a chart with the names of functions and the percentage of time spent in each one of them
<dolence> ssvb, seens very nice
<ssvb> it often helps to identify the obvious performance bottleneck right away
<jinzo> dolence, I'll probably be targeting Android in general - but we'll see what's the performance there
<dolence> jinzo, I was considering android too, but when I tried, opencv on android was very buggy
<dolence> it seens to be more mature on linux
<dolence> but I really have no idea on how it's become today
<jinzo> I'll test it in a week or so
<dolence> let me know how is it ;)
<oliv3r> ssvb: but you need special kernel support for perf?
<oliv3r> i should learn about perf
<ssvb> the performance counters should be already enabled by default
<ssvb> just install the userspace tool, for debian/ubuntu it is in "apt-get install linux-tools"
<dolence> installing it right now
<dolence> where should I look for some examples on using g2d?
<oliv3r> nice one
<oliv3r> gonna install it on my gentoo desktop now :)
<dolence> i dont know if are you used to eclipse...
<dolence> i like it
<dolence> I should learn how to cross compile from my desktop to a10 device
<oliv3r> very easy
<ssvb> dolence: for g2d examples you can look at directfb - https://gist.github.com/ssvb/4117583 (some info, links and instructions are there)
<dolence> ssvb, ty
<ssvb> dolence: or alternatively https://github.com/ssvb/xf86-video-sunxifb/tree/master/test (but these tests are not using scaling)
<dolence> and hw scaling, it's easy as enabling it on script.bin?
<ssvb> script.bin can only enable scaler_mode, it uses one hardware scaler to scale the framebuffer to fit display resolution (it simulates changing screen resolution at runtime)
<ssvb> the screen resolution can be changed with 'fbset' tool, which uses framebuffer ioctls to do this
<dolence> ty again
<ssvb> however the scaler_mode interferes with hardware cursor position and overlays
leowt has joined #linux-sunxi
<leowt> why does the a10 uses ~30% of cpu playing an mp3 stream with vlc?
<leowt> mp3 decoding?
<oliv3r> software
<rz2k> leowt: sure you have cpu on 1ghz?
<leowt> rz2k: yap
<oliv3r> use 'performance' govenor
<ssvb> dolence: when you have real screen resolution for example 1920x1080 and you set framebuffer resolution to 1280x720 with fbset (so that it gets upscaled), the hardware cursor coordinates are still assuming 1920x1080
<leowt> with mplayer ~12%
<rz2k> leowt: ^
<leowt> is set performance on kernel config
<oliv3r> cat /proc/cpuinfo
<dolence> ssvb, it's not a problem to me...
<leowt> dude
<leowt> its at 1ghz!
<dolence> xbmc uses hardware accelerated ffmpeg?
<ssvb> leowt: sounds like a bad mp3 codec (if it is using vfp then the performance is expected to be bad)
<ssvb> leowt: just run the profiler to find out :)
<leowt> ssvb?
<leowt> in mplayer its ok
<ssvb> leowt: "apt-get install linux-tools" and "man perf" if you are in debian/ubuntu
<leowt> ~10%
<leowt> i think
<ssvb> leowt: then mplayer is probably using a better mp3 decode, but still 10% is too high
<ssvb> *decoder
<leowt> mplayer is using ffmpeg
<ssvb> which can be configured in may different ways with and without neon
<ssvb> *many
<ssvb> just run the profiler to find out :)
<leowt> shouldnt all armhf packages be compiled with neon and vfp?
<leowt> i mean, debian armhf
<ssvb> I'm pretty sure it is compiled without neon just to be compatible with tegra2
<dolence> ffmpeg uses cedarx?
<oliv3r> dev-util/perf
<oliv3r> dolence: not yet; only vlc can
<oliv3r> or has been ported
<dolence> I see
<leowt> oliv3r: vlc uses cedarx for audio too?
<dolence> if ffmpeg or v4l libs had cedarx support opencv would be great on a10
<oliv3r> leowt: i don't know, i know someone has hacked vlc to link against cedar
<wingrime> ssvb: for me do_soft irq good question to solve
<oliv3r> dolence: even better would be if some would reverse engineer cedarX :)
<dolence> oliv3r, that would be great too... they did it with amlogic amplyer, didnt?
<dolence> *amplayer
<oliv3r> dolence: reverse engineer it? don't know
<oliv3r> link
<leowt> ssvb, how do i foud out if the binary was compiled with NEON using perf?
<dolence> I'm presuming, because xbmc runs 100% fine on linux under m3
<oliv3r> dolence: doubt it, i think amplayer is reasonbly stable
<dolence> ahhh, I see
<dolence> that's why pivos choose amlogic
<oliv3r> dolence: and remember, pivos 'sponsord' xbmc to be ported :)
<ssvb> leowt: if you see many functions with '_armv6' suffix at the top of the profile log and none with '_neon', then ffmpeg is compiled without neon
hramrach has joined #linux-sunxi
<oliv3r> dolence: nah, pivos choose a cheap SoC, and made deals with amlogic before sun4i came out
<dolence> understood
<oliv3r> that said, pivos put some money into developing XBMC for arm/amlogic
<oliv3r> pivos is the 'main' sponsor in that regard, so their support better be awesome :)
<ssvb> wingrime: what about do_soft?
<leowt> ssvb: how do i do that with vlc?
eebrah_ has joined #linux-sunxi
<ssvb> leowt: you can easily find some comprehensive perf tutorials on the Internet, but basically you just run "perf record some_program" or "perf record -a"
<ssvb> leowt: and then "perf report" after you have collected enough statistics and stopped the test
<ssvb> leowt: "perf top" also works
<leowt> i dont see any armv6 neither neon
<ssvb> leowt: what do you see? can you pastebin it?
<leowt> yes
<leowt> just a sec
<wingrime> ssvb: __do_softirq
<wingrime> in top pref
<ssvb> leowt: btw, you might need to "apt-get install ffmpeg-dbg" to get the debugging symbols for ffmpeg for perf
<ssvb> ok, looks like libsamplerate.so is the offender
<leowt> ill go paste the mplayer one too
<ssvb> leowt: and vlc is actually decoding mp3 using libmad library instead of ffmpeg
<ssvb> leowt: afaik libmad does not have neon optimizations, but at least it is a fixed point decoder (so no non-pipelined vfp performance disaster)
<ssvb> wingrime: for which use case?
<oliv3r> does neon even help on integer only math?
<ssvb> oliv3r: yes, of course
<leowt> mplayer ^^
<oliv3r> i thought neon was to accelerate floats :p
<oliv3r> well mp3 could be done by cederA :)
<mnemoc> libva is supposed to abstract all these things
<ssvb> leowt: looks like mplayer at least is using ffmpeg (libavcodec), but without neon
<leowt> ssvb: how can you point that looking at the report?
<ssvb> leowt: you have a really shitty distro :) all the media libraries are in a horrible shape
<oliv3r> omx!
<leowt> debian?
<leowt> =P
<leowt> ssvb: why do you say that?
<leowt> i dont understand
<leowt> i though they where using neon in all they can
<leowt> in armhf
<leowt> i am wrong
<oliv3r> any debootstrap experts here?
<leowt> NEON and VFP/VFP2/VFP3 remain an optional part of the architecture.
<leowt> damn
<leowt> xD
<mnemoc> oliv3r: openmax is old crap. ambrace vaapi and write us a plugin for sunxi! :p
<ssvb> leowt: about the report, you see that 'ff_mpadsp_apply_window_float' function from libavcodec is at the top of the log, and you have no functions with '_neon' suffix there
<oliv3r> openmax is old; it's brand new!
<oliv3r> vaapi is slowly dieing imo
<leowt> ssvb: what distro uses neon by default? just so i dont compile all gentoo style xD
<oliv3r> leowt: hansg's feodra18 MIGHT
<leowt> im going to recompile libavcodec first in debian
<wingrime> ssvb: I have __soft_doirq on the top of perf (perf top -U --- only kernel)
<ssvb> wingrime: sorry, I'm probably missing the context. What are you doing to get it on top? Is it the result of your dma irq rework patches?
paulk-desktop has joined #linux-sunxi
<wingrime> ssvb: nop
<wingrime> ssvb: I simpy run perf for some time
<wingrime> ssvb: idle work
<ssvb> wingrime: is there anything interesting in "cat /proc/interrupts"?
leowt has quit [Quit: leowt]
<wingrime> ssvb: I some how feel that irq patch improve performane
<wingrime> ssvb: not irq
<wingrime> ssvb: I mean dma
<wingrime> ssvb: but broke nand ((
<wingrime> ssvb: proc/interuprts show current processes
<mnemoc> storage is overrated
<oliv3r> just connect through sata :)
<wingrime> ssvb: I see irq from timer,usb,mmc
<oliv3r> i guess we need SPL + Sata driver to have sata support
<mnemoc> just keep /boot in the NAND and root= on sata
<oliv3r> what if you have a board without nand!
<wingrime> ssvb: very strange, emacs startau two times faster
<mnemoc> mmc
<mnemoc> same thing
<oliv3r> what if i hae no nand nor mmc
<techn__> wingrime: check irqtop
<oliv3r> besdies, mmc needs to be swapable :)
<mnemoc> oliv3r: the BROM will fallback to FEL
<mnemoc> oliv3r: you NEED to have nand or mmc storage to boot
<oliv3r> mnemoc: oh right
<oliv3r> well then u-boot-spl + grub :D
<oliv3r> or u-boot + sata
<oliv3r> but true, root= is easiest
<mnemoc> as you need nand/mmc like it or not, there is no reason to not keep /boot there
<mnemoc> and let linux care about sata
<ssvb> wingrime: if you don't really do anything on the device, then maybe perf is just profiling itself and causing this __do_softirq noise
<oliv3r> mnemoc: i agree
<techn__> ssvb: what I noticed that disp's hdmi proc gives pretty high load
<wingrime> ssvb: I saw that yours a15 have no any __do_softirq
<wingrime> ssvb: I have 20% kernel time on it
<ssvb> wingrime: but my test on a15 was doing gettimeofday calls in a loop, so it is a different use case?
<wingrime> ssvb: can you simpy test with perf -U idle time on a15
<wingrime> and comparea
<wingrime> maybe we find some interesting
<techn__> I'd like to see comparison where music is streamed and played trough network :p
rellla has quit [Remote host closed the connection]
<oliv3r> or xbmc streaming h264 over the netowrk
eebrah has joined #linux-sunxi
<wingrime> ssvb: also "softirqs" are relay not realy hw irq http://www.makelinux.net/books/ulk3/understandlk-CHP-4-SECT-7#understandlk-CHP-4-SECT-7.1
<ssvb> wingrime: if I understand it correctly, it's a "postponed" work which we don't hand to do in the hard irq context - http://people.netfilter.org/rusty/unreliable-guides/kernel-hacking/basics-softirqs.html
<wingrime> ssvb: not realy popular way to do delayed work
<wingrime> ssvb: workqueues
<wingrime> git grep open_softirq
<wingrime> not many users
<wingrime> but why read timers cost so much time
<ssvb> this stuff is constantly evolving, still the point is that we probably get the time spent in softirq as a result of real some irq
<ssvb> sorry, I'm sleepy, so lots of typos
<wingrime> ssvb: look at git grep open_softirq
<wingrime> users: timers , net rx/tx ....
<ssvb> for gettimeofday there are no irq's involved, we are just writing and then reading some hardware registers and these read operations are just slow
eebrah_ has quit [Ping timeout: 248 seconds]
<oliv3r> ssvb: so the registers are slow?
<oliv3r> or the read call to the registers?
<wingrime> who can test hans way to fix this
<oliv3r> well it'll make it 'slower' as you have to execute 4 or 5 extra instructions, but no 'wait' loop?
<techn__> oliv3r: you can use it with interrupts :/
<wingrime> oliv3r: make asm code
<oliv3r> well technically, fromw hat I saw, it's only an 'interrupt guard'
<n01> Turl: ping? :)
<oliv3r> so you don't have to disable all interupts
<oliv3r> right?
torqu3e has quit [Quit: torqu3e]
<techn__> maybe interrupts disabled time could be reduced
<techn__> latching wont need propably need it
<techn__> only reading is guarded
<oliv3r> ? latching won't need porbably need it? :)
<techn__> if interrupt comes right on wraparound situation.. reading high and low registers could happen wrong time
<oliv3r> yeah, but your sentnce ..
<oliv3r> wwas a litlte buggy
<techn__> by it I ment 'interrupt guard' :p
vinifm has joined #linux-sunxi
<techn__> mnemoc: btw why lichee branches are in your repo? :/
<oliv3r> a20?
<techn__> every lichee branch
<techn__> I tried to find latest a10/a13 codes.. but didnt find
<techn__> only in amerys repo
<oliv3r> cleanup?
<techn__> mnemoc: .. now I remember.. you had it wip
<oliv3r> to be fair, it's cleaner
<techn__> oliv3r: imho it's confusing to give directions to other places than sunxi
<oliv3r> git branch -a | grep dev remotes/amery/allwinner/amery/lichee-v2.6.36-dev remotes/amery/import/lichee-3.3/a20-dev remotes/amery/import/lichee-3.3/a31-dev remotes/amery/lichee-3.3/sun6i-dev remotes/amery/lichee-3.3/sun7i-dev remotes/amery/lichee/a10-dev remotes/amery/lichee/a10s-dev remotes/amery/lichee/a13-dev
<oliv3r> well the lichee branches are 'old cruft for reference only
<techn__> oliv3r: there is alot of new stuff
torqu3e has joined #linux-sunxi
<techn__> our sunxi-3* branches has lichee baseline from year back.. those new lichee baselines has code updates from last month
dolence has quit [Remote host closed the connection]
<oliv3r> yes, it's absolutly interesting
<mnemoc> there is valuable info, but we can't merge blindly. we need to review driver by driver
<oliv3r> and should be ported asap :)
<techn__> mnemoc: yeah.. just pointed out for that sun4i-keyboard patch sender
<techn__> allwinner has also done that keyboard clock increasing.. maybe there is more
<vinifm> where is a20 repo?
<oliv3r> amery/wip/lichee-a20-dev
<oliv3r> or lichee-sun7i-dev :)
<oliv3r> it's all on amery's github
<oliv3r> techn__: but i do think, we shouldn't just mix'match those 2 repo's. Ideally,t he sunxi organisation repo, should be as clean as possible
<oliv3r> maybe a second organisation could be used, linux-sunxi-aw or something
<wingrime> mnemoc: can you replace copyright youself, I have many uncommited changes in my local repo and i need do many stuff for such fix
<oliv3r> if mnemoc doesn't have time; i can do it tomorrow aswell
<techn__> wingrime: git stash
paulk-desktop has quit [Quit: Ex-Chat]
<wingrime> techn__: touching dma is a like bees hive
<wingrime> techn__: logic are totaly messy
<techn__> also you can change/modify commit between commits with 'git rebase --interactive'
<wingrime> techn__: techn__: I may be ask you about git
<wingrime> techn__: late
<mnemoc> wingrime: the dma patch?
<wingrime> yep
<mnemoc> wingrime: will do in 1h
rz2k has quit []
<wingrime> mnemoc:thaks
<oliv3r> little bummed nobody reviewed my handywork yet!
* oliv3r opens his mailclient
<oliv3r> nope :(
<mnemoc> oliv3r: the sound patchset?
<techn__> oliv3r: you resend hansg's patchset?
<techn__> or did you modify it?
<mnemoc> i pushed this first to stage/3.4. still need to get that applying in 3.0 before continuing :<
shineworld has quit [Quit: Leaving]
<oliv3r> modify, resend, fuck up, fixup ressned
<rm> why are these no longer built since 16 feb
<oliv3r> mnemoc: did you see my patches 2/10 and 8?/10
<slapin_> hno: hi, I really need you now! I need to know where u-boot prompt on A13-OLinuXino is!
<mnemoc> rm: oops, the link isn't updating
<slapin_> hno: where are you?
eebrah_ has joined #linux-sunxi
<rm> hm lol too late, already built an image with the one from 16 feb
eebrah_ has quit [Ping timeout: 240 seconds]
<wingrime> mnemoc: I removed some unused DMA feature - Halfdone irq callback handling
<wingrime> mnemoc: and I have do something with callback's thay in IRQ context
<wingrime> Throughput 0.848587 MB/sec (sync open) - After
_whitelogger has joined #linux-sunxi
<oliv3r> slapin_: hno hasn't been around in ages :(
wingrime has quit [Ping timeout: 248 seconds]
<Turl> !seen hno
<Turl> didn't we have a bot in here? :P
<mnemoc> only a logger here
n01 has quit [Ping timeout: 252 seconds]
vinifm has quit [Quit: Saindo]
torqu3e has quit [Quit: torqu3e]