panda84kde has quit [Quit: Konversation terminated!]
rz2k has joined #arm-netbook
_massi_ has quit [Quit: Leaving]
atiti has quit [Ping timeout: 272 seconds]
popolon has quit [Quit: Quitte]
eebrah has joined #arm-netbook
<lkcl>
hramrach: i think that some devices such as set-top boxes *might* have marvell SoCs in them, but to be honest i'm left wondering why marvell is in business *at all*!
Quarx has quit []
valhalla has quit [Ping timeout: 246 seconds]
valhalla has joined #arm-netbook
lerc has quit [Read error: Connection reset by peer]
drachensun has quit [Ping timeout: 246 seconds]
<hramrach>
lkcl: because they do other stuff that's actually profitable ;-)
<hramrach>
note that the SoCs use Ethernet and SATA IP that marvell sells as separate chips
<hramrach>
and perhaps there are some devices with marvell SoCs nobody happened to open and put the photos on the web
<hramrach>
actually, the SoCs have MPEG IO which is specifically designed for settop boxes
<mripard>
pretty much all the NAS out there have either a Atom or a Marvell SoCs these days
<mripard>
the chromecast has one
<mripard>
a lot of set-top boxes and "smart TVs" as well
<mripard>
and some modems/routers
<hramrach>
ok, so nobody just bothers to figure out how to put Linux on the device because they are too limited in hardware to be worth the effort
<mripard>
too limited?
<mripard>
compared to what?
<hramrach>
well, qnap is supported, and has like 16mb flash on the top models and the PCIe is unavailable
<mripard>
qnap is supported where?
<mripard>
in linux?
<hramrach>
there are some pages saying how to put Linux on most if I am not mistaken
<hramrach>
Debian
<mripard>
I'm running debian on my lacie NAS that has a kirkwood
<mripard>
and Marvell Armada 370 or XP SoCs are very well supported in mainline nowadays
<hramrach>
yes, and what does it have? 1 Ethernet out of two, both sata, 0 of 2 PCIe?
<mripard>
so debian should just work.
drachensun has joined #arm-netbook
<hramrach>
it works as NAS out of the box so the reward for putting Linux on it is minimal, too
<hramrach>
well, maybe you could get hardware accelerated scp
<hramrach>
which is kind of cool but is about all you get
<mripard>
except for the crappy system on top of it :)
<mripard>
but anyway
<hramrach>
unless you want to make cluster of them and put ceph or something on that
<mripard>
Marvell is used, on a lot of hardware, and also happens to be very well supported in Linux.
<hramrach>
but the hardware is rather uninteresting because it has very little expansion possibilities, very little internal RAM and flash, outdated ARM architecture, and it does what it is designed to do out of the box and is pretty much useless for anything else
<hramrach>
plus the NAS boxes are quite expensive
<hramrach>
you can get a notebook for the price of a qnap box
<mripard>
outdated ?
<mripard>
a quad core armv7 SoC isn't really outdated...
<hramrach>
all the anoes I looked at were arm5
<hramrach>
missed the newer ones then I guess
<hramrach>
so some use current arm arch but everything else still applies
<mripard>
well, it's targeted for a given market, and doesn't try to do anything else
lerc has joined #arm-netbook
<mripard>
but saying that it's useless is pretty harsh
<hramrach>
except the very same NAS box with the two PCIe lanes accessible would be awesome device customizable in numerous ways
lerc has quit [Read error: Connection reset by peer]
<hramrach>
no, it;s pretty useless for anything than what the pre-installed OS already does
<hramrach>
and the space for the OS is very small so no wonder it's somewhat lame
<hramrach>
*other than*
<mripard>
then don't blame marvell, blame the manufacturer.
<hramrach>
marvell does not do devboards. they designed them bu they are out of stock. and according to lkcl they don't even sell the chips to hardware designers. so there you go. they totally have nothing to do with unavailability of decent hardware
<mripard>
and iirc, synology base their system on debian
<mripard>
so you have access to apt and all
<hramrach>
that's cool. so not so lame OS for once
<hramrach>
but the hardware is still limited. maybe not so much to make apt fit but still
<mripard>
how can you be short on storage on a NAS?
<hramrach>
the disks on some are removable
<hramrach>
true some are fixed so can have only bootloader in flash
<mripard>
I don't know about how other NAS vendors install their system
<mripard>
but on my lacie, the system is actually stored on the hard disks
<mripard>
even though the disks are racked
<hramrach>
pretty fragile arrangement
<mripard>
yep
<hramrach>
mripard: now that I see you
<hramrach>
afaik the recommended way to make a sysfs entry is to instantiate a platform driver
<hramrach>
but to do that I need a DT entry that says the kernel to instantiate it
<mripard>
well, depending on your driver, yeah, a platform driver would be better
<hramrach>
but I just want to make a sysfs entry the moment the module is loaded or the kernel with built with my led trigger starts
<mripard>
the kernel with built with my led trigger starts ?
<hramrach>
so building the stuff should be enough. the DT entry is redundant
<hramrach>
built with
rcg_re has joined #arm-netbook
<mripard>
how does the led trigger relate to your sysfs file?
<hramrach>
it is a parameter for it
<mripard>
ok
<hramrach>
which can be cahnged at runtime and maybe does not even crash the kernel when changed
<mripard>
then just create your sysfs in your module_init function
<mripard>
You might need a device to do so though
<hramrach>
so back to the platform driver
<mripard>
ah
<mripard>
you just need a kobject
<mripard>
so it's probably working in module_init
<hramrach>
the function was void
<hramrach>
so no kobject there
<hramrach>
or do you get one with THIS_MODULE or something?
<hramrach>
it was DEVICE_ATTR on 3.4 and converts to device_add_file which needs a device ..
<hramrach>
* device_create_file
<hramrach>
yes, no other interface so you do need a device
<mripard>
you have sysfs_create_file
<mripard>
but it seems to be a bit hackish :)
<hramrach>
it only makes file, no content
<hramrach>
and requires a kobj which is then supposed to handle the content somehow?
<mripard>
?
<mripard>
you have the attributes as a second argument
<hramrach>
note d_c_f takes device_attribute but s_c_f struct attribute
<hramrach>
devide_attribut has show/sote callbacks but not struct attribute
<hramrach>
store
<mripard>
hmmm right
<mripard>
then yes, you need a device
<mripard>
and thus, to make a proper driver
<hramrach>
so I have a device if I make an entry in DT
<hramrach>
but the entry is redundant. I already configured the trigger in the kernel so like every other trigger I want it instantiated automagically
<mripard>
but it seems odd that the trigger mechanism isn't able to make you set some parameters through sysfs
<mripard>
and you don't exactly need the DT
<mripard>
you can register a device matching your driver in the module_init function
<mripard>
that's hacky, but it works.
<mripard>
but really, I'm surprised you need to do this in the first place
<hramrach>
does any other trigger have argument? afaik it does not
<mripard>
I don't know
atiti has joined #arm-netbook
<hramrach>
because to be able to do it with trigger mechanism you would need to duplicate device_*_file as ledtrig_*_file for different object type as the sysfs stuff suggests
<mripard>
the activate and deactivate functions pass a device as an argument
<mripard>
yeah
<mripard>
which makes sense
<mripard>
I mean, you want to configure the trigger on a led per led basis
<hramrach>
unless you have a global argument for the trigger
<mripard>
then just have a big fat global variable in your trigger file :)
<hramrach>
I do. but how do I make it accessible to userspace?
<mripard>
by calling device_create_file
<hramrach>
on what device?
lerc has quit [Remote host closed the connection]
<mripard>
the lcdclass_dev one
<hramrach>
especially when I start associated with no led?
<mripard>
so, to sum up, you have a led trigger. That you don't want to associate with any led ?
<hramrach>
triggers exist independent of leds
<hramrach>
you can associate and dissociate them
<mripard>
yeah
<hramrach>
or deassociate or w/e
<hramrach>
so you can have a trigger that is not associated with any led
<hramrach>
and it still has the global parameter
<mripard>
but, what's the point of having a *led* trigger that isn't associated with any led
<mripard>
and still does something?
<hramrach>
no. it is careful to do anything only when associated with a led
<hramrach>
but you might want to set the parameter before you associate it with a led
<mripard>
ah, yes
lerc has joined #arm-netbook
<mripard>
well, it doesn't seem possible yet
<hramrach>
and you don;t want searching a *trigger* parameter on a *led*
<mripard>
feel free to rework the whole thing :)
<mripard>
why ? it is associated to that led
<mripard>
and you want most of the time to configure it on a led per led basis
<hramrach>
but the parameter apples on every led it's associated with
<hramrach>
not in this case. it's the frequency of led update for disk trigger
<hramrach>
you don't want to go hunting for every disk and set it, only after the trigger is associated
<mripard>
but you might want different frequency for different disks
<hramrach>
it's frequency of gathering the data. the actual updates depend on the disk activity
atiti has quit [Ping timeout: 252 seconds]
<hramrach>
and I can't technically do that because I have just one timer, anyway
<mripard>
I don't know how to do this properly, I'm sorry.
<hramrach>
hmm, I guess I should write to lkml or something then
<hramrach>
anyway, thanks for confirming there is no obvious way to do it ;-)
<hramrach>
or I could do the ledtrig_timer way and make a timer for each active trigger, yay
<hramrach>
would not have to keep track of my triggers!
atiti has joined #arm-netbook
<hramrach>
actually, no
<hramrach>
I need to keep track of them either way because when a block device is removed I need to remove its triggers and nobody but my driver knows where they are
<hramrach>
heh, I just noticed I added a duplicate activation callback instead of adding the self argument to it
atiti has quit [Ping timeout: 240 seconds]
<hramrach>
actually, the callback ahs slightly different semantics which is hard to detect outside of the framework
<hramrach>
they call activate(led) but I want activate(trigger) when trigger gets first led ..
drachensun has quit [Ping timeout: 252 seconds]
MMlosh has joined #arm-netbook
drachensun has joined #arm-netbook
acassis has joined #arm-netbook
rz2k has quit []
<lkcl>
hramrach: the marvell pxa's are... odd. the history is that it was actually the DEC Alpha and StrongARM team that got bought by Intel.
<lkcl>
they then licensed ARM's core in a $100k cash-only royalty-free deal in which Intel promised to help fix the problems with the ARM design and give the modifications back to ARM
<lkcl>
except... the problems were *so severe* that - and this is speculation - i think what Intel did was to *entirely redesign* the PXA core from the ground up, around a proper harvard architecture with an out-of-order instruction unit and many other features
<lkcl>
putting an "ARM-like" instruction set on *top* of that main core.
<lkcl>
as a result they were perfectly within their rights to not return what they'd done to the design... because they had made *zero* modifications: they'd had to start from scratch
<lkcl>
so, actually, the Intel PXA was the world's first ARM SoC that had a superscalar architecture... *not* the Cortex A8 :)
<lkcl>
ARM were _pissed_ :)
<hramrach>
intel is not known for always producing a proper architecture - see NetBurst
<lkcl>
but... tough luck. they'd been told a decade before that their design was crap, but didn't believe people
<lkcl>
hramrach: yeah :)
<lkcl>
so anyway, the irony is that the performance/watt figures on the PXA design, made by that old DEC StrongARM team, were so much better than the Intel Atom that management decided to sell off the PXA Division.
<hramrach>
but what I don't understand is that Intel dropped ARM. They were ahead of ARM with ARM architecture ;-)
<lkcl>
marvell bought them
<lkcl>
hramrach: exactly. it was a major embarrassment to them.
<lkcl>
... but they've kept that royalty-free license :)
<hramrach>
for both ARM and Intel, meh
<lkcl>
they still the right to create an ARM-compatible core, at any time ha ha
<lkcl>
only armv6 (or v5?) i don't know which - but it *doesn't* include the armv7 (armhf) instructions.
<hramrach>
they could not push Microsoft to extend Wintel to ARM at that time, apparently
<hramrach>
WinCE was a disaster
<lkcl>
hramrach: well, DEC had already learned that. DEC had been promised that NT would be available for Alpha etc.
<lkcl>
but the last version was NT 3.51.
<hramrach>
not that Windws RT is panning out well so far
<hramrach>
so may be not even today
<lkcl>
so DEC had to create that JIT assembly-level translation system, which ended up (after a program had been run a few times) with code that ran *faster* than x86!
<hramrach>
I wan that JIT system for armhf ;-)
<lkcl>
which was also embarrassing and probably contributed to Intel buying out the DEC/StrongARM team
<lkcl>
you can't have it!
<lkcl>
it's been bought and buried by intel
<lkcl>
you'll have to get your own amazingly-brilliant team, set them on the task for 10 years and make a fortune that way :)
<hramrach>
it's not *that* difficult
<hramrach>
Java can do faster than C compilers with its JIT
<lkcl>
hramrach: weelll.... i don't know the full story. i do know that the DEC Alpha was pretty unique.
<hramrach>
at that time they were really fast machines
<lkcl>
no floating-point unit... because there were instructions available that were fast enough on their own to efficiently emulate floating point in fixed point!
<lkcl>
yeah.... 600mhz and 130 watt (eek!).
<hramrach>
I wonder why so many media codecs do fixed point even today
<hramrach>
you save on instruction get and simpler everything except compiler ;-)
<lkcl>
inherent parallelism, it's more silicon-efficient to use less hardware in parallel than it is to have the "convenience" of floating-point
<lkcl>
you want to win in the power-performance stakes? you go with the most power-performance hardware, and the software can go fuck itself basically!
<hramrach>
yes, you get more integer cores if you ditch the fpu moster and they are *universal*
<lkcl>
except if you're ImgTec, where that mantra has been taken to such an extreme that the software is too complex for their engineers to understand.
<lkcl>
hramrach: exactly. the most extreme processor i've seen that logic applied to is the Aspex Semiconductor "ASP", which i worked with back in 2003.
<lkcl>
that was a 2-bit ALU... multipled *4096* times.
<lkcl>
and if you know about multiplication, you'll know that because 2x2 = 2+2, there's a trick you can do which makes 2-bit multiplication mind-bafflingly efficient
<lkcl>
then if you have a string of 2-bit ALUs you can do any sized add or multiply you want.
<lkcl>
really weird architecture :)
<hramrach>
and it worked like 8kbit arithmetics?
<hramrach>
not 32 or 64 bit ..
<lkcl>
hramrach: yeees... but you had to do it using long-multiplication at those sorts of sizes
<lkcl>
which meant that it would take O(N) to complete a multiply. really efficient for 2, 4 or 8-bit multiplies, but it sucked (performance-wise) when compared to e.g. a Pentium III!
<lkcl>
there were lots of efficiency tricks that have been studied for decades which simply couldn't be used
<hramrach>
you always have these concerns like does it fit in word or do I have to do some strange multiword arithmetics? but when it is the default adding a few bits is not a problem
<lkcl>
yeah with this architecture, if you wanted 128-bit or 256-bit or any-bit that was a multiple of 16, you just set arbitrary boundaries (they were dynamic switches between each group of 16 ALUs) and that was that.
<lkcl>
two groups of 16 2-bit ALUs suddenly became a string of 32 2-bit ALUs. and so on.
<lkcl>
the only thing it was truly *truly* good at though (when compared to ordinary CPUs) was a) Content-Addressable Memory lookups b) sub-8-bit arithmetic
<lkcl>
so video processing which needs say... to do some "blurring" involving the nearest 2 pixels, it was immensely fast
roric has joined #arm-netbook
<lkcl>
there isn't a single processor in the world other than the ASP that can handle say 2-bit, 3-bit or 5-bit arithmetic.
<hramrach>
heh
<lkcl>
they all have to be a minimum of 8-bit (ok, Intel 4004 .... 4 bit lol)
<lkcl>
anyway. enough of that :)
<lkcl>
anyone seen any quad-core ARM SoCs out there, other than the rockchip RK3188?
<hramrach>
is that sillicone still available or did it die?
<lkcl>
it's still available. and only $12. and 28nm.
<hramrach>
lkcl: samsung. And marvel.
<lkcl>
hramrach: marvell are clinically insane
<hramrach>
nice :o
<lkcl>
and their SoCs are too power-hungry.
<hramrach>
the Intel/Alpha heritage?
<hramrach>
I don't mind for tabletop devboards but would surely suck for tablets
<lkcl>
hramrach: yeah. it's basically armv5 compatible (armel) but with a superscalar architecture underneath that gives it superior performance
<lkcl>
... except ARM's now moving rather rapidly with the Cortex range, and that's completely eroded marvell's edge