Talk:Drivers justification
List hardware here which is underutilised/undocumented
PowerVR
3d rendering (hopefully onto 5mbit on omap2420 SARAM buffer
IVA
Conversion from RGB to YUV, decoding video frames, scaling and blitting bitmaps
5mbit SRAM
Possible use as an RGB framebuffer for powervr/flat x11 surface. Would require the IVA to convert and push this RGB data onto SDRAM "standard" surface for the Epson LCD to display on screen quickly.
<jott> lcuk: have you actually tried to investigate accessing the sram?
<lcuk> where is it... ?
<lcuk> this is what documentation is all about
<jott> lcuk: drivers/video/omap/dispc.c atleast reads "#define OMAP2_SRAM_START 0x40200000"
AFAIK it is already used. 5mbits is VGA resolution. It is currently used as 'video plane' i.e. some sort of overlay. omapfb driver support more (3) planes and this 640x480 video plane in SRAM is used for media playback by stock media player. fanoush
fanoush, can you shed some light on how its used by the mediaplayer? We realise its vga resolution but it would be a start. also, what is the point in 3 planes when it can barely send 1 plane fast enough. as a base enabler for 3d and faster graphics it would be an ideal start. --lcuk 21:24, 16 July 2008 (UTC)
the reason for more planes is simplicity and speed, each plane can be enabled/disabled separately and framebuffer update (sending data to epson chip) merges those planes and gives priority to the video one (i.e. sends data only from the topmost one) so it works like overlay on desktop (and is used in same way by Xv ?). The reason for using SRAM is speed and maybe dispc can also do some operations only in SRAM, it was briefly explained by dstone on mailing list at the time second OS2007 update came with significant video speedup. Also maybe some/same plane is used by camera for similar reasons. BTW this is maybe not best place to go into details :-) fanoush 08:16, 17 July 2008 (UTC)
As for the media player, more correct is perhaps to say that that VGA plane in SRAM is used for implementing Xv support in xserver so anything using Xv should use it too. I'm not 100% sure about SRAM being really allocated and used but whole multiple plane support with possibility of different per-plane memory type (quite complicated code) was added to kernel with that OS update so it would be insane to write so much code and complicate stuff in a big way and then not to use it. I also believe (but can be wrong) I've seen the code with plane definitions in kernel but can't find it now. fanoush 09:49, 17 July 2008 (UTC)
Word "justification" in the title implies that we are supposed to justify it to Nokia (or other IP holder) why we need this information. For good justification, we have to show what value IP holder gets from disclosing information, not what value the community gets. Here is the justification I suggest:
- Among Maemo community there are many people who are willing to perform for free work that companies would have to hire embedded software engineers to do.
- Some of these people have already proven that they have enough qualification to do the job.
- An embedded software engineer costs company at least $75,000 on the average. Thus, if somebody does the same work for free, this leads to direct cost savings to IP holders.
- Even if a project is of no direct interest to the IP holder at this moment, there is no cost to the IP holder, so there is no risk.
- Just about any popular system functionality extension to the Maemo platform (A2DP, rotated display, etc.) greatly increases value of the platform to end users (not necessarily developers). Therefore, even if the company sees no direct use for the feature, it still helps the company to sell more products.
What do we expect from Nokia and other IP holders:
- Give certain qualified people from the Maemo community access to documentation after signing all proper NDAs.
- Give these people some qualified advice from engineers inside the company.
- Accept work from these people and integrate it into official software releases as necessary.
selfless link to liqbase, whether it needs to be seen on the frontpage to show the differences to normal rendering?