[linux-dvb] HVR4000 Support

Darron Broad darron at kewl.org
Sun Mar 18 12:13:20 CET 2007


In message <1a297b360703180407r63b1e98dj561ae0a0abc8188f at mail.gmail.com>, "Manu Abraham" wrote:
>On 3/18/07, Darron Broad <darron at kewl.org> wrote:

lo

>> >> 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"

specifically Steve's driver needs to the delivery system type
to be set when calling set_params.

it would appear from your code snippet that your driver is
setting internal state when peforming a query. surely this
is illogical behaviour.

bye

>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
>

--

 // /
{:)==={ Darron Broad <darron at kewl.org>
 \\ \ 




More information about the linux-dvb mailing list