Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0695726e authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: Use CONFIG_DRM_FBDEV_EMULATION



Instead of our own duplicated one. This fixes a bug in the driver
unload code if DRM_FBDEV_EMULATION=n but DRM_I915_FBDEV=y because we
try to unregister the nonexistent fbdev drm_framebuffer.

Cc: Archit Taneja <architt@codeaurora.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reported-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent cebbb739
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -36,21 +36,6 @@ config DRM_I915
	  i810 driver instead, and the Atom z5xx series has an entirely
	  different implementation.

config DRM_I915_FBDEV
	bool "Enable legacy fbdev support for the modesetting intel driver"
	depends on DRM_I915
	select DRM_KMS_FB_HELPER
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	default y
	help
	  Choose this option if you have a need for the legacy fbdev
	  support. Note that this support also provide the linux console
	  support on top of the intel modesetting driver.

	  If in doubt, say "Y".

config DRM_I915_PRELIMINARY_HW_SUPPORT
	bool "Enable preliminary support for prerelease Intel hardware by default"
	depends on DRM_I915
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ i915-y += intel_audio.o \
	  intel_sideband.o \
	  intel_sprite.o
i915-$(CONFIG_ACPI)		+= intel_acpi.o intel_opregion.o
i915-$(CONFIG_DRM_I915_FBDEV)	+= intel_fbdev.o
i915-$(CONFIG_DRM_FBDEV_EMULATION)	+= intel_fbdev.o

# modesetting output/encoder code
i915-y += dvo_ch7017.o \
+1 −1
Original line number Diff line number Diff line
@@ -1868,7 +1868,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
	struct intel_framebuffer *fb;
	struct drm_framebuffer *drm_fb;

#ifdef CONFIG_DRM_I915_FBDEV
#ifdef CONFIG_DRM_FBDEV_EMULATION
	struct drm_i915_private *dev_priv = dev->dev_private;

	ifbdev = dev_priv->fbdev;
+1 −1
Original line number Diff line number Diff line
@@ -1854,7 +1854,7 @@ struct drm_i915_private {

	struct drm_i915_gem_object *vlv_pctx;

#ifdef CONFIG_DRM_I915_FBDEV
#ifdef CONFIG_DRM_FBDEV_EMULATION
	/* list of fbdev register on this device */
	struct intel_fbdev *fbdev;
	struct work_struct fbdev_suspend_work;
+2 −2
Original line number Diff line number Diff line
@@ -10221,7 +10221,7 @@ static struct drm_framebuffer *
mode_fits_in_fbdev(struct drm_device *dev,
		   struct drm_display_mode *mode)
{
#ifdef CONFIG_DRM_I915_FBDEV
#ifdef CONFIG_DRM_FBDEV_EMULATION
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct drm_i915_gem_object *obj;
	struct drm_framebuffer *fb;
@@ -14475,7 +14475,7 @@ intel_user_framebuffer_create(struct drm_device *dev,
	return intel_framebuffer_create(dev, mode_cmd, obj);
}

#ifndef CONFIG_DRM_I915_FBDEV
#ifndef CONFIG_DRM_FBDEV_EMULATION
static inline void intel_fbdev_output_poll_changed(struct drm_device *dev)
{
}
Loading