drm/i915: Have plane->get_hw_state() return the current pipe
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 30 Jan 2018 20:38:03 +0000 (22:38 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 1 Jun 2018 15:40:19 +0000 (18:40 +0300)
commiteade6c894498c12c2940e7fbe598dc08a292994f
treec0c0ce694bfffb11c561f504246b7a6fd53b77dc
parent3df845e7528b4f337e5cf91f3fd75610a646b259
drm/i915: Have plane->get_hw_state() return the current pipe

Like we do for encoder let's make the plane->get_hw_state() return
the pipe to which the plane is currently attached. We don't currently
allow planes to move between the pipes, but perhaps one day we will.

In either case this makes the code more uniform and perhaps makes
intel_plane_mapping_ok() slightly more clear.

Note that for i965 and g4x planes A and B still have pipe select bits
but they're hardwired to pipe A and B respectively. This means we can
safely interpret those bits just like on gen2/3. This allows the
same readout code work for plane C (which can still be assigned
to eiter pipe on i965) should we ever expose it.

g4x no longer allows moving the cursor planes between the pipes,
but the pipe select bits can still be set in the register. Thus
we have to ignore those bits. OTOH i965 still allows the cursors
to move between pipes thus we have to trust the bits there.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180130203807.13721-3-ville.syrjala@linux.intel.com
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_sprite.c