> -----Original Message-----
> From: Govindapillai, Vinod <[email protected]>
> Sent: Monday, October 27, 2025 7:10 PM
> To: [email protected]; [email protected]
> Cc: Govindapillai, Vinod <[email protected]>; Sousa, Gustavo
> <[email protected]>; Nikula, Jani <[email protected]>; Syrjala,
> Ville
> <[email protected]>; Shankar, Uma <[email protected]>
> Subject: [PATCH v2 3/4] drm/i915/xe3p_lpd: extract pixel format valid routine
> for
> FP16 formats
>
> As the pixel normalizer block is needed only for the FP16 formats, separating
> out
> the FP16 formats handling will benefit in selectively enabling the pixel
> normalizer
> block in the following patch.
Looks Good to me.
Reviewed-by: Uma Shankar <[email protected]>
> Signed-off-by: Vinod Govindapillai <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_fbc.c | 19 +++++++++++++++++--
> 1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index c831bd883395..6cab6e7cead3 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1084,6 +1084,20 @@ static bool lnl_fbc_pixel_format_is_valid(const struct
> intel_plane_state *plane_
> }
> }
>
> +static bool
> +xe3p_lpd_fbc_fp16_format_is_valid(const struct intel_plane_state
> +*plane_state) {
> + const struct drm_framebuffer *fb = plane_state->hw.fb;
> +
> + switch (fb->format->format) {
> + case DRM_FORMAT_ARGB16161616F:
> + case DRM_FORMAT_ABGR16161616F:
> + return true;
> + default:
> + return false;
> + }
> +}
> +
> static bool xe3p_lpd_fbc_pixel_format_is_valid(const struct intel_plane_state
> *plane_state) {
> const struct drm_framebuffer *fb = plane_state->hw.fb; @@ -1091,13
> +1105,14 @@ static bool xe3p_lpd_fbc_pixel_format_is_valid(const struct
> intel_plane_state *p
> if (lnl_fbc_pixel_format_is_valid(plane_state))
> return true;
>
> + if (xe3p_lpd_fbc_fp16_format_is_valid(plane_state))
> + return true;
> +
> switch (fb->format->format) {
> case DRM_FORMAT_XRGB16161616:
> case DRM_FORMAT_XBGR16161616:
> case DRM_FORMAT_ARGB16161616:
> case DRM_FORMAT_ABGR16161616:
> - case DRM_FORMAT_ARGB16161616F:
> - case DRM_FORMAT_ABGR16161616F:
> return true;
> default:
> return false;
> --
> 2.43.0