mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
V4L/DVB (6091): ivtv: header cleanup
- add guards - remove unused header includes - move card-specific stuff from ivtv-driver.h to ivtv-cards.h - move YUV-specific stuff from ivtv-driver.h to ivtv-yuv.h Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
459a52fab2
commit
612570f2c4
@ -19,13 +19,10 @@
|
||||
*/
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-mailbox.h"
|
||||
#include "ivtv-i2c.h"
|
||||
#include "ivtv-gpio.h"
|
||||
#include "ivtv-cards.h"
|
||||
#include "ivtv-audio.h"
|
||||
#include <media/msp3400.h>
|
||||
#include <linux/videodev.h>
|
||||
|
||||
/* Selects the audio input and output according to the current
|
||||
settings. */
|
||||
|
@ -18,6 +18,11 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_AUDIO_H
|
||||
#define IVTV_AUDIO_H
|
||||
|
||||
int ivtv_audio_set_io(struct ivtv *itv);
|
||||
void ivtv_audio_set_route(struct ivtv *itv, struct v4l2_routing *route);
|
||||
void ivtv_audio_set_audio_clock_freq(struct ivtv *itv, u8 freq);
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,68 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_CARDS_H
|
||||
#define IVTV_CARDS_H
|
||||
|
||||
/* Supported cards */
|
||||
#define IVTV_CARD_PVR_250 0 /* WinTV PVR 250 */
|
||||
#define IVTV_CARD_PVR_350 1 /* encoder, decoder, tv-out */
|
||||
#define IVTV_CARD_PVR_150 2 /* WinTV PVR 150 and PVR 500 (really just two
|
||||
PVR150s on one PCI board) */
|
||||
#define IVTV_CARD_M179 3 /* AVerMedia M179 (encoder only) */
|
||||
#define IVTV_CARD_MPG600 4 /* Kuroutoshikou ITVC16-STVLP/YUAN MPG600, encoder only */
|
||||
#define IVTV_CARD_MPG160 5 /* Kuroutoshikou ITVC15-STVLP/YUAN MPG160
|
||||
cx23415 based, but does not have tv-out */
|
||||
#define IVTV_CARD_PG600 6 /* YUAN PG600/DIAMONDMM PVR-550 based on the CX Falcon 2 */
|
||||
#define IVTV_CARD_AVC2410 7 /* Adaptec AVC-2410 */
|
||||
#define IVTV_CARD_AVC2010 8 /* Adaptec AVD-2010 (No Tuner) */
|
||||
#define IVTV_CARD_TG5000TV 9 /* NAGASE TRANSGEAR 5000TV, encoder only */
|
||||
#define IVTV_CARD_VA2000MAX_SNT6 10 /* VA2000MAX-STN6 */
|
||||
#define IVTV_CARD_CX23416GYC 11 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */
|
||||
#define IVTV_CARD_GV_MVPRX 12 /* I/O Data GV-MVP/RX, RX2, RX2W */
|
||||
#define IVTV_CARD_GV_MVPRX2E 13 /* I/O Data GV-MVP/RX2E */
|
||||
#define IVTV_CARD_GOTVIEW_PCI_DVD 14 /* GotView PCI DVD */
|
||||
#define IVTV_CARD_GOTVIEW_PCI_DVD2 15 /* GotView PCI DVD2 */
|
||||
#define IVTV_CARD_YUAN_MPC622 16 /* Yuan MPC622 miniPCI */
|
||||
#define IVTV_CARD_DCTMTVP1 17 /* DIGITAL COWBOY DCT-MTVP1 */
|
||||
#define IVTV_CARD_PG600V2 18 /* Yuan PG600V2/GotView PCI DVD Lite */
|
||||
#define IVTV_CARD_CLUB3D 19 /* Club3D ZAP-TV1x01 */
|
||||
#define IVTV_CARD_AVERTV_MCE116 20 /* AVerTV MCE 116 Plus */
|
||||
#define IVTV_CARD_LAST 20
|
||||
|
||||
/* Variants of existing cards but with the same PCI IDs. The driver
|
||||
detects these based on other device information.
|
||||
These cards must always come last.
|
||||
New cards must be inserted above, and the indices of the cards below
|
||||
must be adjusted accordingly. */
|
||||
|
||||
/* PVR-350 V1 (uses saa7114) */
|
||||
#define IVTV_CARD_PVR_350_V1 (IVTV_CARD_LAST+1)
|
||||
/* 2 variants of Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */
|
||||
#define IVTV_CARD_CX23416GYC_NOGR (IVTV_CARD_LAST+2)
|
||||
#define IVTV_CARD_CX23416GYC_NOGRYCS (IVTV_CARD_LAST+3)
|
||||
|
||||
/* system vendor and device IDs */
|
||||
#define PCI_VENDOR_ID_ICOMP 0x4444
|
||||
#define PCI_DEVICE_ID_IVTV15 0x0803
|
||||
#define PCI_DEVICE_ID_IVTV16 0x0016
|
||||
|
||||
/* subsystem vendor ID */
|
||||
#define IVTV_PCI_ID_HAUPPAUGE 0x0070
|
||||
#define IVTV_PCI_ID_HAUPPAUGE_ALT1 0x0270
|
||||
#define IVTV_PCI_ID_HAUPPAUGE_ALT2 0x4070
|
||||
#define IVTV_PCI_ID_ADAPTEC 0x9005
|
||||
#define IVTV_PCI_ID_AVERMEDIA 0x1461
|
||||
#define IVTV_PCI_ID_YUAN1 0x12ab
|
||||
#define IVTV_PCI_ID_YUAN2 0xff01
|
||||
#define IVTV_PCI_ID_YUAN3 0xffab
|
||||
#define IVTV_PCI_ID_YUAN4 0xfbab
|
||||
#define IVTV_PCI_ID_DIAMONDMM 0xff92
|
||||
#define IVTV_PCI_ID_IODATA 0x10fc
|
||||
#define IVTV_PCI_ID_MELCO 0x1154
|
||||
#define IVTV_PCI_ID_GOTVIEW1 0xffac
|
||||
#define IVTV_PCI_ID_GOTVIEW2 0xffad
|
||||
|
||||
/* hardware flags */
|
||||
#define IVTV_HW_CX25840 (1 << 0)
|
||||
#define IVTV_HW_SAA7115 (1 << 1)
|
||||
@ -206,3 +268,5 @@ int ivtv_get_output(struct ivtv *itv, u16 index, struct v4l2_output *output);
|
||||
int ivtv_get_audio_input(struct ivtv *itv, u16 index, struct v4l2_audio *input);
|
||||
int ivtv_get_audio_output(struct ivtv *itv, u16 index, struct v4l2_audioout *output);
|
||||
const struct ivtv_card *ivtv_get_card(u16 index);
|
||||
|
||||
#endif
|
||||
|
@ -18,4 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_CONTROLS_H
|
||||
#define IVTV_CONTROLS_H
|
||||
|
||||
int ivtv_control_ioctls(struct ivtv *itv, unsigned int cmd, void *arg);
|
||||
|
||||
#endif
|
||||
|
@ -87,13 +87,6 @@ static struct pci_device_id ivtv_pci_tbl[] __devinitdata = {
|
||||
|
||||
MODULE_DEVICE_TABLE(pci,ivtv_pci_tbl);
|
||||
|
||||
const u32 yuv_offset[4] = {
|
||||
IVTV_YUV_BUFFER_OFFSET,
|
||||
IVTV_YUV_BUFFER_OFFSET_1,
|
||||
IVTV_YUV_BUFFER_OFFSET_2,
|
||||
IVTV_YUV_BUFFER_OFFSET_3
|
||||
};
|
||||
|
||||
/* Parameter declarations */
|
||||
static int cardtype[IVTV_MAX_CARDS];
|
||||
static int tuner[IVTV_MAX_CARDS] = { -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
|
@ -74,61 +74,10 @@
|
||||
#define IVTV_REG_OFFSET 0x02000000
|
||||
#define IVTV_REG_SIZE 0x00010000
|
||||
|
||||
/* Buffers on hardware offsets */
|
||||
#define IVTV_YUV_BUFFER_OFFSET 0x001a8600 /* First YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_1 0x00240400 /* Second YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_2 0x002d8200 /* Third YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_3 0x00370000 /* Fourth YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_UV_OFFSET 0x65400 /* Offset to UV Buffer */
|
||||
|
||||
/* Offset to filter table in firmware */
|
||||
#define IVTV_YUV_HORIZONTAL_FILTER_OFFSET 0x025d8
|
||||
#define IVTV_YUV_VERTICAL_FILTER_OFFSET 0x03358
|
||||
|
||||
extern const u32 yuv_offset[4];
|
||||
|
||||
/* Maximum ivtv driver instances. Some people have a huge number of
|
||||
capture cards, so set this to a high value. */
|
||||
#define IVTV_MAX_CARDS 32
|
||||
|
||||
/* Supported cards */
|
||||
#define IVTV_CARD_PVR_250 0 /* WinTV PVR 250 */
|
||||
#define IVTV_CARD_PVR_350 1 /* encoder, decoder, tv-out */
|
||||
#define IVTV_CARD_PVR_150 2 /* WinTV PVR 150 and PVR 500 (really just two
|
||||
PVR150s on one PCI board) */
|
||||
#define IVTV_CARD_M179 3 /* AVerMedia M179 (encoder only) */
|
||||
#define IVTV_CARD_MPG600 4 /* Kuroutoshikou ITVC16-STVLP/YUAN MPG600, encoder only */
|
||||
#define IVTV_CARD_MPG160 5 /* Kuroutoshikou ITVC15-STVLP/YUAN MPG160
|
||||
cx23415 based, but does not have tv-out */
|
||||
#define IVTV_CARD_PG600 6 /* YUAN PG600/DIAMONDMM PVR-550 based on the CX Falcon 2 */
|
||||
#define IVTV_CARD_AVC2410 7 /* Adaptec AVC-2410 */
|
||||
#define IVTV_CARD_AVC2010 8 /* Adaptec AVD-2010 (No Tuner) */
|
||||
#define IVTV_CARD_TG5000TV 9 /* NAGASE TRANSGEAR 5000TV, encoder only */
|
||||
#define IVTV_CARD_VA2000MAX_SNT6 10 /* VA2000MAX-STN6 */
|
||||
#define IVTV_CARD_CX23416GYC 11 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */
|
||||
#define IVTV_CARD_GV_MVPRX 12 /* I/O Data GV-MVP/RX, RX2, RX2W */
|
||||
#define IVTV_CARD_GV_MVPRX2E 13 /* I/O Data GV-MVP/RX2E */
|
||||
#define IVTV_CARD_GOTVIEW_PCI_DVD 14 /* GotView PCI DVD */
|
||||
#define IVTV_CARD_GOTVIEW_PCI_DVD2 15 /* GotView PCI DVD2 */
|
||||
#define IVTV_CARD_YUAN_MPC622 16 /* Yuan MPC622 miniPCI */
|
||||
#define IVTV_CARD_DCTMTVP1 17 /* DIGITAL COWBOY DCT-MTVP1 */
|
||||
#define IVTV_CARD_PG600V2 18 /* Yuan PG600V2/GotView PCI DVD Lite */
|
||||
#define IVTV_CARD_CLUB3D 19 /* Club3D ZAP-TV1x01 */
|
||||
#define IVTV_CARD_AVERTV_MCE116 20 /* AVerTV MCE 116 Plus */
|
||||
#define IVTV_CARD_LAST 20
|
||||
|
||||
/* Variants of existing cards but with the same PCI IDs. The driver
|
||||
detects these based on other device information.
|
||||
These cards must always come last.
|
||||
New cards must be inserted above, and the indices of the cards below
|
||||
must be adjusted accordingly. */
|
||||
|
||||
/* PVR-350 V1 (uses saa7114) */
|
||||
#define IVTV_CARD_PVR_350_V1 (IVTV_CARD_LAST+1)
|
||||
/* 2 variants of Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */
|
||||
#define IVTV_CARD_CX23416GYC_NOGR (IVTV_CARD_LAST+2)
|
||||
#define IVTV_CARD_CX23416GYC_NOGRYCS (IVTV_CARD_LAST+3)
|
||||
|
||||
#define IVTV_ENC_STREAM_TYPE_MPG 0
|
||||
#define IVTV_ENC_STREAM_TYPE_YUV 1
|
||||
#define IVTV_ENC_STREAM_TYPE_VBI 2
|
||||
@ -150,27 +99,6 @@ extern const u32 yuv_offset[4];
|
||||
#define IVTV_ENC_MEM_START 0x00000000
|
||||
#define IVTV_DEC_MEM_START 0x01000000
|
||||
|
||||
/* system vendor and device IDs */
|
||||
#define PCI_VENDOR_ID_ICOMP 0x4444
|
||||
#define PCI_DEVICE_ID_IVTV15 0x0803
|
||||
#define PCI_DEVICE_ID_IVTV16 0x0016
|
||||
|
||||
/* subsystem vendor ID */
|
||||
#define IVTV_PCI_ID_HAUPPAUGE 0x0070
|
||||
#define IVTV_PCI_ID_HAUPPAUGE_ALT1 0x0270
|
||||
#define IVTV_PCI_ID_HAUPPAUGE_ALT2 0x4070
|
||||
#define IVTV_PCI_ID_ADAPTEC 0x9005
|
||||
#define IVTV_PCI_ID_AVERMEDIA 0x1461
|
||||
#define IVTV_PCI_ID_YUAN1 0x12ab
|
||||
#define IVTV_PCI_ID_YUAN2 0xff01
|
||||
#define IVTV_PCI_ID_YUAN3 0xffab
|
||||
#define IVTV_PCI_ID_YUAN4 0xfbab
|
||||
#define IVTV_PCI_ID_DIAMONDMM 0xff92
|
||||
#define IVTV_PCI_ID_IODATA 0x10fc
|
||||
#define IVTV_PCI_ID_MELCO 0x1154
|
||||
#define IVTV_PCI_ID_GOTVIEW1 0xffac
|
||||
#define IVTV_PCI_ID_GOTVIEW2 0xffad
|
||||
|
||||
/* Decoder Buffer hardware size on Chip */
|
||||
#define IVTV_DEC_MAX_BUF 0x00100000 /* max bytes in decoder buffer */
|
||||
#define IVTV_DEC_MIN_BUF 0x00010000 /* min bytes in dec buffer */
|
||||
@ -890,4 +818,4 @@ int ivtv_init_on_first_open(struct ivtv *itv);
|
||||
#define write_dec_sync(val, addr) \
|
||||
do { write_dec(val, addr); read_dec(addr); } while (0)
|
||||
|
||||
#endif /* IVTV_DRIVER_H */
|
||||
#endif
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "ivtv-audio.h"
|
||||
#include "ivtv-streams.h"
|
||||
#include "ivtv-yuv.h"
|
||||
#include "ivtv-controls.h"
|
||||
#include "ivtv-ioctl.h"
|
||||
#include "ivtv-cards.h"
|
||||
#include <media/saa7115.h>
|
||||
|
@ -18,6 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_FILEOPS_H
|
||||
#define IVTV_FILEOPS_H
|
||||
|
||||
/* Testing/Debugging */
|
||||
int ivtv_v4l2_open(struct inode *inode, struct file *filp);
|
||||
ssize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
|
||||
@ -42,3 +45,5 @@ int ivtv_claim_stream(struct ivtv_open_id *id, int type);
|
||||
|
||||
/* Release a previously claimed stream. */
|
||||
void ivtv_release_stream(struct ivtv_stream *s);
|
||||
|
||||
#endif
|
||||
|
@ -19,7 +19,12 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_FIRMWARE_H
|
||||
#define IVTV_FIRMWARE_H
|
||||
|
||||
int ivtv_firmware_init(struct ivtv *itv);
|
||||
void ivtv_firmware_versions(struct ivtv *itv);
|
||||
void ivtv_halt_firmware(struct ivtv *itv);
|
||||
void ivtv_init_mpeg_decoder(struct ivtv *itv);
|
||||
|
||||
#endif
|
||||
|
@ -18,8 +18,13 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_GPIO_H
|
||||
#define IVTV_GPIO_H
|
||||
|
||||
/* GPIO stuff */
|
||||
void ivtv_gpio_init(struct ivtv *itv);
|
||||
void ivtv_reset_ir_gpio(struct ivtv *itv);
|
||||
int ivtv_reset_tuner_gpio(void *dev, int cmd, int value);
|
||||
int ivtv_gpio(struct ivtv *itv, unsigned int command, void *arg);
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_I2C_H
|
||||
#define IVTV_I2C_H
|
||||
|
||||
int ivtv_cx25840(struct ivtv *itv, unsigned int cmd, void *arg);
|
||||
int ivtv_saa7115(struct ivtv *itv, unsigned int cmd, void *arg);
|
||||
int ivtv_saa7127(struct ivtv *itv, unsigned int cmd, void *arg);
|
||||
@ -34,3 +37,5 @@ void ivtv_call_i2c_clients(struct ivtv *itv, unsigned int cmd, void *arg);
|
||||
/* init + register i2c algo-bit adapter */
|
||||
int __devinit init_ivtv_i2c(struct ivtv *itv);
|
||||
void __devexit exit_ivtv_i2c(struct ivtv *itv);
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_IOCTL_H
|
||||
#define IVTV_IOCTL_H
|
||||
|
||||
u16 service2vbi(int type);
|
||||
void expand_service_set(struct v4l2_sliced_vbi_format *fmt, int is_pal);
|
||||
u16 get_service_set(struct v4l2_sliced_vbi_format *fmt);
|
||||
@ -26,3 +29,5 @@ int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
|
||||
int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void *arg);
|
||||
void ivtv_set_osd_alpha(struct ivtv *itv);
|
||||
int ivtv_set_speed(struct ivtv *itv, int speed);
|
||||
|
||||
#endif
|
||||
|
@ -19,12 +19,9 @@
|
||||
*/
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-firmware.h"
|
||||
#include "ivtv-fileops.h"
|
||||
#include "ivtv-queue.h"
|
||||
#include "ivtv-udma.h"
|
||||
#include "ivtv-irq.h"
|
||||
#include "ivtv-ioctl.h"
|
||||
#include "ivtv-mailbox.h"
|
||||
#include "ivtv-vbi.h"
|
||||
#include "ivtv-yuv.h"
|
||||
|
@ -19,8 +19,13 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_IRQ_H
|
||||
#define IVTV_IRQ_H
|
||||
|
||||
irqreturn_t ivtv_irq_handler(int irq, void *dev_id);
|
||||
|
||||
void ivtv_irq_work_handler(struct work_struct *work);
|
||||
void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock);
|
||||
void ivtv_unfinished_dma(unsigned long arg);
|
||||
|
||||
#endif
|
||||
|
@ -18,8 +18,13 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_MAILBOX_H
|
||||
#define IVTV_MAILBOX_H
|
||||
|
||||
void ivtv_api_get_data(struct ivtv_mailbox_data *mbox, int mb, u32 data[]);
|
||||
int ivtv_api(struct ivtv *itv, int cmd, int args, u32 data[]);
|
||||
int ivtv_vapi_result(struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args, ...);
|
||||
int ivtv_vapi(struct ivtv *itv, int cmd, int args, ...);
|
||||
int ivtv_api_func(void *priv, int cmd, int in, int out, u32 data[CX2341X_MBOX_MAX_DATA]);
|
||||
|
||||
#endif
|
||||
|
@ -20,9 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-streams.h"
|
||||
#include "ivtv-queue.h"
|
||||
#include "ivtv-mailbox.h"
|
||||
|
||||
int ivtv_buf_copy_from_user(struct ivtv_stream *s, struct ivtv_buffer *buf, const char __user *src, int copybytes)
|
||||
{
|
||||
|
@ -19,6 +19,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_QUEUE_H
|
||||
#define IVTV_QUEUE_H
|
||||
|
||||
#define IVTV_DMA_UNMAPPED ((u32) -1)
|
||||
#define SLICED_VBI_PIO 1
|
||||
|
||||
@ -89,3 +92,5 @@ static inline void ivtv_stream_sync_for_device(struct ivtv_stream *s)
|
||||
pci_dma_sync_single_for_device(s->itv->dev, s->sg_handle,
|
||||
sizeof(struct ivtv_sg_element), PCI_DMA_TODEVICE);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -35,16 +35,12 @@
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-fileops.h"
|
||||
#include "ivtv-i2c.h"
|
||||
#include "ivtv-queue.h"
|
||||
#include "ivtv-mailbox.h"
|
||||
#include "ivtv-audio.h"
|
||||
#include "ivtv-video.h"
|
||||
#include "ivtv-vbi.h"
|
||||
#include "ivtv-ioctl.h"
|
||||
#include "ivtv-irq.h"
|
||||
#include "ivtv-streams.h"
|
||||
#include "ivtv-yuv.h"
|
||||
#include "ivtv-cards.h"
|
||||
#include "ivtv-streams.h"
|
||||
|
||||
static struct file_operations ivtv_v4l2_enc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
|
@ -18,6 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_STREAMS_H
|
||||
#define IVTV_STREAMS_H
|
||||
|
||||
int ivtv_streams_setup(struct ivtv *itv);
|
||||
void ivtv_streams_cleanup(struct ivtv *itv);
|
||||
|
||||
@ -29,3 +32,5 @@ int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts);
|
||||
|
||||
void ivtv_stop_all_captures(struct ivtv *itv);
|
||||
int ivtv_passthrough_mode(struct ivtv *itv, int enable);
|
||||
|
||||
#endif
|
||||
|
@ -21,7 +21,6 @@
|
||||
*/
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-streams.h"
|
||||
#include "ivtv-udma.h"
|
||||
|
||||
void ivtv_udma_get_page_info(struct ivtv_dma_page_info *dma_page, unsigned long first, unsigned long size)
|
||||
|
@ -18,6 +18,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_UDMA_H
|
||||
#define IVTV_UDMA_H
|
||||
|
||||
/* User DMA functions */
|
||||
void ivtv_udma_get_page_info(struct ivtv_dma_page_info *dma_page, unsigned long first, unsigned long size);
|
||||
int ivtv_udma_fill_sg_list(struct ivtv_user_dma *dma, struct ivtv_dma_page_info *dma_page, int map_offset);
|
||||
@ -41,3 +44,5 @@ static inline void ivtv_udma_sync_for_cpu(struct ivtv *itv)
|
||||
pci_dma_sync_single_for_cpu((struct pci_dev *)itv->dev, itv->udma.SG_handle,
|
||||
sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -17,6 +17,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_VBI_H
|
||||
#define IVTV_VBI_H
|
||||
|
||||
ssize_t ivtv_write_vbi(struct ivtv *itv, const char __user *ubuf, size_t count);
|
||||
void ivtv_process_vbi_data(struct ivtv *itv, struct ivtv_buffer *buf,
|
||||
u64 pts_stamp, int streamtype);
|
||||
@ -24,3 +27,5 @@ int ivtv_used_line(struct ivtv *itv, int line, int field);
|
||||
void ivtv_disable_vbi(struct ivtv *itv);
|
||||
void ivtv_set_vbi(unsigned long arg);
|
||||
void ivtv_vbi_work_handler(struct ivtv *itv);
|
||||
|
||||
#endif
|
||||
|
@ -17,6 +17,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_VERSION_H
|
||||
#define IVTV_VERSION_H
|
||||
|
||||
#define IVTV_DRIVER_NAME "ivtv"
|
||||
#define IVTV_DRIVER_VERSION_MAJOR 1
|
||||
#define IVTV_DRIVER_VERSION_MINOR 1
|
||||
@ -24,3 +27,5 @@
|
||||
|
||||
#define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL)
|
||||
#define IVTV_DRIVER_VERSION KERNEL_VERSION(IVTV_DRIVER_VERSION_MAJOR,IVTV_DRIVER_VERSION_MINOR,IVTV_DRIVER_VERSION_PATCHLEVEL)
|
||||
|
||||
#endif
|
||||
|
@ -17,8 +17,13 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_VIDEO_H
|
||||
#define IVTV_VIDEO_H
|
||||
|
||||
void ivtv_set_wss(struct ivtv *itv, int enabled, int mode);
|
||||
void ivtv_set_cc(struct ivtv *itv, int mode, u8 cc1, u8 cc2, u8 cc3, u8 cc4);
|
||||
void ivtv_set_vps(struct ivtv *itv, int enabled, u8 vps1, u8 vps2, u8 vps3,
|
||||
u8 vps4, u8 vps5);
|
||||
void ivtv_video_set_io(struct ivtv *itv);
|
||||
|
||||
#endif
|
||||
|
@ -19,11 +19,16 @@
|
||||
*/
|
||||
|
||||
#include "ivtv-driver.h"
|
||||
#include "ivtv-queue.h"
|
||||
#include "ivtv-udma.h"
|
||||
#include "ivtv-irq.h"
|
||||
#include "ivtv-yuv.h"
|
||||
|
||||
const u32 yuv_offset[4] = {
|
||||
IVTV_YUV_BUFFER_OFFSET,
|
||||
IVTV_YUV_BUFFER_OFFSET_1,
|
||||
IVTV_YUV_BUFFER_OFFSET_2,
|
||||
IVTV_YUV_BUFFER_OFFSET_3
|
||||
};
|
||||
|
||||
static int ivtv_yuv_prep_user_dma(struct ivtv *itv, struct ivtv_user_dma *dma,
|
||||
struct ivtv_dma_frame *args)
|
||||
{
|
||||
|
@ -18,7 +18,25 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef IVTV_YUV_H
|
||||
#define IVTV_YUV_H
|
||||
|
||||
/* Buffers on hardware offsets */
|
||||
#define IVTV_YUV_BUFFER_OFFSET 0x001a8600 /* First YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_1 0x00240400 /* Second YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_2 0x002d8200 /* Third YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_OFFSET_3 0x00370000 /* Fourth YUV Buffer */
|
||||
#define IVTV_YUV_BUFFER_UV_OFFSET 0x65400 /* Offset to UV Buffer */
|
||||
|
||||
/* Offset to filter table in firmware */
|
||||
#define IVTV_YUV_HORIZONTAL_FILTER_OFFSET 0x025d8
|
||||
#define IVTV_YUV_VERTICAL_FILTER_OFFSET 0x03358
|
||||
|
||||
extern const u32 yuv_offset[4];
|
||||
|
||||
int ivtv_yuv_filter_check(struct ivtv *itv);
|
||||
int ivtv_yuv_prep_frame(struct ivtv *itv, struct ivtv_dma_frame *args);
|
||||
void ivtv_yuv_close(struct ivtv *itv);
|
||||
void ivtv_yuv_work_handler (struct ivtv *itv);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user