On Wednesday 18 January 2012 14:40:09 Mauro Carvalho Chehab wrote: > Em 18-01-2012 10:49, Patrick Boettcher escreveu: > > On Tuesday 17 January 2012 19:45:28 you wrote: > >> On ISDB-T, a few carriers are reserved for TMCC decoding > >> (1 to 20 carriers, depending on the mode). Those carriers > >> use the DBPSK modulation, and contain the information about > >> each of the three layers of carriers (modulation, partial > >> reception, inner code, interleaving, and number of segments). > >> > >> If the TMCC carrier was not locked and decoded, no information > >> would be provided by get_frontend(). So, instead of returning > >> false values, return -EAGAIN. > >> > >> Another alternative for this patch would be to add a flag to > >> fe_status (FE_HAS_GET_FRONTEND?), to indicate that the ISDB-T > >> TMCC carriers (and DVB-T TPS?), required for get_frontend > >> to work, are locked. > >> > >> Comments? > > > > I think it changes the behaviour of get_frontend too much and in > > fact transmission parameter signaling (TPS for DVB-T, TMCC for > > ISDB-T) locks are already or should be if not integrated to the > > status locks. > > > > Also those parameters can change over time and signal a > > "reconfiguration" of the transmission. > > > > So, for me I would vote against this kind of implementation in > > favor a better one. Unfortunately I don't have a much better idea > > at hand right now. > > The current status are: > > typedef enum fe_status { > FE_HAS_SIGNAL = 0x01, /* found something above the noise > level */ FE_HAS_CARRIER = 0x02, /* found a DVB signal */ > FE_HAS_VITERBI = 0x04, /* FEC is stable */ > FE_HAS_SYNC = 0x08, /* found sync bytes */ > FE_HAS_LOCK = 0x10, /* everything's working... */ > FE_TIMEDOUT = 0x20, /* no lock within the last ~2 > seconds */ FE_REINIT = 0x40 /* frontend was reinitialized, */ } > fe_status_t; /* application is recommended to > reset */ > > There are a few options that can be done: > > 1) only rise FE_HAS_LOCK if TPS/TMCC demod were locked. The > "description" for FE_HAS_LOCK ("everything's working") seems to > indicate that TMCC lock/TPS lock is also part of "everything". HAS_LOCK includes TPS-lock, right. But TPS-lock can raise much before HAS_LOCK and at worse signal conditions. In DVB-T and ISDB-T we can have the parameters at -1 dB SNR (or below) whereas data reception at least needs ~3 dB ( QPSK 1/2 in DVB-T) and much more for the modulations used currently on earth. > 2) create a new status for it. Maybe that's the way to go then. FE_HAS_PARAMETERS. > With regards to dvb-core get_frontend() call, it only makes sense if > the TPS/TMCC is locked. So, I think that such call needs to be > limited to happen only when the lock were archived, like the > enclosed patch. OK. -- Patrick Boettcher Kernel Labs Inc. http://www.kernellabs.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html