linux_dsm_epyc7002/drivers/media
Daniel Scheller dbbac11e1d [media] dvb-frontends/stv0367: add Digital Devices compatibility
This - in conjunction with the previous changes - makes it possible to use
the STV0367 DVB-C/T demodulator driver with Digital Devices hardware having
this demodulator soldered on them (namely CineCTv6 bridges and some earlier
DuoFlex CT addon modules).

The changes do the following:

- add a third *_attach function which will make use of a third frontend_ops
  struct which announces both -C and -T support (the same as with DD's own
  driver stv0367dd). This is necessary to support both delivery systems
  on one FE without having to do large conversions to VB2 or the need to
  select either -C or -T mode via modparams and the like. Additionally,
  the frontend_ops point to new "glue" functions which will then call into
  the existing functionality depending on the active delivery system/demod
  state (all used functionality works almost OOTB).
- Demod initialisation has been ported from stv0367dd. DD's driver always
  does a full init of both OFDM and QAM cores, with some additional things.
  The active delivery system is remembered and upon switch, the Demod will
  be reconfigured to work in OFDM or QAM mode (that's what the ddb_setup_XX
  functions are used for). Note that in QAM mode, the DD demods work with
  an IC speed of 58Mhz. It's not very good to perform full reinits upon
  Demod mode changes since in very rare occasions this can lead to the I2C
  interface or the whole Demod to crash, requiring a powercycle, thus the
  flag to perform full reinit is set to disabled.
- A little enum is added for named identifiers of the current Demod state.

Initialisation code/register writes originate from stv0367dd. Permission
to reuse was formally granted by Ralph Metzler <rjkm@metzlerbros.de>.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-20 09:27:52 -03:00
..
cec Linux 4.12-rc6 2017-06-20 08:51:56 -03:00
common [media] b2c2: constify nxt200x_config structure 2017-04-17 12:18:18 -03:00
dvb-core [media] dvb_ca_en50221: Fix wrong EXPORT_SYMBOL order 2017-06-07 13:21:25 -03:00
dvb-frontends [media] dvb-frontends/stv0367: add Digital Devices compatibility 2017-06-20 09:27:52 -03:00
firewire [media] firewire: don't break long lines 2016-10-21 10:06:00 -02:00
i2c [media] i2c: tc358743: remove useless variable assignment in tc358743_isr 2017-06-20 09:06:44 -03:00
mmc
pci [media] cx18: Fix a sleep-in-atomic bug in snd_cx18_pcm_hw_free 2017-06-07 12:28:50 -03:00
platform [media] media: fdp1: Support ES2 platforms 2017-06-20 09:07:44 -03:00
radio [media] wl128x: use setup_timer 2017-04-10 14:56:37 -03:00
rc [media] rc-core: cleanup rc_register_device pt2 2017-06-13 13:55:01 -03:00
spi [media] gs1662: drop kfree for memory allocated with devm_kzalloc 2016-10-24 17:59:08 -02:00
tuners [media] xc5000: Don't spin waiting for analog lock 2017-06-06 07:51:05 -03:00
usb [media] stih-cec/vivid/pulse8/rainshadow: use cec_transmit_attempt_done 2017-06-20 06:53:20 -03:00
v4l2-core [media] v4l2-core: Use kvmalloc() for potentially big allocations 2017-06-20 09:11:48 -03:00
Kconfig [media] cec: rename MEDIA_CEC_NOTIFIER to CEC_NOTIFIER 2017-06-04 15:23:35 -03:00
Makefile [media] cec: select CEC_CORE instead of depend on it 2017-06-04 15:23:33 -03:00
media-device.c [media] media: Rename graph and pipeline structs and functions 2017-01-27 16:13:24 -02:00
media-devnode.c media: utilize new cdev_device_add helper function 2017-03-21 06:44:33 +01:00
media-entity.c [media] media: entity: Add media_entity_get_fwnode_pad() function 2017-06-20 09:09:37 -03:00