Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Matti J. Aaltonen
On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
 On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
  Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
  control classes.
 
 This will no longer apply now that the control framework has been merged.
 
 I strongly recommend converting the driver to use that framework. If
 nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.
 
 See the file Documentation/video4linux/v4l2-controls.txt.

I can't find that file.  Should it be in some branch of the development
tree?

I've updated my tree:

[remote origin]
url =
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote linuxtv]
url = http://linuxtv.org/git/v4l-dvb.git
fetch = +refs/heads/*:refs/remotes/linuxtv/*

The closest file I have name-wise is
Documentation/video4linux/v4l2-framework.txt

Thanks,
Matti A.

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH V2] Nova-S-Plus audio line input

2010-08-10 Thread lawrence rust
Hi everyone,

This patch adds audio DMA capture and ALSA mixer elements for the line
input jack of the Hauppauge Nova-S-plus DVB-S PCI card.  The Nova-S-plus
has a WM8775 ADC that is currently not detected.  This patch enables
this chip and exports elements for ALSA mixer controls.

This is an update to the original, addressing points made by Andy Walls
(thanks Andy).  This is a summary of the main changes made:

- Add the macro call_hw() to cx88.h to call a subdev by group ID.

- In wm8775.h define a group ID for the wm8775.

- In cx88-alsa.c replace call_all() with call_hw() (call by group ID) to
pass volume  balance to a wm8775.  At first I thought that caching a
subdev* during init might be more efficient but on reflection this
method is not compatible with current user expectations of hotplug so a
runtime method is better.

- In cx88-video.c replace wm8775 call_all() with call_hw().

- The cx88 ALSA mixer volume control is renamed 'Analog-TV' with
associated mute switch.  cx88 audio output is muted with the switch
'Audio-Out'.

- Preserve the default ALC setup in wm8775.c but add an ALSA mixer
switch 'Line-In ALC' to switch between ALC and manual level control.

- Changes to comments  formatting in wm8775_probe() are reverted.  The
ALC setup is modified slightly to reduce large signal distortion.

Comments, criticism  errata please.

Signed-off by Lawrence Rust lawrence (at) softsystem.co.uk

diff --git a/drivers/media/video/cx88/cx88-alsa.c 
b/drivers/media/video/cx88/cx88-alsa.c
index 33082c9..95c0e54 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -40,6 +40,7 @@
 #include sound/control.h
 #include sound/initval.h
 #include sound/tlv.h
+#include media/wm8775.h
 
 #include cx88.h
 #include cx88-reg.h
@@ -587,26 +588,47 @@ static int snd_cx88_volume_put(struct snd_kcontrol 
*kcontrol,
int left, right, v, b;
int changed = 0;
u32 old;
+   struct v4l2_control client_ctl;
+
+   /* Pass volume  balance onto any WM8775 */
+   if ( value-value.integer.value[0] = value-value.integer.value[1]) {
+   v = value-value.integer.value[0]  10;
+   b = value-value.integer.value[0] ?
+   (0x8000 * value-value.integer.value[1]) / 
value-value.integer.value[0] :
+   0x8000;
+   } else {
+   v = value-value.integer.value[1]  10;
+   b = value-value.integer.value[1] ?
+   0x - (0x8000 * value-value.integer.value[0]) / 
value-value.integer.value[1] :
+   0x8000;
+   }
+   client_ctl.value = v;
+   client_ctl.id = V4L2_CID_AUDIO_VOLUME;
+   call_hw(core, WM8775_GID, core, s_ctrl, client_ctl);
+
+   client_ctl.value = b;
+   client_ctl.id = V4L2_CID_AUDIO_BALANCE;
+   call_hw(core, WM8775_GID, core, s_ctrl, client_ctl);
 
left = value-value.integer.value[0]  0x3f;
right = value-value.integer.value[1]  0x3f;
b = right - left;
if (b  0) {
-   v = 0x3f - left;
-   b = (-b) | 0x40;
+   v = 0x3f - left;
+   b = (-b) | 0x40;
} else {
-   v = 0x3f - right;
+   v = 0x3f - right;
}
/* Do we really know this will always be called with IRQs on? */
spin_lock_irq(chip-reg_lock);
old = cx_read(AUD_VOL_CTL);
if (v != (old  0x3f)) {
-   cx_write(AUD_VOL_CTL, (old  ~0x3f) | v);
-   changed = 1;
+   cx_swrite(SHADOW_AUD_VOL_CTL, AUD_VOL_CTL, (old  ~0x3f) | v);
+   changed = 1;
}
-   if (cx_read(AUD_BAL_CTL) != b) {
-   cx_write(AUD_BAL_CTL, b);
-   changed = 1;
+   if ((cx_read(AUD_BAL_CTL)  0x7f) != b) {
+   cx_write(AUD_BAL_CTL, b);
+   changed = 1;
}
spin_unlock_irq(chip-reg_lock);
 
@@ -619,7 +641,7 @@ static struct snd_kcontrol_new snd_cx88_volume = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE |
  SNDRV_CTL_ELEM_ACCESS_TLV_READ,
-   .name = Playback Volume,
+   .name = Analog-TV Volume,
.info = snd_cx88_volume_info,
.get = snd_cx88_volume_get,
.put = snd_cx88_volume_put,
@@ -650,7 +672,14 @@ static int snd_cx88_switch_put(struct snd_kcontrol 
*kcontrol,
vol = cx_read(AUD_VOL_CTL);
if (value-value.integer.value[0] != !(vol  bit)) {
vol ^= bit;
-   cx_write(AUD_VOL_CTL, vol);
+   cx_swrite(SHADOW_AUD_VOL_CTL, AUD_VOL_CTL, vol);
+   /* Pass mute onto any WM8775 */
+   if ( (16) == bit) {
+   struct v4l2_control client_ctl;
+   client_ctl.value = 0 == value-value.integer.value[0];
+   client_ctl.id = V4L2_CID_AUDIO_MUTE;
+   call_hw(core, WM8775_GID, core, s_ctrl, client_ctl);
+   }

Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Hans Verkuil

 On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
 On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
  Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
  control classes.

 This will no longer apply now that the control framework has been
 merged.

 I strongly recommend converting the driver to use that framework. If
 nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.

 See the file Documentation/video4linux/v4l2-controls.txt.

 I can't find that file.  Should it be in some branch of the development
 tree?

It's in the new development tree, branch staging/v2.6.36:

http://git.linuxtv.org/media_tree.git

This replaced the v4l-dvb.git tree.

Regards,

 Hans


 I've updated my tree:

 [remote origin]
 url =
 http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
 fetch = +refs/heads/*:refs/remotes/origin/*
 [remote linuxtv]
 url = http://linuxtv.org/git/v4l-dvb.git
 fetch = +refs/heads/*:refs/remotes/linuxtv/*

 The closest file I have name-wise is
 Documentation/video4linux/v4l2-framework.txt

 Thanks,
 Matti A.




-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG, part of Cisco

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Matti J. Aaltonen
On Tue, 2010-08-10 at 10:04 +0200, ext Hans Verkuil wrote:
  On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
  On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
   Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
   control classes.
 
  This will no longer apply now that the control framework has been
  merged.
 
  I strongly recommend converting the driver to use that framework. If
  nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.
 
  See the file Documentation/video4linux/v4l2-controls.txt.
 
  I can't find that file.  Should it be in some branch of the development
  tree?
 
 It's in the new development tree, branch staging/v2.6.36:
 
 http://git.linuxtv.org/media_tree.git

The tree address is actually:

http://linuxtv.org/git/media_tree.git

B.R.
Matti.

 
 This replaced the v4l-dvb.git tree.
 
 Regards,
 
  Hans
 
 
  I've updated my tree:
 
  [remote origin]
  url =
  http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  fetch = +refs/heads/*:refs/remotes/origin/*
  [remote linuxtv]
  url = http://linuxtv.org/git/v4l-dvb.git
  fetch = +refs/heads/*:refs/remotes/linuxtv/*
 
  The closest file I have name-wise is
  Documentation/video4linux/v4l2-framework.txt
 
  Thanks,
  Matti A.
 
 
 
 


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e 2.6.34 /dev/dvb

2010-08-10 Thread folkert
   I have a:
   Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e
   inserted in a system with kernel 2.6.34.
 
  The PCTV 330e support for digital hasn't been merged upstream yet.
  See here:
  http://www.kernellabs.com/blog/?cat=35
 
  Does that mean teletext won't work either?
 
 Teletext support is completely different that digital (DVB) support.
 VBI support (including teletext) was added to the in-kernel em28xx
 driver back in January.

That'll be the analogue interface probably? e.g. /dev/vbi0
Because a.f.a.i.k. the dvb interface is /dev/dvb/adapter0/demux0 ?


Folkert van Heusden

-- 
Ever wonder what is out there? Any alien races? Then please support
the s...@home project: setiathome.ssl.berkeley.edu
--
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Matti J. Aaltonen
On Tue, 2010-08-10 at 10:04 +0200, ext Hans Verkuil wrote:
  On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
  On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
   Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
   control classes.
 
  This will no longer apply now that the control framework has been
  merged.
 
  I strongly recommend converting the driver to use that framework. If
  nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.
 
  See the file Documentation/video4linux/v4l2-controls.txt.
 
  I can't find that file.  Should it be in some branch of the development
  tree?
 
 It's in the new development tree, branch staging/v2.6.36:
 
 http://git.linuxtv.org/media_tree.git
 
 This replaced the v4l-dvb.git tree.
 
 Regards,

This mainly FYI:

I can read the v4l2-controls.txt file through your git web system... but
after cloning etc. I can't see it...

By looking at the git log the cloned tree lags behind three or four
days.


Cheers,
Matti A.

 
  Hans
 
 
  I've updated my tree:
 
  [remote origin]
  url =
  http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  fetch = +refs/heads/*:refs/remotes/origin/*
  [remote linuxtv]
  url = http://linuxtv.org/git/v4l-dvb.git
  fetch = +refs/heads/*:refs/remotes/linuxtv/*
 
  The closest file I have name-wise is
  Documentation/video4linux/v4l2-framework.txt
 
  Thanks,
  Matti A.
 
 
 
 


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Mauro Carvalho Chehab
Em 10-08-2010 09:03, Matti J. Aaltonen escreveu:
 On Tue, 2010-08-10 at 10:04 +0200, ext Hans Verkuil wrote:
 On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
 On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
 Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
 control classes.

 This will no longer apply now that the control framework has been
 merged.

 I strongly recommend converting the driver to use that framework. If
 nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.

 See the file Documentation/video4linux/v4l2-controls.txt.

 I can't find that file.  Should it be in some branch of the development
 tree?

 It's in the new development tree, branch staging/v2.6.36:

 http://git.linuxtv.org/media_tree.git

 This replaced the v4l-dvb.git tree.

 Regards,
 
 This mainly FYI:
 
 I can read the v4l2-controls.txt file through your git web system... but
 after cloning etc. I can't see it...

You're probably at the wrong branch. you'll need to do something like:
$ git checkout -b my_working_branch remotes/staging/v2.6.36

in order to create a new branch based on it.

Cheers,
Mauro
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e 2.6.34 /dev/dvb

2010-08-10 Thread Devin Heitmueller
On Tue, Aug 10, 2010 at 7:22 AM, folkert folk...@vanheusden.com wrote:
 Teletext support is completely different that digital (DVB) support.
 VBI support (including teletext) was added to the in-kernel em28xx
 driver back in January.

 That'll be the analogue interface probably? e.g. /dev/vbi0
 Because a.f.a.i.k. the dvb interface is /dev/dvb/adapter0/demux0 ?

Yes, VBI is an analog interface, and the teletext is provided via /dev/vbi0.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.

2010-08-10 Thread Matti J. Aaltonen
On Tue, 2010-08-10 at 14:14 +0200, ext Mauro Carvalho Chehab wrote:
 Em 10-08-2010 09:03, Matti J. Aaltonen escreveu:
  On Tue, 2010-08-10 at 10:04 +0200, ext Hans Verkuil wrote:
  On Mon, 2010-08-09 at 18:38 +0200, ext Hans Verkuil wrote:
  On Monday 02 August 2010 16:06:39 Matti J. Aaltonen wrote:
  Add spacing field to v4l2_hw_freq_seek and also add FM RX class to
  control classes.
 
  This will no longer apply now that the control framework has been
  merged.
 
  I strongly recommend converting the driver to use that framework. If
  nothing else, you get support for the g/s/try_ext_ctrls ioctls for free.
 
  See the file Documentation/video4linux/v4l2-controls.txt.
 
  I can't find that file.  Should it be in some branch of the development
  tree?
 
  It's in the new development tree, branch staging/v2.6.36:
 
  http://git.linuxtv.org/media_tree.git
 
  This replaced the v4l-dvb.git tree.
 
  Regards,
  
  This mainly FYI:
  
  I can read the v4l2-controls.txt file through your git web system... but
  after cloning etc. I can't see it...
 
 You're probably at the wrong branch. you'll need to do something like:
   $ git checkout -b my_working_branch remotes/staging/v2.6.36
 
 in order to create a new branch based on it.

Referring to a remote branch like that is new to me, also it doesn't
work:

git branch -a
  master
* v2636
  origin/HEAD
  origin/master
  origin/staging/v2.6.35
  origin/staging/v2.6.36
  origin/staging/v2.6.37

git checkout -b my_working_branch remotes/staging/v2.6.36
fatal: git checkout: updating paths is incompatible with switching
branches.
Did you intend to checkout 'remotes/staging/v2.6.36' which can not be
resolved as commit?

more .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote origin]
url = http://linuxtv.org/git/media_tree.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch master]
remote = origin
merge = refs/heads/master
[branch v2636]
remote = origin
merge = refs/heads/staging/v2.6.36


git --version
git version 1.6.1.3


 
 Cheers,
 Mauro
 --
 To unsubscribe from this list: send the line unsubscribe linux-media in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e 2.6.34 /dev/dvb

2010-08-10 Thread folkert
  I have a:
  Bus 001 Device 006: ID 2304:0226 Pinnacle Systems, Inc. PCTV 330e
  inserted in a system with kernel 2.6.34.
 
 The PCTV 330e support for digital hasn't been merged upstream yet.
 See here:
 http://www.kernellabs.com/blog/?cat=35

To get it compile I had to add
#include linux/slab.h
to a couple of files.

Had to remove makefile references to firedtv* as it wants to include all
kinds of headerfiles that exist nowhere in the kernel 2.6.34 sources.


Folkert van Heusden

-- 
MultiTail er et flexible tool for å kontrolere Logfiles og commandoer.
Med filtrer, farger, sammenføringer, forskeliger ansikter etc.
http://www.vanheusden.com/multitail/
--
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e 2.6.34 /dev/dvb

2010-08-10 Thread folkert
Fyi: since I upgraded the modules by the mercurial tree you mentioned a
few mails ago, my 18b4:1689 e3C Technologies DUTV009 significally has
more signal locks. Coincidence?


Folkert van Heusden

-- 
MultiTail is een flexibele tool voor het volgen van logfiles en
uitvoer van commando's. Filteren, van kleur voorzien, mergen,
'diff-view', etc. http://www.vanheusden.com/multitail/
--
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Pinnacle Systems, Inc. PCTV 330e 2.6.34 /dev/dvb

2010-08-10 Thread Devin Heitmueller
2010/8/10 folkert folk...@vanheusden.com:
 Fyi: since I upgraded the modules by the mercurial tree you mentioned a
 few mails ago, my 18b4:1689 e3C Technologies DUTV009 significally has
 more signal locks. Coincidence?

I don't know.  The tree I pointed you to is several months old, but
may be newer than whatever version of the drivers you had in your base
Linux distribution.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/5] mx2_camera: change to register and probe

2010-08-10 Thread Guennadi Liakhovetski
On Tue, 10 Aug 2010, Michael Grzeschik wrote:

 Hi Guennadi,
 
 On Thu, Aug 05, 2010 at 10:17:11PM +0200, Guennadi Liakhovetski wrote:
  On Tue, 3 Aug 2010, Michael Grzeschik wrote:
  
   change this driver back to register and probe, since some platforms
   first have to initialize an already registered power regulator to switch
   on the camera.
  
  I shall be preparing a pull-request for 2.6.36-rc1 #2, but since we 
  haven't finished discussing this and when this is ready, this will be a 
  fix - without this your platform doesn't work, right? So, we can push it 
  after rc1.
 
 The issue is, that we cannot change the platform code from the
 late_initcall structure. For me there is no other solution than that,
 because we have to enable the regulator before the camera chip to
 communicate over i2c. If we would move to the notify way we would
 first listen for the i2c enabled clients but for that we would still
 have to first enable the regulator. At this moment i don't see a
 solution in this way.

Hm, I think, there is an easier way to do this: just use the .power() 
callback from struct soc_camera_link. It is called for the first time 
before the camera is added to the i2c bus, so, before any IO is taking 
place. Just be careful to make sure you don't call one-time init actions 
(like gpio_request()) multiple times - .power is called also later again 
upon each open / close. So, you'll need some flag to detect the very first 
power-on.

Sorry, for keeping on my attempts to avoid your patch - it really seems to 
me, a better solution is possible.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Avermedia dvb-t hybrid A188

2010-08-10 Thread Davor Emard
HI

This is my second attempt on Avermedia A188.
The hardware on this card is:

1x Philips SAA7160 pci-e bridge
2x NXP SAA7136 multistandard 10-bit A/V decoder
2x Afatech AF9013S demodulator
2x NXP TDA18271 silicon tuner ic (digital/analog)

I've written af9013 frontend attach code but I'm having
problems with loading firmware.

If someone can scan the card on window$ and see what the
driver does, are there some gpios that turn on the frontend
would be nice (maybe also extract correct firmware)

What I did
---
started from saa716x tree
hg clone http://www.jusst.de/hg/saa716x/
and added the af9013 frontend.

It compiles fine, loads af9013 module and requests
firmware but it won't load

Firmware was downloaded from 
http://www.otit.fi/~crope/v4l-dvb/af9015/dvb-fe-af9013.fw 
Also tried another firmware for af9015 usb sticks

In the code I made a loop to try i2c addresses from 0x00-0x7f
for af9013 but so far not found the correct one

The patch avermedia-005.diff
-
diff -pur saa716x.orig/linux/drivers/media/common/saa716x/saa716x_hybrid.c 
saa716x/linux/drivers/media/common/saa716x/saa716x_hybrid.c
--- saa716x.orig/linux/drivers/media/common/saa716x/saa716x_hybrid.c
2010-06-20 13:24:18.0 +0200
+++ saa716x/linux/drivers/media/common/saa716x/saa716x_hybrid.c 2010-08-10 
23:34:42.901211071 +0200
@@ -35,6 +35,9 @@
 #include zl10353.h
 #include mb86a16.h
 #include tda1004x.h
+#include af9013.h
+#include tda18271.h
+
 
 unsigned int verbose;
 module_param(verbose, int, 0644);
@@ -540,6 +543,82 @@ static struct saa716x_config saa716x_ave
.i2c_rate   = SAA716x_I2C_RATE_100,
 };
 
+#define SAA716x_MODEL_AVERMEDIA_A188   Avermedia AVerTV Duo Hybrid PCI-E II 
A188
+#define SAA716x_DEV_AVERMEDIA_A188 2x DVB-T + 2x Analaog
+
+static int load_config_avera188(struct saa716x_dev *saa716x)
+{
+   int ret = 0;
+   return ret;
+}
+
+/* probably af9013 is used in parallel mode 
+** common demod_address are 0x38 and 0x3a
+** tuner is nxp tda18271
+*/
+struct af9013_config avera188_af9013_config = {
+   .demod_address = 0x38,
+   .output_mode = AF9013_OUTPUT_MODE_PARALLEL,
+   .api_version = { 0, 1, 9, 0 },
+   .gpio[0] = AF9013_GPIO_HI,
+   .gpio[3] = AF9013_GPIO_TUNER_ON,
+
+/*
+   .demod_address = 0x3a,
+   .output_mode = AF9013_OUTPUT_MODE_SERIAL,
+   .api_version = { 0, 1, 9, 0 },
+   .gpio[0] = AF9013_GPIO_TUNER_ON,
+   .gpio[1] = AF9013_GPIO_LO,
+*/
+};
+
+
+static int saa716x_avera188_frontend_attach(struct saa716x_adapter *adapter, 
int count)
+{
+   struct saa716x_dev *saa716x = adapter-saa716x;
+   struct saa716x_i2c *i2c = saa716x-i2c[count];
+int i;
+
+   if (count  == 0) {
+   dprintk(SAA716x_DEBUG, 1, Adapter (%d) SAA716x frontend Init, 
count);
+   dprintk(SAA716x_DEBUG, 1, Adapter (%d) Device ID=%02x, count, 
saa716x-pdev-subsystem_device);
+   dprintk(SAA716x_ERROR, 1, Adapter (%d) Power ON, count);
+   saa716x_gpio_write(saa716x, GPIO_14, 1);
+   msleep(100);
+
+   for(i = 0; i  1; i++)
+   { /* try all addresses in a loop */
+   /* avera188_af9013_config.demod_address = i; */
+
+printk(Trying af9013 frontend on I2C address 0x%02x, 
avera188_af9013_config.demod_address);
+   adapter-fe = af9013_attach(avera188_af9013_config, 
i2c-i2c_adapter);
+   if (adapter-fe == NULL) {
+   dprintk(SAA716x_ERROR, 1, Frontend attach failed);
+   /* return -ENODEV; */
+   } else {
+   dprintk(SAA716x_ERROR, 1, Done!);
+   return 0;
+   }
+   }
+   return -ENODEV;
+   
+   }
+
+   return 0;
+}
+
+static struct saa716x_config saa716x_avera188_config = {
+   .model_name = SAA716x_MODEL_AVERMEDIA_A188,
+   .dev_type   = SAA716x_DEV_AVERMEDIA_A188,
+   .boot_mode  = SAA716x_EXT_BOOT,
+   .load_config= load_config_avera188,
+   .adapters   = 1,
+   .frontend_attach= saa716x_avera188_frontend_attach,
+   .irq_handler= saa716x_hybrid_pci_irq,
+   .i2c_rate   = SAA716x_I2C_RATE_100,
+};
+
+
 static struct pci_device_id saa716x_hybrid_pci_table[] = {
 
MAKE_ENTRY(TWINHAN_TECHNOLOGIES, TWINHAN_VP_6090, SAA7162, 
saa716x_vp6090_config),
@@ -547,6 +626,7 @@ static struct pci_device_id saa716x_hybr
MAKE_ENTRY(NXP_REFERENCE_BOARD, PCI_ANY_ID, SAA7160, 
saa716x_nemo_config),
MAKE_ENTRY(AVERMEDIA, AVERMEDIA_HC82, SAA7160, 
saa716x_averhc82_config),
MAKE_ENTRY(AVERMEDIA, AVERMEDIA_H788, SAA7160, 
saa716x_averh788_config),
+   MAKE_ENTRY(AVERMEDIA, AVERMEDIA_A188, SAA7160, 
saa716x_avera188_config),

Re: [2.6.35] usb 2.0 em28xx kernel panic general protection fault: 0000 [#1] SMP RIP: 0010:[ffffffffa004fbc5] [ffffffffa004fbc5] em28xx_isoc_copy_vbi+0x62e/0x812 [em28xx]

2010-08-10 Thread Devin Heitmueller
Hello Sander,

Which application were you using, and specifically which em28xx based
product do you have?

Devin

On Tue, Aug 10, 2010 at 6:12 PM, Sander Eikelenboom
li...@eikelenboom.it wrote:
 Hi,

 While trying to test try and report about some other bugs,  i ran into this 
 kernel panic when trying to grab video from my usb 2.0 em28xx videgrabber 
 connected to a usb 2.0 port.
 Complete serial log attachted.


 [  279.680018] general protection fault:  [#1] SMP
 [  279.683901] last sysfs file: 
 /sys/devices/pci:00/:00:12.2/usb1/1-5/i2c-0/name
 [  279.683901] CPU 5
 [  279.683901] Modules linked in: xt_multiport ipt_REJECT xt_recent xt_limit 
 xt_tcpudp powernow_k8 mperf xt_state ipt_MA
 SQUERADE ipt_LOG iptable_mangle iptable_filter iptable_nat ip_tables nf_nat 
 x_tables nf_conntrack_ipv4 nf_conntrack nf_d
 efrag_ipv4 fuse hwmon_vid loop saa7115 snd_cmipci gameport snd_opl3_lib 
 snd_hwdep snd_mpu401_uart snd_rawmidi em28xx v4l
 2_common snd_hda_codec_atihdmi snd_hda_intel snd_hda_codec snd_pcm 
 snd_seq_device videodev snd_timer snd v4l1_compat v4l
 2_compat_ioctl32 videobuf_vmalloc videobuf_core psmouse tpm_tis joydev evdev 
 tveeprom serio_raw shpchp edac_core i2c_pii
 x4 soundcore pcspkr i2c_core pci_hotplug wmi snd_page_alloc processor button 
 sd_mod r8169 thermal fan thermal_sys [last
 unloaded: scsi_wait_scan]
 [  279.683901]
 [  279.683901] Pid: 0, comm: swapper Not tainted 
 2.6.352.6.35-vanilla-xhci-isoc+ #6 890FXA-GD70 (MS-7640)  /MS-7640
 [  279.683901] RIP: 0010:[a004fbc5]  [a004fbc5] 
 em28xx_isoc_copy_vbi+0x62e/0x812 [em28xx]
 [  279.683901] RSP: 0018:880001b43c68  EFLAGS: 00010082
 [  279.683901] RAX: dead00200200 RBX: 0804 RCX: 
 880229625818
 [  279.683901] RDX: dead00100100 RSI: 0003 RDI: 
 880229625868
 [  279.683901] RBP: 880001b43d08 R08:  R09: 
 0804
 [  279.683901] R10: 880229597000 R11:  R12: 
 
 [  279.683901] R13: 88022f158820 R14: 880229597000 R15: 
 0344
 [  279.683901] FS:  7fa4bd3706e0() GS:880001b4() 
 knlGS:
 [  279.683901] CS:  0010 DS:  ES:  CR0: 8005003b
 [  279.683901] CR2: 7fa4bd35f000 CR3: 00022a9ad000 CR4: 
 06e0
 [  279.683901] DR0:  DR1:  DR2: 
 
 [  279.683901] DR3:  DR6: 0ff0 DR7: 
 0400
 [  279.683901] Process swapper (pid: 0, threadinfo 880237d4a000, task 
 880237d2f7a0)
 [  279.683901] Stack:
 [  279.683901]  8103d7a3 880001b43cb0 0082 
 8802375e2188
 [  279.683901] 0 0804 880229625818 880229597a40 
 880229597a90
 [  279.683901] 0 c90010b72000  002237d2 
 880229597000
 [  279.683901] Call Trace:
 [  279.683901]  IRQ
 [  279.683901]  [8103d7a3] ? enqueue_task+0x77/0x87
 [  279.683901]  [a0053398] em28xx_irq_callback+0x7e/0xfe [em28xx]
 [  279.683901]  [81359415] usb_hcd_giveback_urb+0x84/0xb8
 [  279.683901]  [8136b51b] ehci_urb_done+0xcf/0xe4
 [  279.683901]  [8136cd15] ehci_work+0x504/0x8da
 [  279.683901]  [81370fda] ehci_irq+0x19c/0x1ce
 [  279.683901]  [81358bd1] usb_hcd_irq+0x3e/0x83
 [  279.683901]  [8108782c] handle_IRQ_event+0x58/0x136
 [  279.683901]  [81089414] handle_fasteoi_irq+0x92/0xd2
 [  279.683901]  [8100b241] handle_irq+0x1f/0x2a
 [  279.683901]  [8100a884] do_IRQ+0x5a/0xc1
 [  279.683901]  [8146c953] ret_from_intr+0x0/0x11
 [  279.683901]  EOI
 [  279.683901]  [a0044740] ? acpi_idle_enter_simple+0x130/0x168 
 [processor]
 [  279.683901]  [a004473c] ? acpi_idle_enter_simple+0x12c/0x168 
 [processor]
 [  279.683901]  [813ad822] cpuidle_idle_call+0x9b/0xfd
 [  279.683901]  [81007868] cpu_idle+0x51/0x84
 [  279.683901]  [81466d1b] start_secondary+0x1c0/0x1c5
 [  279.683901] Code: 83 ef 80 e8 69 39 01 e1 48 8b 4d 88 49 c7 86 18 0b 00 00 
 00 00 00 00 be 03 00 00 00 48 8b 51 40 48
 8b 41 48 48 89 cf 48 83 c7 50 48 89 42 08 48 89 10 48 b8 00 01 10 00 00 00 
 ad de 48 89 41 40
 [  279.683901] RIP  [a004fbc5] em28xx_isoc_copy_vbi+0x62e/0x812 
 [em28xx]
 [  279.683901]  RSP 880001b43c68
 [  279.683901] ---[ end trace 0f55a03076b067cf ]---
 [  279.683901] Kernel panic - not syncing: Fatal exception in interrupt
 [  279.683901] Pid: 0, comm: swapper Tainted: G      D     
 2.6.352.6.35-vanilla-xhci-isoc+ #6
 [  279.683901] Call Trace:
 [  279.683901]  IRQ  [81469cf9] panic+0xb1/0x12a
 [  279.683901]  [81043b90] ? kmsg_dump+0x126/0x140
 [  279.683901]  [8100c354] oops_end+0x89/0x96
 [  279.683901]  [8100c534] die+0x55/0x5e
 [  279.683901]  [8100a26f] do_general_protection+0x130/0x138
 [  279.683901]  [8146cc05] general_protection+0x25/0x30
 [  

Re: [2.6.35] usb 2.0 em28xx kernel panic general protection fault: 0000 [#1] SMP RIP: 0010:[ffffffffa004fbc5] [ffffffffa004fbc5] em28xx_isoc_copy_vbi+0x62e/0x812 [em28xx]

2010-08-10 Thread Sander Eikelenboom
Hello Devin,

It's a k-world, which used to work fine (altough with another program, but I 
can't use that since it seems at least 2 other bugs prevent me from using my 
VM's :-)
It's this model  
http://global.kworld-global.com/main/prod_in.aspx?mnuid=1248modid=6pcid=47ifid=17prodid=104

Tried to grab with ffmpeg.


--
Sander



Wednesday, August 11, 2010, 12:45:20 AM, you wrote:

 Hello Sander,

 Which application were you using, and specifically which em28xx based
 product do you have?

 Devin

 On Tue, Aug 10, 2010 at 6:12 PM, Sander Eikelenboom
 li...@eikelenboom.it wrote:
 Hi,

 While trying to test try and report about some other bugs,  i ran into this 
 kernel panic when trying to grab video from my usb 2.0 em28xx videgrabber 
 connected to a usb 2.0 port.
 Complete serial log attachted.


 [  279.680018] general protection fault:  [#1] SMP
 [  279.683901] last sysfs file: 
 /sys/devices/pci:00/:00:12.2/usb1/1-5/i2c-0/name
 [  279.683901] CPU 5
 [  279.683901] Modules linked in: xt_multiport ipt_REJECT xt_recent xt_limit 
 xt_tcpudp powernow_k8 mperf xt_state ipt_MA
 SQUERADE ipt_LOG iptable_mangle iptable_filter iptable_nat ip_tables nf_nat 
 x_tables nf_conntrack_ipv4 nf_conntrack nf_d
 efrag_ipv4 fuse hwmon_vid loop saa7115 snd_cmipci gameport snd_opl3_lib 
 snd_hwdep snd_mpu401_uart snd_rawmidi em28xx v4l
 2_common snd_hda_codec_atihdmi snd_hda_intel snd_hda_codec snd_pcm 
 snd_seq_device videodev snd_timer snd v4l1_compat v4l
 2_compat_ioctl32 videobuf_vmalloc videobuf_core psmouse tpm_tis joydev evdev 
 tveeprom serio_raw shpchp edac_core i2c_pii
 x4 soundcore pcspkr i2c_core pci_hotplug wmi snd_page_alloc processor button 
 sd_mod r8169 thermal fan thermal_sys [last
 unloaded: scsi_wait_scan]
 [  279.683901]
 [  279.683901] Pid: 0, comm: swapper Not tainted 
 2.6.352.6.35-vanilla-xhci-isoc+ #6 890FXA-GD70 (MS-7640)  /MS-7640
 [  279.683901] RIP: 0010:[a004fbc5]  [a004fbc5] 
 em28xx_isoc_copy_vbi+0x62e/0x812 [em28xx]
 [  279.683901] RSP: 0018:880001b43c68  EFLAGS: 00010082
 [  279.683901] RAX: dead00200200 RBX: 0804 RCX: 
 880229625818
 [  279.683901] RDX: dead00100100 RSI: 0003 RDI: 
 880229625868
 [  279.683901] RBP: 880001b43d08 R08:  R09: 
 0804
 [  279.683901] R10: 880229597000 R11:  R12: 
 
 [  279.683901] R13: 88022f158820 R14: 880229597000 R15: 
 0344
 [  279.683901] FS:  7fa4bd3706e0() GS:880001b4() 
 knlGS:
 [  279.683901] CS:  0010 DS:  ES:  CR0: 8005003b
 [  279.683901] CR2: 7fa4bd35f000 CR3: 00022a9ad000 CR4: 
 06e0
 [  279.683901] DR0:  DR1:  DR2: 
 
 [  279.683901] DR3:  DR6: 0ff0 DR7: 
 0400
 [  279.683901] Process swapper (pid: 0, threadinfo 880237d4a000, task 
 880237d2f7a0)
 [  279.683901] Stack:
 [  279.683901]  8103d7a3 880001b43cb0 0082 
 8802375e2188
 [  279.683901] 0 0804 880229625818 880229597a40 
 880229597a90
 [  279.683901] 0 c90010b72000  002237d2 
 880229597000
 [  279.683901] Call Trace:
 [  279.683901]  IRQ
 [  279.683901]  [8103d7a3] ? enqueue_task+0x77/0x87
 [  279.683901]  [a0053398] em28xx_irq_callback+0x7e/0xfe [em28xx]
 [  279.683901]  [81359415] usb_hcd_giveback_urb+0x84/0xb8
 [  279.683901]  [8136b51b] ehci_urb_done+0xcf/0xe4
 [  279.683901]  [8136cd15] ehci_work+0x504/0x8da
 [  279.683901]  [81370fda] ehci_irq+0x19c/0x1ce
 [  279.683901]  [81358bd1] usb_hcd_irq+0x3e/0x83
 [  279.683901]  [8108782c] handle_IRQ_event+0x58/0x136
 [  279.683901]  [81089414] handle_fasteoi_irq+0x92/0xd2
 [  279.683901]  [8100b241] handle_irq+0x1f/0x2a
 [  279.683901]  [8100a884] do_IRQ+0x5a/0xc1
 [  279.683901]  [8146c953] ret_from_intr+0x0/0x11
 [  279.683901]  EOI
 [  279.683901]  [a0044740] ? acpi_idle_enter_simple+0x130/0x168 
 [processor]
 [  279.683901]  [a004473c] ? acpi_idle_enter_simple+0x12c/0x168 
 [processor]
 [  279.683901]  [813ad822] cpuidle_idle_call+0x9b/0xfd
 [  279.683901]  [81007868] cpu_idle+0x51/0x84
 [  279.683901]  [81466d1b] start_secondary+0x1c0/0x1c5
 [  279.683901] Code: 83 ef 80 e8 69 39 01 e1 48 8b 4d 88 49 c7 86 18 0b 00 
 00 00 00 00 00 be 03 00 00 00 48 8b 51 40 48
 8b 41 48 48 89 cf 48 83 c7 50 48 89 42 08 48 89 10 48 b8 00 01 10 00 00 00 
 ad de 48 89 41 40
 [  279.683901] RIP  [a004fbc5] em28xx_isoc_copy_vbi+0x62e/0x812 
 [em28xx]
 [  279.683901]  RSP 880001b43c68
 [  279.683901] ---[ end trace 0f55a03076b067cf ]---
 [  279.683901] Kernel panic - not syncing: Fatal exception in interrupt
 [  279.683901] Pid: 0, comm: swapper Tainted: G      D     
 2.6.352.6.35-vanilla-xhci-isoc+ #6
 [  

[PATCH] V4L/DVB: v4l2-ctrls: add inclusion of slab.h

2010-08-10 Thread Christoph Fritz
This patch adds inclusion of slab.h to get kzalloc, kfree and kmalloc
to work.

Signed-off-by: Christoph Fritz chf.fr...@googlemail.com
---
 drivers/media/video/v4l2-ctrls.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 84c1a53..ea8d32c 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -19,6 +19,7 @@
  */
 
 #include linux/ctype.h
+#include linux/slab.h
 #include media/v4l2-ioctl.h
 #include media/v4l2-device.h
 #include media/v4l2-ctrls.h
-- 
1.7.1



--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6.35] usb 2.0 em28xx kernel panic general protection fault: 0000 [#1] SMP RIP: 0010:[ffffffffa004fbc5] [ffffffffa004fbc5] em28xx_isoc_copy_vbi+0x62e/0x812 [em28xx]

2010-08-10 Thread Devin Heitmueller
On Tue, Aug 10, 2010 at 6:57 PM, Sander Eikelenboom
li...@eikelenboom.it wrote:
 Hello Devin,

 It's a k-world, which used to work fine (altough with another program, but I 
 can't use that since it seems at least 2 other bugs prevent me from using my 
 VM's :-)
 It's this model  
 http://global.kworld-global.com/main/prod_in.aspx?mnuid=1248modid=6pcid=47ifid=17prodid=104

 Tried to grab with ffmpeg.

Is it reproducible?  Or did it just happen once?  If you have a
sequence to reproduce, can you provide the command line you used, etc?

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html