linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* KMS + fb + FBIOPUT_VSCREENINFO
@ 2009-04-28  8:32 Peter Hanzel
  2009-04-29  6:57 ` Andrew Morton
  2009-04-29  7:27 ` Dave Airlie
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Hanzel @ 2009-04-28  8:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fbdev-devel

Hello.

I have tried DRM with intel KMS and it is workiing. I am using only 
framebuffer console.
Fbcon initializes 1280x800 mode and it works like a charm.

But when I try to call FBIOPUT_VSCREENINFO on /dev/fb0, it always returns 
EINVAL,
I have checked drivers/gpu/drm/i915/intel_fb.c
and found that

intelfb_check_var        returns -EINVAL     if (var->pixclock == -1 || 
!var->pixclock)
intelfb_set_par             returns -EINVAL    if (var->pixclock != -1) { 
DRM_ERROR("PIXEL CLCOK SET\n");  return

So the FBIOPUT_VSCREENINFO always fails.

So is the change of resolution not supported through FBIOPUT_VSCREENINFO 
call?

Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: KMS + fb + FBIOPUT_VSCREENINFO
  2009-04-28  8:32 KMS + fb + FBIOPUT_VSCREENINFO Peter Hanzel
@ 2009-04-29  6:57 ` Andrew Morton
  2009-04-29  7:27 ` Dave Airlie
  1 sibling, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2009-04-29  6:57 UTC (permalink / raw)
  To: Peter Hanzel; +Cc: linux-kernel, linux-fbdev-devel, dri-devel

(cc dri-devel)

On Tue, 28 Apr 2009 10:32:34 +0200 "Peter Hanzel" <hanzelpeter@gmail.com> wrote:

> Hello.
> 
> I have tried DRM with intel KMS and it is workiing. I am using only 
> framebuffer console.
> Fbcon initializes 1280x800 mode and it works like a charm.
> 
> But when I try to call FBIOPUT_VSCREENINFO on /dev/fb0, it always returns 
> EINVAL,
> I have checked drivers/gpu/drm/i915/intel_fb.c
> and found that
> 
> intelfb_check_var        returns -EINVAL     if (var->pixclock == -1 || 
> !var->pixclock)
> intelfb_set_par             returns -EINVAL    if (var->pixclock != -1) { 
> DRM_ERROR("PIXEL CLCOK SET\n");  return
> 
> So the FBIOPUT_VSCREENINFO always fails.
> 
> So is the change of resolution not supported through FBIOPUT_VSCREENINFO 
> call?
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: KMS + fb + FBIOPUT_VSCREENINFO
  2009-04-28  8:32 KMS + fb + FBIOPUT_VSCREENINFO Peter Hanzel
  2009-04-29  6:57 ` Andrew Morton
@ 2009-04-29  7:27 ` Dave Airlie
  2009-04-29 11:02   ` [Linux-fbdev-devel] " Sergey Kvachonok
  1 sibling, 1 reply; 4+ messages in thread
From: Dave Airlie @ 2009-04-29  7:27 UTC (permalink / raw)
  To: Peter Hanzel; +Cc: linux-kernel, linux-fbdev-devel

On Tue, Apr 28, 2009 at 6:32 PM, Peter Hanzel <hanzelpeter@gmail.com> wrote:
> Hello.
>
> I have tried DRM with intel KMS and it is workiing. I am using only
> framebuffer console.
> Fbcon initializes 1280x800 mode and it works like a charm.
>
> But when I try to call FBIOPUT_VSCREENINFO on /dev/fb0, it always returns
> EINVAL,
> I have checked drivers/gpu/drm/i915/intel_fb.c
> and found that
>
> intelfb_check_var        returns -EINVAL     if (var->pixclock == -1 ||
> !var->pixclock)
> intelfb_set_par             returns -EINVAL    if (var->pixclock != -1) {
> DRM_ERROR("PIXEL CLCOK SET\n");  return
>
> So the FBIOPUT_VSCREENINFO always fails.
>
> So is the change of resolution not supported through FBIOPUT_VSCREENINFO
> call?
>

The problem we've had is defining proper semantics for what happens in
multi-output systems when
 you call this ioctl. Which crtc/output should it set the mode on?
what happens if the mode isn't valid on all
connected monitors etc.

It should be quite trivial to hook up in fact I already did it once before.

I think we probably need some sysfs or fb ioctl to configure which
crtc/output combos will get controlled
by an fbset.

kms also has an option to run with one fb per crtc, which could also
be checked out. I'm not sure how much further we got with it.

Dave.

> Thanks.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Linux-fbdev-devel] KMS + fb + FBIOPUT_VSCREENINFO
  2009-04-29  7:27 ` Dave Airlie
@ 2009-04-29 11:02   ` Sergey Kvachonok
  0 siblings, 0 replies; 4+ messages in thread
From: Sergey Kvachonok @ 2009-04-29 11:02 UTC (permalink / raw)
  To: Dave Airlie; +Cc: Peter Hanzel, linux-fbdev-devel, linux-kernel

> The problem we've had is defining proper semantics for what happens in
> multi-output systems when
> you call this ioctl. Which crtc/output should it set the mode on?
> what happens if the mode isn't valid on all
> connected monitors etc.

Does it really makes all that much sense to run different monitors
with the same mode?
Like embedded notebook panel with weird native resolution and an
external CRT/LCD with
completely unrelated native/preferred modes.

I tried running 2.6.29.1 i915 with one fb per crtc mode,
the first thing it did was to shut down embedded panel and to attach
fbcon to external display.
As fbset doesn't work I couldn't bring the panel back to life, and the
whole thing hung when I con2fb'd one of the VTs to it. Can't provide
more specific data atm, didn't yet try to reproduce   the crash.

BTW fbxine and I believe directfb too use FBIOPUT_VSCREENINFO to
adjust vyres to the maximum to allocate offscreen surfaces for page
flipping.
It isn't really modesetting, but rather framebuffer operation, so is
the color depth setting.
At least these can be painlessly provided with the current setup.

Thanks for listening to my rant,
Sergey

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-04-29 11:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-28  8:32 KMS + fb + FBIOPUT_VSCREENINFO Peter Hanzel
2009-04-29  6:57 ` Andrew Morton
2009-04-29  7:27 ` Dave Airlie
2009-04-29 11:02   ` [Linux-fbdev-devel] " Sergey Kvachonok

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).