1*b285192aSMauro Carvalho Chehab /* 2*b285192aSMauro Carvalho Chehab mailbox functions 3*b285192aSMauro Carvalho Chehab Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com> 4*b285192aSMauro Carvalho Chehab Copyright (C) 2005-2007 Hans Verkuil <hverkuil@xs4all.nl> 5*b285192aSMauro Carvalho Chehab 6*b285192aSMauro Carvalho Chehab This program is free software; you can redistribute it and/or modify 7*b285192aSMauro Carvalho Chehab it under the terms of the GNU General Public License as published by 8*b285192aSMauro Carvalho Chehab the Free Software Foundation; either version 2 of the License, or 9*b285192aSMauro Carvalho Chehab (at your option) any later version. 10*b285192aSMauro Carvalho Chehab 11*b285192aSMauro Carvalho Chehab This program is distributed in the hope that it will be useful, 12*b285192aSMauro Carvalho Chehab but WITHOUT ANY WARRANTY; without even the implied warranty of 13*b285192aSMauro Carvalho Chehab MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*b285192aSMauro Carvalho Chehab GNU General Public License for more details. 15*b285192aSMauro Carvalho Chehab 16*b285192aSMauro Carvalho Chehab You should have received a copy of the GNU General Public License 17*b285192aSMauro Carvalho Chehab along with this program; if not, write to the Free Software 18*b285192aSMauro Carvalho Chehab Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19*b285192aSMauro Carvalho Chehab */ 20*b285192aSMauro Carvalho Chehab 21*b285192aSMauro Carvalho Chehab #ifndef IVTV_MAILBOX_H 22*b285192aSMauro Carvalho Chehab #define IVTV_MAILBOX_H 23*b285192aSMauro Carvalho Chehab 24*b285192aSMauro Carvalho Chehab #define IVTV_MBOX_DMA_END 8 25*b285192aSMauro Carvalho Chehab #define IVTV_MBOX_DMA 9 26*b285192aSMauro Carvalho Chehab 27*b285192aSMauro Carvalho Chehab void ivtv_api_get_data(struct ivtv_mailbox_data *mbdata, int mb, 28*b285192aSMauro Carvalho Chehab int argc, u32 data[]); 29*b285192aSMauro Carvalho Chehab int ivtv_api(struct ivtv *itv, int cmd, int args, u32 data[]); 30*b285192aSMauro Carvalho Chehab int ivtv_vapi_result(struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args, ...); 31*b285192aSMauro Carvalho Chehab int ivtv_vapi(struct ivtv *itv, int cmd, int args, ...); 32*b285192aSMauro Carvalho Chehab int ivtv_api_func(void *priv, u32 cmd, int in, int out, u32 data[CX2341X_MBOX_MAX_DATA]); 33*b285192aSMauro Carvalho Chehab void ivtv_mailbox_cache_invalidate(struct ivtv *itv); 34*b285192aSMauro Carvalho Chehab 35*b285192aSMauro Carvalho Chehab #endif 36