diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2020-11-17 11:47:13 -0800 |
---|---|---|
committer | Manasi Navare <manasi.d.navare@intel.com> | 2020-11-18 11:42:04 -0800 |
commit | 9f05a7c0adb9ee26dffb8de74b8acfd829629e4a (patch) | |
tree | 85c73e0622fdc7e66c40e220a666d3dfbadcb20e /drivers/gpu/drm/i915/display/intel_atomic_plane.h | |
parent | drm/i915: Get the uapi state from the correct plane when bigjoiner is used (diff) | |
download | linux-dev-9f05a7c0adb9ee26dffb8de74b8acfd829629e4a.tar.xz linux-dev-9f05a7c0adb9ee26dffb8de74b8acfd829629e4a.zip |
drm/i915: Add bigjoiner aware plane clipping checks
We need to look at hw.fb for the framebuffer, and add the translation
for the slave_plane_state. With these changes we set the correct
rectangle on the bigjoiner slave, and don't set incorrect
src/dst/visibility on the slave plane.
v2:
* Manual rebase (Manasi)
v3:
* hw.rotation instead of uapi.rotation (Ville)
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201117194718.11462-11-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 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.h b/drivers/gpu/drm/i915/display/intel_atomic_plane.h index 5cae9db41062..5c78a087ed86 100644 --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.h +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.h @@ -55,6 +55,10 @@ int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_crtc_stat int intel_plane_calc_min_cdclk(struct intel_atomic_state *state, struct intel_plane *plane, bool *need_cdclk_calc); +int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state, + struct intel_crtc_state *crtc_state, + int min_scale, int max_scale, + bool can_position); void intel_plane_set_invisible(struct intel_crtc_state *crtc_state, struct intel_plane_state *plane_state); |