linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Herdler <herdler@nurfuerspam.de>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>, linux-media@vger.kernel.org
Cc: Soeren Moch <smoch@web.de>, Manu Abraham <abraham.manu@gmail.com>,
	Tomasz Maciej Nowak <tmn505@gmail.com>,
	Corinna Vinschen <vinschen@redhat.com>
Subject: Re: Future of the SAA7146 drivers
Date: Wed, 1 Feb 2023 00:56:11 +0100	[thread overview]
Message-ID: <a24d4645-ac78-9990-92c3-7c04282f190e@nurfuerspam.de> (raw)
In-Reply-To: <c093e775-e863-f886-e819-e8a929775a89@xs4all.nl>

Hello Hans,

I'm glad to read that at least the saa7146 driver won't be removed
completely.


On 31/01/23 09:45, Hans Verkuil wrote:
> Hi Stefan,
>
> On 30/01/2023 23:19, Stefan Herdler wrote:
>> Hello everyone.
>>
>> This mail is a little bit long, I'm sorry for that.
>> But I have to describe the TV-situation in Germany roughly. Without that
>> knowledge it is definitely not understandable why this DVB-S cards are
>> still very useful here.
>> Reader familiar with this crazy situation may proceed to the driver
>> section below.
>>
>> I'm primary a user of this cards but have profound knowledge about the
>> Hardware. I used to repair the cards for me and other users back then.
>>
>> I own Fullfeatured and Budget-cards and use them daily in my VDR-System.
>> In Germany many channels are free-to-air in the DVB-S version only. I
>> would like to use these cards for a few more years until DVB-S is
>> deactivated or the HD-Versions of the channels become free-to-air.
>> I'm not willing to pay 75 Euro a year for TV-commercials in HD and I'm
>> not the only one with this opinion.
>> 14 million of the 17 million satelite-tv-households in Germany watch
>> this channels in SD-quality only (~82%)![1]
>> In addition uses the encrypting-system a proprietary CAM extension which
>> makes it impossible to watch this channels on a HTPC legally.
>> This situation won't change until 2025 (by a kind of law!). What then
>> happens is currently completely uncertain.
>>
>>
>> The driver topic however is new to me, the cards where always working
>> out of the box. I noticed the upcoming removal right before my first mail.
>>
>> Honestly I was a little shocked that the driver may be removed from Kernel.
>
> Don't worry, the saa7146 driver won't be removed. I admit that that was
> my initial plan, but you are not the only one who contacted me to let me
> know that the DVB functionality is still in use. I had not expected that
> for such old hardware, but it is clear that this driver can't be removed.
>
>> The card may be old and not produced any more, but they are not rare and
>> easily obtainable second hand. There are always multiple offers for
>> reasonable prices on the common platforms.
>> And the cards are running flawless on current mainboards with PCIe-PCI
>> Bridge.
>>
>> There must be a lot of SAA7146 based cards been sold in Europe. Many
>> brands sold them, mostly rebranded Technotrend cards.
>> Even Hauppauge, the most important brand, sold the TT-Budged as "Nova"
>> and the Fullfeatured as "Nexus" for years. Their own Connexant based
>> designs came pretty late, short before the PCIe-cards.
>>
>> I carefully estimate, at least 50% of all PCI-DVB-cards sold in Europe
>> where SAA7146 based.
>> There must be still a number of users out there.
>>
>> The relevance of SAA7146 for PCI-DVB-cards is almost like the Bttv-Chips
>> for analog TV a few years before. At least in Europe.
>> And the bttv driver not deprecated despite older and using videobuf1 API!
>
> The underlying reason for deprecating this driver in the first place was
> the use of the old videobuf framework for analog TV in this driver: we
> want to get rid of that, either by removing such drivers, or converting
> it to vb2 (we plan to do that for bttv and cx18). For the saa7146 there
> is another option: dropping the analog TV support only.
>
>>
>>
>> SAA7146 driver
>> ==============
>>
>> I've read a lot in the last days and the main issue with the SAA7146
>> driver seems to be the missing maintainer.
>> All other issues seem to be a result of that.
>> Right?
>
> Right. I'm on record as the maintainer, but I really don't have the time
> to do a substantial job like the vb2 conversion.
>
>> And the driver desperately needs someone with expertise about the cards
>> and the driver.
>> I've spotted a big chunk of unused code just by knowing which cards have
>> been build and which not.
>>
>> Sören Moch offered to maintain the complete SAA7146 driver in the
>> VDRportal and in this list too. This offer includes the videobuf2
>> conversion too.
>> On condition that the support of the fullfeatured cards stays in the
>> kernel.
>> I understand that. He only owns fullfeatured cards.
>> And I am interested in keeping my fullfeatured cards operational too.
>>
>> I'm convinced Sören could handle the driver well and he is the only one
>> I know who probably could do that. And he is actively offering to do the
>> job.
>
> Honestly, that would be great. We really need to get rid of the old videobuf
> framework, it is awful. I found someone to do the bttv conversion, and I plan
> to do the cx18 conversion. So that leaves the saa7146: it's either converted
> to vb2, or analog video support (that's the part that uses videobuf) has to
> be removed.
>
> Obviously, if someone wants to do the vb2 conversion, then that would be
> perfect. I was looking at removing analog video support, and that doesn't
> look as easy as I thought it would be.
>
The SAA7146 driver suite is a kind of beast ;-).

I guess it is mainly caused by the DVB-C Budget-Cards.
There are some having analog support too.

> I can certainly advice how to go about converting to vb2 as I've done it a
> few times in the past. It's rather painful, mostly because it is a 'big bang'
> change: it ends up as a single large and mostly unreviewable patch.
>
Indeed, I've searched for some patches and all are huge.
I have some basic C knowledge, but no experience with kerneldrivers nor
vb1 nor vb2. Unfortunately such a conversion would be out of scope for
me. At least if it should be done in a reasonable time frame.

Sören wrote the conversion would't be a big deal for him and it would be
done within a few weeks.

>>
>>
>> That leads to the DVB-API part for the AV7110 which should be removed.
>>
>> An API conversion for the AV7110 does not make sense any more. 10 years
>> ago maybe, but not now.
>> Working software would be broken and there will be no benefit for the
>> user at all.
>>
>> Converting is however not easy and a driver specific UAPI would be
>> necessary in any case.
>> The ioctl "VIDEO_SELECT_SOURCE" needed and definitely missing in the
>> V4l2-API (see ivtv driver).
>> The OSD of the FF-Cards is more canvas like, not a framebuffer. The OSD
>> ioctl are also needed and I haven't found anything in V4l2-API to
>> replace them.
>>
>> What about putting the 3 API-files into one driver specific UAPI file?
>> The deprecated DVB-API part could be officially removed and the
>> maintainer of the av7110 driver would become responsible for the API.
>> Could that be an acceptable solution for everybody?
>> Or do the ~10Kb of possible redundancy in the header hurt so much?
>
> I think this can be something that can be discussed later. It's not my
> main concern and not the reason why I originally planned to remove the
> driver. The use of videobuf is the main problem.
>
> If Sören wants to become an active maintainer for this driver, then the
> vb2 conversion would be the first step. But there is a lot more that can
> be done, I'm sure.
>
Yes he wants, that is his offer to the VDR-community.

He just wants a kind of guarantee, that the driver for the fullfeatured
cards he owns stays in the kernel.
That is understandable for me, he would do the job voluntary without
been payed.

There is a long lasting controversy about the deprecated 3 DVB-API-files
for the av7110 driver.
Sören stated he is tired about that discussions and looking for
permanent solution without having to rewrite the whole driver.

In this case I'm just the messenger, but I would also prefer a permanent
solution.
That is why I made the suggestion with the driver specific UAPI file.
The av7110 driver is only driver using this API-part.
And the modification is fairly easy and the impact minimal.



May that be a compromise all parties can live with?

Regards,
Stefan




