Commit f243dd06 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/nouveau: Use drm_fb_helper_fill_info



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: default avatarNoralf Trønnes <noralf@tronnes.org>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarDaniel 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
parent d4eae71f
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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) */

+1 −1
Original line number Diff line number Diff line
@@ -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;