summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/stm/ltdc.h
diff options
context:
space:
mode:
authorRaphael Gallais-Pou <raphael.gallais-pou@foss.st.com>2022-02-11 11:46:20 +0100
committerPhilippe Cornu <philippe.cornu@foss.st.com>2022-02-25 14:14:28 +0100
commit79b44684a14e363d24c299b772f037344ad8c8dc (patch)
tree3946fb525376fe8ff5c54eea726192f5dc40a296 /drivers/gpu/drm/stm/ltdc.h
parentdrm/stm: Avoid using val uninitialized in ltdc_set_ycbcr_config() (diff)
downloadlinux-79b44684a14e363d24c299b772f037344ad8c8dc.tar.xz
linux-79b44684a14e363d24c299b772f037344ad8c8dc.zip
drm/stm: ltdc: add support for CRC hashing feature
This patch adds the CRC hashing feature supported by some recent hardware versions of the LTDC. This is useful for test suite such as IGT-GPU-tools [1] where a CRTC output frame can be compared to a test reference frame thanks to their respective CRC hash. [1] https://cgit.freedesktop.org/drm/igt-gpu-tools Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com> Acked-by: Yannick Fertre <yannick.fertre@foss.st.com> Signed-off-by: Philippe Cornu <philippe.cornu@foss.st.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220211104620.421177-1-raphael.gallais-pou@foss.st.com
Diffstat (limited to 'drivers/gpu/drm/stm/ltdc.h')
-rw-r--r--drivers/gpu/drm/stm/ltdc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/stm/ltdc.h b/drivers/gpu/drm/stm/ltdc.h
index 6968d1ca5149..59fc5d1bbbab 100644
--- a/drivers/gpu/drm/stm/ltdc.h
+++ b/drivers/gpu/drm/stm/ltdc.h
@@ -27,6 +27,7 @@ struct ltdc_caps {
bool ycbcr_input; /* ycbcr input converter supported */
bool ycbcr_output; /* ycbcr output converter supported */
bool plane_reg_shadow; /* plane shadow registers ability */
+ bool crc; /* cyclic redundancy check supported */
};
#define LTDC_MAX_LAYER 4
@@ -46,6 +47,8 @@ struct ltdc_device {
u32 irq_status;
struct fps_info plane_fpsi[LTDC_MAX_LAYER];
struct drm_atomic_state *suspend_state;
+ int crc_skip_count;
+ bool crc_active;
};
int ltdc_load(struct drm_device *ddev);