aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/bt8xx
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@linuxtv.org>2005-05-17 00:54:45 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-17 10:59:34 -0400
commit4a2cc1269b6c1404e6e882cee604d55c90927467 (patch)
tree0035cedefc9f64acb8ca584482a5ba4f130f1313 /drivers/media/dvb/bt8xx
parentb46dd4456f87fbad634d9a63d607fc54e4381cb4 (diff)
[PATCH] dvb: DST: misc. fixes
removed unused module parameter session removed unnecesary delay for FTA cards (Manu Abraham) Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/bt8xx')
-rw-r--r--drivers/media/dvb/bt8xx/dst.c14
-rw-r--r--drivers/media/dvb/bt8xx/dst_ca.c19
-rw-r--r--drivers/media/dvb/bt8xx/dst_common.h8
3 files changed, 16 insertions, 25 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index fc74f4097850..d047e349d706 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -44,13 +44,7 @@ MODULE_PARM_DESC(debug, "debug messages, default is 0 (yes)");
44 44
45static unsigned int dst_addons; 45static unsigned int dst_addons;
46module_param(dst_addons, int, 0644); 46module_param(dst_addons, int, 0644);
47MODULE_PARM_DESC(dst_addons, "CA daughterboard, default is 0 (no)"); 47MODULE_PARM_DESC(dst_addons, "CA daughterboard, default is 0 (No addons)");
48
49static unsigned int new_fw;
50module_param(new_fw, int, 0644);
51MODULE_PARM_DESC(new_fw, "Support for the new interface firmware, default 0");
52
53
54 48
55#define dprintk if (debug) printk 49#define dprintk if (debug) printk
56 50
@@ -787,7 +781,11 @@ static int dst_probe(struct dst_state *state)
787 dprintk("%s: RDC 8820 RESET Failed.\n", __FUNCTION__); 781 dprintk("%s: RDC 8820 RESET Failed.\n", __FUNCTION__);
788 return -1; 782 return -1;
789 } 783 }
790 msleep(4000); 784 if (dst_addons & DST_TYPE_HAS_CA)
785 msleep(4000);
786 else
787 msleep(100);
788
791 if ((dst_comm_init(state)) < 0) { 789 if ((dst_comm_init(state)) < 0) {
792 dprintk("%s: DST Initialization Failed.\n", __FUNCTION__); 790 dprintk("%s: DST Initialization Failed.\n", __FUNCTION__);
793 return -1; 791 return -1;
diff --git a/drivers/media/dvb/bt8xx/dst_ca.c b/drivers/media/dvb/bt8xx/dst_ca.c
index 206aee3336bc..9160bdf479a2 100644
--- a/drivers/media/dvb/bt8xx/dst_ca.c
+++ b/drivers/media/dvb/bt8xx/dst_ca.c
@@ -40,23 +40,16 @@ static unsigned int debug = 1;
40module_param(debug, int, 0644); 40module_param(debug, int, 0644);
41MODULE_PARM_DESC(dst_ca_debug, "debug messages, default is 0 (yes)"); 41MODULE_PARM_DESC(dst_ca_debug, "debug messages, default is 0 (yes)");
42 42
43static unsigned int session;
44module_param(session, int, 0644);
45MODULE_PARM_DESC(session, "Support for hardware that has multiple sessions, default 0");
46
47static unsigned int new_ca;
48module_param(new_ca, int, 0644);
49MODULE_PARM_DESC(new_ca, "Support for the new CA interface firmware, default 0");
50
51#define dprintk if (debug) printk 43#define dprintk if (debug) printk
52 44
53 45/* Need some more work */
54static int ca_set_slot_descr(void) 46static int ca_set_slot_descr(void)
55{ 47{
56 /* We could make this more graceful ? */ 48 /* We could make this more graceful ? */
57 return -EOPNOTSUPP; 49 return -EOPNOTSUPP;
58} 50}
59 51
52/* Need some more work */
60static int ca_set_pid(void) 53static int ca_set_pid(void)
61{ 54{
62 /* We could make this more graceful ? */ 55 /* We could make this more graceful ? */
@@ -213,7 +206,7 @@ static int ca_get_slot_caps(struct dst_state *state, struct ca_caps *p_ca_caps,
213 return 0; 206 return 0;
214} 207}
215 208
216 209/* Need some more work */
217static int ca_get_slot_descr(struct dst_state *state, struct ca_msg *p_ca_message, void *arg) 210static int ca_get_slot_descr(struct dst_state *state, struct ca_msg *p_ca_message, void *arg)
218{ 211{
219 return -EOPNOTSUPP; 212 return -EOPNOTSUPP;
@@ -302,9 +295,9 @@ static int ca_get_message(struct dst_state *state, struct ca_msg *p_ca_message,
302 return 0; 295 return 0;
303} 296}
304 297
305static int handle_en50221_tag(struct ca_msg *p_ca_message, struct ca_msg *hw_buffer) 298static int handle_en50221_tag(struct dst_state *state, struct ca_msg *p_ca_message, struct ca_msg *hw_buffer)
306{ 299{
307 if (session) { 300 if (state->dst_hw_cap & DST_TYPE_HAS_SESSION) {
308 hw_buffer->msg[2] = p_ca_message->msg[1]; /* MSB */ 301 hw_buffer->msg[2] = p_ca_message->msg[1]; /* MSB */
309 hw_buffer->msg[3] = p_ca_message->msg[2]; /* LSB */ 302 hw_buffer->msg[3] = p_ca_message->msg[2]; /* LSB */
310 } 303 }
@@ -351,7 +344,7 @@ static int ca_set_pmt(struct dst_state *state, struct ca_msg *p_ca_message, stru
351 if (verbose > 3) 344 if (verbose > 3)
352 dprintk("%s, p_ca_message length %d (0x%x)\n", __FUNCTION__,p_ca_message->length,p_ca_message->length ); 345 dprintk("%s, p_ca_message length %d (0x%x)\n", __FUNCTION__,p_ca_message->length,p_ca_message->length );
353 346
354 handle_en50221_tag(p_ca_message, hw_buffer); /* EN50221 tag */ 347 handle_en50221_tag(state, p_ca_message, hw_buffer); /* EN50221 tag */
355 348
356 /* Handle the length field (variable) */ 349 /* Handle the length field (variable) */
357 if (!(p_ca_message->msg[3] & 0x80)) { /* Length = 1 */ 350 if (!(p_ca_message->msg[3] & 0x80)) { /* Length = 1 */
diff --git a/drivers/media/dvb/bt8xx/dst_common.h b/drivers/media/dvb/bt8xx/dst_common.h
index e3b59f16c7af..0b3da29245fb 100644
--- a/drivers/media/dvb/bt8xx/dst_common.h
+++ b/drivers/media/dvb/bt8xx/dst_common.h
@@ -48,7 +48,6 @@
48#define DST_TYPE_HAS_FW_3 32 48#define DST_TYPE_HAS_FW_3 32
49#define DST_TYPE_HAS_FW_BUILD 64 49#define DST_TYPE_HAS_FW_BUILD 64
50 50
51
52/* Card capability list */ 51/* Card capability list */
53 52
54#define DST_TYPE_HAS_MAC 1 53#define DST_TYPE_HAS_MAC 1
@@ -58,6 +57,7 @@
58#define DST_TYPE_HAS_MOTO 16 57#define DST_TYPE_HAS_MOTO 16
59#define DST_TYPE_HAS_CA 32 58#define DST_TYPE_HAS_CA 32
60#define DST_TYPE_HAS_ANALOG 64 /* Analog inputs */ 59#define DST_TYPE_HAS_ANALOG 64 /* Analog inputs */
60#define DST_TYPE_HAS_SESSION 128
61 61
62 62
63#define RDC_8820_PIO_0_DISABLE 0 63#define RDC_8820_PIO_0_DISABLE 0
@@ -107,7 +107,7 @@ struct dst_state {
107 unsigned long cur_jiff; 107 unsigned long cur_jiff;
108 u8 k22; 108 u8 k22;
109 fe_bandwidth_t bandwidth; 109 fe_bandwidth_t bandwidth;
110 u8 dst_hw_cap; 110 u32 dst_hw_cap;
111 u8 dst_fw_version; 111 u8 dst_fw_version;
112 fe_sec_mini_cmd_t minicmd; 112 fe_sec_mini_cmd_t minicmd;
113 u8 messages[256]; 113 u8 messages[256];
@@ -117,8 +117,8 @@ struct dst_types {
117 char *device_id; 117 char *device_id;
118 int offset; 118 int offset;
119 u8 dst_type; 119 u8 dst_type;
120 u64 type_flags; 120 u32 type_flags;
121 u64 dst_feature; 121 u32 dst_feature;
122}; 122};
123 123
124 124