1*1a59d1b8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2b285192aSMauro Carvalho Chehab /* 3b285192aSMauro Carvalho Chehab mailbox functions 4b285192aSMauro Carvalho Chehab Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com> 5b285192aSMauro Carvalho Chehab Copyright (C) 2005-2007 Hans Verkuil <hverkuil@xs4all.nl> 6b285192aSMauro Carvalho Chehab 7b285192aSMauro Carvalho Chehab */ 8b285192aSMauro Carvalho Chehab 9b285192aSMauro Carvalho Chehab #ifndef IVTV_MAILBOX_H 10b285192aSMauro Carvalho Chehab #define IVTV_MAILBOX_H 11b285192aSMauro Carvalho Chehab 12b285192aSMauro Carvalho Chehab #define IVTV_MBOX_DMA_END 8 13b285192aSMauro Carvalho Chehab #define IVTV_MBOX_DMA 9 14b285192aSMauro Carvalho Chehab 15b285192aSMauro Carvalho Chehab void ivtv_api_get_data(struct ivtv_mailbox_data *mbdata, int mb, 16b285192aSMauro Carvalho Chehab int argc, u32 data[]); 17b285192aSMauro Carvalho Chehab int ivtv_api(struct ivtv *itv, int cmd, int args, u32 data[]); 18b285192aSMauro Carvalho Chehab int ivtv_vapi_result(struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args, ...); 19b285192aSMauro Carvalho Chehab int ivtv_vapi(struct ivtv *itv, int cmd, int args, ...); 20b285192aSMauro Carvalho Chehab int ivtv_api_func(void *priv, u32 cmd, int in, int out, u32 data[CX2341X_MBOX_MAX_DATA]); 21b285192aSMauro Carvalho Chehab void ivtv_mailbox_cache_invalidate(struct ivtv *itv); 22b285192aSMauro Carvalho Chehab 23b285192aSMauro Carvalho Chehab #endif 24