linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@hotpop.com>
To: James Simmons <jsimmons@www.infradead.org>, adaplas@pol.net
Cc: Linux Fbdev development list
	<linux-fbdev-devel@lists.sourceforge.net>,
	James Simmons <jsimmons@pentafluge.infradead.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: Resource management.
Date: Tue, 22 Feb 2005 21:25:54 +0800	[thread overview]
Message-ID: <200502222125.58858.adaplas@hotpop.com> (raw)
In-Reply-To: <Pine.LNX.4.56.0502212313160.18148@pentafluge.infradead.org>

On Tuesday 22 February 2005 07:25, James Simmons wrote:
> > On Tuesday 22 February 2005 03:11, James Simmons wrote:
> > > Hi!
> > >
> > >    This is my first run at the resource management code. Comments are
> > > welcomed :-)
> >
> > Hi James,
> >
> > Where is this going to?  What I see are performance penalties.  For each
> > putcs and cursor, it has to call fb_find_resource() which walks the
> > linked list looking for a resource using strncmp().
> >
> > What's the goal here?
>
> 	So we don't end up with a struct fb_info constantly growing with struct
> fb_pixmaps. At present we have pixmap and sprite in struct fb_info. In the
> future we will have more. I need to create a pixmap for the framebuffer
> itself. This way we can have hooks for inbuf and outbuf to deal with
> issues of devices that have hardware restriction when writing to the
> framebuffer. The classic example is the Epson135X chipsets. You can only
> write/read 16 bits at a time with the framebuffer. Also in the future I
> plan to add DMA support. One approach to this is pci_pools. This would
> require multiple fb_pixmaps. One for each area for DMA you request. Of
> course we could have a static array of struct fb_pixmaps but there is no
> guarantee that the orders will be the same for each driver.
>
> Do you see any other solution to this then?

The structure fb_pixmap was designed originally as a kind of scratchpad, ie,
this is where each character map is consolidated into a single image before
writing to the framebuffer.  Of course, this structure is not restricted to
that role only, but it can be used in different ways, as long as its
function as a scratchpad is kept in mind.  The only thing we need to know is
where this scratchpad is located, is it in system RAM or some kind of IO
memory, and we already have support for that. In short, it was never meant
as an accessor to different areas of the graphics aperture. which is the
reason I'm not too keen on info->sprite.

In the example you cited, the epson problem can be easily solved by
creating an epson-specific fb_read/write.

However, if you are trying to add features to fbdev, like video overlay,
textures and the like, then that is a different problem altogether and
requires a new interface/architecture. Extending the function of structure
fb_pixmap will just complicate things even more by blurring its role as
a simple scratchpad area.

Tony




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

  parent reply	other threads:[~2005-02-22 13:26 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-21 19:11 Resource management James Simmons
2005-02-21 22:53 ` Antonino A. Daplas
2005-02-21 23:25   ` James Simmons
2005-02-22  1:01     ` Jon Smirl
2005-02-22  3:53       ` James Simmons
2005-02-22  4:46         ` [Linux-fbdev-devel] " Dave Airlie
2005-02-22  5:13           ` James Simmons
2005-02-22  5:59             ` [Linux-fbdev-devel] " Jon Smirl
2005-02-22  5:23           ` Jon Smirl
2005-02-22 17:23             ` James Simmons
2005-02-22 18:59               ` [Linux-fbdev-devel] " Alex Deucher
2005-02-22 13:25     ` Antonino A. Daplas [this message]
2005-02-22 14:06     ` Antonino A. Daplas
2005-02-24 19:57       ` James Simmons
2005-02-24 23:05         ` Antonino A. Daplas
2005-02-28 20:01           ` Resource management II James Simmons

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200502222125.58858.adaplas@hotpop.com \
    --to=adaplas@hotpop.com \
    --cc=adaplas@pol.net \
    --cc=geert@linux-m68k.org \
    --cc=jsimmons@pentafluge.infradead.org \
    --cc=jsimmons@www.infradead.org \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).