diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-09 03:18:51 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-11 17:37:23 -0400 |
commit | 4520f53a159fb81b8c27afe52428a0959aff259c (patch) | |
tree | 7c0a64208cdd71c39cfad8f7f17a3a1fe20433b3 /drivers/gpu/drm/i915/intel_display.c | |
parent | 92b6f89f6b85f433ddac1f4a9eb0962dc96380fe (diff) |
drm/i915: Kconfig option to disable the legacy fbdev support
Boots Just Fine (tm)!
The only glitch seems to be that at least on Fedora the boot splash
gets confused and doesn't display much at all.
And since there's no ugly console flickering anymore in between, the
flicker while switching between X servers (VT support is still enabled)
is even more jarring.
Also, I'm unsure whether we don't need to somehow kick out vgacon, now
that nothing else gets in the way. But stuff seems to work, so I
don't care. Also everything still works as well with VGA_CONSOLE=n
Also the #ifdef mess needs a bit of a cleanup, follow-up patches will
do just that.
To keep the Kconfig tidy, extract all the i915 options into its own
file.
v2:
- Rebase on top of the preliminary hw support option and the
intel_drv.h cleanup.
- Shut up warnings in i915_debugfs.c
v3: Use the right CONFIG variable, spotted by Chon Ming.
Cc: Lee, Chon Ming <chon.ming.lee@intel.com>
Cc: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Chon Ming Lee <chon.ming.lee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 502f000e252c..fd38c3762518 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -7335,6 +7335,7 @@ static struct drm_framebuffer * | |||
7335 | mode_fits_in_fbdev(struct drm_device *dev, | 7335 | mode_fits_in_fbdev(struct drm_device *dev, |
7336 | struct drm_display_mode *mode) | 7336 | struct drm_display_mode *mode) |
7337 | { | 7337 | { |
7338 | #ifdef CONFIG_DRM_I915_FBDEV | ||
7338 | struct drm_i915_private *dev_priv = dev->dev_private; | 7339 | struct drm_i915_private *dev_priv = dev->dev_private; |
7339 | struct drm_i915_gem_object *obj; | 7340 | struct drm_i915_gem_object *obj; |
7340 | struct drm_framebuffer *fb; | 7341 | struct drm_framebuffer *fb; |
@@ -7355,6 +7356,9 @@ mode_fits_in_fbdev(struct drm_device *dev, | |||
7355 | return NULL; | 7356 | return NULL; |
7356 | 7357 | ||
7357 | return fb; | 7358 | return fb; |
7359 | #else | ||
7360 | return NULL; | ||
7361 | #endif | ||
7358 | } | 7362 | } |
7359 | 7363 | ||
7360 | bool intel_get_load_detect_pipe(struct drm_connector *connector, | 7364 | bool intel_get_load_detect_pipe(struct drm_connector *connector, |
@@ -10101,6 +10105,12 @@ intel_user_framebuffer_create(struct drm_device *dev, | |||
10101 | return intel_framebuffer_create(dev, mode_cmd, obj); | 10105 | return intel_framebuffer_create(dev, mode_cmd, obj); |
10102 | } | 10106 | } |
10103 | 10107 | ||
10108 | #ifndef CONFIG_DRM_I915_FBDEV | ||
10109 | static inline void intel_fb_output_poll_changed(struct drm_device *dev) | ||
10110 | { | ||
10111 | } | ||
10112 | #endif | ||
10113 | |||
10104 | static const struct drm_mode_config_funcs intel_mode_funcs = { | 10114 | static const struct drm_mode_config_funcs intel_mode_funcs = { |
10105 | .fb_create = intel_user_framebuffer_create, | 10115 | .fb_create = intel_user_framebuffer_create, |
10106 | .output_poll_changed = intel_fb_output_poll_changed, | 10116 | .output_poll_changed = intel_fb_output_poll_changed, |