mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-22 00:42:01 +02:00

Different hardware generations have different scanout alignment requirements. Introduce a new vfunc that will allow us to make that distinction without horrible if-ladders. For now we directly plug in the existing intel_surf_alignment() and intel_cursor_alignment() functions. For fbdev we (temporarily) introduce intel_fbdev_min_alignment() that simply queries the alignment from the primary plane of the first crtc. TODO: someone will need to fix xe's alignment handling Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240612204712.31404-4-ville.syrjala@linux.intel.com Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
30 lines
703 B
C
30 lines
703 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2021 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_FB_PIN_H__
|
|
#define __INTEL_FB_PIN_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct drm_framebuffer;
|
|
struct i915_vma;
|
|
struct intel_plane_state;
|
|
struct i915_gtt_view;
|
|
|
|
struct i915_vma *
|
|
intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
|
|
const struct i915_gtt_view *view,
|
|
unsigned int alignment,
|
|
unsigned int phys_alignment,
|
|
bool uses_fence,
|
|
unsigned long *out_flags);
|
|
|
|
void intel_fb_unpin_vma(struct i915_vma *vma, unsigned long flags);
|
|
|
|
int intel_plane_pin_fb(struct intel_plane_state *plane_state);
|
|
void intel_plane_unpin_fb(struct intel_plane_state *old_plane_state);
|
|
|
|
#endif
|