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>
This commit is contained in:
Ben Widawsky 2013-11-02 21:07:07 -07:00 committed by Daniel Vetter
parent 1020a5c2dc
commit 4e0bbc316e
3 changed files with 4 additions and 1 deletions

View File

@ -743,6 +743,7 @@
#define FPGA_DBG_RM_NOCLAIM (1<<31) #define FPGA_DBG_RM_NOCLAIM (1<<31)
#define DERRMR 0x44050 #define DERRMR 0x44050
/* Note that HBLANK events are reserved on bdw+ */
#define DERRMR_PIPEA_SCANLINE (1<<0) #define DERRMR_PIPEA_SCANLINE (1<<0)
#define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1) #define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1)
#define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2) #define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2)

View File

@ -10309,7 +10309,7 @@ static void intel_init_display(struct drm_device *dev)
dev_priv->display.write_eld = ironlake_write_eld; dev_priv->display.write_eld = ironlake_write_eld;
dev_priv->display.modeset_global_resources = dev_priv->display.modeset_global_resources =
ivb_modeset_global_resources; ivb_modeset_global_resources;
} else if (IS_HASWELL(dev)) { } else if (IS_HASWELL(dev) || IS_GEN8(dev)) {
dev_priv->display.fdi_link_train = hsw_fdi_link_train; dev_priv->display.fdi_link_train = hsw_fdi_link_train;
dev_priv->display.write_eld = haswell_write_eld; dev_priv->display.write_eld = haswell_write_eld;
dev_priv->display.modeset_global_resources = dev_priv->display.modeset_global_resources =
@ -10340,6 +10340,7 @@ static void intel_init_display(struct drm_device *dev)
dev_priv->display.queue_flip = intel_gen6_queue_flip; dev_priv->display.queue_flip = intel_gen6_queue_flip;
break; break;
case 7: case 7:
case 8: /* FIXME(BDW): Check that the gen8 RCS flip works. */
dev_priv->display.queue_flip = intel_gen7_queue_flip; dev_priv->display.queue_flip = intel_gen7_queue_flip;
break; break;
} }

View File

@ -1092,6 +1092,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane)
break; break;
case 7: case 7:
case 8:
if (IS_IVYBRIDGE(dev)) { if (IS_IVYBRIDGE(dev)) {
intel_plane->can_scale = true; intel_plane->can_scale = true;
intel_plane->max_downscale = 2; intel_plane->max_downscale = 2;