diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-01-13 21:42:44 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:09:50 -0400 |
commit | b1b81f1db73f00e595585b16aa31293a791964c0 (patch) | |
tree | 3e348070d6c08cf421729f36005e91b50c89ab98 /drivers/media/video/cx23885/cx23885.h | |
parent | e57b1c80065f7922e3ba464f54254c7ce983a3a4 (diff) |
V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support
cx23885: Add generic cx23417 hardware encoder support.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885.h')
-rw-r--r-- | drivers/media/video/cx23885/cx23885.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h index 3705e6019ce9..e42b6878ba23 100644 --- a/drivers/media/video/cx23885/cx23885.h +++ b/drivers/media/video/cx23885/cx23885.h | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | #include "btcx-risc.h" | 33 | #include "btcx-risc.h" |
34 | #include "cx23885-reg.h" | 34 | #include "cx23885-reg.h" |
35 | #include "media/cx2341x.h" | ||
35 | 36 | ||
36 | #include <linux/version.h> | 37 | #include <linux/version.h> |
37 | #include <linux/mutex.h> | 38 | #include <linux/mutex.h> |
@@ -157,6 +158,7 @@ typedef enum { | |||
157 | CX23885_MPEG_UNDEFINED = 0, | 158 | CX23885_MPEG_UNDEFINED = 0, |
158 | CX23885_MPEG_DVB, | 159 | CX23885_MPEG_DVB, |
159 | CX23885_ANALOG_VIDEO, | 160 | CX23885_ANALOG_VIDEO, |
161 | CX23885_MPEG_ENCODER, | ||
160 | } port_t; | 162 | } port_t; |
161 | 163 | ||
162 | struct cx23885_board { | 164 | struct cx23885_board { |
@@ -255,6 +257,8 @@ struct cx23885_tsport { | |||
255 | u32 gen_ctrl_val; | 257 | u32 gen_ctrl_val; |
256 | u32 ts_clk_en_val; | 258 | u32 ts_clk_en_val; |
257 | u32 src_sel_val; | 259 | u32 src_sel_val; |
260 | u32 vld_misc_val; | ||
261 | u32 hw_sop_ctrl_val; | ||
258 | }; | 262 | }; |
259 | 263 | ||
260 | struct cx23885_dev { | 264 | struct cx23885_dev { |
@@ -315,6 +319,14 @@ struct cx23885_dev { | |||
315 | struct cx23885_dmaqueue vidq; | 319 | struct cx23885_dmaqueue vidq; |
316 | struct cx23885_dmaqueue vbiq; | 320 | struct cx23885_dmaqueue vbiq; |
317 | spinlock_t slock; | 321 | spinlock_t slock; |
322 | |||
323 | /* MPEG Encoder ONLY settings */ | ||
324 | u32 cx23417_mailbox; | ||
325 | struct cx2341x_mpeg_params mpeg_params; | ||
326 | struct video_device *v4l_device; | ||
327 | atomic_t v4l_reader_count; | ||
328 | struct cx23885_tvnorm encodernorm; | ||
329 | |||
318 | }; | 330 | }; |
319 | 331 | ||
320 | extern struct list_head cx23885_devlist; | 332 | extern struct list_head cx23885_devlist; |
@@ -436,6 +448,17 @@ extern void cx23885_call_i2c_clients(struct cx23885_i2c *bus, unsigned int cmd, | |||
436 | void *arg); | 448 | void *arg); |
437 | 449 | ||
438 | /* ----------------------------------------------------------- */ | 450 | /* ----------------------------------------------------------- */ |
451 | /* cx23885-417.c */ | ||
452 | extern int cx23885_417_register(struct cx23885_dev *dev); | ||
453 | extern void cx23885_417_unregister(struct cx23885_dev *dev); | ||
454 | extern int cx23885_irq_417(struct cx23885_dev *dev, u32 status); | ||
455 | extern void cx23885_417_check_encoder(struct cx23885_dev *dev); | ||
456 | extern void cx23885_mc417_init(struct cx23885_dev *dev); | ||
457 | extern int mc417_memory_read(struct cx23885_dev *dev, u32 address, u32 *value); | ||
458 | extern int mc417_memory_write(struct cx23885_dev *dev, u32 address, u32 value); | ||
459 | |||
460 | |||
461 | /* ----------------------------------------------------------- */ | ||
439 | /* tv norms */ | 462 | /* tv norms */ |
440 | 463 | ||
441 | static inline unsigned int norm_maxw(v4l2_std_id norm) | 464 | static inline unsigned int norm_maxw(v4l2_std_id norm) |