41 lines
854 B
C
41 lines
854 B
C
/* 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__ */
|