drm/i915: Improve assert_planes_disabled()
Ever since gen4 primary planes were fixed to pipes. And for gen2-3, don't check plane B if it doesn't exist. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
bb53d4aeac
commit
653e10266d
@ -1105,12 +1105,13 @@ static void assert_plane(struct drm_i915_private *dev_priv,
|
|||||||
static void assert_planes_disabled(struct drm_i915_private *dev_priv,
|
static void assert_planes_disabled(struct drm_i915_private *dev_priv,
|
||||||
enum pipe pipe)
|
enum pipe pipe)
|
||||||
{
|
{
|
||||||
|
struct drm_device *dev = dev_priv->dev;
|
||||||
int reg, i;
|
int reg, i;
|
||||||
u32 val;
|
u32 val;
|
||||||
int cur_pipe;
|
int cur_pipe;
|
||||||
|
|
||||||
/* Planes are fixed to pipes on ILK+ */
|
/* Primary planes are fixed to pipes on gen4+ */
|
||||||
if (HAS_PCH_SPLIT(dev_priv->dev) || IS_VALLEYVIEW(dev_priv->dev)) {
|
if (INTEL_INFO(dev)->gen >= 4) {
|
||||||
reg = DSPCNTR(pipe);
|
reg = DSPCNTR(pipe);
|
||||||
val = I915_READ(reg);
|
val = I915_READ(reg);
|
||||||
WARN((val & DISPLAY_PLANE_ENABLE),
|
WARN((val & DISPLAY_PLANE_ENABLE),
|
||||||
@ -1120,7 +1121,7 @@ static void assert_planes_disabled(struct drm_i915_private *dev_priv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Need to check both planes against the pipe */
|
/* Need to check both planes against the pipe */
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < INTEL_INFO(dev)->num_pipes; i++) {
|
||||||
reg = DSPCNTR(i);
|
reg = DSPCNTR(i);
|
||||||
val = I915_READ(reg);
|
val = I915_READ(reg);
|
||||||
cur_pipe = (val & DISPPLANE_SEL_PIPE_MASK) >>
|
cur_pipe = (val & DISPPLANE_SEL_PIPE_MASK) >>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user