On 3/18/07, Darron Broad <darron@xxxxxxxx> wrote:
>> 3. the delivery field has to be set >> > > >delivery system is set using DVBFE_SET_PARAMS, without which you >wouldn't be able to tune to anything, because of the switch statement. the delivery type is indeed taken from the command line and used for logic in the code, however, it's not passed to the driver.
It is. Take a look at the delsys switch in the stb0899 driver. The STB0899 depends on the delivery system and the Physical Layer parameters to decide which modulation to use. http://linuxtv.org/hg/~manu/stb0899-c5?f=d6f0bf7681d1;file=linux/drivers/media/dvb/frontends/stb0899_drv.c;style=gitweb The delivery system is sent to the driver, without which tuning/demodulation is impossible "on any multistandard demod" 1288 static int stb0899_get_info(struct dvb_frontend *fe, struct dvbfe_info *fe_info) 1289 { 1290 struct stb0899_state *state = fe->demodulator_priv; 1291 1292 dprintk(verbose, FE_DEBUG, 1, "Get Info"); 1293 1294 state->delsys = fe_info->delivery; 1295 switch (state->delsys) { 1296 case DVBFE_DELSYS_DVBS: 1297 dprintk(verbose, FE_ERROR, 1, "Querying DVB-S info"); 1298 memcpy(fe_info, &dvbs_info, sizeof (struct dvbfe_info)); 1299 break; 1300 case DVBFE_DELSYS_DSS: 1301 dprintk(verbose, FE_ERROR, 1, "Querying DSS info"); 1302 memcpy(fe_info, &dss_info, sizeof (struct dvbfe_info)); 1303 break; 1304 case DVBFE_DELSYS_DVBS2: 1305 dprintk(verbose, FE_ERROR, 1, "Querying DVB-S2 info"); 1306 memcpy(fe_info, &dvbs2_info, sizeof (struct dvbfe_info)); 1307 break; 1308 default: 1309 dprintk(verbose, FE_ERROR, 1, "Unsupported delivery system"); 1310 return -EINVAL; 1311 } 1312 dprintk(verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys); 1313 1314 return 0; 1315 } Manu _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb