[Linux-kernel-mentees] [RFC, WIP, v2 0/3] Implement a virtual DVB driver
Daniel W. S. Almeida
dwlsalmeida at gmail.com
Mon Mar 23 12:57:29 UTC 2020
From: "Daniel W. S. Almeida" <dwlsalmeida at gmail.com>
This series is work in progress. It represents the current work done on a
virtual DVB driver for the Linux media subsystem.
I am new to the subsystem and to DTV in general, please take that into account.
Currently I have written a simple fake tuner and I have been working on
getting PSI packets into a TS stream and then feeding the stream to the
hardware-independent demux layer. I have been basing my work on ISO 13818,
ETSI EN 300 468 and on a real MPEG Transport Stream excerpt.
Changes in v2:
Attempted not to break assignments into multiple lines as much as possible.
Code now passes checkpatch strict mode
media: dvb_dummy_tuner: implement driver skeleton
Changed snr values to mili db
Return value from 0-100 to indicate how far off the requested
frequency is from a valid one
Use the frequency shift to interpolate between 34dB and 10dB if
we can not match against the SNR lookup table
Remove sleep calls for suspend/resume
Fix memcpy call for the config struct
media: dvb_dummy_fe.c: lose TS lock on bad snr
Randomly recover the TS lock if the signal quality improves
media: dvb_dummy_fe.c: write PSI information into DMX buffer
Split the patch into multiple header/source files
Hexadecimal literals are now lower case
Prefer short function names / reduce function signatures
Add #defines for constants when computing section lengths
Change signature for functions that take a dummy channel as
argument (i.e. channels* is now channels[NUM_CHANNELS])
Daniel W. S. Almeida (3):
media: dvb_dummy_tuner: implement driver skeleton
media: dvb_dummy_fe.c: lose TS lock on bad snr
media: dvb_dummy_fe.c: write PSI information into DMX buffer
drivers/media/dvb-frontends/Makefile | 1 +
drivers/media/dvb-frontends/dvb_dummy_fe.c | 389 +++++++-
drivers/media/dvb-frontends/dvb_dummy_fe.h | 32 +
.../media/dvb-frontends/dvb_dummy_fe_common.h | 55 ++
.../media/dvb-frontends/dvb_dummy_fe_psi.c | 902 ++++++++++++++++++
.../media/dvb-frontends/dvb_dummy_fe_psi.h | 287 ++++++
drivers/media/tuners/Kconfig | 9 +
drivers/media/tuners/Makefile | 1 +
drivers/media/tuners/dvb_dummy_tuner.c | 419 ++++++++
9 files changed, 2088 insertions(+), 7 deletions(-)
create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_common.h
create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_psi.c
create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_psi.h
create mode 100644 drivers/media/tuners/dvb_dummy_tuner.c
--
2.25.2
More information about the Linux-kernel-mentees
mailing list