linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <syrjala@sci.fi>
To: "Michel Dänzer" <michel@daenzer.net>
Cc: Jon Smirl <jonsmirl@yahoo.com>,
	dri-devel@lists.sourceforge.net,
	Linux Fbdev development list
	<linux-fbdev-devel@lists.sourceforge.net>,
	xorg@lists.freedesktop.org
Subject: Re: FB model basic issues (WAS: radeon, apertures & memory mapping)
Date: Tue, 15 Mar 2005 08:01:38 +0200	[thread overview]
Message-ID: <20050315060138.GA13064@sci.fi> (raw)
In-Reply-To: <1110862777.4044.592.camel@localhost>

On Mon, Mar 14, 2005 at 11:59:37PM -0500, Michel Dänzer wrote:
> On Tue, 2005-03-15 at 09:37 +1100, Benjamin Herrenschmidt wrote:
> > > Be that as it may, it remains a fact that such a change would break
> > > existing installations...
> > > 
> > > I think that mode setting and memory allocation should be separated. X
> > > will always reserve enough video RAM for the largest resolution it uses
> > > for the screen contents.
> > 
> > But X has no control on where fbdev will allocate memory. 
> 
> My understanding is that so far, the fbdev API has pretty much implied
> that any mode scans out the beginning of the memory accessed via the
> framebuffer device, unless the panning ioctl is used. IIRC at least
> DirectFB makes basically the same assumptions as X there.

DirectFB assumes all memory outside var.yres_virtual * fix.line_length is 
preserved. A totally valid assumption in my opinion. It allocates all 
offscreen memory starting from the top of the memory so overlaps with 
fbdev are as rare as possible. Currently it doesn't handle multi head 
except for Matrox G400/G450/G550 TV-out but that is handled without fbdev 
so no API limitations get in the way.

I think that making the assumption that all memory is preserved when the 
memory layout (virtual resolution and depth) doesn't change is perfectly 
valid too. That would allow X to do it's Ctrl-Alt-+ and - things without 
repainting the whole screen.

If radeonfb will allocate the buffer for the second head from the top of 
the memory users would basically have to guess it's location. matroxfb 
simply cuts the memory in two pieces and allocates the buffers from the 
start of each piece. I don't really like that approach. Adding a simple 
byte_offset field to fb_var_screeninfo would solve the problem quite 
nicely but I don't know if such API changes are acceptable at this stage.

> > We are thinking with the "new model" in mind, and so far, a mode setting 
> > is under control of the framebuffer. Content of video memory (framebuffer,
> > textures, overlay, whatever) simply cannot be considered as preserved
> > accross mode switches.
> > 
> > We can't also block all evolutions just because we have to support a
> > broken model. 
> 
> I'm not suggesting that, but I do think that tying together mode
> switching and memory allocation would be a big mistake.

Indeed.

