On Fri, 2026-07-17 at 01:59 +0300, Vinod Govindapillai wrote:
> In xe2_lpd+ platforms, there are no restrictions to enable FBC
> on planes with respect to the plane width - width can be as per
> the platform's maximum supported resolution.

I would stick in display version. Xe2_lpd+ says nothing to me.

> 
> Bspec: 69560
> Signed-off-by: Vinod Govindapillai <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 78228a5e765f..20f02ef9387a 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -59,6 +59,7 @@
>  #include "intel_fbc_regs.h"
>  #include "intel_frontbuffer.h"
>  #include "intel_parent.h"
> +#include "skl_universal_plane.h"
>  
>  #define for_each_fbc_id(__display, __fbc_id) \
>       for ((__fbc_id) = INTEL_FBC_A; (__fbc_id) < I915_MAX_FBCS;
> (__fbc_id)++) \
> @@ -1319,8 +1320,14 @@ static void intel_fbc_max_plane_size(const
> struct intel_plane_state *plane_state
>                                    unsigned int *w, unsigned int
> *h)
>  {
>       struct intel_display *display =
> to_intel_display(plane_state);
> +     struct intel_plane *plane = to_intel_plane(plane_state-
> >uapi.plane);
> +     const struct drm_framebuffer *fb = plane_state->hw.fb;
> +     unsigned int rotation = plane_state->hw.rotation;
>  
> -     if (DISPLAY_VER(display) >= 10) {
> +     if (DISPLAY_VER(display) >= 20) {
> +             *w = intel_plane_max_width(plane, fb, 0, rotation);
> +             *h = 4096;

Bspec says 4088.

BR,
Jouni Högander

> +     } else if (DISPLAY_VER(display) >= 10) {
>               *w = 5120;
>               *h = 4096;
>       } else if (DISPLAY_VER(display) >= 8 || display-
> >platform.haswell) {

Reply via email to