linux_dsm_epyc7002/drivers/media
Mauro Carvalho Chehab 773adad141 [media] siano: fix status report with old firmware and ISDB-T
This seems to be ever broken. That's the status report with
Firmware 2.1, before adding support for sms2270 is:
[22273.787218] smsdvb_onresponse: MSG_SMS_GET_STATISTICS_RES
[22273.792592] IsRfLocked = 1
[22273.792592] IsDemodLocked = 1
...
[22273.792598] TransmissionMode = -64
...
(all unshown fields are filled with zeros)
Of course, transmission mode being a negative number is wrong.
So, we need to take a deeper look on it.
With the debugfs patches applied, it is possible to see that, instead
of filling StatisticsType with 5, and FullSize with the size of the
payload (this is what happens with sms2270 and firmware 8.1),
those fields are also initialized with zero:
StatisticsType = 0	FullSize = 0
IsRfLocked = 1		IsDemodLocked = 1	IsExternalLNAOn = 0
SNR = 0 dB		RSSI = 0 dBm		InBandPwr = 0 dBm
CarrierOffset = 0	Bandwidth = 0		Frequency = 0 Hz
TransmissionMode = -64	ModemState = 0		GuardInterval = 0
SystemType = 0		PartialReception = 0	NumOfLayers = 0
SmsToHostTxErrors = 0
The data under "TransmissionMode" varies according with the signal,
and it is negative. It also matches the value for InBandPwr when
the tuner is on DVB-T (ok, signal doesn't lock, but the power level
should be about the same with the antena fixed, and measured at about
the same time).
So, there's a very high chance that, when StatisticsType is zero, the
signal strength is at the same position as Transmission Mode.
So, discard all other parameters, and provide only signal/rf lock and
signal strength if StatisticsType is 0, for ISDB-T.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2013-03-21 07:52:16 -03:00
..
common [media] siano: fix status report with old firmware and ISDB-T 2013-03-21 07:52:16 -03:00
dvb-core [media] dvb_demux: Transport stream continuity check fix 2013-03-19 15:14:06 -03:00
dvb-frontends [media] stv090x: do not unlock unheld mutex in stv090x_sleep() 2013-03-14 11:40:32 -03:00
firewire [media] remove include/linux/dvb/dmx.h 2012-10-19 07:29:17 -03:00
i2c [media] tvp7002: remove dv_preset support 2013-03-19 16:08:56 -03:00
mmc [media] siano: simplify message endianness logic 2013-03-21 07:46:18 -03:00
parport [media] bw-qcam: remove unnecessary qc_reset and qc_setscanmode calls 2013-02-05 18:20:38 -02:00
pci [media] cx25821: Cleanup filename assignment code 2013-03-18 20:37:09 -03:00
platform [media] davinci: vpbe: fix module build 2013-03-19 17:53:04 -03:00
radio [media] Media: remove incorrect __init/__exit markups 2013-03-18 16:59:59 -03:00
rc [media] rc-core: rename ir_input_class to rc_class 2013-03-19 15:26:59 -03:00
tuners [media] media: tuners: Remove redundant NULL check before kfree 2013-03-18 17:04:55 -03:00
usb [media] siano: split debugfs code into a separate file 2013-03-21 07:48:41 -03:00
v4l2-core [media] v4l2-mem2mem: drop rdy_queue on STREAMOFF 2013-03-19 15:13:33 -03:00
Kconfig Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-02-24 17:35:10 -08:00
Makefile [media] move i2c files into drivers/media/i2c 2012-09-06 18:42:54 -03:00
media-device.c [media] media: implement 32-on-64 bit compat IOCTL handling 2013-03-18 20:45:14 -03:00
media-devnode.c [media] media: Add 64--32 bit compat ioctl handler 2013-03-18 20:44:36 -03:00
media-entity.c [media] media: Add link_validate() op to check links to the sink pad 2012-05-14 08:44:11 -03:00