41 lines · c
1/* SPDX-License-Identifier: MIT */2 3#ifndef __CRCC37D_H__4#define __CRCC37D_H__5 6#include <linux/types.h>7 8#include "crc.h"9 10#define CRCC37D_MAX_ENTRIES 204711#define CRCC37D_FLIP_THRESHOLD (CRCC37D_MAX_ENTRIES - 30)12 13struct crcc37d_notifier {14 u32 status;15 16 /* reserved */17 u32:32;18 u32:32;19 u32:32;20 u32:32;21 u32:32;22 u32:32;23 u32:32;24 25 struct crcc37d_entry {26 u32 status[2];27 u32:32; /* reserved */28 u32 compositor_crc;29 u32 rg_crc;30 u32 output_crc[2];31 u32:32; /* reserved */32 } entries[CRCC37D_MAX_ENTRIES];33} __packed;34 35int crcc37d_set_ctx(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx);36u32 crcc37d_get_entry(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx,37 enum nv50_crc_source source, int idx);38bool crcc37d_ctx_finished(struct nv50_head *head, struct nv50_crc_notifier_ctx *ctx);39 40#endif /* !__CRCC37D_H__ */41