Commit aa1625ab authored by Vinod Govindapillai's avatar Vinod Govindapillai
Browse files

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.

Signed-off-by: default avatarVinod Govindapillai <vinod.govindapillai@intel.com>
Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
Link: https://patch.msgid.link/20251027134001.325064-4-vinod.govindapillai@intel.com
parent 5aa45787
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -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;