From: Antti Palosaari <crope@iki.fi>
To: Konstantin Dimitrov <kosio.dimitrov@gmail.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
"nibble.max" <nibble.max@gmail.com>,
linux-media <linux-media@vger.kernel.org>
Subject: Re: [PATCH 1/6] m88ds3103, montage dvb-s/s2 demodulator driver
Date: Fri, 27 Apr 2012 23:42:10 +0300 [thread overview]
Message-ID: <4F9B04A2.6020105@iki.fi> (raw)
In-Reply-To: <CAF0Ff2nSjT4jJPLVagpSMtyAN_yct=vRDwYz53_G35yKCsCGbw@mail.gmail.com>
On 27.04.2012 23:21, Konstantin Dimitrov wrote:
> On Fri, Apr 27, 2012 at 10:55 PM, Antti Palosaari<crope@iki.fi> wrote:
>> On 27.04.2012 22:01, Konstantin Dimitrov wrote:
>>>
>>> Mauro, your reasoning makes sense to me. so, let's split them and at
>>> least settle this part of the discussion - i will do as far as my
>>> spare time allows, as well make sure there are no some problems
>>> introduced after the split.
>>>
>>> also, in one email i've just sent in answer to Antti there is enough
>>> argument why such split, i.e. tuner-pass-through-mode is subject to
>>> discussion about CX24116 and TDA10071 drivers too. currently, majority
>>> of DVB-S2 demodulator drivers in the kernel are married to particular
>>> tuners and there is no split.
>>
>>
>> I read the mail and as it was long study, I comment only that
>> CX24116+CX24118A and TDA10071+CX24118A demod+tuner combos versus Montage
>> demod+tuner combos. As you may see, CX24116 and TDA10071 are so much
>> different than both needs own driver. But as you said those are married
>> always as a demod+tuner.
>>
>> So if I use your logic, what happens if CX24118A tuner is not driven by
>> CX24116 or TDA10071 firmware? ==> it happens we have two drivers, CX24116
>> and TDA10071 *both* having similar CX24118A tuner driver code inside! Same
>> tuner driver code inside two demods drivers. Could you now understand why we
>> want it split?
>> The reason which saves us having CX24118A tuner driver is that it is inside
>> both CX24116 and TDA10071 firmware.
>>
>> There is mainly two different controlling situation. Most commonly driver
>> controls chip but in some cases it is firmware which is controlling. And I
>> don't see it very important trying always to by-pass firmware control and
>> use driver for that.
>>
>
> i got that point, but what happens if tomorrow their is CX24116 or
> TDA10071 design with tuner different than CX14118A? in fact the LG
> datasheet i pointed out to you clearly states that for example there
> is actually such design - case when CX24116 is used with CX24128 tuner
> instead CX24118A in which case the only way is to bypass the firmware
> and control the tuner directly. also, isn't it even double bad the
> current state of CX24116 or TDA10071 drivers - from one side they use
> 2 firmwares, part of which is doing the same, i.e control the CX24118A
> and from the other side they depend on proprietary firmware to do
> something that can be done in open-source code? i don't know, but at
> least from my point of view if that's not worse than the current
> status of ds3000 driver, it's at least as wrong as it, i.e. there
> isn't not only separation of tuner and demodulator code in CX24116 or
> TDA10071 drivers, but there is not even a code that can allow they to
> be separated easily, because making CX14118A driver from scratch is
> task that will need some effort. anyway, maybe, it's just me, but i
> prefer to depend as less as possible on proprietary firmwares done is
> such way. however, there is no any doubt current CX24116 or TDA10071
> drivers don't allow any other tuner that is not supported by the
> proprietary firmware to be used and thus they break the rule of tuner
> and demodulator code separation. so, i really don't understand what
> makes CX24116 or TDA10071 drivers different than the others, i.e. why
> they are developed in such way and there is no discussion about them
> to be changed in way that allow use of other tuner like CX24128, which
> is not supported by the proprietary firmwares. so, the only
> explanation from my perspective is lack of such need in real-life, but
> it's the same for ds3000.
In case of new device having CX24116 or TDA10071, but different tuner
than firmware controlled CX14118A, driver must be changed to support new
configuration. Or even make new driver if differences are too big. I
suspect implementing new .set_frontend() callback is almost everything
what is needed. Then add configuration option
.tuner_controlled_by_firmware or something like that. There is likely
rather similar existing cases.
IIRC someone mentioned AF9035/AF9033 firmwares have different versions
for different tuners. Also AF9015 uploads firmware to AF9013 demod,
external or internal. Still AF9013 driver could upload firmware
independently. There is many kind of cases chip/firmware can control
other chips. And if you look AF9015/AF9013 and AF9035/AF9033 drivers you
can see some examples of splitting drivers even those are many times
integrated together. OK, that AF90xx stuff goes to DVB-T side but it is
good example of splitting drivers and supporting very wide set of
demod/tuner combinations.
And it is nice you found CX24116 is sold by two different tuners :) If
those tuners are controlled by the driver we can see similar mess than
ds3000 + ts2020 or ts2022. At the some point handling different tuner
drivers inside one demod driver goes difficult - errors can be done
easily and maintaining goes hard.
regards
Antti
--
http://palosaari.fi/
next prev parent reply other threads:[~2012-04-27 20:42 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-22 10:38 [PATCH 1/3] m88brs2000 DVB-S frontend and tuner module Malcolm Priestley
2012-01-26 16:56 ` Mauro Carvalho Chehab
2012-01-27 22:26 ` Malcolm Priestley
2012-04-15 15:53 ` [PATCH 1/6] m88ds3103, montage dvb-s/s2 demodulator driver nibble.max
2012-04-19 18:06 ` Mauro Carvalho Chehab
2012-04-20 8:01 ` nibble.max
2012-04-19 20:08 ` Mauro Carvalho Chehab
2012-04-20 8:01 ` nibble.max
2012-04-20 9:47 ` Antti Palosaari
2012-04-20 17:24 ` Mauro Carvalho Chehab
2012-04-21 2:45 ` nibble.max
2012-04-23 16:41 ` Antti Palosaari
2012-04-23 19:51 ` Konstantin Dimitrov
2012-04-23 21:04 ` Antti Palosaari
2012-04-27 18:44 ` Konstantin Dimitrov
2012-04-23 21:49 ` Mauro Carvalho Chehab
2012-04-27 19:01 ` Konstantin Dimitrov
2012-04-27 19:36 ` Mauro Carvalho Chehab
2012-04-27 20:37 ` Konstantin Dimitrov
2012-04-27 20:40 ` Konstantin Dimitrov
2012-04-27 20:54 ` Antti Palosaari
2012-04-27 21:01 ` Konstantin Dimitrov
2012-04-27 19:55 ` Antti Palosaari
2012-04-27 20:21 ` Konstantin Dimitrov
2012-04-27 20:42 ` Antti Palosaari [this message]
2012-04-27 21:13 ` Konstantin Dimitrov
2012-04-28 3:54 ` nibble.max
2012-04-28 9:17 ` Demod hardware pid filter implement nibble.max
2012-04-28 10:15 ` Antti Palosaari
2012-04-24 2:45 ` Re: [PATCH 1/6] m88ds3103, montage dvb-s/s2 demodulator driver nibble.max
2012-04-26 13:03 ` nibble.max
2012-04-26 13:24 ` Mauro Carvalho Chehab
2012-04-27 7:06 ` [PATCH 1/6 v2] dvbsky, montage dvb-s/s2 TS202x tuner and M88DS3103 " nibble.max
2012-04-27 11:06 ` Mauro Carvalho Chehab
2012-04-27 14:17 ` Re: [PATCH 1/6 v2] dvbsky, montage dvb-s/s2 TS202x tuner and M88DS3103demodulator driver nibble.max
2012-04-27 14:35 ` Mauro Carvalho Chehab
2012-04-27 18:03 ` Konstantin Dimitrov
2012-04-27 7:06 ` [PATCH 2/6 v2] dvbsky, dvb-s/s2 usb box nibble.max
2013-06-30 3:07 ` Fwd: " P. van Gaans
2014-01-15 19:30 ` Mauro Carvalho Chehab
2012-04-27 7:06 ` [PATCH 3/6 v2] dvbsky, dvb-s/s2 PCIe card nibble.max
2012-04-27 7:07 ` [PATCH 4/6 v2] dvbsky, dvb-s/s2 PCI card nibble.max
2012-04-27 7:07 ` [PATCH 5/6 v2] dvbsky, remote control key map nibble.max
2012-04-27 7:07 ` [PATCH 6/6 v2] dvbsky, remote control include header file nibble.max
2012-04-20 17:10 ` [PATCH 1/6] m88ds3103, montage dvb-s/s2 demodulator driver Mauro Carvalho Chehab
2012-04-15 15:53 ` [PATCH 2/6] m88ds3103, dvbsky dvb-s2 usb box nibble.max
2012-04-19 18:09 ` Mauro Carvalho Chehab
2012-04-20 8:08 ` nibble.max
2012-04-20 17:08 ` Mauro Carvalho Chehab
2012-04-15 15:53 ` [PATCH 3/6] m88ds3103, dvbsky dvb-s2 cx23883 pci card nibble.max
2012-04-15 15:53 ` [PATCH 4/6] m88ds3103, dvbsky dvb-s2 cx23885 pcie card nibble.max
2012-04-19 18:11 ` Mauro Carvalho Chehab
2012-04-15 15:53 ` [PATCH 5/6] m88ds3103, dvbsky remote control key map nibble.max
2012-04-19 18:16 ` Mauro Carvalho Chehab
2012-04-20 8:01 ` nibble.max
2012-04-15 15:53 ` [PATCH 6/6] m88ds3103, dvbsky remote control include header file nibble.max
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=4F9B04A2.6020105@iki.fi \
--to=crope@iki.fi \
--cc=kosio.dimitrov@gmail.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=nibble.max@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).