]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/nouveau: Use drm_fb_helper_fill_info
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 26 Mar 2019 13:20:01 +0000 (14:20 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 27 Mar 2019 09:03:16 +0000 (10:03 +0100)
This changes the fb name from "nouveaufb" to "nouveaudrmfb".

Aside: I wonder whether the in_interrupt() check is good enough for
the nouveau acceleration. Cargo-cult says drm_can_sleep() is needed,
which isn't actually working if you pick a .config without PREEMPT.
For the generic fbdev defio support we've gone with offloading
everything to a worker. For the non-accel callbacks (set_par, blank
and friends) checking for oops_in_progress is good enough to catch all
the evil calling contexts.

v2: Rebase

Acked-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190326132008.11781-14-daniel.vetter@ffwll.ch
drivers/gpu/drm/nouveau/nouveau_fbcon.c
drivers/gpu/drm/nouveau/nouveau_fbcon.h

index 9d6dba07c727e053ae49f9e1e645889f5f7bf363..73cc3217068a5560cdd3360840c2ce17a4f29047 100644 (file)
@@ -366,12 +366,9 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
                goto out_unlock;
        }
 
-       info->par = fbcon;
-
        /* setup helper */
        fbcon->helper.fb = &fb->base;
 
-       strcpy(info->fix.id, "nouveaufb");
        if (!chan)
                info->flags = FBINFO_HWACCEL_DISABLED;
        else
@@ -386,9 +383,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
        info->screen_base = nvbo_kmap_obj_iovirtual(fb->nvbo);
        info->screen_size = fb->nvbo->bo.mem.num_pages << PAGE_SHIFT;
 
-       drm_fb_helper_fill_fix(info, fb->base.pitches[0],
-                              fb->base.format->depth);
-       drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height);
+       drm_fb_helper_fill_info(info, &fbcon->helper, sizes);
 
        /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
 
index db9d52047ef8dfbfc77fa96fcdb250c16f18e951..73a7eeba39738ee249f7baca95d26f023d34a31a 100644 (file)
@@ -32,7 +32,7 @@
 #include "nouveau_display.h"
 
 struct nouveau_fbdev {
-       struct drm_fb_helper helper;
+       struct drm_fb_helper helper; /* must be first */
        unsigned int saved_flags;
        struct nvif_object surf2d;
        struct nvif_object clip;