>>
>>
>> The further deferring of the removal by a few years would be a kind of
>> solution for me too.
>> But I don't think it's a good one.
>>
>>
>> Any other ideas?
>>
>>
>> As a pragmatic user I'm interested in a solution to keep my cards running.
>> Probably finding a compromise all parties can live with.
>> I'm not interested in a lengthy discussion about APIs leading to nowhere.
>
> Me neither.
>
> Right now there are two options:
>
> 1) removal of the analog video support, keeping DVB support
>
> 2) convert the driver to vb2
>
> If Sören steps up as the new maintainer and does the vb2 conversion, then
> that would be the best solution. If nobody steps in, then I will most likely
> choose option 1 in a few months.
>
> Regards,
>
> 	Hans

  reply	other threads:[~2023-01-31 23:56 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-30 22:19 Future of the SAA7146 drivers Stefan Herdler
2023-01-31  8:45 ` Hans Verkuil
2023-01-31 23:56   ` Stefan Herdler [this message]
2023-02-01  9:15     ` Hans Verkuil
2023-02-01 11:35       ` Soeren Moch
2023-02-01 13:51         ` Hans Verkuil
2023-02-01 15:20           ` Soeren Moch
2023-02-01 16:37             ` Hans Verkuil
2023-02-08  8:42               ` Mauro Carvalho Chehab
2023-02-01 23:12           ` Stefan Herdler
2023-02-02  9:43             ` Soeren Moch
2023-02-02 21:26               ` Stefan Herdler
2023-02-03  0:58                 ` Stefan Herdler
2023-02-03  8:50                   ` Hans Verkuil
2023-02-06  0:06                     ` Stefan Herdler
2023-02-08  9:08                       ` Mauro Carvalho Chehab
2023-02-12 23:10                         ` Stefan Herdler
2023-03-24 10:37                           ` saa7146: please test the vb2 conversion! Hans Verkuil
2023-03-24 10:40                             ` Hans Verkuil
2023-03-24 21:21                               ` Stefan Herdler
2023-03-27 17:13                                 ` Tomasz Maciej Nowak
2023-04-06 22:43                                 ` Stefan Herdler
2023-04-07  7:04                                   ` Hans Verkuil
2023-04-09 22:36                                     ` Stefan Herdler
2023-04-11  7:29                                       ` Hans Verkuil
2023-04-12 10:11                                       ` Hans Verkuil
2023-04-12 11:16                                         ` Hans Verkuil
2023-04-14  0:15                                           ` Stefan Herdler
2023-04-14  8:36                                             ` Hans Verkuil
2023-04-15 21:15                                               ` Stefan Herdler
2023-03-25  1:44                           ` [PATCH] Legacy DVB API: completion of documentation Stefan Herdler
2023-03-25  8:47                             ` kernel test robot
2023-03-26 21:34                             ` [PATCH v2] " Stefan Herdler
2023-03-27 18:28                               ` Mauro Carvalho Chehab
2023-04-02 22:25                                 ` Stefan Herdler
2023-07-17  2:04                                 ` [PATCH v3 0/6] " Stefan Herdler
2023-07-17  2:04                                   ` [PATCH v3 1/6] Add documentation for legacy DVB decoder API Stefan Herdler
2023-07-17  2:04                                   ` [PATCH v3 2/6] Add documentation for osd.h Stefan Herdler
2023-07-17  2:04                                   ` [PATCH v3 3/6] Add documentation for audio.h (data types) Stefan Herdler
2023-07-19  9:09                                     ` kernel test robot
2023-07-17  2:04                                   ` [PATCH v3 4/6] Add documentation for audio.h (function calls) Stefan Herdler
2023-07-17  2:04                                   ` [PATCH v3 5/6] Add documentation for video.h (data types) Stefan Herdler
2023-07-17  2:04                                   ` [PATCH v3 6/6] Add documentation for video.h (function calls) Stefan Herdler
2024-01-28 23:32                                 ` [PATCH v4 0/6] media: docs: uAPI: dvb/decoder: completing the documentation Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 1/6] " Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 2/6] media: docs: uAPI: dvb/osd: " Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 3/6] media: docs: uAPI: dvb/audio: completing the documentation (data types) Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 4/6] media: docs: uAPI: dvb/audio: completing the documentation (function calls) Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 5/6] media: docs: uAPI: dvb/video: completing the documentation (data types) Stefan Herdler
2024-01-28 23:32                                   ` [PATCH v4 6/6] media: docs: uAPI: dvb/video: completing the documentation (function calls) Stefan Herdler
2024-02-07  5:10                                   ` [PATCH v4 0/6] media: docs: uAPI: dvb/decoder: completing the documentation Mauro Carvalho Chehab
2024-02-08 23:56                                     ` Stefan Herdler

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=a24d4645-ac78-9990-92c3-7c04282f190e@nurfuerspam.de \
    --to=herdler@nurfuerspam.de \
    --cc=abraham.manu@gmail.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=smoch@web.de \
    --cc=tmn505@gmail.com \
    --cc=vinschen@redhat.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).