[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1101121324550.8212@casper.infradead.org>
Date: Wed, 12 Jan 2011 13:32:00 +0000 (GMT)
From: James Simmons <jsimmons@...radead.org>
To: Christian Borntraeger <borntraeger@...ibm.com>
cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Dave Airlie <airlied@...ux.ie>,
DRI mailing list <dri-devel@...ts.freedesktop.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [git pull] drm for rc1
> Am 12.01.2011 13:49, schrieb James Simmons:
> > I see the problem. Nouveau for some hardware does a accelerated
> > clearing of the screen before we register the framebuffer. The above patch
> > does fix a real issue so please don't revert it. Can you try this patch.
> >
> > diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> > index a26d047..4ef24d6 100644
> > --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> > +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> > @@ -359,6 +359,8 @@ nouveau_fbcon_create(struct nouveau_fbdev *nfbdev,
> > info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo);
> > info->screen_size = size;
> >
> > + info->fix.visual = fb->depth == 8 ? FB_VISUAL_PSEUDOCOLOR :
> > + FB_VISUAL_TRUECOLOR;
> > drm_fb_helper_fill_var(info, &nfbdev->helper, sizes->fb_width, sizes->fb_height);
> >
> > /* Set aperture base/size for vesafb takeover */
>
> Hmm, does not seem to work. Any more initialization missing?
Okay. The nouveau driver also uses the pitch as well. It
really should be using the pitch field from drm_framebuffer instead of the
line_length from fb_fix_screeninfo. This patch is just to make sure this
is the issue. I will submit another patch later that uses
drm_fb_framebuffer's pitch field. As for the visual unfortunely their is
no real mapping between drm and fbdev.
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index a26d047..de3b067 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -359,6 +359,9 @@ nouveau_fbcon_create(struct nouveau_fbdev *nfbdev,
info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo);
info->screen_size = size;
+ info->fix.visual = fb->depth == 8 ? FB_VISUAL_PSEUDOCOLOR :
+ FB_VISUAL_TRUECOLOR;
+ info->fix.line_length = fb->pitch;
drm_fb_helper_fill_var(info, &nfbdev->helper, sizes->fb_width, sizes->fb_height);
/* Set aperture base/size for vesafb takeover */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists