2008-10-22 17:41:24

by Markus Rechberger

[permalink] [raw]
Subject: [PATCH] em28xx patches against the latest git tree

Following patch adds the latest em28xx driver from mcentral.de.

merging mcentral.de/hg/~mrec/em28xx-new with upstream kernel

* adding VBI support to most VBI capable devices
* radio support for cx25843 based devices
* extra cx25843 driver (registers match the em28xx configuration in
order to support proper VBI)
* all videostandards and inputs are tested with cx25843 based devices
* adding alternative audio driver for em28xx devices (independent
audio transfer, not depending on oss/alsa)
* adding em28xx-webcam support for videology webcams
* adding em28xx-audioep audio driver for alternate number 1 - if
vendor specific and not USB audio conform
* adding s921 driver (ISDB-T 1Seg support tunneling parameters through
DVB-T API setting specific registers to auto)
* adding xc3028 mostly original sourcecode from the manufacturer (most
recent version), merged xc3028/xc3028l into
one external firmware blob - important for signal quality
* adding xc5000 mostly original sourcecode from the manufacturer (most
recent version) - important for signal quality
* adding lgdt3304, although currently disabled
* remote control handling *works* but is broken by design and disabled
since different rc5/rc6/nec remotes return
different values. Handling can be done using interrupt transfers too (TODO)
* fixed a couple of bugs in the em28xx-audio driver which can lead to
system hangs.

----

as for testing:
* analog TV: patched tvtime (for analog TV) version available on
mcentral.de which supports 1. software rendering 2. digital
audio/alsa/aad
* FM radio: gqradio from mcentral.de, there's also an older radio
patch for vlc available.
* DVB-T: all applications should work with it
* ISDB-T: relevant for China and Brazil only, can be used with
dvbtune, dvbscan (the channel file cannot be used due problems with
the characters), for transferring the MPEG-TS stream dvbstream,
dvbsnoop, for playback gstreamer/mplayer (h264/aac isn't supported
well with it).

commit history is available at:
http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new

This patch adds a separate instance of the driver to the git
repository, not affecting anything existing.

the full patch against the git repository:


Contributors:
user: [email protected]
user: Andre Kelmanson <[email protected]>
user: Bouwsma Barry <[email protected]>
user: Dan Kreiser <[email protected]>
user: Frank Neuber <[email protected]>
user: Jelle de Jong <[email protected]>
user: John Stowers <[email protected]>
user: Lukas Kuna <[email protected]>
user: Stefan Vonolfen <[email protected]>
user: Stephan Berberig <[email protected]>
user: Thomas Giesecke <[email protected]>
user: Vitaly Wool <[email protected]>
user: Zhenyu Wang <[email protected]>

Signed-off-by: Markus Rechberger <[email protected]>


2008-10-22 17:49:45

by Markus Rechberger

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

On Wed, Oct 22, 2008 at 7:34 PM, Markus Rechberger
<[email protected]> wrote:
> Following patch adds the latest em28xx driver from mcentral.de.
>
> merging mcentral.de/hg/~mrec/em28xx-new with upstream kernel
>
> * adding VBI support to most VBI capable devices
> * radio support for cx25843 based devices
> * extra cx25843 driver (registers match the em28xx configuration in
> order to support proper VBI)
> * all videostandards and inputs are tested with cx25843 based devices
> * adding alternative audio driver for em28xx devices (independent
> audio transfer, not depending on oss/alsa)
> * adding em28xx-webcam support for videology webcams
> * adding em28xx-audioep audio driver for alternate number 1 - if
> vendor specific and not USB audio conform
> * adding s921 driver (ISDB-T 1Seg support tunneling parameters through
> DVB-T API setting specific registers to auto)
> * adding xc3028 mostly original sourcecode from the manufacturer (most
> recent version), merged xc3028/xc3028l into
> one external firmware blob - important for signal quality
> * adding xc5000 mostly original sourcecode from the manufacturer (most
> recent version) - important for signal quality
> * adding lgdt3304, although currently disabled
> * remote control handling *works* but is broken by design and disabled
> since different rc5/rc6/nec remotes return
> different values. Handling can be done using interrupt transfers too (TODO)
> * fixed a couple of bugs in the em28xx-audio driver which can lead to
> system hangs.
>
> ----
>
> as for testing:
> * analog TV: patched tvtime (for analog TV) version available on
> mcentral.de which supports 1. software rendering 2. digital
> audio/alsa/aad
> * FM radio: gqradio from mcentral.de, there's also an older radio
> patch for vlc available.
> * DVB-T: all applications should work with it
> * ISDB-T: relevant for China and Brazil only, can be used with
> dvbtune, dvbscan (the channel file cannot be used due problems with
> the characters), for transferring the MPEG-TS stream dvbstream,
> dvbsnoop, for playback gstreamer/mplayer (h264/aac isn't supported
> well with it).
>
> commit history is available at:
> http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new
>

this should be:
http://mcentral.de/hg/~mrec/em28xx-new/shortlog

> This patch adds a separate instance of the driver to the git
> repository, not affecting anything existing.
>
> the full patch against the git repository:
>
>
> Contributors:
> user: [email protected]
> user: Andre Kelmanson <[email protected]>
> user: Bouwsma Barry <[email protected]>
> user: Dan Kreiser <[email protected]>
> user: Frank Neuber <[email protected]>
> user: Jelle de Jong <[email protected]>
> user: John Stowers <[email protected]>
> user: Lukas Kuna <[email protected]>
> user: Stefan Vonolfen <[email protected]>
> user: Stephan Berberig <[email protected]>
> user: Thomas Giesecke <[email protected]>
> user: Vitaly Wool <[email protected]>
> user: Zhenyu Wang <[email protected]>
>
> Signed-off-by: Markus Rechberger <[email protected]>
>

2008-10-22 18:00:08

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

2008/10/22 Markus Rechberger <[email protected]>:
>> commit history is available at:
>> http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new
>>
>
> this should be:
> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>

There is already an Empia EM28XX driver in the official tree. If your driver
is based on it, could you point at the first commit in *your* tree at
mcentral.de which
corresponds to that driver? (if you do, your history can be moved into
central Git
repo completely, every commit of it)

2008-10-22 18:11:05

by Markus Rechberger

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

On Wed, Oct 22, 2008 at 7:59 PM, Alex Riesen <[email protected]> wrote:
> 2008/10/22 Markus Rechberger <[email protected]>:
>>> commit history is available at:
>>> http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new
>>>
>>
>> this should be:
>> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>>
>
> There is already an Empia EM28XX driver in the official tree. If your driver
> is based on it, could you point at the first commit in *your* tree at
> mcentral.de which
> corresponds to that driver? (if you do, your history can be moved into
> central Git
> repo completely, every commit of it)
>

The development has been split off for 3 years from the original
repository. The internal driver differs alot.
The full history of that driver can be seen when looking at:
http://mcentral.de/hg/~mrec/v4l-dvb-experimental

that code back then got split out of the linuxtv repository and moved to:
http://mcentral.de/hg/~mrec/em28xx-new

The driver has a long and rather bad history, which I'd like to avoid
by using the different directory.
Some patches got ported from my repository into the kernel although
most devices don't work at all with the current inkernel driver (eg.
em2888, flash based, isdb-t, cx25843, some saa7114.. based devices).

here's some development status history starting in 2006.
http://mcentral.de/wiki/index.php5/Em2880/Status
moved over to a mailinglist and support people from 2007 - currently
http://mcentral.de/pipermail/em28xx/

there's almost nothing of that work merged yet, and there are tonns of
howtos out there which are based on all that right now.

regards,
Markus

2008-10-22 18:23:33

by Markus Rechberger

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

On Wed, Oct 22, 2008 at 7:38 PM, Markus Rechberger
<[email protected]> wrote:
> On Wed, Oct 22, 2008 at 7:34 PM, Markus Rechberger
> <[email protected]> wrote:
>> Following patch adds the latest em28xx driver from mcentral.de.
>>
>> merging mcentral.de/hg/~mrec/em28xx-new with upstream kernel
>>
>> * adding VBI support to most VBI capable devices
>> * radio support for cx25843 based devices
>> * extra cx25843 driver (registers match the em28xx configuration in
>> order to support proper VBI)
>> * all videostandards and inputs are tested with cx25843 based devices
>> * adding alternative audio driver for em28xx devices (independent
>> audio transfer, not depending on oss/alsa)
>> * adding em28xx-webcam support for videology webcams
>> * adding em28xx-audioep audio driver for alternate number 1 - if
>> vendor specific and not USB audio conform
>> * adding s921 driver (ISDB-T 1Seg support tunneling parameters through
>> DVB-T API setting specific registers to auto)
>> * adding xc3028 mostly original sourcecode from the manufacturer (most
>> recent version), merged xc3028/xc3028l into
>> one external firmware blob - important for signal quality
>> * adding xc5000 mostly original sourcecode from the manufacturer (most
>> recent version) - important for signal quality
>> * adding lgdt3304, although currently disabled
>> * remote control handling *works* but is broken by design and disabled
>> since different rc5/rc6/nec remotes return
>> different values. Handling can be done using interrupt transfers too (TODO)
>> * fixed a couple of bugs in the em28xx-audio driver which can lead to
>> system hangs.
>>

one more thing which I forgot it also adds support for em2888 based
which also support
flash beside analog TV, digital TV and radio

>> ----
>>
>> as for testing:
>> * analog TV: patched tvtime (for analog TV) version available on
>> mcentral.de which supports 1. software rendering 2. digital
>> audio/alsa/aad
>> * FM radio: gqradio from mcentral.de, there's also an older radio
>> patch for vlc available.
>> * DVB-T: all applications should work with it
>> * ISDB-T: relevant for China and Brazil only, can be used with
>> dvbtune, dvbscan (the channel file cannot be used due problems with
>> the characters), for transferring the MPEG-TS stream dvbstream,
>> dvbsnoop, for playback gstreamer/mplayer (h264/aac isn't supported
>> well with it).
>>
>> commit history is available at:
>> http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new
>>
>
> this should be:
> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>
>> This patch adds a separate instance of the driver to the git
>> repository, not affecting anything existing.
>>
>> the full patch against the git repository:
>>
>>
>> Contributors:
>> user: [email protected]
>> user: Andre Kelmanson <[email protected]>
>> user: Bouwsma Barry <[email protected]>
>> user: Dan Kreiser <[email protected]>
>> user: Frank Neuber <[email protected]>
>> user: Jelle de Jong <[email protected]>
>> user: John Stowers <[email protected]>
>> user: Lukas Kuna <[email protected]>
>> user: Stefan Vonolfen <[email protected]>
>> user: Stephan Berberig <[email protected]>
>> user: Thomas Giesecke <[email protected]>
>> user: Vitaly Wool <[email protected]>
>> user: Zhenyu Wang <[email protected]>
>>
>> Signed-off-by: Markus Rechberger <[email protected]>
>>
>

also adding video4linux-list

2008-10-22 18:29:37

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

Markus Rechberger, Wed, Oct 22, 2008 20:10:49 +0200:
> On Wed, Oct 22, 2008 at 7:59 PM, Alex Riesen <[email protected]> wrote:
> > 2008/10/22 Markus Rechberger <[email protected]>:
> >>> commit history is available at:
> >> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
> >>
> >
> > There is already an Empia EM28XX driver in the official tree. If your driver
> > is based on it, could you point at the first commit in *your* tree at
> > mcentral.de which
> > corresponds to that driver? (if you do, your history can be moved into
> > central Git
> > repo completely, every commit of it)
> >
>
> The development has been split off for 3 years from the original
> repository. The internal driver differs alot.

So it is more like a new driver. I tried merging them about half a
year ago (unsuccessfully, of course). In the end your driver worked
with that piece of hardware I have (it seem to produce an awful lot of
tracing though) and I stayed with it.

> The driver has a long and rather bad history, which I'd like to avoid
> by using the different directory.

You could submit patches depricating it. Does the old driver support
something yours does not?

> Some patches got ported from my repository into the kernel although
> most devices don't work at all with the current inkernel driver (eg.
> em2888, flash based, isdb-t, cx25843, some saa7114.. based devices).

Mine (a Pinnacle-Apple-something, USB) does not work with it at all.

2008-10-22 18:33:49

by Jelle de Jong

[permalink] [raw]
Subject: Re: [Em28xx] [PATCH] em28xx patches against the latest git tree

