From: "Felix Kühling" <fxkuehl@gmx.de>
To: Jon Smirl <jonsmirl@gmail.com>
Cc: benh@kernel.crashing.org, keithp@keithp.com,
dri-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: Design for setting video modes, ownership of sysfs attributes
Date: Sun, 19 Sep 2004 22:44:24 +0200 [thread overview]
Message-ID: <20040919224424.72457afe.felix@trabant> (raw)
In-Reply-To: <9e47339104091909465c9a483f@mail.gmail.com>
On Sun, 19 Sep 2004 12:46:13 -0400
Jon Smirl <jonsmirl@gmail.com> wrote:
> On Sun, 19 Sep 2004 14:45:37 +1000, Benjamin Herrenschmidt
> <benh@kernel.crashing.org> wrote:
> > One issue here... When we discussed all of this with Keith, we wanted
> > a mecanism where the user can set the mode without "owning" the device.
>
> The owning part is for multiuser systems. If I have four users logged
> into the same system I have to assign them ownership of their video
> devices so that they can't mess with each other. I want to avoid
> needing root priv to change the monitor mode.
>
> > Typically, with X: We don't want X itself to have to be the one setting
> > the mode, but rather set the mode and have X be notified properly before
> > and after it happens so it can "catch up".
>
> This is going to require some more thought. Mode setting needs two
> things, a description of the mode timings and a location of the scan
> out buffer. With multiple heads you can't just assume that the buffer
> starts at zero. There also the problem of the buffer increasing in
> size and needing to be moved since it won't fit where it is.
>
> Keith, how should this work for X? We have to make sure all DRI users
> of the buffer are halted, get a new location for the buffer, set the
> mode, free the old buffer, notify all of the DRI clients that their
> target has been wiped and has a new size.
Sounds a lot like moving and resizing GL windows in X. A similar (if not
the same mechanism) could be used here. Whenever a client takes the lock
and detects that someone else had the lock in the mean time it checks
for a new window position and size. Checking for a changed mode or frame
buffer layout would fit in nicely. AFAIK these kind of changes are
communicated through the sarea which is shared by all DRI clients, the
Xserver and the kernel driver, so the checks are pretty low cost (no
system calls or context switches required).
You only have to take the lock before changing the mode. DRI clients and
X will detect the change when they take the lock the next time and
adjust to the new conditions.
>
> I was wanting to switch mode setting into an atomic operation where
> you passed in both the mode timings and buffer location.
>
> --
> Jon Smirl
> jonsmirl@gmail.com
| Felix Kühling <fxkuehl@gmx.de> http://fxk.de.vu |
| PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3 B152 151C 5CC1 D888 E595 |
next prev parent reply other threads:[~2004-09-19 20:42 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-18 18:43 Design for setting video modes, ownership of sysfs attributes Jon Smirl
2004-09-18 19:58 ` Mike Mestnik
2004-09-18 22:12 ` Jon Smirl
2004-09-18 22:37 ` Mike Mestnik
2004-09-18 23:33 ` Keith Packard
2004-09-19 0:54 ` Jon Smirl
2004-09-19 1:57 ` Vladimir Dergachev
2004-09-19 2:16 ` Jon Smirl
2004-09-19 2:32 ` Vladimir Dergachev
2004-09-19 10:11 ` Mike Mestnik
2004-09-19 9:55 ` Mike Mestnik
2004-09-19 4:48 ` Benjamin Herrenschmidt
2004-09-19 16:12 ` Jon Smirl
2004-09-20 0:07 ` Benjamin Herrenschmidt
2004-09-20 1:06 ` Jon Smirl
2004-09-19 4:45 ` Benjamin Herrenschmidt
2004-09-19 16:46 ` Jon Smirl
2004-09-19 17:19 ` Mike Mestnik
2004-09-19 20:40 ` Keith Packard
2004-09-20 13:02 ` Alan Cox
2004-09-19 20:44 ` Felix Kühling [this message]
2004-09-20 1:25 ` Mike Mestnik
2004-09-20 0:10 ` Benjamin Herrenschmidt
2004-09-21 12:45 ` Pavel Machek
2004-09-21 15:56 ` Jon Smirl
2004-09-21 15:42 ` Alan Cox
[not found] <2FYdH-10h-5@gated-at.bofh.it>
[not found] ` <2G6Et-6D7-31@gated-at.bofh.it>
2004-09-19 14:18 ` Pascal Schmidt
2004-09-19 15:00 ` P. Benie
2004-09-19 19:08 ` Pascal Schmidt
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=20040919224424.72457afe.felix@trabant \
--to=fxkuehl@gmx.de \
--cc=benh@kernel.crashing.org \
--cc=dri-devel@lists.sourceforge.net \
--cc=jonsmirl@gmail.com \
--cc=keithp@keithp.com \
--cc=linux-kernel@vger.kernel.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