IRC log of #cubox of Tue 24 Sep 2013. All times are in CEST < Back to index

10:04 jnettlet dv_, how is your vivante sink going?
10:21 dv_ didnt have the time to continue, but it doesnt look good.
10:21 dv_ can application associate a custom buffer with an X11 pixmap?
10:21 dv_ I have a hardware video decoder on an embedded platform using the freescale imx SoC. it decodes to a physically contiguous buffer. the idea is then to associate this buffer somehow with a pixmap, so that the decoded frames can be shown on screen by using that pixmap.
10:21 dv_ dv_: an app cannot - only a driver can
10:22 dv_ isnt there some kind of simple 2D API that we could implement here?
10:52 jnettlet dv_, was that from the gstreamer channel?
10:53 dv_ no. #xorg-devel
10:57 jnettlet well to be exact we aren't implementing pure zero-copy. We just want to use the GPU to blit the buffer to the display rather than copying the buffer and then putting it onto the display.
10:57 dv_ true
10:58 dv_ complete zero-copy would blit directly to framebuffer
10:58 dv_ err, I mean, write directly to framebuffer
10:59 jnettlet well complete zero-copy would be with an overlay and you would just tell the graphics hardware that the overlay exists that the decoded frames address.
10:59 jnettlet but that is only if your overlay supports yuv -> rgb conversion
10:59 jnettlet but without an overlay a single gpu blit is the next best thing.
10:59 dv_ yeah
11:00 dv_ thats what video4linux can do for example
11:00 dv_ but there is no standard way to do that with v4l
11:00 jnettlet and that was originally how a lot of drivers hacked around this.
11:00 dv_ freescale added a hack to pass on physical addresses, but it works for only one video output at the same time, and doesnt play nice with compositors
11:02 dv_ btw. thats also why overlays are only of limited use
11:05 dv_ it is true though that this blit limits the throughput. on many embedded platforms, 1080p60 is only achievable with such overlays
11:05 jnettlet all this stems from the fact xorg is written around first having to move things from system RAM to video RAM.
11:05 dv_ but there is no other option..
11:05 dv_ yes, indeed
11:06 dv_ and since it is written for PCs first and foremost, the special concerns of embedded platforms are not addressed
11:06 jnettlet the vivante GPU can easily do 1080p@60
11:06 dv_ hmm I should rerun my 1080p60 tests with it then
11:07 dv_ maybe the limiting factor was the VPU after all.
11:07 dv_ anyway, wayland is used in the automotive sector. so embedded concerns *are* considered.
11:07 jnettlet the limiting factor could be the VPU or the memory bandwidth
11:09 dv_ hm. we could add the marvell hack to the imx xorg driver :)
11:13 jnettlet what kind of memory does the iMX6 vpu use?
11:13 jnettlet curious if it uses uncached memory like vMeta.
11:14 dv_ uncached, yes
11:14 dv_ which causes bizarre results
11:15 dv_ it is faster to draw into a virtual memory block, and then memcpy this to a dma buffer, instead of drawing into the dma buffer directly
11:15 dv_ because of missing write-combine
11:15 dv_ it is not a hw problem though it seems. just a matter of putting writecombine and caching into the API.
11:16 jnettlet what is it using for memory allocation?
11:17 dv_ oh thats the fun part
11:17 dv_ there are at least three different sets of allocation functions
11:17 dv_ (for physically contiguous memory)
11:17 dv_ one for the VPU decoder, one for the encoder, one for the IPU
11:17 dv_ neither allows me to specify writecombine or cached
11:18 dv_ I have heard about efforts to unify that into a "contiguous memory allocator". havent gotten updates though.
11:18 jnettlet and that part of the code is closed?
11:18 dv_ the VPU ones, no. the library they are defined in is open.
11:19 dv_ the IPU allocators are essentially ioctl calls
11:19 jnettlet oh so it is done in the kernel?
11:19 dv_ in fact, to use the IPU, you have to use kernel headers
11:19 dv_ from what I have seen, yes. internally, the VPU parts of the imx-lib also use ioctl calls, though they seem to be different ones.
11:21 dv_ I have been thinking about a future project, once I finish my gstreamer plugins (and other stuff). some kind of reimplementation of the imx-lib and vpu wrapper
11:21 dv_ to have one more sane API for IPU and VPU use. and *one* allocator.
11:23 jnettlet do their current API's use virtual addresses or do they pass back physical addressed like vMeta requires?
11:24 dv_ the VPU allocators return virtual, physical, and "cpu addresses"
11:24 jnettlet haha
11:24 dv_ the IPU one returns only a physical address. you get a virtual one by mmap'ing
11:25 jnettlet cover the entire range
11:25 dv_ (I suspect the VPU ones mmap internally)
11:25 jnettlet okay so they are just as bad as vMeta
11:25 dv_ actually worse, because vmeta has only one allocator api
11:25 dv_ also, the VPU API is less flexible than vMeta's
11:26 jnettlet well Marvell was smart enough to abstract out their allocator api to be able to handle multiple allocation backends.
11:26 dv_ its that thing I mentioned here a while ago, that you cannot allocate new output buffers during playback if necessary
11:27 dv_ btw. any idea what "cpu addresses" could be?
11:29 jnettlet without looking at it 100% my guess would be the address based on the hardware offset rather than the offset used as the base address of physical memory.
11:32 jnettlet I am sure _rmk_ can probably give a thorough explanation.
11:33 dv_ right, reminds me of something
11:33 _rmk_ shesselba: I'm sending my patch to fix the hdmi audio muting directly to Linus now
11:33 dv_ _rmk_: you work with vaapi because you want to use vmeta in VLC, right?
11:33 dv_ _rmk_: then why not just add vmeta directly to libavcodec?
11:39 _rmk_ because hardware decode on libavcodec is only supported via vaapi or vdpau, and while it may be possible to modify libavcodec directly, it'll also need the library users modified too
11:39 dv_ from what I have seen, there is an internal API for hardware codecs
11:40 _rmk_ but... that still won't get around vlc doing copying of the rendered image
11:40 dv_ true.
11:40 dv_ unless you can tunnel the physical buffer somehow
11:41 _rmk_ oh? what API?
11:42 dv_ well thats what I mean with "somehow" :)
11:42 dv_ good question for #libav though
11:43 _rmk_ you said you've seen an API for doing this in libav...
11:44 dv_ ah, the decoding
11:44 dv_ wait a sec
11:46 dv_ http://ffmpeg.org/doxygen/trunk/structAVHWAccel.html
11:47 dv_ there is also vdpau and vaapi code inside libavcodec that can be used as an example
11:48 jnettlet dv_, do you have the link to the 2d engine docs on Freescale's dev site?
11:48 jnettle 11:48 * jnettlet only has the docs for the older version.
11:49 dv_ you need to be registered on the freescale site
11:49 _rmk_ dv: it's still a slice level API
11:50 _rmk_ iow, still not the ES level
11:50 jnettlet dv_, I am.
11:50 dv_ I found it inside the L3.0.35_4.0.0_docs tarball
11:51 dv_ trying to find a link
11:51 dv_ _rmk_: I dont see anything that specifies header information separately
11:56 dv_ jnettlet: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q
11:56 dv_ try L3.0.35_4.1.0_LINUX_MMDOCS
11:56 jnettlet okay thanks
11:58 dv_ oh wait, I think DOCS, not MMDOCS
11:59 jnettlet okay. and it is *NEW*
12:00 dv_ in fact, I have only looked at the 4.0.0 one
12:00 dv_ hmm
12:00 dv_ okay. in L3.0.35_4.1.0_130816_docs/doc/mx6/ , look at "i.MX_6_G2D API.pdf"
12:01 jnettlet yep got it. thanks
12:01 dv_ uh no. thats new. I meant i.MX_6_2D_API.pdf
12:01 dv_ no idea what G2D is. the second one is the GAL API.
12:03 jnettlet g2d is the simpler 2d only api
12:04 dv_ _rmk_: #libav-devel confirms, it is a slice level API.
12:04 dv_ but one guy may have code to work around that
12:04 dv_ he did stuff for intel hw en/decoding
12:04 dv_ talk to lu_zero
12:06 dv_ or better yet, just go to #libav-devel
13:10 wumpus is g2d some open API? or again vivante proprietary shit?
13:13 steev it's not vivante specific
13:13 steev but i don't know if it's open or not
13:14 wumpus it's an incredibly hard-to-google name at least :)
13:14 steev indeed
13:14 steev i only know as i used to work with the amd drivers for the imx5
13:15 steev due to that, i can't work on any of the open source stuff :/
13:15 wumpus would be nice to have some cross-platform api for simple 2D engines, there doesn't seem to be one
13:15 steev ogre?
13:15 wumpus isn't ogre a 3d engine? :o or is there some other?
13:16 steev i thought they did 2d and 3d
13:16 wumpus I know about directfb, blitsville, etc, but not what their status is
13:16 wumpus ogre is high level and builds upon opengl es, something low-level would be needed that for example Xorg EXA drivers could use
13:16 steev i could be wrong though, it's been known to happen
13:17 wumpus the EXA api itself would do, but it's nto really useful outside of X, so there appearsto be no way of writing a generic 2D driver without cooking up my own api
13:17 jnettlet wumpus, it is a more simplistic wrapper to the 2d portion of libGAL
13:17 jnettlet their directfb driver uses it I believe
13:18 wumpus directfb is maybe promising
13:18 wumpus as they're working on a KMS backend too
13:18 wumpus and SDL can use it
13:19 jnettlet Vivante was pushing us to use directfb as they said it was 3 times as fast on their hardware as X
13:20 wumpus couldn't X (theoretically) use directfb as backend?
13:20 wumpus a directfb EXA driver could remoe the need for specific X drivers
13:21 jnettlet I guess theoretically it could if you really needed it. But generally you would much rather have the graphics toolkit you were using support it directly.
13:21 jnettlet except for legacy compatibility
13:22 wumpus well the thing is, wayland needs no gpu specific drivers, just some EGL extensions
13:22 wumpus it's annoying that Xorg still needs them
13:23 wumpus I'll have wayland support way before X
13:23 jnettlet have you tested Vivante's wayland driver yet?
13:23 wumpus nope
13:24 jnettlet I wonder if we could write a vivante backend for wayland like they have done for the raspberry pi.
13:24 wumpus haven't used for even looked at the vivante blobs for a long time, it's for the better :)
13:24 jnettlet I like the idea of Wayland but would rather keep things on the 2d engine for basic drawing.
13:25 wumpus yeah, me too, I just don't want to write N different drivers for the 2D engine
13:25 jnettlet definitely. I wish I hadn't looked at the vivante source, so I could help out more.
13:25 wumpus that's why I was talking abouta general cross-platform 2D API, that's not bound to X specifically
13:26 wumpus and directfb looks most promising for that for now
13:26 jnettlet I tested X on directfb early on and it needs a lot of work.
13:27 wumpus but it can be done already?
13:29 jnettlet yeah it is unmaintained now but it was called XDirectFB. clever huh :-)
13:29 wumpus that's a pity
13:30 wumpus seems they tried all kinds of fancy stuff
13:31 wumpus I guess they eventually realized that wayland already exist
13:55 dv_ jnettlet: there is wayland support for the imx6
13:55 dv_ maybe it can be reused/generalized
13:55 dv_ but yeah, some simple 2D API would be useful
15:12 rabeeh wumpus: in the i.MX6 series there is an internal SRAM; i was wondering if that can be mapped to do some caching for the GPU?
15:12 rabeeh if not caching then some sort of fast memory that can be used for extensive GPU operation?
15:15 jnettlet rabeeh, how big is the SRAM on the i.MX6?
15:15 wumpus rabeeh: maybe, I'm not sure whether the GPU can access the SRAM
15:15 rabeeh 128KB on the solo and dual lite; 256k on the dual and quad
15:16 wumpus that'd be big enough to store the command queues I suppose
15:16 rabeeh is the command queue something heavy on the DDR bus?
15:17 wumpus I think where SRAM is most useful is when you're running some algorithm with a small working set, I'm not sure there are much of those in GPU rendering
15:17 wumpus there is of course pixel format and vertex format conversion, but those you'd like to avoid in the first place, and they have a very small working set that would even fit in registers
15:17 wumpus same for texture tiling...
15:17 wumpus nah, heaviest on the DDR bus is rendering itself (and texturing)
15:18 jnettlet well our Marvell chipsets use the SRAM to do DMA rotations and such.
15:18 wumpus but it'd be a pretty small framebuffer/texture :)
15:18 wumpus even the gcwzero framebuffer wouldn't fit in it :P
15:18 wumpus well on 16 bit it would
15:19 dv_ wumpus: fillrate heavy stuff could be interesting on the cubox-i
15:19 dv_ wumpus: since it has ddr3 and rather high clock rate
15:19 dv_ (compared to most other embedded platforms that is)
15:19 wumpus rabeeh: the command queue is not that heavy, well at least if you're using the GLES driver in a proper way, thus not submitting too many batches
15:19 wumpus dv_: yes that's very nice :)
15:20 dv_ rabeeh: no.1 is the fillrate
15:20 wumpus that's very cool about the cuboxes that they have fast memory
15:20 dv_ its why a geforce gtx 660 can do deferred shading while an embedded platform cant
15:21 dv_ (performance-wise I mean)
15:21 wumpus even a R300 could do deferred shading :)
15:21 wumpus with floating point textures and multi render targets
15:21 dv_ yeah, but all of them have dedicated GDDR RAM on the card, very closely located to the chip
15:21 wumpus indeed
15:21 dv_ with 192- or even 256bit bus
15:22 wumpus right, it's just not comparable
15:22 wumpus plus they have large caches on the gpu itself, lots more silicon available
15:22 wumpus then again, comparing embedded versus desktop isn't really fair
15:22 wumpus very different goals
15:23 dv_ yes. power consumption alone is from a different planet
15:23 dv_ I remember reports about nvidia's difficulties with the fermi architecture, because they were stressing the power limits of PCI-express
15:24 dv_ yes, even *with* an additional 12V power connector
15:24 wumpus most people that use imx will not care about heavy 3d rendering at all, let alone gaming, so most would be wasted
15:24 dv_ yeah
15:24 dv_ some casual games, perhaps flash compositor effects, thats it
15:25 dv_ *flashy
15:25 wumpus yeah, it's fast enough for that
15:27 dv_ hmm gtx660 has a TDP of 140 W
15:27 dv_ how many cubox-i are needed to equal that :D
15:28 wumpus about 40, i think :)
15:30 dv_ oh, and wumpus, I think you said once that you are looking into getting etnaviv into mesa? I mean, upstream?
15:30 wumpus yes, that's eventually the goal
15:30 wumpus but I need dmabuf support first
15:30 wumpus which needs _rmk_'s work on the kernel drivers
15:31 wumpus currently it doesn't play well with DRM/GEM/etc
15:40 _rmk_ do I try resubmitting the drm kernel stuff...
15:41 _rmk_ or do I wait for the hoohar to happen over me sending the tda998x fix direct to Linus
15:42 _rmk_ (interestingly, Al Viro was complaining about the crappy state of the exynos drm driver recently... which pisses me off that airlied allowed it in with it being rather crap)
15:43 jnettlet _rmk_, what did airlied not like about the armada drm driver?
15:44 _rmk_ jnettlet: basically, when I wrote it, I thought "this is silly, the core DRM code should provide functions which lookup object type X and return a typed struct of the appropriate type"
15:45 _rmk_ so I created a header file with some helpers in
15:45 _rmk_ airlied refused to take it until that file was moved to somewhere others could use it.
15:45 _rmk_ ... which is no reason to _not_ take the patch set and move it later.
15:45 jnettlet correct.
15:45 _rmk_ but no, he wanted it moved there and then.
15:45 wumpus right
15:45 wumpus that's one way to hold patches up forever
15:46 jnettlet that is what you get for trying to make things easier.
15:46 _rmk_ so my response to that was: don't expect me to move it any time soon
15:46 _rmk_ and my conclusion is: if you write crap code which fails to work, you can get it into the kernel. If you think about what you're doing, expect a fscking hard time
15:47 _rmk_ I finally got around to moving that header file last weekend...
15:47 _rmk_ but of course, DRM has seen a lot of changes during the last merge window and I'm on 3.11 not 3.12-rc1
15:47 dv_ makes me wonder how things get done at all in the kernel
15:56 _rmk_ hmm... google+ just popped up several possibilities for #cubox
15:57 _rmk_ lets see what happens when I merge v3.12-rc2 into the cubox-3.11 branch
15:58 _rmk_ might help if the fingers worked properly, and typed 'remote' not 'remove'
16:00 _rmk_ 10 conflicting files
16:12 _rmk_ building...
16:22 rabeeh all: early dev machines are out
16:23 rabeeh they just told me it was sent few hours ago; probably a follow up email with tracking number will follow
16:25 _rmk_ \o/
16:28 rabeeh someone wants to try the rpi camera on it?
16:28 rabeeh the header is compatible and the voltage levels etc...
16:28 rabeeh oh; before you guys get suprised; the board is almost identical to the rpi
16:29 purch I should have applied for dev. Two months is a long time =)
16:29 rabeeh purch: sorry; maybe in the next batch
16:29 rabeeh what kind of dev can you do?
16:29 _rmk_ rabeeh: you're not trying to tell us something? :p
16:30 rabeeh well.. the accessories do well on this board; we can test lots of features
16:31 lubiana _rmk_, where can i find the cubox-3.11 branch?
16:45 purch rabeeh: first upgrade this setup http://www.solid-run.com/phpbb/viewtopic.php?f=4&t=1124 and then start building weather station (vantage vue) with additional one-wire measuring devices and webcams
16:46 rabeeh purch: please send me your email address and i will queue you up for next batch
16:46 rabeeh my email - [email protected]
16:46 _rmk_ first boot of v3.12-rc2... seems to work on the face of it
16:47 _rmk_ a number of changes in Armada DRM were needed tho...
16:47 _rmk_ drivers/gpu/drm/armada/armada_drv.c | 1 -
16:47 _rmk_ 3 files changed, 7 insertions(+), 40 deletions(-)
16:48 _rmk_ lubiana: I tend not to publish the tree because no commit in it is particularly "stable"
16:48 lubiana ah
16:48 lubiana ok
16:49 _rmk_ also I'm not entirely convinced that I can publish it with things like the vendor HDMI stuff in it... and there's a few files in the GPU stuff which clearly state that they're not GPL (which I think can be dropped anyway)
16:53 _rmk_ hmm
16:55 purch rabeeh: done
16:56 _rmk_ that's a "something's broken" sort of hmm.
17:08 _rmk_ not the kernel's fault
17:18 _rmk 17:18 * _rmk_ wonders how many of you are on g+
17:22 rabeeh _rmk_: i am
17:25 _rmk_ and I think I've just found you :)
17:25 _rmk_ and Sebastian
17:26 _rmk_ ah, so Li Li went to Nvidia
17:39 jnettlet _rmk_, point me at any files you have concerns about for the Vivante driver, and I will get them verified, or re-licensed.
17:40 jnettlet although I would rather just switch to the v4 codebase, to match up Freescale and Marvell versions
17:51 _rmk_ jnettlet: when you encounter file headers which say "The material in this file is confidential and contains trade secrets"...
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/Android.mk.def
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/makefile.linux.def
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/makefile.linux
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gc_hal_user_context.h
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gc_hal_user_precomp.h
17:51 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gcProfiler.h
17:52 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gc_hal_user_brush.h
17:52 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gc_hal_user_compiler.h
17:52 _rmk_ arch/arm/mach-dove/gc600_driver_dove/galcore_ko_src/hal/user/gc_hal_user.h
17:52 _rmk_ I suspect several of those should not be there
17:58 wumpus _rmk_: yes, there is a lot of user-space only stuff in the kernel drivers, especially the dove ones
17:59 wumpus we could cut thousands of lines from the vivante (v4) kernel driver for ingenic
17:59 wumpus but the dove one is worse and even has some interface headers for the GAL user space
18:00 wumpus which, I suppose, can be useful for interested parties but don't belong in the kernel
18:03 jnettlet _rmk_, yes the user directory doesn't belong there
18:04 jnettlet wumpus, unfortunately in v4 gc_hal_kernel_context.c is licensed the same and links to those files.
18:04 wumpus ugh
18:05 wumpus another reason to start a more linuxish kernel driver from scratch I guess
18:06 wumpus we'd hope to get there with a cut and replace approach, but if licenses for necessary files are messed up too...
18:07 wumpus jnettlet: I just checked gc_hal_kernel_context.c and gc_hal_kernel_context.h in v4 in etna_viv/kernel_drivers and they're GPL licensed
18:08 jnettlet wumpus, yep. I think the last commit that Vivante/Marvell sent me had the licensing changed.
18:08 jnettlet what a clusterf***
18:08 wumpus indeed...
18:08 wumpus also the way in which they mix up kernel space and user space structures in their interface, it's terrible
18:09 jnettlet okay another reason for us to get on a standard kernel driver
18:09 jnettlet don't even get me started
18:09 wumpus and putting everything in one ioctl.. whyyy
18:10 jnettlet wumpus, okay I will pull down those drivers into my kernel then.
18:17 jnettlet wumpus, yep the imx6_v4_0_0 drivers are the newest ones and are all GPL.
18:18 jnettlet the only question is did they come in the tarball with the README that says that anything included can't be used except on Freescale hardware?
18:19 jnettlet Although I don't think they can do that with GPL licensed source.
18:20 jnettlet _rmk_, I think we have a properly licensed clean version to work from.
18:21 dv_ jnettlet: arent there 4.1.0 ones?
18:21 jnettlet dv_, actually 4.6.9
18:22 jnettlet rev 1210
18:22 jnettlet build 1210...sorry
18:25 wumpus jnettlet: such restrictions are not permitted on GPL code
18:26 wumpus of course you one could add a clause, let's say "it's not allowed to use this in nuclear weapons", but that'd no longer be GPL
18:26 jnettlet wumpus, right. so I think that is our "release" version.
19:11 cbxbiker61 nvidia to begin publishing open gpu documentation! Finally the big players have all figured out that supporting opensource is the way to go.
19:17 jnettlet cbxbiker61, I wonder if that has any correlation with the new Steam Box announcement.
19:19 cbxbiker61 i didn't remember that the steam box was using nvidia... but yeah, steambox and amd doing arm64/radeon late next year could be the straw that broke the camel's back
19:58 purch anything similar to this https://github.com/RobertCNelson/netinstall for cubox-i?
20:03 cbxbiker61 purch, i don't think so, but that is "only" a script and should be pretty easy to enhance to do the job
20:04 cbxbiker61 i bookmarked it and I'll have a closer look at it when I get the cubox-i
20:08 purch worked like a charm for wandboard quad
20:09 purch could be a easy setup for not-so-technical people
20:10 cbxbiker61 yeah, running the installer on a non-cubox-i machine should be a lot easier
20:11 purch for linux people
20:11 cbxbiker61 although i'm pretty sure Rabeeh wants to have a stand-alone installer for the cubox-i just as the regular cubox
20:13 cbxbiker61 in fact the idea that he floated a while ago was to have a raw image that could just be dumped to the cubox-i, and then the main partition could be resized
20:14 purch one thing was in mind that a similar netinstaller for cubox where could be different kernels
20:14 cbxbiker61 that is a problem for me at the moment since i intend to have the main partition as f2fs and f2fs doesn't have a partition resize tool yet
20:14 purch what's that?
20:14 jnettle 20:14 * jnettlet shakes fist at samsung for its lack of resize tool
20:14 cbxbiker61 flash-friendly file system
20:15 purch had to google it
20:15 purch have to look more to it
20:15 cbxbiker61 i've been tweeking my systems to run f2fs root filesystems, just finished doing a fresh install to my x86_64 media system
20:16 cbxbiker61 certain packages need a bit of tweeking the get the mount options correct, i.e. the kernel and systemd
20:17 purch ubuntu supports that?
20:17 cbxbiker61 not sure
20:17 jnettlet I doubt it.
20:17 cbxbiker61 i started working with it as soon as it entered the kernel
20:18 jnettlet well the driver has been in mainline since 3.8. I believe you need a separate ppa for the tools
20:19 purch https://launchpad.net/ubuntu/+source/f2fs-tools
20:21 purch saucy should support it properly, so few months
20:29 _rmk_ http://ftp.arm.linux.org.uk/cgit/linux-cubox.git/
20:33 cbxbiker61 _rmk_ , good stuff
20:34 jnettlet _rmk_, if you want to keep consistent the MMP3 is an Armada 620
20:37 jnettle 20:37 * jnettlet can submit patches.
20:39 _rmk_ if you want to send me patches against that for MMP3...
20:40 _rmk_ I think cgit will eventually catch up with the repo description...
20:40 jnettlet yep can do for mmp2 / mmp3 working on both the last couple of days.
20:41 _rmk_ git url would be git://ftp.arm.linux.org.uk/~rmk/linux-cubox.git/
20:41 jnettlet don't know if you care, but I would also suggest renaming the functions to just mmp2...most the graphics drivers just use the oldest most compatible hardware version until a major change is needed.
20:41 _rmk_ don't forget the branch name because there's no master on that. :)
20:42 _rmk_ don't mind in that commit - I only did it as a "proof of concept" :)
20:42 _rmk_ based around what limited info I had from the OLPC response I got from a previous posting
20:42 jnettlet okay well I have a bunch of stuff that is just getting shuffled at this point. Will be happy to get things consolidated.
20:43 _rmk_ let me know if that git url doesn't work (I've got a weird git daemon setup on that machine)
20:44 _rmk_ that machine is also known for not being the fastest too, so make sure you're pulling into a tree which already has mainline rather than cloning from it
20:44 jnettlet will do.
20:44 _rmk_ (there's been plans to replace the machine for the last year but real life keeps getting in the way for the guy sorting out the new hardware :(
20:45 jnettlet I know that song all too well.
20:46 jnettlet Do you want patches against the 3.11 or 3.12 branch? or don't you care.
20:47 _rmk_ don't care - I'll port them onto both branches
20:47 _rmk_ eventually the 3.11 branch will get dropped once 3.12 is out
20:48 jnettlet well I will backport to and maintain my 3.10 long-term branch regardless.
20:48 jnettlet that should cover the community for now.
20:48 jnettlet Now if only my stupid mmp2 board would boot off of device-tree. The world would be cozy
20:50 jnettlet rabeeh, just got my notificaiton from DHL, they are right on things.
20:51 _rmk_ jnettlet: is that the notification of the tracking no?
20:51 jnettlet _rmk_, notification of MOMs payment for the delivery.
20:53 _rmk_ ah, cgit now has the description on the repo specific page but not the main index yet
20:53 jnettlet which reminds me. rabeeh if your shipping people clearly state that the shipment is an Engineering hardware sample not for resale it should allow delivery without additional duty/Vat/Moms etc.
20:56 jnettlet _rmk_, will you take a patch to add the GPL licensed vivante driver into the tree?
21:00 _rmk_ well, I'd need to work out what to do about the 85 or so galcore patches I have here...
21:01 _rmk_ I've been gradually pushing the "update" I did over Rabeeh's version down through my mass of patches over the last month as and when
21:04 jnettlet hmmm, merging that into the new driver codebase will be not fun.
21:06 _rmk_ indeed
21:07 _rmk_ and I kind of wish I hadn't run hal/os/linux/kernel/*.[ch] through indent early on in the series :p
21:07 jnettlet actually I did that before every rebase. The code is too messy otherwise.
21:09 _rmk_ and I should send you my perl script which deobfuscates the hardware file a bit
21:09 _rmk_ though I'm not sure vivante would like that
21:10 jnettlet it is GPL...too late.
21:10 jnettlet :-P
21:10 _rmk_ quite true, but gotta play nice so they keep giving code updates
21:11 jnettlet I am still working on getting a contact within Vivante.
21:11 jnettlet It is on an agenda somewhere in SanFran
21:12 jnettlet well bringing it up internally is.
21:13 jnettlet Probably best to leave the code as is for the in kernel driver, and pass the perl script over to wumpus to host as part of etnaviv. They already can't like what he is doing.
21:13 jnettlet Good cop bad cop
21:15 _rmk_ :)
21:15 jnettle 21:15 * jnettlet goes in search of food.
21:19 wumpus I don't think they care about a deobfuscation script; it appears they run the source through macro expansion to get rid of the register names, not so much to intentionally obfuscate it
21:21 wumpus the a:b stuff is a fairly standard way of defining bit ranges, they did it at nvidia too, it's just that it looks obfuscated when expanded
21:22 _rmk_ the simple version is this:
21:22 _rmk_ http://www.home.arm.linux.org.uk/~rmk/misc/deobfuscate-simple-vivante.pl
21:23 _rmk_ you can go a little further but it requires effort in defining some register definitions ourselves
21:25 wumpus yep, in principle I could use the register definitions from etnaviv, but this is a good start
21:51 _rmk_ wumpus: I do have a more complex version of that script
21:52 _rmk_ http://www.home.arm.linux.org.uk/~rmk/misc/deobfuscate-complex-vivante.pl
21:56 purch huh, who writes those?
21:57 _rmk_ me
22:00 purch too many dollar signs and back slashes for my eyes
22:01 _rmk_ that's the side effect of perl. you should see some of my sed scripts :)
22:02 purch not after that please =)
22:04 purch I grew out of those sed, bash, awk stuff and happily living in python land atm
22:04 wumpus well it's not that bad as far as perl code goes :)
22:05 _rmk_ s,',',g;s,",",g;s,^\s\s*,,;s,<\(div[^>]*\|/div\)>,,g;/^/ { x;/./s/\n/\t/gp;x;s/^.*data-thing-id="\(.*\)">/\1/;h;d; }; /^/ { /data-column-key="[12]"/ { s/^[^>]*>//; H; }; /data-column-key="4".*href=.*mp3/ { s/^.*/@AUDIO@/;H; }; d; }; /^/ { s/^[^>]*>//;H;s/.*//;x;s/\n/\t/gp; };
22:06 _rmk_ you might mistake that for line noise :)
22:07 dv_ _rmk_: check out the regex for validating email addresses: http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html
22:07 _rmk_ :)
22:08 _rmk_ I've written one for URLs from the RFCs, I did it in perl and defined each bit separately
22:08 dv_ and its not complete
22:08 dv_ because email addresses can contain comments
22:08 dv_ abc(this is a comment)@def.com
22:09 _rmk_ yep. :)
22:09 dv_ and since you can have nested brackets, this is no longer a regular grammar
22:10 _rmk_ yep, mine was just for http, https, mailto and ftp uris
22:10 _rmk_ and missed a few things
22:10 dv_ one huge regex is uncommon anyway
22:10 dv_ most people use several small ones instead
22:10 dv_ more efficient, and causes less headache
22:11 purch for email: [^@]+@[^@]+\.[^@]+
22:11 dv_ purch: see my link :)
22:11 _rmk_ I just went through RFC2396 for mine and created one line of perl for each bit of BNF :)
22:12 dv_ surprisingly, URIs are easier to parse than email addresses
22:13 dv_ also, yay! my chromium patches for html5 video using the imx vpu work
22:14 dv_ fortunately, the chromium media framework does not expect slices
22:15 _rmk_ purch: I assume you've heard that some people describe perl as "write only code" ?
22:15 dv_ I read once that a peculiarity of perl code is that it looks the same before and after encryption :)
22:16 purch _rmk_: I once had to edit perl script, never again
22:16 purch dv_: hehe
22:18 _rmk_ dv_: ah, you had the perl decryption engine fitted to your brain then, which transparently kicks in when you see encrypted perl code :)
22:19 dv_ like the translator microbes in doctor who
22:20 purch The Big Bang Theory now and some sleep ::wave
22:20 _rmk_ cu