| /* 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__ */ |