Re: [PATCH v7 1/5] V4L2: Add seek spacing and FM RX class.
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
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.
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.
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
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.
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.
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
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.
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
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
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/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
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
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]
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]
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
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]
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