-- 
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/

  parent reply	other threads:[~2005-03-15  6:01 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-13  1:35 radeon, apertures & memory mapping Benjamin Herrenschmidt
2005-03-13  3:22 ` Jon Smirl
2005-03-13  6:43   ` Benjamin Herrenschmidt
2005-03-13 16:22     ` Jon Smirl
2005-03-14  4:28     ` [Linux-fbdev-devel] " Michel Dänzer
2005-03-14  7:12       ` Benjamin Herrenschmidt
2005-03-14 16:20         ` Michel Dänzer
2005-03-14 21:52           ` Benjamin Herrenschmidt
2005-03-14 22:12             ` Michel Dänzer
2005-03-14 22:37               ` FB model basic issues (WAS: radeon, apertures & memory mapping) Benjamin Herrenschmidt
2005-03-15  4:59                 ` Michel Dänzer
2005-03-15  5:14                   ` Jon Smirl
2005-03-15  6:01                   ` Ville Syrjälä [this message]
2005-03-15  6:59                     ` Benjamin Herrenschmidt
2005-03-15 14:00                       ` Ville Syrjälä
2005-03-15 14:29                         ` Jon Smirl
2005-03-15 17:25                           ` Jan Gukelberger
2005-03-15 23:34                         ` Benjamin Herrenschmidt
2005-03-15  8:51                     ` Geert Uytterhoeven
2005-03-15 13:36                       ` [Linux-fbdev-devel] " Ville Syrjälä
2005-03-15 23:33                         ` Benjamin Herrenschmidt
2005-03-15 23:37                         ` Antonino A. Daplas
2005-03-15 23:50                           ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-03-16  1:47                             ` Ville Syrjälä
2005-03-16  1:51                               ` Benjamin Herrenschmidt
2005-03-16 19:51                                 ` Ville Syrjälä
2005-03-16 21:00                                   ` Michel Dänzer
2005-03-16 21:07                                     ` Ville Syrjälä
2005-03-16 23:28                                     ` Benjamin Herrenschmidt
2005-03-16 23:53                                       ` Michel Dänzer
2005-03-16 23:25                                   ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
     [not found]                         ` <1110929582.25201.34.camel@gaston>
2005-03-16  5:21                           ` Michel Dänzer
2005-03-16  6:31                             ` Benjamin Herrenschmidt
2005-03-16 14:09                               ` Ville Syrjälä
2005-03-16 16:48                                 ` Adam Jackson
2005-03-16 23:20                                   ` Benjamin Herrenschmidt
2005-03-15 11:30                     ` Roland Scheidegger
2005-03-15 13:27                       ` Ville Syrjälä
2005-03-15 17:17                       ` Michel Dänzer
2005-03-16  3:09                         ` Benjamin Herrenschmidt
2005-03-16 20:08                           ` Ville Syrjälä
2005-03-16 20:42                             ` [Linux-fbdev-devel] " Michel Dänzer
2005-03-16 23:26                               ` Benjamin Herrenschmidt
2005-03-16 23:35                                 ` Jon Smirl
2005-03-17  0:06                                   ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-03-16 20:58                             ` Alex Deucher
2005-03-16 21:08                               ` Ville Syrjälä
2005-03-16 21:17                                 ` Alex Deucher
2005-03-16 23:30                                 ` Benjamin Herrenschmidt
2005-03-17  0:47                                   ` Ville Syrjälä
2005-03-17  1:12                                     ` Benjamin Herrenschmidt
2005-03-17  1:25                                       ` Ville Syrjälä
2005-03-17  2:00                                         ` Benjamin Herrenschmidt
2005-03-17  9:08                                         ` Geert Uytterhoeven
2005-03-17 19:54                                           ` [Linux-fbdev-devel] " Ville Syrjälä
2005-03-15 22:44                     ` Benjamin Herrenschmidt
2005-03-15 23:05                       ` Ville Syrjälä
2005-03-15 23:49                         ` Benjamin Herrenschmidt
2005-03-16 20:55                           ` Ville Syrjälä
2005-03-16 23:27                             ` Benjamin Herrenschmidt
2005-03-17  0:14                               ` Ville Syrjälä
2005-03-17  0:28                                 ` Benjamin Herrenschmidt
2005-03-15  6:45                   ` Benjamin Herrenschmidt
2005-03-15  5:30                 ` Jon Smirl
2005-03-15  6:58                   ` Benjamin Herrenschmidt
2005-03-15 21:58                   ` Ian Romanick
2005-03-13  3:55 ` radeon, apertures & memory mapping Vladimir Dergachev
2005-03-13  6:44   ` Benjamin Herrenschmidt
2005-03-13  8:22 ` Ville Syrjälä
2005-03-13  9:20   ` Benjamin Herrenschmidt
2005-03-13 10:39     ` Ville Syrjälä
2005-03-13 12:04       ` Benjamin Herrenschmidt
2005-03-13 16:19         ` Jon Smirl
2005-03-13 17:47           ` Ville Syrjälä
2005-03-13 17:56             ` [Linux-fbdev-devel] " Jon Smirl
2005-03-13 21:52               ` Benjamin Herrenschmidt
2005-03-13 22:17                 ` Jon Smirl
2005-03-13 22:41                   ` Benjamin Herrenschmidt
2005-03-13 21:51             ` Benjamin Herrenschmidt
2005-03-13 21:49           ` Benjamin Herrenschmidt
2005-03-13 22:10             ` Jon Smirl
2005-03-13 22:20               ` Benjamin Herrenschmidt
2005-03-13 23:00                 ` Jon Smirl
2005-03-13 23:11                   ` Benjamin Herrenschmidt
2005-03-13 23:27                   ` Ville Syrjälä
2005-03-13 23:48                     ` Benjamin Herrenschmidt
2005-03-14  0:08                       ` Ville Syrjälä
2005-03-14  0:10                         ` Benjamin Herrenschmidt
2005-03-14  0:25                       ` Jon Smirl
2005-03-14  0:39                         ` Ville Syrjälä
2005-03-14  1:02                           ` Benjamin Herrenschmidt
2005-03-14  0:54                         ` Benjamin Herrenschmidt
2005-03-14  0:41                   ` Paul Mackerras
2005-03-14  0:56                     ` Ville Syrjälä
2005-03-14  1:05                       ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-03-14  1:47                         ` Jon Smirl
2005-03-14  3:59                           ` Benjamin Herrenschmidt
2005-03-14  4:07                           ` Paul Mackerras
2005-03-14  4:40                             ` Jon Smirl
2005-03-14  5:09                               ` [Linux-fbdev-devel] " Benjamin Herrenschmidt
2005-03-14 16:30                         ` Soeren Sandmann
2005-03-14 16:40                           ` Ville Syrjälä
2005-03-14 21:54                           ` Benjamin Herrenschmidt
2005-03-14 16:16         ` Ville Syrjälä
2005-03-14 21:27           ` Donnie Berkholz
2005-03-14 21:51           ` Benjamin Herrenschmidt

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=20050315060138.GA13064@sci.fi \
    --to=syrjala@sci.fi \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=jonsmirl@yahoo.com \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=michel@daenzer.net \
    --cc=xorg@lists.freedesktop.org \
    /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).