[linux-dvb] HVR4000 Support

Manu Abraham abraham.manu at gmail.com
Sun Mar 18 12:07:20 CET 2007


On 3/18/07, Darron Broad <darron at kewl.org> 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



More information about the linux-dvb mailing list