From c30b395e8d940691440fd0b042c23af85298b8d7 Mon Sep 17 00:00:00 2001 From: Liu Ying Date: Mon, 8 Apr 2019 16:11:53 +0800 Subject: MLK-21509-1 gpu: imx: dpu: common: Add signature unit support This patch adds signature unit support in the dpu common driver. Signed-off-by: Liu Ying Reviewed-by: Robby Cai --- include/video/dpu.h | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'include/video') diff --git a/include/video/dpu.h b/include/video/dpu.h index 56989798184e..0155fbebf677 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 Freescale Semiconductor, Inc. - * Copyright 2017-2019 NXP + * Copyright 2017-2020 NXP * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -325,6 +325,11 @@ enum { FU_T_FW, }; +enum dpu_crc_source { + DPU_CRC_SRC_NONE, + DPU_CRC_SRC_FRAMEGEN, +}; + struct dpu_fetchunit; struct dpu_fetchunit_ops { @@ -554,6 +559,36 @@ void layerblend_position(struct dpu_layerblend *lb, int x, int y); struct dpu_layerblend *dpu_lb_get(struct dpu_soc *dpu, int id); void dpu_lb_put(struct dpu_layerblend *lb); +/* Signature Unit */ +#define MAX_DPU_SIGNATURE_WIN_NUM 8 +struct dpu_signature; +void signature_shden(struct dpu_signature *sig, bool enable); +void signature_shdldsel_local(struct dpu_signature *sig); +void signature_shdldsel_global(struct dpu_signature *sig); +void +signature_global_panic(struct dpu_signature *sig, unsigned int win, bool enable); +void +signature_local_panic(struct dpu_signature *sig, unsigned int win, bool enable); +void +signature_alpha_mask(struct dpu_signature *sig, unsigned int win, bool enable); +void signature_crc(struct dpu_signature *sig, unsigned int win, bool enable); +void +signature_eval_win(struct dpu_signature *sig, unsigned int win, bool enable); +void signature_win(struct dpu_signature *sig, unsigned int win, + int xul, int yul, int xlr, int ylr); +void signature_crc_value(struct dpu_signature *sig, unsigned int win, + u32 *red, u32 *green, u32 *blue); +void signature_shdldreq(struct dpu_signature *sig, u8 win_mask); +void signature_continuous_mode(struct dpu_signature *sig, bool enable); +void signature_kick(struct dpu_signature *sig); +bool signature_is_idle(struct dpu_signature *sig); +void signature_wait_for_idle(struct dpu_signature *sig); +bool signature_is_valid(struct dpu_signature *sig); +bool signature_is_error(struct dpu_signature *sig, u8 *err_win_mask); +struct dpu_signature *dpu_sig_get(struct dpu_soc *dpu, int id); +void dpu_sig_put(struct dpu_signature *sig); +struct dpu_signature *dpu_aux_sig_peek(struct dpu_signature *sig); + /* Store Unit */ struct dpu_store; void store_pixengcfg_syncmode_fixup(struct dpu_store *st, bool enable); -- cgit v1.2.3