[git pull] drm for rc1

James Simmons jsimmons at infradead.org
Fri Jan 14 10:26:51 PST 2011


> > Just as I thought. Even this breaks the nouveau driver.
> >
> > Could you now add also in the drm_fb_helper_fill_fix function
> >
> > DRM_INFO("pitch %d, depth %d\n", fb_helper->fb->pitch,
> >          fb_helper->fb->depth);
> >
> > I have a feeling the values are not right. Thanks.
> >
> 
> Please make an patch to test.

Done. I had to test the patch myself. No need to do a revert. Just apply 
this patch to linus tree. Then send the dmesg to me. Thanks.

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 0307d60..beded14 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -609,6 +609,7 @@ EXPORT_SYMBOL(drm_fb_helper_fini);
 
 void drm_fb_helper_fill_fix(struct fb_info *info, struct drm_framebuffer *fb)
 {
+	DRM_INFO("pitch %d, depth %d\n", fb->pitch, fb->depth);
 	info->fix.type = FB_TYPE_PACKED_PIXELS;
 	info->fix.visual = fb->depth == 8 ? FB_VISUAL_PSEUDOCOLOR :
 		FB_VISUAL_TRUECOLOR;
@@ -973,7 +974,6 @@ int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper,
 
 	if (new_fb) {
 		info->var.pixclock = 0;
-		drm_fb_helper_fill_fix(info, fb_helper->fb);
 		if (register_framebuffer(info) < 0) {
 			return -EINVAL;
 		}
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index a26d047..fe87319 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -359,6 +359,7 @@ nouveau_fbcon_create(struct nouveau_fbdev *nfbdev,
 	info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo);
 	info->screen_size = size;
 
+	drm_fb_helper_fill_fix(info, fb);
 	drm_fb_helper_fill_var(info, &nfbdev->helper, sizes->fb_width, sizes->fb_height);
 
 	/* Set aperture base/size for vesafb takeover */


More information about the dri-devel mailing list