media: media/siano: Fix transmission parameters reporting for ISDB-T
authorNicolas Stuardo Diaz <nicolasstuardodiaz@gmail.com>
Tue, 22 Dec 2020 03:05:23 +0000 (04:05 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 23 Mar 2021 07:29:37 +0000 (08:29 +0100)
commitc277077bab0d1057c065bc65a1c72885dc566c4b
tree6c16a949cac14dd94666fe703aa1c22b0527b802
parentf993b298319acb61dab95382ad99e9cbe8a80ef9
media: media/siano: Fix transmission parameters reporting for ISDB-T

The currently used functions for converting the transmission mode and guard
interval from the internal values to the DVBv5 API values do not return
correct values for ISDB broadcasts:

- The raw (debugfs) transmission mode is an integer whose values can be
1, 2 or 3, that corresponds to 2K, 4K and 8K FFT modes respectively.
However sms_to_mode() expects values 2, 4 or 8.
- Guard interval, as defined by smscoreapi.h returns "1 divided by value"
instead of 0, 1, 2, and 3 as defined in sms_to_guard_interval_table().

This commit implements ISDB-T specific methods for converting the internal
values for the aforementioned parameters to the DVBv5 API values. It also
adds support for reporting FEC and time interleaving values for each one
of the layers.

[mchehab: fix two coding style whitespace warnings]
Link: https://lore.kernel.org/linux-media/20201222030522.28774-1-nicolasstuardodiaz@gmail.com
Signed-off-by: Nicolas Stuardo Diaz <nicolasstuardodiaz@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/common/siano/smsdvb-main.c