| /* SPDX-License-Identifier: MIT */ | 
 |  | 
 | #ifndef __CRCC37D_H__ | 
 | #define __CRCC37D_H__ | 
 |  | 
 | #include <linux/types.h> | 
 |  | 
 | #include "crc.h" | 
 |  | 
 | #define CRCC37D_MAX_ENTRIES 2047 | 
 | #define CRCC37D_FLIP_THRESHOLD (CRCC37D_MAX_ENTRIES - 30) | 
 |  | 
 | struct crcc37d_notifier { | 
 | 	u32 status; | 
 |  | 
 | 	/* reserved */ | 
 | 	u32:32; | 
 | 	u32:32; | 
 | 	u32:32; | 
 | 	u32:32; | 
 | 	u32:32; | 
 | 	u32:32; | 
 | 	u32:32; | 
 |  | 
 | 	struct crcc37d_entry { | 
 | 		u32 status[2]; | 
 | 		u32:32; /* reserved */ | 
 | 		u32 compositor_crc; | 
 | 		u32 rg_crc; | 
 | 		u32 output_crc[2]; | 
 | 		u32:32; /* reserved */ | 
 | 	} entries[CRCC37D_MAX_ENTRIES]; | 
 | } __packed; | 
 |  | 
 | int crcc37d_set_ctx(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx); | 
 | u32 crcc37d_get_entry(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx, | 
 | 		      enum nv50_crc_source source, int idx); | 
 | bool crcc37d_ctx_finished(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx); | 
 |  | 
 | #endif /* !__CRCC37D_H__ */ |