Markus Rechberger wrote:
> On Wed, Oct 22, 2008 at 7:34 PM, Markus Rechberger
> <[email protected]> wrote:
>> Following patch adds the latest em28xx driver from mcentral.de.
>>
>> merging mcentral.de/hg/~mrec/em28xx-new with upstream kernel
>>
>> * adding VBI support to most VBI capable devices
>> * radio support for cx25843 based devices
>> * extra cx25843 driver (registers match the em28xx configuration in
>> order to support proper VBI)
>> * all videostandards and inputs are tested with cx25843 based devices
>> * adding alternative audio driver for em28xx devices (independent
>> audio transfer, not depending on oss/alsa)
>> * adding em28xx-webcam support for videology webcams
>> * adding em28xx-audioep audio driver for alternate number 1 - if
>> vendor specific and not USB audio conform
>> * adding s921 driver (ISDB-T 1Seg support tunneling parameters through
>> DVB-T API setting specific registers to auto)
>> * adding xc3028 mostly original sourcecode from the manufacturer (most
>> recent version), merged xc3028/xc3028l into
>> one external firmware blob - important for signal quality
>> * adding xc5000 mostly original sourcecode from the manufacturer (most
>> recent version) - important for signal quality
>> * adding lgdt3304, although currently disabled
>> * remote control handling *works* but is broken by design and disabled
>> since different rc5/rc6/nec remotes return
>> different values. Handling can be done using interrupt transfers too (TODO)
>> * fixed a couple of bugs in the em28xx-audio driver which can lead to
>> system hangs.
>>
>> ----
>>
>> as for testing:
>> * analog TV: patched tvtime (for analog TV) version available on
>> mcentral.de which supports 1. software rendering 2. digital
>> audio/alsa/aad
>> * FM radio: gqradio from mcentral.de, there's also an older radio
>> patch for vlc available.
>> * DVB-T: all applications should work with it
>> * ISDB-T: relevant for China and Brazil only, can be used with
>> dvbtune, dvbscan (the channel file cannot be used due problems with
>> the characters), for transferring the MPEG-TS stream dvbstream,
>> dvbsnoop, for playback gstreamer/mplayer (h264/aac isn't supported
>> well with it).
>>
>> commit history is available at:
>> http://mcentral.de/http://git.kernel.org/?p=linux/kernel/git/mrec/linux-2.6.git;a=commit;h=f1be9ae8f8489a6598417a194e0899ac00c7530ehg/~mrec/em28xx-new
>>
>
> this should be:
> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>
>> This patch adds a separate instance of the driver to the git
>> repository, not affecting anything existing.
>>
>> the full patch against the git repository:
>>
>>
>> Contributors:
>> user: [email protected]
>> user: Andre Kelmanson <[email protected]>
>> user: Bouwsma Barry <[email protected]>
>> user: Dan Kreiser <[email protected]>
>> user: Frank Neuber <[email protected]>
>> user: Jelle de Jong <[email protected]>
>> user: John Stowers <[email protected]>
>> user: Lukas Kuna <[email protected]>
>> user: Stefan Vonolfen <[email protected]>
>> user: Stephan Berberig <[email protected]>
>> user: Thomas Giesecke <[email protected]>
>> user: Vitaly Wool <[email protected]>
>> user: Zhenyu Wang <[email protected]>
>>
>> Signed-off-by: Markus Rechberger <[email protected]>
>>
>

Thumbs up for the git merge process, keep up the good work!

Kind regards,

Jelle

2008-10-22 18:40:18

by Markus Rechberger

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

On Wed, Oct 22, 2008 at 8:29 PM, Alex Riesen <[email protected]> wrote:
> Markus Rechberger, Wed, Oct 22, 2008 20:10:49 +0200:
>> On Wed, Oct 22, 2008 at 7:59 PM, Alex Riesen <[email protected]> wrote:
>> > 2008/10/22 Markus Rechberger <[email protected]>:
>> >>> commit history is available at:
>> >> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>> >>
>> >
>> > There is already an Empia EM28XX driver in the official tree. If your driver
>> > is based on it, could you point at the first commit in *your* tree at
>> > mcentral.de which
>> > corresponds to that driver? (if you do, your history can be moved into
>> > central Git
>> > repo completely, every commit of it)
>> >
>>
>> The development has been split off for 3 years from the original
>> repository. The internal driver differs alot.
>
> So it is more like a new driver. I tried merging them about half a
> year ago (unsuccessfully, of course). In the end your driver worked
> with that piece of hardware I have (it seem to produce an awful lot of
> tracing though) and I stayed with it.
>
>> The driver has a long and rather bad history, which I'd like to avoid
>> by using the different directory.
>
> You could submit patches depricating it. Does the old driver support
> something yours does not?
>

There are some devices with a knob available that reading that
register is currently
not implemented in the newer driver, netBSD people figured out that
interrupts are delivered
when a key gets pressed (even on the remote control). This is a
construction side at the moment
and it should be changed to something appropriate like the netBSD
people implemented.

