From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
To: Ralph Metzler <rjkm@metzlerbros.de>
Cc: Daniel Scheller <d.scheller.oss@gmail.com>,
linux-media@vger.kernel.org, mchehab@kernel.org,
liplianin@netup.ru, crope@iki.fi, "Jasmin J." <jasmin@anw.at>,
"Takiguchi, Yasunari" <Yasunari.Takiguchi@sony.com>,
"tbird20d@gmail.com" <tbird20d@gmail.com>
Subject: Re: DD support improvements (was: Re: [PATCH v3 00/13] stv0367/ddbridge: support CTv6/FlexCT hardware)
Date: Sat, 24 Jun 2017 13:50:01 -0300 [thread overview]
Message-ID: <20170624135001.5bcafb64@vento.lan> (raw)
In-Reply-To: <22860.14367.464168.657791@morden.metzler>
Em Thu, 22 Jun 2017 23:35:27 +0200
Ralph Metzler <rjkm@metzlerbros.de> escreveu:
> Daniel Scheller writes:
> > Am Tue, 20 Jun 2017 16:10:43 -0300
> > schrieb Mauro Carvalho Chehab <mchehab@s-opensource.com>:
> > ...
> > > > - Maybe for 4.14: Support for the CineS2 V7 and FlexV4 line of
> > > > cards/modules. This mainly involves a new demod driver (stv0910) and
> > > > a new tuner driver (stv6111). Permissions for this are cleared with
> > > > Ralph already. The glue code needed in ddbridge is rather easy, and
> > > > as some ground work (mostly the MachXO2 support from the 2841 series)
> > > > is now in, the changes are quite small. Patches are ready so far but
> > > > need more cleanup (checkpatch fixes, camel case and such things).
> > >
> > > Please try to sync it with Ralph, in a way that his code won't
> > > diverge from the upstream one, as this will make easier for both
> > > sides to keep the Kernel in track with driver improvements.
> >
> > This is not going to work. DD (Ralph and Manfred Voelkel) sort of maintain a shared code base between their Windows driver and the Linux kernel driver sources. While they didn't explicitely stated this, this can be noticed by the remarks and commented code in their OSS code, and the commit messages in their dddvb GIT (e.g. "sync with windows driver"). I've already cleaned up a lot of this (I believe no one wants to see such stuff in the linux kernel tree). If we're additionally going to replace all things camel case, with some more cleaning and maybe code shuffling after like a V4 patch series, those two sources are out of sync in a way that no automatic sync by applying patches will be possible anymore. So, pushing from vendor's upstream to the kernel seems to be the only option, and in fact, if the whole driver/package stack completely lives in the kernel sources, maybe DD even decide to directly commit upstream (kernel) again.
Ralph, do you share Linux code with Windows, or are you just getting
drivers from the manufacturer and converting them to Linux at dddvb
tree?
Would it be possible to change things at the dddvb tree to make
it to use our coding style (for example, replacing CamelCase by the
kernel_style), in order to minimize the amount of work to sync from
your tree?
> >
> > Putting Ralph into "To:", really like to hear an opinion from him on this whole subject.
>
> Regarding divergence in the tuner/demod drivers I see some concerns.
> The TDA18212 driver as they are presently in kernel and Daniel's github tree still seems to be missing features
> like calibration and spur avoidance. This problem was already discussed here a few years ago.
> I would not want to move to these versions if those features are still missing.
I don't see any issue on adding the missing features to the existing
tda18212 driver. Maybe Daniel can help adding the missing features there.
The best would be to make those new features opt-in, in order to allow
drivers to gradually use them (after tests), avoiding regressions.
> I also already told Daniel about our concerns regarding the CXD drivers in private mail.
> Sony did not want us to use their code directly and we had to get our code approved
> before publishing it. I do not know how the arrangement is regarding the in-kernel driver.
> DVB-C2 support also seems to be missing in this.
Sony recently started submitting CXD drivers to us directly (for cxd2880).
The upstream verson for cx2841 came from NetUP. I guess they develop
the drivers themselves, but not really sure.
Perhaps we can ask Sony's help to make easier add the features that are
missing at the existing driver in a way that DDbridge could also use
the upstream driver, or to do some other sort of agreement that would
make possible for us to use the same driver as you at the upstream Kernel.
(c/c Takiguchi-san and Tim Bird from Sony)
> > > - you'll still need to patch DD tree, as I'm pretty sure there are
> > > changes on the upstream driver that will need to be ported there;
> >
> > The same as for the stv0910 code applies here, in addition that it's not sure if DD even wants this. DD even has KERNEL_VERSION_CODE ifdefs in some places. And - most importantly - they carry around an old version of the DVB core API (from what it looks, around linux-3.10, not exactly sure) which even was modified by some IOCTLs, vars, defines and the netstream and modulator support. I managed to remove all core API change deps from everything tuner related (and thats the reason things work in harmony with and in current kernels), but getting all this over to DD or even merge things from DD into the media subsystem will get "interesting".
>
> We certainly will want to keep supporting older kernels via KERNEL_VERSION.
In the past, we used a script that "solves" KERNEL_VERSION on our Mercurial
tree (https://linuxtv.org/hg/v4l-dvb) and gets rid of other ifdefs:
https://linuxtv.org/hg/v4l-dvb/file/3724e93f7af5/v4l/scripts/gentree.pl
I don't use it for ages, but I guess it shouldn't be hard to modify it to
get rid of KERNEL_VERSION when submitting stuff from DD tree upstream.
Alternatively, DDbridge could use, instead, a modified version of
media-build tree in order to support backports.
> But I can change the dvb core version in dddvb to a newer version.
>
> Also, some of the new tuning defines and properties are generally useful and
> should be added to the kernel.
>
> e.g.:
>
> - adding SYS_DVBC2 to fe_delivery_system
OK, we can do that, when adding a driver needing such feature.
>
> - DTV_INPUT
>
> to select an input on cards were demods can choose from several inputs
We're actually wanting to use the media controller to change the
pipeline (selecting inputs and outputs, directing output to a MPEG
decoding pipeline and descrambler, etc).
The needed bits are there already at the DVB core upstream (although
we don't have, currently, any DVB driver allowing changes at the
pipeline). My original intention were to upstream some embedded
drivers with such usage, but, unfortunately, the MC changes took
too many time to be applied. by the time it got merged, it was too
late, due to some internal changes that happened about the same time.
>
> - DTV_PLS
>
> to set the gold code used for DVB-S2 physical layer scrambling.
> (btw. the sometimes used root and combo codes are redundant)
> Some driver mods misuse the upper bits of DTV_STREAM_ID (which is for MIS in DVB-S2) for this, but
> PLS and MIS are independent.
In principle, sounds ok, but we need to take some care to avoid
regressions here.
> I know that the netstream and modulator support are proprietary but we will of course also need to keep
> them dddvb package.
> Btw., are there any standard APIs for modulator cards in the kernel now?
Right now, we don't have. Feel free to propose what you're using at the
dddvb package as standard, if you think it is generic enough to support
other modulators in the future.
Thanks,
Mauro
next prev parent reply other threads:[~2017-06-24 16:50 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-29 16:43 [PATCH v3 00/13] stv0367/ddbridge: support CTv6/FlexCT hardware Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 01/13] [media] dvb-frontends/stv0367: add flag to make i2c_gatectrl optional Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 02/13] [media] dvb-frontends/stv0367: print CPAMP status only if stv_debug is enabled Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 03/13] [media] dvb-frontends/stv0367: refactor defaults table handling Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 04/13] [media] dvb-frontends/stv0367: move out tables, support multiple tab variants Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 05/13] [media] dvb-frontends/stv0367: make PLLSETUP a function, add 58MHz IC speed Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 06/13] [media] dvb-frontends/stv0367: make full reinit on set_frontend() optional Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 07/13] [media] dvb-frontends/stv0367: support reading if_khz from tuner config Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 08/13] [media] dvb-frontends/stv0367: selectable QAM FEC Lock status register Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 09/13] [media] dvb-frontends/stv0367: fix symbol rate conditions in cab_SetQamSize() Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 10/13] [media] dvb-frontends/stv0367: add defaults for use w/DD-branded devices Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 11/13] [media] dvb-frontends/stv0367: add Digital Devices compatibility Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 12/13] [media] ddbridge: add i2c_read_regs() Daniel Scheller
2017-03-29 16:43 ` [PATCH v3 13/13] [media] ddbridge: support STV0367-based cards and modules Daniel Scheller
2017-04-12 19:23 ` [PATCH v3 00/13] stv0367/ddbridge: support CTv6/FlexCT hardware Daniel Scheller
2017-05-07 15:42 ` Daniel Scheller
2017-05-28 21:45 ` Daniel Scheller
2017-06-19 20:18 ` Daniel Scheller
2017-06-19 22:14 ` Jasmin J.
2017-06-20 6:13 ` Thomas Kaiser
2017-06-20 12:36 ` Mauro Carvalho Chehab
2017-06-20 18:41 ` DD support improvements (was: Re: [PATCH v3 00/13] stv0367/ddbridge: support CTv6/FlexCT hardware) Daniel Scheller
2017-06-20 19:10 ` Mauro Carvalho Chehab
2017-06-21 20:57 ` Daniel Scheller
2017-06-22 21:35 ` Ralph Metzler
2017-06-24 16:50 ` Mauro Carvalho Chehab [this message]
2017-06-25 17:52 ` Daniel Scheller
2017-06-26 9:19 ` Mauro Carvalho Chehab
2017-06-26 9:59 ` Ralph Metzler
2017-06-26 10:14 ` Mauro Carvalho Chehab
2017-06-26 15:22 ` Daniel Scheller
2017-06-27 5:38 ` Ralph Metzler
2017-07-20 15:19 ` Mauro Carvalho Chehab
2017-06-26 15:43 ` Daniel Scheller
2017-06-26 9:45 ` Ralph Metzler
2017-06-26 10:46 ` Mauro Carvalho Chehab
2017-07-11 18:12 ` Ralph Metzler
2017-07-20 15:36 ` Mauro Carvalho Chehab
2017-06-26 18:41 ` Daniel Scheller
2017-06-20 20:54 ` [PATCH v3 00/13] stv0367/ddbridge: support CTv6/FlexCT hardware Jasmin J.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170624135001.5bcafb64@vento.lan \
--to=mchehab@s-opensource.com \
--cc=Yasunari.Takiguchi@sony.com \
--cc=crope@iki.fi \
--cc=d.scheller.oss@gmail.com \
--cc=jasmin@anw.at \
--cc=linux-media@vger.kernel.org \
--cc=liplianin@netup.ru \
--cc=mchehab@kernel.org \
--cc=rjkm@metzlerbros.de \
--cc=tbird20d@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).