[linux-dvb] [patch] Add support for different tuning algorithms
Johannes Stezenbach
js at linuxtv.org
Tue Nov 15 22:35:41 CET 2005
Andrew de Quincey wrote:
> On Tuesday 15 Nov 2005 20:22, Johannes Stezenbach wrote:
> >
> > However, I would prefer to implement this via an
> > FE_SET_FRONTEND_EXT (bad name, need a better one) ioctl,
> > which is basically the same as FE_SET_FRONTEND plus an
> > added flags field. This way you could have one flag
> > for switching off zig-zag, one for switching band filters
> > for analog tuning (some FE have IF output to feed an
> > analog demod) etc.
> >
> > What do you think?
>
> Yeah! I've been thinking along those lines myself a bit... discuss in a bit.
>
> Anyway, here is the latest patch. This one is much better IMO:
>
> 1) The userspace IOCTL only lets you choose between normal and scan. We can
> think about doing this using FE_SET_FRONTEND_EXT in a bit.
> diff -a -u -r1.18 frontend.h
> --- linux/include/linux/dvb/frontend.h 2 Mar 2005 21:42:01 -0000 1.18
> +++ linux/include/linux/dvb/frontend.h 15 Nov 2005 21:21:26 -0000
> @@ -67,6 +67,14 @@
> FE_CAN_MUTE_TS = 0x80000000 // frontend can stop spurious TS data output
> } fe_caps_t;
>
> +/**
> + * FE_TUNE_MODE_NORMAL - "Normal" tune mode.
> + * FE_TUNE_MODE_SCAN - Special tune mode specifically for channel scanning.
> + */
> +typedef enum fe_tune_mode {
> + FE_TUNE_MODE_NORMAL = 0,
> + FE_TUNE_MODE_SCAN = 1,
> +} fe_tune_mode_t;
>
> struct dvb_frontend_info {
> char name[128];
> @@ -260,6 +268,7 @@
>
> #define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters)
> #define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters)
> +#define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81 /* fe_tune_mode_t */)
> #define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
>
> #define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
We could also change FE_SET_FRONTEND_TUNE_MODE to take an
unsigned int flags argument instead of adding FE_SET_FRONTEND_EXT.
It would yield the same result (with the reset on open feature),
and still allow to add other flags without adding new ioctls.
Johannes
More information about the linux-dvb
mailing list