|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
* Copyright (C) 2014-2021 The Linux Foundation. All rights reserved.
|
|
|
* Copyright (C) 2013 Red Hat
|
|
|
* Author: Rob Clark <[email protected]>
|
|
@@ -1721,6 +1721,13 @@ static int sde_plane_rot_atomic_check(struct drm_plane *plane,
|
|
|
fmt = to_sde_format(msm_fmt);
|
|
|
ret = sde_format_validate_fmt(&sde_kms->base, fmt,
|
|
|
psde->pipe_sblk->in_rot_format_list);
|
|
|
+ if (ret) {
|
|
|
+ SDE_ERROR_PLANE(psde,
|
|
|
+ "fmt:%d mode:%d unpack:%d not found within the list!\n",
|
|
|
+ (fmt) ? fmt->base.pixel_format : 0,
|
|
|
+ (fmt) ? fmt->fetch_mode : 0,
|
|
|
+ (fmt) ? fmt->unpack_tight : 0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
exit:
|
|
@@ -2698,7 +2705,22 @@ static int _sde_plane_sspp_atomic_check_helper(struct sde_plane *psde,
|
|
|
{
|
|
|
int ret = 0;
|
|
|
u32 min_src_size = SDE_FORMAT_IS_YUV(fmt) ? 2 : 1;
|
|
|
+ struct sde_kms *sde_kms = _sde_plane_get_kms(&psde->base);
|
|
|
|
|
|
+ if (!sde_kms) {
|
|
|
+ SDE_ERROR("invalid sde_kms\n");
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ ret = sde_format_validate_fmt(&sde_kms->base, fmt,
|
|
|
+ psde->pipe_sblk->format_list);
|
|
|
+ if (ret) {
|
|
|
+ SDE_ERROR_PLANE(psde, "fmt:%d mode:%d unpack:%d not found within the list!\n",
|
|
|
+ (fmt) ? fmt->base.pixel_format : 0,
|
|
|
+ (fmt) ? fmt->fetch_mode : 0,
|
|
|
+ (fmt) ? fmt->unpack_tight : 0);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
if (SDE_FORMAT_IS_YUV(fmt) &&
|
|
|
(!(psde->features & SDE_SSPP_SCALER) ||
|
|
|
!(psde->features & (BIT(SDE_SSPP_CSC)
|