>> Some patches got ported from my repository into the kernel although
>> most devices don't work at all with the current inkernel driver (eg.
>> em2888, flash based, isdb-t, cx25843, some saa7114.. based devices).
>
> Mine (a Pinnacle-Apple-something, USB) does not work with it at all.
>
>

There's one limitation I cut out the drx3975d (might re-add it within
the next week
to the git repository)
I know this one is required for the Pinnacle 330e and an Hauppauge based device.

If you have problems with your device please start a thread on the em28xx ML:
http://mcentral.de/pipermail/em28xx/

regards,
Markus

2008-10-22 18:45:22

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

Markus Rechberger, Wed, Oct 22, 2008 20:39:51 +0200:
> >> Some patches got ported from my repository into the kernel although
> >> most devices don't work at all with the current inkernel driver (eg.
> >> em2888, flash based, isdb-t, cx25843, some saa7114.. based devices).
> >
> > Mine (a Pinnacle-Apple-something, USB) does not work with it at all.
> >
>
> There's one limitation I cut out the drx3975d (might re-add it
> within the next week to the git repository) I know this one is
> required for the Pinnacle 330e and an Hauppauge based device.
>
> If you have problems with your device please start a thread on the em28xx ML:
> http://mcentral.de/pipermail/em28xx/
>

Ok, as soon as I get my hands on that card again.

2008-10-22 18:51:17

by Markus Rechberger

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

On Wed, Oct 22, 2008 at 8:40 PM, Alex Riesen
<[email protected]> wrote:
> Alex Riesen, Wed, Oct 22, 2008 20:29:24 +0200:
>> Markus Rechberger, Wed, Oct 22, 2008 20:10:49 +0200:
>> > On Wed, Oct 22, 2008 at 7:59 PM, Alex Riesen <[email protected]> wrote:
>> > > 2008/10/22 Markus Rechberger <[email protected]>:
>> > >>> commit history is available at:
>> > >> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
>> > >>
>> > The [old] driver has a long and rather bad history, which I'd like to avoid
>> > by using the different directory.
>>
>> You could submit patches depricating it. Does the old driver support
>> something yours does not?
>>
>
> BTW, you forgot to a patch to include your driver into Kconfig of
> drivers/media/video. Something like this, perhaps:
>
> diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
> index 47102c2..1bbee59 100644
> --- a/drivers/media/video/Kconfig
> +++ b/drivers/media/video/Kconfig
> @@ -781,7 +781,7 @@ source "drivers/media/video/gspca/Kconfig"
>
> source "drivers/media/video/pvrusb2/Kconfig"
>
> -source "drivers/media/video/em28xx/Kconfig"
> +source "drivers/media/video/empia/Kconfig"
>
> source "drivers/media/video/usbvision/Kconfig"
>
>

this one slipped through thanks :-)

Markus

2008-10-22 18:56:24

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

Alex Riesen, Wed, Oct 22, 2008 20:29:24 +0200:
> Markus Rechberger, Wed, Oct 22, 2008 20:10:49 +0200:
> > On Wed, Oct 22, 2008 at 7:59 PM, Alex Riesen <[email protected]> wrote:
> > > 2008/10/22 Markus Rechberger <[email protected]>:
> > >>> commit history is available at:
> > >> http://mcentral.de/hg/~mrec/em28xx-new/shortlog
> > >>
> > The [old] driver has a long and rather bad history, which I'd like to avoid
> > by using the different directory.
>
> You could submit patches depricating it. Does the old driver support
> something yours does not?
>

BTW, you forgot to a patch to include your driver into Kconfig of
drivers/media/video. Something like this, perhaps:

diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index 47102c2..1bbee59 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -781,7 +781,7 @@ source "drivers/media/video/gspca/Kconfig"

source "drivers/media/video/pvrusb2/Kconfig"

-source "drivers/media/video/em28xx/Kconfig"
+source "drivers/media/video/empia/Kconfig"

source "drivers/media/video/usbvision/Kconfig"

2008-10-23 06:17:25

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH] em28xx patches against the latest git tree

Alex Riesen, Wed, Oct 22, 2008 20:40:58 +0200:
>
> BTW, you forgot to a patch to include your driver into Kconfig of
> drivers/media/video. ...
>

And the upper-level Makefile. Otherwise the driver wasn't even
compiled. It has some warnings regarding unused inc_ref/dec_ref, BTW