summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/budget.h
diff options
context:
space:
mode:
authorMichael Hunold <devnull@localhost>2003-03-20 08:14:56 +0000
committerMichael Hunold <devnull@localhost>2003-03-20 08:14:56 +0000
commit5797f42d3ed47493db6ec2b904a9e8df10969f90 (patch)
tree37807f3040e7aa319977cb744d8d474fb640ea5a /linux/drivers/media/dvb/ttpci/budget.h
parente5652dff1fcf6156d33686bc1879601ab5c06d47 (diff)
downloadmediapointer-dvb-s2-5797f42d3ed47493db6ec2b904a9e8df10969f90.tar.gz
mediapointer-dvb-s2-5797f42d3ed47493db6ec2b904a9e8df10969f90.tar.bz2
Move the budget-driver from "ttpci-budget" to "ttpci", because the
devices are so similar. Perhaps it will be possible to share more code between these drivers later on.
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/budget.h')
-rw-r--r--linux/drivers/media/dvb/ttpci/budget.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/ttpci/budget.h b/linux/drivers/media/dvb/ttpci/budget.h
new file mode 100644
index 000000000..09dbb2735
--- /dev/null
+++ b/linux/drivers/media/dvb/ttpci/budget.h
@@ -0,0 +1,86 @@
+#ifndef __BUDGET_DVB__
+#define __BUDGET_DVB__
+
+#include "dvb_i2c.h"
+#include "dvb_frontend.h"
+#include "dvbdev.h"
+#include "demux.h"
+#include "dvb_demux.h"
+#include "dmxdev.h"
+#include "dvb_filter.h"
+#include "dvb_net.h"
+#include "saa7146.h"
+
+
+extern int budget_debug;
+
+struct budget_info {
+ char *name;
+ int type;
+};
+
+/* place to store all the necessary device information */
+struct budget {
+
+ /* devices */
+ struct dvb_device dvb_dev;
+ dvb_net_t dvb_net;
+
+ struct saa7146_dev *dev;
+
+ struct dvb_i2c_bus *i2c_bus;
+ struct budget_info *card;
+
+ unsigned char *grabbing;
+ struct saa7146_pgtable pt;
+
+ struct tasklet_struct fidb_tasklet;
+ struct tasklet_struct vpe_tasklet;
+
+ dmxdev_t dmxdev;
+ struct dvb_demux demux;
+ char demux_id[16];
+
+ dmx_frontend_t hw_frontend;
+ dmx_frontend_t mem_frontend;
+
+ int fe_synced;
+ struct semaphore pid_mutex;
+
+ u8 tsf;
+ u32 ttbp;
+ int feeding;
+
+ struct dvb_adapter *dvb_adapter;
+ void *priv;
+};
+
+
+
+#define MAKE_BUDGET_INFO(x_var,x_name,x_type) \
+static struct budget_info x_var ## _info = { \
+ .name=x_name, \
+ .type=x_type }; \
+static struct saa7146_pci_extension_data x_var = { \
+ .ext_priv = &x_var ## _info, \
+ .ext = &budget_extension };
+
+#define TS_WIDTH (4*188)
+#define TS_HEIGHT (1024/4)
+#define TS_BUFLEN (TS_WIDTH*TS_HEIGHT)
+#define TS_MAX_PACKETS (TS_BUFLEN/TS_SIZE)
+
+#define BUDGET_TT 0
+#define BUDGET_TT_HW_DISEQC 1
+#define BUDGET_KNC1 2
+#define BUDGET_PATCH 3
+
+
+extern int ttpci_budget_init (struct budget *budget,
+ struct saa7146_dev* dev,
+ struct saa7146_pci_extension_data *info);
+extern int ttpci_budget_deinit (struct budget *budget);
+extern void ttpci_budget_irq10_handler (struct saa7146_dev* dev, u32 *isr);
+
+#endif
+