diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:41:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:41:32 -0500 |
commit | f54a6ec0fd85002d94d05b4bb679508eeb066683 (patch) | |
tree | 0f24dd66cce563d2c5e7656c2489e5b96eef31f9 /drivers/media/video/cx18/cx18-mailbox.h | |
parent | 5ed1836814d908f45cafde0e79cb85314ab9d41d (diff) | |
parent | 134179823b3ca9c8b98e0631906459dbb022ff9b (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (583 commits)
V4L/DVB (10130): use USB API functions rather than constants
V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends
V4L/DVB (10128): modify V4L documentation to be a valid XHTML
V4L/DVB (10127): stv06xx: Avoid having y unitialized
V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices
V4L/DVB (10124): em28xx: expand output formats available
V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes
V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices
V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile
V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile
V4L/DVB (10119): em28xx: fix corrupted XCLK value
V4L/DVB (10118): zoran: fix warning for a variable not used
V4L/DVB (10116): af9013: Fix gcc false warnings
V4L/DVB (10111a): usbvideo.h: remove an useless blank line
V4L/DVB (10111): quickcam_messenger.c: fix a warning
V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2
V4L/DVB (10109): anysee: Fix usage of an unitialized function
V4L/DVB (10104): uvcvideo: Add support for video output devices
V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams.
V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous
...
Diffstat (limited to 'drivers/media/video/cx18/cx18-mailbox.h')
-rw-r--r-- | drivers/media/video/cx18/cx18-mailbox.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/media/video/cx18/cx18-mailbox.h b/drivers/media/video/cx18/cx18-mailbox.h index d995641536b3..ce2b6686aa00 100644 --- a/drivers/media/video/cx18/cx18-mailbox.h +++ b/drivers/media/video/cx18/cx18-mailbox.h | |||
@@ -2,6 +2,7 @@ | |||
2 | * cx18 mailbox functions | 2 | * cx18 mailbox functions |
3 | * | 3 | * |
4 | * Copyright (C) 2007 Hans Verkuil <hverkuil@xs4all.nl> | 4 | * Copyright (C) 2007 Hans Verkuil <hverkuil@xs4all.nl> |
5 | * Copyright (C) 2008 Andy Walls <awalls@radix.net> | ||
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
@@ -30,8 +31,24 @@ | |||
30 | #define MB_RESERVED_HANDLE_0 0 | 31 | #define MB_RESERVED_HANDLE_0 0 |
31 | #define MB_RESERVED_HANDLE_1 0xFFFFFFFF | 32 | #define MB_RESERVED_HANDLE_1 0xFFFFFFFF |
32 | 33 | ||
34 | #define APU 0 | ||
35 | #define CPU 1 | ||
36 | #define EPU 2 | ||
37 | #define HPU 3 | ||
38 | |||
33 | struct cx18; | 39 | struct cx18; |
34 | 40 | ||
41 | /* | ||
42 | * This structure is used by CPU to provide completed buffers information | ||
43 | * Its structure is dictrated by the layout of the SCB, required by the | ||
44 | * firmware, but its defintion needs to be here, instead of in cx18-scb.h, | ||
45 | * for mailbox work order scheduling | ||
46 | */ | ||
47 | struct cx18_mdl_ack { | ||
48 | u32 id; /* ID of a completed MDL */ | ||
49 | u32 data_used; /* Total data filled in the MDL for buffer 'id' */ | ||
50 | }; | ||
51 | |||
35 | /* The cx18_mailbox struct is the mailbox structure which is used for passing | 52 | /* The cx18_mailbox struct is the mailbox structure which is used for passing |
36 | messages between processors */ | 53 | messages between processors */ |
37 | struct cx18_mailbox { | 54 | struct cx18_mailbox { |
@@ -62,12 +79,22 @@ struct cx18_mailbox { | |||
62 | u32 error; | 79 | u32 error; |
63 | }; | 80 | }; |
64 | 81 | ||
82 | struct cx18_stream; | ||
83 | |||
84 | struct cx18_api_func_private { | ||
85 | struct cx18 *cx; | ||
86 | struct cx18_stream *s; | ||
87 | }; | ||
88 | |||
65 | int cx18_api(struct cx18 *cx, u32 cmd, int args, u32 data[]); | 89 | int cx18_api(struct cx18 *cx, u32 cmd, int args, u32 data[]); |
66 | int cx18_vapi_result(struct cx18 *cx, u32 data[MAX_MB_ARGUMENTS], u32 cmd, | 90 | int cx18_vapi_result(struct cx18 *cx, u32 data[MAX_MB_ARGUMENTS], u32 cmd, |
67 | int args, ...); | 91 | int args, ...); |
68 | int cx18_vapi(struct cx18 *cx, u32 cmd, int args, ...); | 92 | int cx18_vapi(struct cx18 *cx, u32 cmd, int args, ...); |
69 | int cx18_api_func(void *priv, u32 cmd, int in, int out, | 93 | int cx18_api_func(void *priv, u32 cmd, int in, int out, |
70 | u32 data[CX2341X_MBOX_MAX_DATA]); | 94 | u32 data[CX2341X_MBOX_MAX_DATA]); |
71 | long cx18_mb_ack(struct cx18 *cx, const struct cx18_mailbox *mb); | 95 | |
96 | void cx18_api_epu_cmd_irq(struct cx18 *cx, int rpu); | ||
97 | |||
98 | void cx18_epu_work_handler(struct work_struct *work); | ||
72 | 99 | ||
73 | #endif | 100 | #endif |