aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2013-11-03 00:07:07 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-08 12:09:38 -0500
commit4e0bbc316ef2a7d804cef3e0247fd782382f5bd4 (patch)
tree3081f0d31ada0bab3e0b6045436a4f5a2050f505
parent1020a5c2dcefae564c3e87ce934316dfcc1d8427 (diff)
drm/i915/bdw: display stuff
Just enough to make the code not barf... Init BDW display to look like HSW. For the simulator this should be fine, but this will probably require more work. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> [danvet: Add a FIXME comment about RCS flips being untested on bdw. Also add a note that hblank events are reserved on bdw+ in DERRMR.] Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/intel_display.c3
-rw-r--r--drivers/gpu/drm/i915/intel_sprite.c1
3 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index f897a7092ce0..48c3aef5acaa 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -743,6 +743,7 @@
743#define FPGA_DBG_RM_NOCLAIM (1<<31) 743#define FPGA_DBG_RM_NOCLAIM (1<<31)
744 744
745#define DERRMR 0x44050 745#define DERRMR 0x44050
746/* Note that HBLANK events are reserved on bdw+ */
746#define DERRMR_PIPEA_SCANLINE (1<<0) 747#define DERRMR_PIPEA_SCANLINE (1<<0)
747#define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1) 748#define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1)
748#define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2) 749#define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index f34252d134b6..d5eb5a4a9cf6 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10309,7 +10309,7 @@ static void intel_init_display(struct drm_device *dev)
10309 dev_priv->display.write_eld = ironlake_write_eld; 10309 dev_priv->display.write_eld = ironlake_write_eld;
10310 dev_priv->display.modeset_global_resources = 10310 dev_priv->display.modeset_global_resources =
10311 ivb_modeset_global_resources; 10311 ivb_modeset_global_resources;
10312 } else if (IS_HASWELL(dev)) { 10312 } else if (IS_HASWELL(dev) || IS_GEN8(dev)) {
10313 dev_priv->display.fdi_link_train = hsw_fdi_link_train; 10313 dev_priv->display.fdi_link_train = hsw_fdi_link_train;
10314 dev_priv->display.write_eld = haswell_write_eld; 10314 dev_priv->display.write_eld = haswell_write_eld;
10315 dev_priv->display.modeset_global_resources = 10315 dev_priv->display.modeset_global_resources =
@@ -10340,6 +10340,7 @@ static void intel_init_display(struct drm_device *dev)
10340 dev_priv->display.queue_flip = intel_gen6_queue_flip; 10340 dev_priv->display.queue_flip = intel_gen6_queue_flip;
10341 break; 10341 break;
10342 case 7: 10342 case 7:
10343 case 8: /* FIXME(BDW): Check that the gen8 RCS flip works. */
10343 dev_priv->display.queue_flip = intel_gen7_queue_flip; 10344 dev_priv->display.queue_flip = intel_gen7_queue_flip;
10344 break; 10345 break;
10345 } 10346 }
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 8afaad6bcc48..f8b265c2b178 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1092,6 +1092,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane)
1092 break; 1092 break;
1093 1093
1094 case 7: 1094 case 7:
1095 case 8:
1095 if (IS_IVYBRIDGE(dev)) { 1096 if (IS_IVYBRIDGE(dev)) {
1096 intel_plane->can_scale = true; 1097 intel_plane->can_scale = true;
1097 intel_plane->max_downscale = 2; 1098 intel_plane->max_downscale = 2;