diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2020-11-17 11:47:12 -0800 |
---|---|---|
committer | Manasi Navare <manasi.d.navare@intel.com> | 2020-11-18 11:41:53 -0800 |
commit | 8246d9c7ea5e8a1ad66ce7e17184096f51d93912 (patch) | |
tree | 7e441d1ea43f405197aa71750760b130b1228696 /drivers/gpu/drm/i915/display/intel_atomic_plane.h | |
parent | drm/i915: Add planes affected by bigjoiner to the state (diff) | |
download | linux-dev-8246d9c7ea5e8a1ad66ce7e17184096f51d93912.tar.xz linux-dev-8246d9c7ea5e8a1ad66ce7e17184096f51d93912.zip |
drm/i915: Get the uapi state from the correct plane when bigjoiner is used
When using bigjoiner userspace is only controlling the "master"
plane, so use its uapi state for the "slave" plane as well.
hw.crtc needs a bit of magic since we don't want to copy that from
the uapi state (as it points to the wrong pipe for the "slave
" plane). Instead we pass the right crtc in explicitly but only
assign it when the uapi state indicates the plane to be logically
enabled (ie. uapi.crtc != NULL).
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201117194718.11462-10-manasi.d.navare@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_atomic_plane.h')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_atomic_plane.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.h b/drivers/gpu/drm/i915/display/intel_atomic_plane.h index 24a3a148aa62..5cae9db41062 100644 --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.h +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.h @@ -24,7 +24,8 @@ unsigned int intel_plane_pixel_rate(const struct intel_crtc_state *crtc_state, unsigned int intel_plane_data_rate(const struct intel_crtc_state *crtc_state, const struct intel_plane_state *plane_state); void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state, - const struct intel_plane_state *from_plane_state); + const struct intel_plane_state *from_plane_state, + struct intel_crtc *crtc); void intel_plane_copy_hw_state(struct intel_plane_state *plane_state, const struct intel_plane_state *from_plane_state); void intel_update_plane(struct intel_plane *plane, |