MxL5xx demodulator-tuner driver, DD MaxS8 support
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 1 replyIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | dvb-frontends: MaxLinear MxL5xx DVB-S/S2 tuner-demodulator driverdrivers/ drivers/ drivers/ +3 more | +3022 | 2 replies | |
| 2/4 | ddbridge: support MaxLinear MXL5xx based cards (MaxS4/8)drivers/ drivers/ drivers/ +7 more | +588 | 0 replies | |
| 3/4 | ddbridge: fix buffer overflow in max_set_input_unlocked()drivers/ | +4 | 2 replies | |
| 4/4 | MAINTAINERS: add entry for mxl5xxMAINTAINERS | +8 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/4] MxL5xx demodulator-tuner driver, DD MaxS8 support
From: Daniel Scheller <[email protected]>
Target: 4.14 seems unrealistic, so: 4.14+
Hard-dependency on the STV0910/STV6111 driver+DD support series and the DD driver bump.
This adds a driver for the MaxLinear MxL5xx tuner-demodulator series (a DVB-S/S2/DSS demodulator-tuner combo frontend) as being found on Digital Devices MaxS8 4/8 tunerport cards.
These patches conclude the tuner hardware support for all Digital Devices hardware as of dddvb-0.9.29 and gets mainline on par with the vendor driver.
Cleanup notes:
The driver was in no way submittable in it's original form: It had some very scary construct in that #define's carried multiple function para- meters (comma-separated things), which were passed to another #define, which then in turn referenced a function, like this pseudocode:
#define REGDEF1 0x1234,2,3 #define FNCALL real_fn(othervar,regdef) function real_fn(var,reg,var1,var2,val) real_fn(state,REGDEF1,1);
Not only checkpatch didn't like this, but it looked heavily confusing. During cleanup, all of this obfuscation was expanded. Also, _defs.h carried all of the enums and structs as typedef's. All of this has been cleaned, together with the usual CamelCase things, whitespace and so on,
results: 55 "line len > 80 chars" in _defs.h and _regs.h (which I'd like to keep to retain readability), everything else clean. Everything else (e.g. overall code design) should be ok, but this should be judged by reviewers.
The resulting driver has been tested and works fine.
The glue code in ddbridge was added into a new object ddbridge-maxs8 to keep -core clean. It was added mostly as-is, and a little fixup commit is put ontop. LNB control is done by the bridge card in case of these cards, so that lives in the bridge driver (and is the majority of the additional object).
Thanks in advance for reviewing this.
Daniel Scheller (4):
[media] dvb-frontends: MaxLinear MxL5xx DVB-S/S2 tuner-demodulator
driver
[media] ddbridge: support MaxLinear MXL5xx based cards (MaxS4/8) [media] ddbridge: fix buffer overflow in max_set_input_unlocked() [media] MAINTAINERS: add entry for mxl5xx
MAINTAINERS | 8 + drivers/media/dvb-frontends/Kconfig | 9 + drivers/media/dvb-frontends/Makefile | 1 + drivers/media/dvb-frontends/mxl5xx.c | 1873 +++++++++++++++++++++++++++ drivers/media/dvb-frontends/mxl5xx.h | 41 + drivers/media/dvb-frontends/mxl5xx_defs.h | 731 +++++++++++ drivers/media/dvb-frontends/mxl5xx_regs.h | 367 ++++++ drivers/media/pci/ddbridge/Kconfig | 2 + drivers/media/pci/ddbridge/Makefile | 2 +- drivers/media/pci/ddbridge/ddbridge-core.c | 67 +- drivers/media/pci/ddbridge/ddbridge-hw.c | 12 + drivers/media/pci/ddbridge/ddbridge-hw.h | 4 + drivers/media/pci/ddbridge/ddbridge-main.c | 1 + drivers/media/pci/ddbridge/ddbridge-maxs8.c | 444 +++++++ drivers/media/pci/ddbridge/ddbridge-maxs8.h | 29 + drivers/media/pci/ddbridge/ddbridge-regs.h | 21 + drivers/media/pci/ddbridge/ddbridge.h | 11 + 17 files changed, 3619 insertions(+), 4 deletions(-) create mode 100644 drivers/media/dvb-frontends/mxl5xx.c create mode 100644 drivers/media/dvb-frontends/mxl5xx.h create mode 100644 drivers/media/dvb-frontends/mxl5xx_defs.h create mode 100644 drivers/media/dvb-frontends/mxl5xx_regs.h create mode 100644 drivers/media/pci/ddbridge/ddbridge-maxs8.c create mode 100644 drivers/media/pci/ddbridge/ddbridge-maxs8.h
Signature · 1 line
2.13.0