re: Re: how to develop driver for cy7c68013(fx2 lp)?

2009-09-22 Thread Patrick Boettcher

Hi Liu,

(please avoid top-posts on this list)

On Tue, 22 Sep 2009, liu.yao...@zte.com.cn wrote:


hi,Mauro:
thanks for replying.
i am not sure the dtv api can be used in my project.because cmmb's
protocol is different to dmb :(


Then the API needs to be extended. Maybe by you. Correct me if I'm wrong, 
but CMMB does not have standard MPEG2-TS and the configuration really 
needs real-time constraints.


How does it work for your device?

To have proper support for non-MPEG2-TS DTV streams we could add a new 
demuxer-type which handles it.


To tune a CMMB device we'd need to add the DTV_PROPERTIES to frontend.h


in Windows, we download firmware using windows driver,config fx2 as bulk
transfer,and read the TS stream,finally decode it and display.
I also read this post: http://www.linuxjournal.com/article/7466
Writing a Real Driver?In User Space.
if i just want to read the ts stream,should i use this method? or another
way?


This option is rather useful for debugging/prototyping, IMO.

In the future we will have to support several CMMB device from different 
manufacturers. Up to now, we have used the kernel-user-interface to have 
stable API for different standards - we should continue to do so.


It would be nice to start the RFC-process for CMMB's extension to DVB API 
5 .


regards,

--

Patrick Boettcher - 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


[linux-dvb] pcie dvb-c

2009-09-22 Thread Halim Sahin

Hello,

I know of some dvb-s pcie cards but what about dvb-c.
Do we have a working pcie dvb-c card??
with kind regards
Halim

--
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: re: Re: how to develop driver for cy7c68013(fx2 lp)?

2009-09-22 Thread liu . yaojin
hi Patrick:
  the data stream is multiplex with h264 and acc-plus. we have ourself SDK 
to demultiplex it.
i use my device in this way:
1、search for valid channel(read/write through ep0)
2、read stream continuously(read through ep6(out) ) - demultiplex 
-display.
so,i think the important way is how to operate CY7C68013.correct me if 
wrong.





Hi Liu,

(please avoid top-posts on this list)

On Tue, 22 Sep 2009, liu.yao...@zte.com.cn wrote:

 hi,Mauro:
 thanks for replying.
 i am not sure the dtv api can be used in my project.because cmmb's
 protocol is different to dmb :(

Then the API needs to be extended. Maybe by you. Correct me if I'm wrong, 
but CMMB does not have standard MPEG2-TS and the configuration really 
needs real-time constraints.

How does it work for your device?

To have proper support for non-MPEG2-TS DTV streams we could add a new 
demuxer-type which handles it.

To tune a CMMB device we'd need to add the DTV_PROPERTIES to frontend.h

 in Windows, we download firmware using windows driver,config fx2 as bulk
 transfer,and read the TS stream,finally decode it and display.
 I also read this post: http://www.linuxjournal.com/article/7466
 Writing a Real Driver?In User Space.
 if i just want to read the ts stream,should i use this method? or 
another
 way?

This option is rather useful for debugging/prototyping, IMO.

In the future we will have to support several CMMB device from different 
manufacturers. Up to now, we have used the kernel-user-interface to have 
stable API for different standards - we should continue to do so.

It would be nice to start the RFC-process for CMMB's extension to DVB API 
5 .

regards,

--

Patrick Boettcher - 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






ZTE Information Security Notice: The information contained in this mail is 
solely property of the sender's organization. This mail communication is 
confidential. Recipients named above are obligated to maintain secrecy and are 
not permitted to disclose the contents of this communication to others.
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. If 
you have received this email in error please notify the originator of the 
message. Any views expressed in this message are those of the individual sender.
This message has been scanned for viruses and Spam by ZTE Anti-Spam system.


Re: [origin tree build failure] [PATCH] media: video: Fix build in saa7164

2009-09-22 Thread Ingo Molnar

* Mauro Carvalho Chehab mche...@redhat.com wrote:

 Em Mon, 21 Sep 2009 20:23:45 +0200
 Ingo Molnar mi...@elte.hu escreveu:
 
  
  * Mauro Carvalho Chehab mche...@redhat.com wrote:
  
   This series also contains several new drivers:
   
  - new driver for NXP saa7164;
  
  -tip testing found that an allyesconfig build buglet found its way into 
  this driver - find the fix below.
  
 
  diff --git a/drivers/media/video/saa7164/saa7164-core.c 
  b/drivers/media/video/saa7164/saa7164-core.c
  index f0dbead..60f3214 100644
  --- a/drivers/media/video/saa7164/saa7164-core.c
  +++ b/drivers/media/video/saa7164/saa7164-core.c
  @@ -45,8 +45,8 @@ MODULE_LICENSE(GPL);
32 bus
*/
   
  -unsigned int debug;
  -module_param(debug, int, 0644);
  +unsigned int saa_debug;
  +module_param(saa_debug, int, 0644);
 
 Hmm... it is better to use module_param_named(debug, saa_debug, int, 0644), to
 keep presenting the parameter as just debug to userspace.

ah, yes, fully agreed - i thought i did that but apparently modified it 
in this instance.

  This is because recent saa7164 changes introduced a global symbol 
  named 'debug'. The x86 platform code already defines a 'debug' 
  symbol. (which is named in a too generic way as well - but it can be 
  used nicely to weed out too generic symbols in drivers ;-
 
 Agreed.
 
 Btw, I suggest to do a similar patch also for x86, to avoid such 
 future conflicts.

Actually, Andrew considers it a feature that allows us to filter out too 
generic names early on :-)

Ingo
--
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: [PULL] http://linuxtv.org/hg/~anttip/af9015/

2009-09-22 Thread Aleksandr V. Piskunov
On Tue, Sep 22, 2009 at 03:34:11AM +0300, Antti Palosaari wrote:
 Hei Mauro,

 Please pull from http://linuxtv.org/hg/~anttip/af9015/
 for the following:

 af9015: add USB ID for KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
 af9015: fix few typos
 af9015: add LeadTek Y04G0051 remote buttons
 af9015: add MSI DIGIVOX mini III remote
 af9015: enable remote polling when eeprom contains 0x04

Thank you Antti, MSI DIGIVOX mini III remote is now being detected and working
as expected.

Tested-by: Aleksandr V. Piskunov alexandr.v.pisku...@gmail.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


[PATCH 0/4] adv7180 updates

2009-09-22 Thread Richard Röjfors
To follow is a series of patches against the adv7180 in the linux-media tree.

1. support for getting input status.

2. support for setting video standard

3. support for interrupt driven update of the video standard

4. usage of the __devinit and __devexit macros

--Richard
--
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 1/4] adv7180: Support for getting input status

2009-09-22 Thread Richard Röjfors
This patch adds support to the ADV7180 driver to check the input
status.

Since the status is held in the same register as the input standard
a small restructuring of the code is done to reuse the code for
reading the register

Signed-off-by: Richard Röjfors richard.rojf...@mocean-labs.com
---
diff --git a/drivers/media/video/adv7180.c b/drivers/media/video/adv7180.c
index 1b3cbd0..f3fce39 100644
--- a/drivers/media/video/adv7180.c
+++ b/drivers/media/video/adv7180.c
@@ -30,14 +30,31 @@

 #define DRIVER_NAME adv7180

-#define ADV7180_INPUT_CONTROL_REG  0x00
-#define ADV7180_INPUT_CONTROL_PAL_BG_NTSC_J_SECAM  0x00
+#define ADV7180_INPUT_CONTROL_REG  0x00
+#define ADV7180_INPUT_CONTROL_AD_PAL_BG_NTSC_J_SECAM   0x00
+#define ADV7180_INPUT_CONTROL_AD_PAL_BG_NTSC_J_SECAM_PED 0x10
+#define ADV7180_INPUT_CONTROL_AD_PAL_N_NTSC_J_SECAM0x20
+#define ADV7180_INPUT_CONTROL_AD_PAL_N_NTSC_M_SECAM0x30
+#define ADV7180_INPUT_CONTROL_NTSC_J   0x40
+#define ADV7180_INPUT_CONTROL_NTSC_M   0x50
+#define ADV7180_INPUT_CONTROL_PAL600x60
+#define ADV7180_INPUT_CONTROL_NTSC_443 0x70
+#define ADV7180_INPUT_CONTROL_PAL_BG   0x80
+#define ADV7180_INPUT_CONTROL_PAL_N0x90
+#define ADV7180_INPUT_CONTROL_PAL_M0xa0
+#define ADV7180_INPUT_CONTROL_PAL_M_PED0xb0
+#define ADV7180_INPUT_CONTROL_PAL_COMB_N   0xc0
+#define ADV7180_INPUT_CONTROL_PAL_COMB_N_PED   0xd0
+#define ADV7180_INPUT_CONTROL_PAL_SECAM0xe0
+#define ADV7180_INPUT_CONTROL_PAL_SECAM_PED0xf0
+
 #define ADV7180_AUTODETECT_ENABLE_REG  0x07
 #define ADV7180_AUTODETECT_DEFAULT 0x7f


-#define ADV7180_STATUS1_REG 0x10
-#define ADV7180_STATUS1_AUTOD_MASK 0x70
+#define ADV7180_STATUS1_REG0x10
+#define ADV7180_STATUS1_IN_LOCK0x01
+#define ADV7180_STATUS1_AUTOD_MASK 0x70
 #define ADV7180_STATUS1_AUTOD_NTSM_M_J 0x00
 #define ADV7180_STATUS1_AUTOD_NTSC_4_43 0x10
 #define ADV7180_STATUS1_AUTOD_PAL_M0x20
@@ -55,13 +72,11 @@ struct adv7180_state {
struct v4l2_subdev sd;
 };

-static v4l2_std_id determine_norm(struct i2c_client *client)
+static v4l2_std_id adv7180_std_to_v4l2(u8 status1)
 {
-   u8 status1 = i2c_smbus_read_byte_data(client, ADV7180_STATUS1_REG);
-
switch (status1  ADV7180_STATUS1_AUTOD_MASK) {
case ADV7180_STATUS1_AUTOD_NTSM_M_J:
-   return V4L2_STD_NTSC_M_JP;
+   return V4L2_STD_NTSC;
case ADV7180_STATUS1_AUTOD_NTSC_4_43:
return V4L2_STD_NTSC_443;
case ADV7180_STATUS1_AUTOD_PAL_M:
@@ -81,6 +96,30 @@ static v4l2_std_id determine_norm(struct i2c_client *client)
}
 }

+static u32 adv7180_status_to_v4l2(u8 status1)
+{
+   if (!(status1  ADV7180_STATUS1_IN_LOCK))
+   return V4L2_IN_ST_NO_SIGNAL;
+
+   return 0;
+}
+
+static int __adv7180_status(struct i2c_client *client, u32 *status,
+   v4l2_std_id *std)
+{
+   int status1 = i2c_smbus_read_byte_data(client, ADV7180_STATUS1_REG);
+
+   if (status1  0)
+   return status1;
+
+   if (status)
+   *status = adv7180_status_to_v4l2(status1);
+   if (std)
+   *std = adv7180_std_to_v4l2(status1);
+
+   return 0;
+}
+
 static inline struct adv7180_state *to_state(struct v4l2_subdev *sd)
 {
return container_of(sd, struct adv7180_state, sd);
@@ -88,10 +127,12 @@ static inline struct adv7180_state *to_state(struct 
v4l2_subdev *sd)

 static int adv7180_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
 {
-   struct i2c_client *client = v4l2_get_subdevdata(sd);
+   return __adv7180_status(v4l2_get_subdevdata(sd), NULL, std);
+}

-   *std = determine_norm(client);
-   return 0;
+static int adv7180_g_input_status(struct v4l2_subdev *sd, u32 *status)
+{
+   return __adv7180_status(v4l2_get_subdevdata(sd), status, NULL);
 }

 static int adv7180_g_chip_ident(struct v4l2_subdev *sd,
@@ -104,6 +145,7 @@ static int adv7180_g_chip_ident(struct v4l2_subdev *sd,

 static const struct v4l2_subdev_video_ops adv7180_video_ops = {
.querystd = adv7180_querystd,
+   .g_input_status = adv7180_g_input_status,
 };

 static const struct v4l2_subdev_core_ops adv7180_core_ops = {
@@ -143,7 +185,7 @@ static int adv7180_probe(struct i2c_client *client,
/* Initialize adv7180 */
/* enable autodetection */
ret = i2c_smbus_write_byte_data(client, ADV7180_INPUT_CONTROL_REG,
-   ADV7180_INPUT_CONTROL_PAL_BG_NTSC_J_SECAM);
+   ADV7180_INPUT_CONTROL_AD_PAL_BG_NTSC_J_SECAM);
if (ret  0)
ret = i2c_smbus_write_byte_data(client,
ADV7180_AUTODETECT_ENABLE_REG,
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org

[PATCH 2/4] adv7180: Support for setting input status

2009-09-22 Thread Richard Röjfors
Support for settings the input standard of the ADV7180.

When the input standard is set there is no use to ask the
chip for standard, therefore it is cached in the driver.

Signed-off-by: Richard Röjfors richard.rojf...@mocean-labs.com
---
diff --git a/drivers/media/video/adv7180.c b/drivers/media/video/adv7180.c
index f3fce39..8b199a8 100644
--- a/drivers/media/video/adv7180.c
+++ b/drivers/media/video/adv7180.c
@@ -69,7 +69,9 @@


 struct adv7180_state {
-   struct v4l2_subdev sd;
+   struct v4l2_subdev  sd;
+   v4l2_std_id curr_norm;
+   boolautodetect;
 };

 static v4l2_std_id adv7180_std_to_v4l2(u8 status1)
@@ -96,6 +98,29 @@ static v4l2_std_id adv7180_std_to_v4l2(u8 status1)
}
 }

+static int v4l2_std_to_adv7180(v4l2_std_id std)
+{
+   if (std == V4L2_STD_PAL_60)
+   return ADV7180_INPUT_CONTROL_PAL60;
+   if (std == V4L2_STD_NTSC_443)
+   return ADV7180_INPUT_CONTROL_NTSC_443;
+   if (std == V4L2_STD_PAL_N)
+   return ADV7180_INPUT_CONTROL_PAL_N;
+   if (std == V4L2_STD_PAL_M)
+   return ADV7180_INPUT_CONTROL_PAL_M;
+   if (std == V4L2_STD_PAL_Nc)
+   return ADV7180_INPUT_CONTROL_PAL_COMB_N;
+
+   if (std  V4L2_STD_PAL)
+   return ADV7180_INPUT_CONTROL_PAL_BG;
+   if (std  V4L2_STD_NTSC)
+   return ADV7180_INPUT_CONTROL_NTSC_M;
+   if (std  V4L2_STD_SECAM)
+   return ADV7180_INPUT_CONTROL_PAL_SECAM;
+
+   return -EINVAL;
+}
+
 static u32 adv7180_status_to_v4l2(u8 status1)
 {
if (!(status1  ADV7180_STATUS1_IN_LOCK))
@@ -127,7 +152,15 @@ static inline struct adv7180_state *to_state(struct 
v4l2_subdev *sd)

 static int adv7180_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
 {
-   return __adv7180_status(v4l2_get_subdevdata(sd), NULL, std);
+   struct adv7180_state *state = to_state(sd);
+   int err = 0;
+
+   if (!state-autodetect)
+   *std = state-curr_norm;
+   else
+   err = __adv7180_status(v4l2_get_subdevdata(sd), NULL, std);
+
+   return err;
 }

 static int adv7180_g_input_status(struct v4l2_subdev *sd, u32 *status)
@@ -143,6 +176,39 @@ static int adv7180_g_chip_ident(struct v4l2_subdev *sd,
return v4l2_chip_ident_i2c_client(client, chip, V4L2_IDENT_ADV7180, 0);
 }

+static int adv7180_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
+{
+   struct adv7180_state *state = to_state(sd);
+   struct i2c_client *client = v4l2_get_subdevdata(sd);
+   int ret;
+
+   /* all standards - autodetect */
+   if (std == V4L2_STD_ALL) {
+   ret = i2c_smbus_write_byte_data(client,
+   ADV7180_INPUT_CONTROL_REG,
+   ADV7180_INPUT_CONTROL_AD_PAL_BG_NTSC_J_SECAM);
+   if (ret  0)
+   goto out;
+
+   state-autodetect = true;
+   } else {
+   ret = v4l2_std_to_adv7180(std);
+   if (ret  0)
+   goto out;
+
+   ret = i2c_smbus_write_byte_data(client,
+   ADV7180_INPUT_CONTROL_REG, ret);
+   if (ret  0)
+   goto out;
+
+   state-curr_norm = std;
+   state-autodetect = false;
+   }
+   ret = 0;
+out:
+   return ret;
+}
+
 static const struct v4l2_subdev_video_ops adv7180_video_ops = {
.querystd = adv7180_querystd,
.g_input_status = adv7180_g_input_status,
@@ -150,6 +216,7 @@ static const struct v4l2_subdev_video_ops adv7180_video_ops 
= {

 static const struct v4l2_subdev_core_ops adv7180_core_ops = {
.g_chip_ident = adv7180_g_chip_ident,
+   .s_std = adv7180_s_std,
 };

 static const struct v4l2_subdev_ops adv7180_ops = {
@@ -179,6 +246,7 @@ static int adv7180_probe(struct i2c_client *client,
state = kzalloc(sizeof(struct adv7180_state), GFP_KERNEL);
if (state == NULL)
return -ENOMEM;
+   state-autodetect = true;
sd = state-sd;
v4l2_i2c_subdev_init(sd, client, adv7180_ops);

--
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: Questions about Terratec Hybrid XS (em2882) [0ccd:005e]

2009-09-22 Thread Uros Vampl
On 21.09.09 18:29, Devin Heitmueller wrote:
 On Mon, Sep 21, 2009 at 6:15 PM, Uros Vampl mobile.leec...@gmail.com wrote:
  I tried arecord/aplay and sox with tvtime, and also mplayer (which
  has
  built-in audio support). I know about these tricks, I've used them
  successfully with Markus' em28xx-new driver. But with v4l-dvb it's as I
  said, audio is there but it's extremely quiet. If you have suggestions
  how I should try to diagnoze this, I'm all ears.
 
  Regards,
  Uroš
 
 If the audio is present but very quiet, then it's probably some issue
 you are having with your mixer.  I would check your ALSA and
 PulseAudio configuration (in particular the mixer volume controls).
 
 Devin

No PulseAudio here. And I've played plenty with the ALSA mixer, all the 
sliders that are there.

Using em28xx-new instead of v4l-dvb, all else being equal, tv volume is 
fine. So there's gotta be a difference somewhere in the way em28xx-new 
sets up audio compared to how v4l-dvb does it.

Regards,
Uroš
--
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 4/4] adv7180: Use __devinit and __devexit macros

2009-09-22 Thread Richard Röjfors
This patch defines the probe and remove function as __devinit and __devexit.

Signed-off-by: Richard Röjfors richard.rojf...@mocean-labs.com
---
diff --git a/drivers/media/video/adv7180.c b/drivers/media/video/adv7180.c
index d9e897d..0826f0d 100644
--- a/drivers/media/video/adv7180.c
+++ b/drivers/media/video/adv7180.c
@@ -302,7 +302,7 @@ static irqreturn_t adv7180_irq(int irq, void *devid)
  * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '1'
  */

-static int adv7180_probe(struct i2c_client *client,
+static __devinit int adv7180_probe(struct i2c_client *client,
const struct i2c_device_id *id)
 {
struct adv7180_state *state;
@@ -404,7 +404,7 @@ err:
return ret;
 }

-static int adv7180_remove(struct i2c_client *client)
+static __devexit int adv7180_remove(struct i2c_client *client)
 {
struct v4l2_subdev *sd = i2c_get_clientdata(client);
struct adv7180_state *state = to_state(sd);
@@ -440,7 +440,7 @@ static struct i2c_driver adv7180_driver = {
.name   = DRIVER_NAME,
},
.probe  = adv7180_probe,
-   .remove = adv7180_remove,
+   .remove = __devexit_p(adv7180_remove),
.id_table   = adv7180_id,
 };

--
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 3/4] adv7180: Support checking standard via interrupts

2009-09-22 Thread Richard Röjfors
If the I2C device provides an interrupt it is registered and the standard
is updated via interrupts rather than polling.

Since I2C communication is needed, the interrupt handler fires off a
work which will check the new standard, and store it in the internal
structure.

To handle mutual exclusion a mutex is introduced.

Signed-off-by: Richard Röjfors richard.rojf...@mocean-labs.com
---
diff --git a/drivers/media/video/adv7180.c b/drivers/media/video/adv7180.c
index 8b199a8..d9e897d 100644
--- a/drivers/media/video/adv7180.c
+++ b/drivers/media/video/adv7180.c
@@ -27,6 +27,7 @@
 #include linux/videodev2.h
 #include media/v4l2-device.h
 #include media/v4l2-chip-ident.h
+#include linux/mutex.h

 #define DRIVER_NAME adv7180

@@ -48,9 +49,14 @@
 #define ADV7180_INPUT_CONTROL_PAL_SECAM0xe0
 #define ADV7180_INPUT_CONTROL_PAL_SECAM_PED0xf0

-#define ADV7180_AUTODETECT_ENABLE_REG  0x07
-#define ADV7180_AUTODETECT_DEFAULT 0x7f
+#define ADV7180_EXTENDED_OUTPUT_CONTROL_REG0x04
+#define ADV7180_EXTENDED_OUTPUT_CONTROL_NTSCDIS0xC5

+#define ADV7180_AUTODETECT_ENABLE_REG  0x07
+#define ADV7180_AUTODETECT_DEFAULT 0x7f
+
+#define ADV7180_ADI_CTRL_REG   0x0e
+#define ADV7180_ADI_CTRL_IRQ_SPACE 0x20

 #define ADV7180_STATUS1_REG0x10
 #define ADV7180_STATUS1_IN_LOCK0x01
@@ -67,9 +73,28 @@
 #define ADV7180_IDENT_REG 0x11
 #define ADV7180_ID_7180 0x18

+#define ADV7180_ICONF1_ADI 0x40
+#define ADV7180_ICONF1_ACTIVE_LOW  0x01
+#define ADV7180_ICONF1_PSYNC_ONLY  0x10
+#define ADV7180_ICONF1_ACTIVE_TO_CLR   0xC0
+
+#define ADV7180_IRQ1_LOCK  0x01
+#define ADV7180_IRQ1_UNLOCK0x02
+#define ADV7180_ISR1_ADI   0x42
+#define ADV7180_ICR1_ADI   0x43
+#define ADV7180_IMR1_ADI   0x44
+#define ADV7180_IMR2_ADI   0x48
+#define ADV7180_IRQ3_AD_CHANGE 0x08
+#define ADV7180_ISR3_ADI   0x4A
+#define ADV7180_ICR3_ADI   0x4B
+#define ADV7180_IMR3_ADI   0x4C
+#define ADV7180_IMR4_ADI   0x50

 struct adv7180_state {
struct v4l2_subdev  sd;
+   struct work_struct  work;
+   struct mutexmutex; /* mutual excl. when accessing chip */
+   int irq;
v4l2_std_id curr_norm;
boolautodetect;
 };
@@ -153,19 +178,30 @@ static inline struct adv7180_state *to_state(struct 
v4l2_subdev *sd)
 static int adv7180_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
 {
struct adv7180_state *state = to_state(sd);
-   int err = 0;
+   int err = mutex_lock_interruptible(state-mutex);
+   if (err)
+   return err;

-   if (!state-autodetect)
+   /* when we are interrupt driven we know the state */
+   if (!state-autodetect || state-irq  0)
*std = state-curr_norm;
else
err = __adv7180_status(v4l2_get_subdevdata(sd), NULL, std);

+   mutex_unlock(state-mutex);
return err;
 }

 static int adv7180_g_input_status(struct v4l2_subdev *sd, u32 *status)
 {
-   return __adv7180_status(v4l2_get_subdevdata(sd), status, NULL);
+   struct adv7180_state *state = to_state(sd);
+   int ret = mutex_lock_interruptible(state-mutex);
+   if (ret)
+   return ret;
+
+   ret = __adv7180_status(v4l2_get_subdevdata(sd), status, NULL);
+   mutex_unlock(state-mutex);
+   return ret;
 }

 static int adv7180_g_chip_ident(struct v4l2_subdev *sd,
@@ -180,7 +216,9 @@ static int adv7180_s_std(struct v4l2_subdev *sd, 
v4l2_std_id std)
 {
struct adv7180_state *state = to_state(sd);
struct i2c_client *client = v4l2_get_subdevdata(sd);
-   int ret;
+   int ret = mutex_lock_interruptible(state-mutex);
+   if (ret)
+   return ret;

/* all standards - autodetect */
if (std == V4L2_STD_ALL) {
@@ -190,6 +228,7 @@ static int adv7180_s_std(struct v4l2_subdev *sd, 
v4l2_std_id std)
if (ret  0)
goto out;

+   __adv7180_status(client, NULL, state-curr_norm);
state-autodetect = true;
} else {
ret = v4l2_std_to_adv7180(std);
@@ -206,6 +245,7 @@ static int adv7180_s_std(struct v4l2_subdev *sd, 
v4l2_std_id std)
}
ret = 0;
 out:
+   mutex_unlock(state-mutex);
return ret;
 }

@@ -224,6 +264,39 @@ static const struct v4l2_subdev_ops adv7180_ops = {
.video = adv7180_video_ops,
 };

+static void adv7180_work(struct work_struct *work)
+{
+   struct adv7180_state *state = container_of(work, struct adv7180_state,
+   work);
+   struct i2c_client *client = v4l2_get_subdevdata(state-sd);
+   u8 isr3;
+
+   mutex_lock(state-mutex);
+   i2c_smbus_write_byte_data(client, ADV7180_ADI_CTRL_REG,
+   ADV7180_ADI_CTRL_IRQ_SPACE);

Re: [PULL] http://linuxtv.org/hg/~anttip/af9015/

2009-09-22 Thread Roman
Am Tuesday 22 September 2009 10:33:47 schrieb Aleksandr V. Piskunov:
 Thank you Antti, MSI DIGIVOX mini III remote is now being detected and
 working as expected.

 Tested-by: Aleksandr V. Piskunov alexandr.v.pisku...@gmail.com

I can confirm this. Many thanks Antti!
Now i just need to find out how to map the other keys with xmodmap, but that 
shouldn't be too hard.

Just as a note, the reply from MSI came today: ... Sorry, but this device 
isn't supported in any way for linux. ...
I can't believe this, they have a linux-driver (kernels =2.6.22) on their 
homepage, but don't support it*aargh*

greetings,
Roman

-- 
wc red dye causes cancer, haven't you heard? (;
Knghtbrd fucking everything causes cancer, haven't you heard?
Knghtbrd =
archon no, that causes aids
--
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


[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2009-09-22 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Tue Sep 22 19:00:03 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   13038:29e4ba1a09bc
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.22.19-armv5: OK
linux-2.6.23.12-armv5: OK
linux-2.6.24.7-armv5: OK
linux-2.6.25.11-armv5: OK
linux-2.6.26-armv5: OK
linux-2.6.27-armv5: OK
linux-2.6.28-armv5: OK
linux-2.6.29.1-armv5: OK
linux-2.6.30-armv5: OK
linux-2.6.31-armv5: OK
linux-2.6.27-armv5-ixp: ERRORS
linux-2.6.28-armv5-ixp: ERRORS
linux-2.6.29.1-armv5-ixp: ERRORS
linux-2.6.30-armv5-ixp: ERRORS
linux-2.6.31-armv5-ixp: ERRORS
linux-2.6.28-armv5-omap2: OK
linux-2.6.29.1-armv5-omap2: OK
linux-2.6.30-armv5-omap2: OK
linux-2.6.31-armv5-omap2: ERRORS
linux-2.6.22.19-i686: ERRORS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: ERRORS
linux-2.6.25.11-i686: ERRORS
linux-2.6.26-i686: OK
linux-2.6.27-i686: OK
linux-2.6.28-i686: OK
linux-2.6.29.1-i686: WARNINGS
linux-2.6.30-i686: WARNINGS
linux-2.6.31-i686: WARNINGS
linux-2.6.23.12-m32r: OK
linux-2.6.24.7-m32r: OK
linux-2.6.25.11-m32r: OK
linux-2.6.26-m32r: OK
linux-2.6.27-m32r: OK
linux-2.6.28-m32r: OK
linux-2.6.29.1-m32r: OK
linux-2.6.30-m32r: OK
linux-2.6.31-m32r: OK
linux-2.6.30-mips: WARNINGS
linux-2.6.31-mips: OK
linux-2.6.27-powerpc64: ERRORS
linux-2.6.28-powerpc64: ERRORS
linux-2.6.29.1-powerpc64: ERRORS
linux-2.6.30-powerpc64: ERRORS
linux-2.6.31-powerpc64: ERRORS
linux-2.6.22.19-x86_64: ERRORS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: ERRORS
linux-2.6.25.11-x86_64: ERRORS
linux-2.6.26-x86_64: OK
linux-2.6.27-x86_64: OK
linux-2.6.28-x86_64: OK
linux-2.6.29.1-x86_64: WARNINGS
linux-2.6.30-x86_64: WARNINGS
linux-2.6.31-x86_64: WARNINGS
sparse (linux-2.6.31): OK
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: ERRORS
linux-2.6.21.7-i686: ERRORS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: ERRORS
linux-2.6.20.21-x86_64: ERRORS
linux-2.6.21.7-x86_64: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Tuesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Tuesday.tar.bz2

The V4L2 specification failed to build, but the last compiled spec is here:

http://www.xs4all.nl/~hverkuil/spec/v4l2.html

The DVB API specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/dvbapi.pdf

--
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: RFCv2: Media controller proposal

2009-09-22 Thread Sakari Ailus

Mauro Carvalho Chehab wrote:

Em Fri, 11 Sep 2009 22:15:15 +0200
Hans Verkuil hverk...@xs4all.nl escreveu:


On Friday 11 September 2009 21:59:37 Mauro Carvalho Chehab wrote:

Em Fri, 11 Sep 2009 21:23:44 +0200
Hans Verkuil hverk...@xs4all.nl escreveu:

The second problem is that this will pollute the 'namespace' of a v4l device
node. Device drivers need to pass all those private ioctls to the right
sub-device. But they shouldn't have to care about that. If someone wants to
tweak the resizer (e.g. scaling coefficients), then pass it straight to the
resizer component.

Sorry, I missed your point here

Example: a sub-device can produce certain statistics. You want to have an
ioctl to obtain those statistics. If you call that through /dev/videoX, then
that main driver has to handle that ioctl in vidioc_default and pass it on
to the right subdev. So you have to write that vidioc_default handler,
know about the sub-devices that you have and which sub-device is linked to
the device node. You really don't want to have to do that. Especially not
when you are dealing with i2c devices that are loaded from platform code.
If a video encoder supports private ioctls, then an omap3 driver doesn't
want to know about that. Oh, and before you ask: just broadcasting that
ioctl is not a solution if you have multiple identical video encoders.


This can be as easy as reading from /sys/class/media/dsp:stat0/stats


In general, the H3A block producing the statistics is configured first,
after which it starts producing statistics. Statistics buffers are
usually smallish, the maximum size is half MiB or so. For such a buffer
you'd have to ask the data for a number of times since the sysfs show() 
limit is one page (4 kiB usually).


Statistics are also often available before the actual frame since the
whole frame is not used to compute them. The statistics are used by e.g.
the AEWB algorithm which then comes up with the new exposure and gain
values. Applying them to the sensor in time is important since the
sensor may start exposing a new frame already before the last one has ended.

This requires event delivery to userspace (Laurent has written about it
under subject [RFC] Video events).

--
Sakari Ailus
sakari.ai...@maxwell.research.nokia.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: Media controller: sysfs vs ioctl

2009-09-22 Thread Sakari Ailus

Hans Verkuil wrote:

On Sunday 13 September 2009 08:13:04 Nathaniel Kim wrote:

2009. 9. 12., 오전 7:21, Hans Verkuil 작성:

Hans,

First of all I'm very sorry that I had not enough time to go through  
your new RFC. I'll checkout right after posting this mail.


I think this is a good approach and I also had in my mind that sysfs  
might be a good method if we could control and monitor through this.  
Recalling memory when we had a talk in San Francisco, I was frustrated  
that there is no way to catch events from sort of sub-devices like  
lens actuator (I mean pizeo motors in camera module). As you know lens  
actuator is an extremely slow device in comparison with common v4l2  
devices we are using and we need to know whether it has succeeded or  
not in moving to expected position.
So I considered sysfs and udev as candidates for catching events from  
sub-devices. events like success/failure of lens movement, change of  
status of subdevices.
Does anybody experiencing same issue? I think I've seen a lens  
controller driver in omap3 kernel from TI but not sure how did they  
control that.


My point is that we need a kind of framework to give and event to user  
space and catching them properly just like udev does.


When I was talking to Laurent Pinchart and Sakari and his team at Nokia
we discussed just such a framework. It actually exists already, although
it is poorly implemented.

Look at include/linux/dvb/video.h, struct video_event and ioctl VIDEO_GET_EVENT.
It is used in ivtv (ivtv-ioctl.c, look for VIDEO_GET_EVENT).

The idea is that you can either call VIDEO_GET_EVENT to wait for an event
or use select() and wait for an exception to arrive, and then call
VIDEO_GET_EVENT to find which event it was.

This is ideal for streaming-related events. In ivtv it is used to report
VSYNCs and to report when the MPEG decoder stopped (there is a delay between
stopping sending new data to the decoder and when it actually processed all
its internal buffers).

Laurent is going to look into this to clean it up and present it as a new
proper official V4L2 event mechanism.

For events completely specific to a subdev I wonder whether it wouldn't be
a good idea to use the media controller device for that. I like the select()
mechanism since in an application you can just select() on a whole bunch of
filehandles. If you can't use select() then you are forced to do awkward coding
(e.g. make a separate thread just to handle that other event mechanism).


Agree. There's no reasonable way to use video devices here since the 
events may be connected to non-video related issues --- like the statistics.


One possible approach could be allocating a device node for each subdev 
and use them and leave the media controller device with just the media 
controller specific ioctls. Then there would be no need to set current 
subdev nor bind the subdev to file handle either.


Just an idea.


So with the media controller we can easily let sub-devices notify the media
controller when an event is ready and the media controller can then generate
an exception. An application can just select() on the mc filehandle.

There are two ways of implementing this. One is that the media controller
keeps a global queue of pending events and subdevices just queue events to
that when they arrive (with some queue size limit to prevent run-away events).


With the above arrangement, the events could be easily subdev specific. 
The mechanism should be generic still, though.



So when you call some GET_EVENT type ioctl it should return the ID of the
subdevice (aka entity) as well. What makes me slightly uncomfortable is that
you still want to use that same ioctl on a normal video node. And the subdev
ID has really no meaning there. But making two different ioctls doesn't sit
well with me either.

The alternative implementation is that the mc will only wait for events from
the currently selected sub-device. So if you want to wait on events from
different sub-devices, then you have to open the mc multiple times, once for
each subdev that you want to receive events from.

I think I would probably go for the second implementation because it is
consistent with the way ioctls are passed to sub-devices. I like the idea that
you can just pass regular V4L2 ioctls to sub-devices. Not all ioctls make
sense, obviously (e.g. any of the streaming I/O ioctls), but a surprisingly
large number of ioctls can be used in that way.


I agree with this. There are just a few ioctls that probably don't make 
sense (e.g. the steaming related ones).


IMO even the format setting ioctls could be nice since the possible 
input and output formats of the subdevs should be enumerable, too.


ENUM_FRAMESIZES and ENUM_FRAMEINTERVALS are missing the v4l2_buf_type, 
but there are reserved fields...


--
Sakari Ailus
sakari.ai...@maxwell.research.nokia.com

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org

[PATCH] media/tvp514x: recognize the error case in tvp514x_read_reg()

2009-09-22 Thread Sebastian Andrzej Siewior
From: Sebastian Andrzej Siewior bige...@linutronix.de

i2c_smbus_read_byte_data() returns a negative value on error. It is very
likely to be != -1 (-EPERM).

Signed-off-by: Sebastian Andrzej Siewior bige...@linutronix.de
---
Noticed by strange results during signal beeing pending.

 drivers/media/video/tvp514x.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/tvp514x.c b/drivers/media/video/tvp514x.c
index 2443726..26b4e71 100644
--- a/drivers/media/video/tvp514x.c
+++ b/drivers/media/video/tvp514x.c
@@ -272,7 +272,7 @@ static int tvp514x_read_reg(struct v4l2_subdev *sd, u8 reg)
 read_again:
 
err = i2c_smbus_read_byte_data(client, reg);
-   if (err == -1) {
+   if (err  0) {
if (retry = I2C_RETRY_COUNT) {
v4l2_warn(sd, Read: retry ... %d\n, retry);
retry++;
-- 
1.6.3.3

--
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


docbooks fatal build error (v4l dvb)

2009-09-22 Thread Randy Dunlap
2.6.31-git11:  this prevents other docbooks from being built.

mkdir -p /linux-2.6.31-git11/Documentation/DocBook/media/
cp /linux-2.6.31-git11/Documentation/DocBook/dvb/*.png 
/linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif 
/linux-2.6.31-git11/Documentation/DocBook/media/
cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/dvb/*.png': No such 
file or directory
cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif': No such 
file or directory
make[1]: *** [media] Error 1


---
~Randy
--
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 1/4] tda18271_set_analog_params major bugfix

2009-09-22 Thread spam

Multiplication by 62500 causes an overflow in the 32 bits freq register when
using radio. FM radio reception on a Zolid Hybrid PCI is now working. Other
tda18271 configurations may also benefit from this change ;)

Signed-off-by: henk.vergo...@gmail.com

diff -r 29e4ba1a09bc linux/drivers/media/common/tuners/tda18271-fe.c
--- a/linux/drivers/media/common/tuners/tda18271-fe.c   Sat Sep 19 09:45:22 
2009 -0300
+++ b/linux/drivers/media/common/tuners/tda18271-fe.c   Tue Sep 22 22:06:31 
2009 +0200
@@ -1001,38 +1020,43 @@
struct tda18271_std_map_item *map;
char *mode;
int ret;
-   u32 freq = params-frequency * 62500;
+   u32 freq;
 
priv-mode = TDA18271_ANALOG;
 
if (params-mode == V4L2_TUNER_RADIO) {
-   freq = freq / 1000;
+   freq = params-frequency * 625;
+   freq = freq / 10;
map = std_map-fm_radio;
mode = fm;
-   } else if (params-std  V4L2_STD_MN) {
-   map = std_map-atv_mn;
-   mode = MN;
-   } else if (params-std  V4L2_STD_B) {
-   map = std_map-atv_b;
-   mode = B;
-   } else if (params-std  V4L2_STD_GH) {
-   map = std_map-atv_gh;
-   mode = GH;
-   } else if (params-std  V4L2_STD_PAL_I) {
-   map = std_map-atv_i;
-   mode = I;
-   } else if (params-std  V4L2_STD_DK) {
-   map = std_map-atv_dk;
-   mode = DK;
-   } else if (params-std  V4L2_STD_SECAM_L) {
-   map = std_map-atv_l;
-   mode = L;
-   } else if (params-std  V4L2_STD_SECAM_LC) {
-   map = std_map-atv_lc;
-   mode = L';
} else {
-   map = std_map-atv_i;
-   mode = xx;
+   freq = params-frequency * 62500;
+   
+   if (params-std  V4L2_STD_MN) {
+   map = std_map-atv_mn;
+   mode = MN;
+   } else if (params-std  V4L2_STD_B) {
+   map = std_map-atv_b;
+   mode = B;
+   } else if (params-std  V4L2_STD_GH) {
+   map = std_map-atv_gh;
+   mode = GH;
+   } else if (params-std  V4L2_STD_PAL_I) {
+   map = std_map-atv_i;
+   mode = I;
+   } else if (params-std  V4L2_STD_DK) {
+   map = std_map-atv_dk;
+   mode = DK;
+   } else if (params-std  V4L2_STD_SECAM_L) {
+   map = std_map-atv_l;
+   mode = L;
+   } else if (params-std  V4L2_STD_SECAM_LC) {
+   map = std_map-atv_lc;
+   mode = L';
+   } else {
+   map = std_map-atv_i;
+   mode = xx;
+   }
}
 
tda_dbg(setting tda18271 to system %s\n, mode);
--
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 2/4] 18271_calc_main_pll small bugfix

2009-09-22 Thread spam

Removed code fragment that is not part of the (C2) specs. Possibly an early
remnant of an attempted if_notch filter configuration. It is already
handled correctly in the tda18271_set_if_notch function.

Signed-off-by: henk.vergo...@gmail.com

diff -r 29e4ba1a09bc linux/drivers/media/common/tuners/tda18271-common.c
--- a/linux/drivers/media/common/tuners/tda18271-common.c   Sat Sep 19 
09:45:22 2009 -0300
+++ b/linux/drivers/media/common/tuners/tda18271-common.c   Tue Sep 22 
22:06:31 2009 +0200
@@ -582,15 +582,6 @@
 
regs[R_MPD]   = (0x77  pd);
 
-   switch (priv-mode) {
-   case TDA18271_ANALOG:
-   regs[R_MPD]  = ~0x08;
-   break;
-   case TDA18271_DIGITAL:
-   regs[R_MPD]  |=  0x08;
-   break;
-   }
-
div =  ((d * (freq / 1000))  7) / 125;
 
regs[R_MD1]   = 0x7f  (div  16);
--
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 3/4] tda8290 enable deemphasis_50 module parameter.

2009-09-22 Thread spam

This adds a forgotten module_param macro needed to set a deemphasis of 50us.
It is the standard setting for commercial FM radio broadcasts outside the US.

Signed-off-by: henk.vergo...@gmail.com

diff -r 29e4ba1a09bc linux/drivers/media/common/tuners/tda8290.c
--- a/linux/drivers/media/common/tuners/tda8290.c   Sat Sep 19 09:45:22 
2009 -0300
+++ b/linux/drivers/media/common/tuners/tda8290.c   Tue Sep 22 22:06:31 
2009 +0200
@@ -34,6 +34,7 @@
 MODULE_PARM_DESC(debug, enable verbose debug messages);
 
 static int deemphasis_50;
+module_param(deemphasis_50, int, 0644);
 MODULE_PARM_DESC(deemphasis_50, 0 - 75us deemphasis; 1 - 50us deemphasis);
 
 /* -- */
--
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 4/4] Zolid Hybrid PCI card add AGC control

2009-09-22 Thread spam

Switches IF AGC control via GPIO 21 of the saa7134. Improves DTV reception and
FM radio reception.

Signed-off-by: henk.vergo...@gmail.com

diff -r 29e4ba1a09bc linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sat Sep 19 09:45:22 
2009 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Sep 22 22:06:31 
2009 +0200
@@ -6651,6 +6651,22 @@
return 0;
 }
 
+static inline int saa7134_tda18271_zolid_toggle_agc(struct saa7134_dev *dev,
+ enum tda18271_mode mode)
+{
+   switch (mode) {
+   case TDA18271_ANALOG:
+   saa7134_set_gpio(dev, 21, 0);
+   break;
+   case TDA18271_DIGITAL:
+   saa7134_set_gpio(dev, 21, 1);
+   break;
+   default:
+   return -EINVAL;
+   }
+   return 0;
+}
+
 static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,
  int command, int arg)
 {
@@ -6663,7 +6679,8 @@
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);
break;
-   default:
+   case SAA7134_BOARD_ZOLID_HYBRID_PCI:
+   ret = saa7134_tda18271_zolid_toggle_agc(dev, arg);
break;
}
break;
@@ -6682,6 +6699,7 @@
switch (dev-board) {
case SAA7134_BOARD_HAUPPAUGE_HVR1150:
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
+   case SAA7134_BOARD_ZOLID_HYBRID_PCI:
/* tda8290 + tda18271 */
ret = saa7134_tda8290_18271_callback(dev, command, arg);
break;
@@ -6985,6 +7003,11 @@
saa_andorl(SAA7134_GPIO_GPMODE0  2,   0x8000, 0x8000);
saa_andorl(SAA7134_GPIO_GPSTATUS0  2, 0x8000, 0x8000);
break;
+   case SAA7134_BOARD_ZOLID_HYBRID_PCI:
+   saa7134_set_gpio(dev, 21, 0);   /* s0 HC4052 */
+   saa7134_set_gpio(dev, 22, 0);   /* vsync tda18271 - TODO 
implement saa713x driven sync in analog TV modes */
+   saa7134_set_gpio(dev, 23, 0);   /* s1 HC4052 */
+   break;
}
return 0;
 }
diff -r 29e4ba1a09bc linux/drivers/media/video/saa7134/saa7134-dvb.c
--- a/linux/drivers/media/video/saa7134/saa7134-dvb.c   Sat Sep 19 09:45:22 
2009 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c   Tue Sep 22 22:06:31 
2009 +0200
@@ -1026,8 +1026,17 @@
.disable_gate_access = 1,
 };
 
+static struct tda18271_std_map zolid_tda18271_std_map = {
+   /* FM reception via RF_IN */
+   .fm_radio = { .if_freq = 1250, .fm_rfn = 0, .agc_mode = 3, .std = 0,
+ .if_lvl = 0, .rfagc_top = 0x2c, },
+};
+
 static struct tda18271_config zolid_tda18271_config = {
+   .std_map = zolid_tda18271_std_map,
.gate= TDA18271_GATE_ANALOG,
+   .config  = 3,
+   .output_opt = TDA18271_OUTPUT_LT_OFF,
 };
 
 /* ==
--
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: docbooks fatal build error (v4l dvb)

2009-09-22 Thread Mauro Carvalho Chehab
Hi Randy,

Em Tue, 22 Sep 2009 12:42:48 -0700
Randy Dunlap randy.dun...@oracle.com escreveu:

 2.6.31-git11:  this prevents other docbooks from being built.
 
 mkdir -p /linux-2.6.31-git11/Documentation/DocBook/media/
 cp /linux-2.6.31-git11/Documentation/DocBook/dvb/*.png 
 /linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif 
 /linux-2.6.31-git11/Documentation/DocBook/media/
 cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/dvb/*.png': No 
 such file or directory
 cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif': No 
 such file or directory
 make[1]: *** [media] Error 1


Hmm... here, it is working fine. I've did it on a newer tree, cloned from Linus
one. This is the last patch on it:

commit 7fa07729e439a6184bd824746d06a49cca553f15
Merge: 991d79b a8f90e9
Author: Linus Torvalds torva...@linux-foundation.org
Date:   Tue Sep 22 08:11:04 2009 -0700


$ make htmldocs
mkdir -p /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/media/
cp /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/dvb/*.png 
/home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/v4l/*.gif 
/home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/media/
rm -rf Documentation/DocBook/index.html  echo 'h1Linux Kernel HTML
Documentation/h1'  Documentation/DocBook/index.html  echo 'h2Kernel
Version: 2.6.31/h2'  Documentation/DocBook/index.html  cat
Documentation/DocBook/alsa-driver-api.html
Documentation/DocBook/debugobjects.html
Documentation/DocBook/device-drivers.html
Documentation/DocBook/deviceiobook.html Documentation/DocBook/filesystems.html
Documentation/DocBook/gadget.html Documentation/DocBook/genericirq.html
Documentation/DocBook/kernel-api.html Documentation/DocBook/kernel-hacking.html
Documentation/DocBook/kernel-locking.html Documentation/DocBook/kgdb.html
Documentation/DocBook/libata.html Documentation/DocBook/librs.html
Documentation/DocBook/lsm.html Documentation/DocBook/mac80211.html
Documentation/DocBook/mcabook.html Documentation/DocBook/media.html
Documentation/DocBook/mtdnand.html Documentation/DocBook/networking.html
Documentation/DocBook/procfs-guide.html Documentation/DocBook/rapidio.html
Documentation/DocBook/regulator.html Documentation/DocBook/s390-drivers.html
Documentation/DocBook/scsi.html Documentation/DocBook/sh.html
Documentation/DocBook/tracepoint.html Documentation/DocBook/uio-howto.html
Documentation/DocBook/usb.html
Documentation/DocBook/writing-an-alsa-driver.html
Documentation/DocBook/writing_usb_driver.html
Documentation/DocBook/z8530book.html  Documentation/DocBook/index.html

I also double checked that the files are there:

$ git log Documentation/DocBook/v4l/fieldseq_bt.gif
commit 8e080c2e6cadada82a6b520e0c23a1cb974822d5
Author: Mauro Carvalho Chehab mche...@redhat.com
Date:   Sun Sep 13 22:16:04 2009 -0300

V4L/DVB (12761): DocBook: add media API specs

The V4L and DVB API's are there for a long time. however, up to now,
no efforts were done to merge them to kernel DocBook.

This patch adds the current versions of the specs as an unique compendium.

Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com





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: docbooks fatal build error (v4l dvb)

2009-09-22 Thread Randy Dunlap
On Tue, 22 Sep 2009 18:28:27 -0300 Mauro Carvalho Chehab wrote:

 Hi Randy,
 
 Em Tue, 22 Sep 2009 12:42:48 -0700
 Randy Dunlap randy.dun...@oracle.com escreveu:
 
  2.6.31-git11:  this prevents other docbooks from being built.
  
  mkdir -p /linux-2.6.31-git11/Documentation/DocBook/media/
  cp /linux-2.6.31-git11/Documentation/DocBook/dvb/*.png 
  /linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif 
  /linux-2.6.31-git11/Documentation/DocBook/media/
  cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/dvb/*.png': No 
  such file or directory
  cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif': No 
  such file or directory
  make[1]: *** [media] Error 1
 
 
 Hmm... here, it is working fine. I've did it on a newer tree, cloned from 
 Linus
 one. This is the last patch on it:

OK, it's probably just because I used a git snapshot (-git11).
Sorry for the noise.


 commit 7fa07729e439a6184bd824746d06a49cca553f15
 Merge: 991d79b a8f90e9
 Author: Linus Torvalds torva...@linux-foundation.org
 Date:   Tue Sep 22 08:11:04 2009 -0700
 
 
 $ make htmldocs
 mkdir -p /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/media/
 cp /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/dvb/*.png 
 /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/v4l/*.gif 
 /home/v4l/tokernel/wrk/linux-2.6/Documentation/DocBook/media/
 rm -rf Documentation/DocBook/index.html  echo 'h1Linux Kernel HTML
 Documentation/h1'  Documentation/DocBook/index.html  echo 'h2Kernel
 Version: 2.6.31/h2'  Documentation/DocBook/index.html  cat
 Documentation/DocBook/alsa-driver-api.html
 Documentation/DocBook/debugobjects.html
 Documentation/DocBook/device-drivers.html
 Documentation/DocBook/deviceiobook.html Documentation/DocBook/filesystems.html
 Documentation/DocBook/gadget.html Documentation/DocBook/genericirq.html
 Documentation/DocBook/kernel-api.html 
 Documentation/DocBook/kernel-hacking.html
 Documentation/DocBook/kernel-locking.html Documentation/DocBook/kgdb.html
 Documentation/DocBook/libata.html Documentation/DocBook/librs.html
 Documentation/DocBook/lsm.html Documentation/DocBook/mac80211.html
 Documentation/DocBook/mcabook.html Documentation/DocBook/media.html
 Documentation/DocBook/mtdnand.html Documentation/DocBook/networking.html
 Documentation/DocBook/procfs-guide.html Documentation/DocBook/rapidio.html
 Documentation/DocBook/regulator.html Documentation/DocBook/s390-drivers.html
 Documentation/DocBook/scsi.html Documentation/DocBook/sh.html
 Documentation/DocBook/tracepoint.html Documentation/DocBook/uio-howto.html
 Documentation/DocBook/usb.html
 Documentation/DocBook/writing-an-alsa-driver.html
 Documentation/DocBook/writing_usb_driver.html
 Documentation/DocBook/z8530book.html  Documentation/DocBook/index.html
 
 I also double checked that the files are there:
 
 $ git log Documentation/DocBook/v4l/fieldseq_bt.gif
 commit 8e080c2e6cadada82a6b520e0c23a1cb974822d5
 Author: Mauro Carvalho Chehab mche...@redhat.com
 Date:   Sun Sep 13 22:16:04 2009 -0300
 
 V4L/DVB (12761): DocBook: add media API specs
 
 The V4L and DVB API's are there for a long time. however, up to now,
 no efforts were done to merge them to kernel DocBook.
 
 This patch adds the current versions of the specs as an unique compendium.
 
 Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com
 
 
 
 
 
 Cheers,
 Mauro


---
~Randy
--
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


Fwd: ATI HDTV Wonder not always recognized

2009-09-22 Thread Dreher, Eric
I am need of opinions on whether this is a driver or motherboard issue
(or something else).

I originally had an ATI HDTV Wonder card working perfectly along with
a PVR-150 in my two PCI slots of a Asus M2NPV-VM motherboard.
Driver for the HDTV Wonder is cx88_dvb, and the PVR, ivtv

The PVR-150 recently started to deteriorate with a poor picture
quality ( I can describe more if relevant).  So I purchased a
replacement PVR-150 and popped into place.  The new PVR-150 worked
without a hitch itself.  But...the HDTV Wonder isn't even recognized.
Does not show up in lspci.  modprobe cx88_dvb reports no such
device

I have tried swapping PCI slots with no luck, replaced the old PVR-150
with no luck.

But the HDTV Wonder is recognized in one slot only with the other slot
empty.  So I can currently run with either card, but not both.

Motherboard has the most recent firmware.  I've updated Ubuntu to 9.10
and v4l-dvb drivers to most recent 0.0.7.  (No noticable difference
from 0.0.6 as far as what I need).

Is my logic correct in blaming the motherboard?  Any suggestions?

Thanks,
Eric
--
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: docbooks fatal build error (v4l dvb)

2009-09-22 Thread Randy Dunlap
On Tue, 22 Sep 2009 14:36:01 -0700 Randy Dunlap wrote:

 On Tue, 22 Sep 2009 18:28:27 -0300 Mauro Carvalho Chehab wrote:
 
  Hi Randy,
  
  Em Tue, 22 Sep 2009 12:42:48 -0700
  Randy Dunlap randy.dun...@oracle.com escreveu:
  
   2.6.31-git11:  this prevents other docbooks from being built.
   
   mkdir -p /linux-2.6.31-git11/Documentation/DocBook/media/
   cp /linux-2.6.31-git11/Documentation/DocBook/dvb/*.png 
   /linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif 
   /linux-2.6.31-git11/Documentation/DocBook/media/
   cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/dvb/*.png': No 
   such file or directory
   cp: cannot stat `/linux-2.6.31-git11/Documentation/DocBook/v4l/*.gif': No 
   such file or directory
   make[1]: *** [media] Error 1
  
  
  Hmm... here, it is working fine. I've did it on a newer tree, cloned from 
  Linus
  one. This is the last patch on it:
 
 OK, it's probably just because I used a git snapshot (-git11).
 Sorry for the noise.

Confirmed, linus.git works fine.

---
~Randy
--
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: [RFC/RFT 0/14] radio-mr800 patch series

2009-09-22 Thread Alexey Klimov
On Tue, Sep 22, 2009 at 5:06 AM, David Ellingsworth
da...@identd.dyndns.org wrote:
 On Mon, Sep 21, 2009 at 8:03 PM, Alexey Klimov klimov.li...@gmail.com wrote:
 Hello, David

 On Mon, Sep 14, 2009 at 11:09 PM, Alexey Klimov klimov.li...@gmail.com 
 wrote:
 Hello David,

 On Sun, Sep 13, 2009 at 7:22 AM, David Ellingsworth
 da...@identd.dyndns.org wrote:
 What follow is a series of patches to clean up the radio-mr800 driver. I
 do _not_ have access to this device so these patches need to be tested.
 These patches should apply to Mauro's git tree and against the 2.6.31
 release kernel. The patches in this series are as follows:

 01. radio-mr800: implement proper locking
 02. radio-mr800: simplify video_device allocation
 03. radio-mr800: simplify error paths in usb probe callback
 04. radio-mr800: remove an unnecessary local variable
 05. radio-mr800: simplify access to amradio_device
 06. radio-mr800: simplify locking in ioctl callbacks
 07. radio-mr800: remove device-removed indicator
 08. radio-mr800: fix potential use after free
 09. radio-mr800: remove device initialization from open/close
 10. radio-mr800: ensure the radio is initialized to a consistent state
 11. radio-mr800: fix behavior of set_radio function
 12. radio-mr800: preserve radio state during suspend/resume
 13. radio-mr800: simplify device warnings
 14. radio-mr800: set radio frequency only upon success

 The first 7 in this series are the same as those submitted in my last 
 series
 and will not be resent. The remaining 7 patches in this series will be sent
 separately for review.

 I applied your patches and tested radio device. Radio works fine, but
 unfortunately sudden disconnect while playing radio with gnomeradio
 creates troubles. I see such oops in dmesg:

 radio_mr800: version 0.11-david AverMedia MR 800 USB FM radio driver
 usb 2-2: new low speed USB device using ohci_hcd and address 16
 usb 2-2: New USB device found, idVendor=07ca, idProduct=b800
 usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
 usb 2-2: Product: AVerMedia USB Radio
 usb 2-2: Manufacturer: AVerMedia Technologies
 usb 2-2: configuration #1 chosen from 1 choice
 radio-mr800 2-2:1.0: Non-NULL drvdata on register
 usb 2-2: USB disconnect, address 16
 BUG: unable to handle kernel NULL pointer dereference at 009f
 IP: [8119222b] dev_set_drvdata+0x25/0x30
 PGD 3c0e1067 PUD 33b1d067 PMD 0
 Oops: 0002 [#1] SMP
 last sysfs file: /sys/devices/pci:00/:00:02.0/usb2/2-2/2-2:1.0/uevent
 CPU 1
 Modules linked in: radio_mr800 v4l2_common videodev v4l1_compat
 v4l2_compat_ioctl32 nls_iso8859_1 nls_cp437 vfat fat usb_storage
 nls_utf8 cifs ext2 ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4
 nf_conntrack nf_defrag_ipv4 ip_tables x_tables ppp_async crc_ccitt
 ppp_generic slhc cpufreq_powersave powernow_k8 freq_table
 snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device
 snd_pcm_oss snd_mixer_oss reiserfs usbhid hid snd_hda_codec_analog
 snd_hda_intel ohci_hcd ehci_hcd snd_hda_codec snd_hwdep snd_pcm
 snd_timer nvidia(P) snd usbcore soundcore snd_page_alloc rtc_cmos sg
 rtc_core rtc_lib i2c_nforce2 forcedeth e100 nls_base k8temp mii
 i2c_core hwmon thermal button [last unloaded: v4l2_compat_ioctl32]
 Pid: 11790, comm: gnomeradio Tainted: P           2.6.31 #12 System Product 
 Name
 RIP: 0010:[8119222b]  [8119222b] 
 dev_set_drvdata+0x25/0x30
 RSP: 0018:880031741e28  EFLAGS: 00010206
 RAX: 0017 RBX: 88003c3a4030 RCX: 8109458a
 RDX:  RSI:  RDI: 88003c3a4030
 RBP:  R08:  R09: 
 R10: 880029391e70 R11: 0246 R12: 81349ec0
 R13: 880029391e70 R14: 8800173d7000 R15: 88003fac8300
 FS:  7fa0f88e3750() GS:88000290() knlGS:f7327a10
 CS:  0010 DS:  ES:  CR0: 80050033
 CR2: 009f CR3: 3165c000 CR4: 06e0
 DR0:  DR1:  DR2: 
 DR3:  DR6: 0ff0 DR7: 0400
 Process gnomeradio (pid: 11790, threadinfo 88003174, task
 88003bcc5820)
 Stack:
  8800173d7000 88003c3a5a60 88003c3a5a60 a0c603cb
 0 88003c3a5800 a0c603e5 88003c3a5800 88003e400890
 0 81349ec0 a000d5c7 8800331593c0 8118fb37
 Call Trace:
  [a0c603cb] ? v4l2_device_disconnect+0x13/0x1c [videodev]
  [a0c603e5] ? v4l2_device_unregister+0x11/0x4b [videodev]
  [a000d5c7] ? usb_amradio_video_device_release+0x11/0x26 
 [radio_mr800]
  [8118fb37] ? device_release+0x41/0x6a
  [81118bf3] ? kobject_release+0x48/0x5e
  [81118bab] ? kobject_release+0x0/0x5e
  [811198ad] ? kref_put+0x41/0x4a
  [a0c5c2f3] ? v4l2_release+0x33/0x37 [videodev]
  [81092dfd] ? __fput+0x100/0x1c9
  [81090538] ? filp_close+0x5f/0x6a
  

Re: driver for Cinergy Hybrid T USB XS FM

2009-09-22 Thread Devin Heitmueller
On Tue, Sep 22, 2009 at 7:45 AM, fogna fogna fogn...@gmail.com wrote:
 Hi Devin

 thanks for the reply, this means we need to contact Terratec asking them to
 donate a device to developers ? or do the community have to donate one ?

 thanks

Well, if Terratec were willing to donate some hardware, that would
probably grease the wheels.  I don't have any contacts there though.

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: Questions about Terratec Hybrid XS (em2882) [0ccd:005e]

2009-09-22 Thread Devin Heitmueller
On Tue, Sep 22, 2009 at 5:12 AM, Uros Vampl mobile.leec...@gmail.com wrote:
 On 21.09.09 18:29, Devin Heitmueller wrote:
 On Mon, Sep 21, 2009 at 6:15 PM, Uros Vampl mobile.leec...@gmail.com wrote:
  I tried arecord/aplay and sox with tvtime, and also mplayer (which
  has
  built-in audio support). I know about these tricks, I've used them
  successfully with Markus' em28xx-new driver. But with v4l-dvb it's as I
  said, audio is there but it's extremely quiet. If you have suggestions
  how I should try to diagnoze this, I'm all ears.
 
  Regards,
  Uroš

 If the audio is present but very quiet, then it's probably some issue
 you are having with your mixer.  I would check your ALSA and
 PulseAudio configuration (in particular the mixer volume controls).

 Devin

 No PulseAudio here. And I've played plenty with the ALSA mixer, all the
 sliders that are there.

 Using em28xx-new instead of v4l-dvb, all else being equal, tv volume is
 fine. So there's gotta be a difference somewhere in the way em28xx-new
 sets up audio compared to how v4l-dvb does it.

Interesting.  Have you tried the A/V inputs (as opposed to the tuner)?
 That might help us identify whether it's an issue with the xc3028
tuner chip extracting the audio carrier or whether it's something
about the way we are programming the emp202.

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: Audio drop on saa7134

2009-09-22 Thread hermann pitton
Hi David,

Am Montag, den 21.09.2009, 00:53 -0700 schrieb David Liontooth: 
 hermann pitton wrote:
  Hi,
 
  Am Sonntag, den 20.09.2009, 06:02 -0300 schrieb Mauro Carvalho Chehab:

  Em Sun, 20 Sep 2009 01:24:12 -0700
  David Liontooth lionte...@cogweb.net escreveu:
 
  
  Sep 18 07:00:01 prato kernel: saa7133[4]/audio: dsp write reg 0x464 = 
  0x00
  Sep 18 07:00:01 prato kernel: saa7133[4]/audio: dsp write reg 0x46c = 
  0xbb

  This means mute. With this, audio will stop.
 
  
  Sep 18 07:00:01 prato kernel: saa7133[4]/audio: dsp write reg 0x464 = 
  0x00
  Sep 18 07:00:01 prato kernel: saa7133[4]/audio: dsp write reg 0x46c = 
  0x10

  This means unmute.
 
  It seems that the auto-mute code is doing some bad things for you. What 
  happens
  if you disable automute? This is a control that you can access via v4l2ctl 
  or
  on your userspace application.
 
  Are you using the last version of the driver? I'm not seeing some debug 
  log messages
  that should be there...
 
 
 
  Cheers,
  Mauro
  
 
  despite of still 1001 messages unread, Mauro is right here.
 
  You are also for sure not on a saa7134, likely you would not ever had a
  reason to come up here on such. But the much better is to have you now.

 lspci says
 
 00:07.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 
 Video Broadcast Decoder (rev 10)
 
 The cards apparently have the saa7133HL-v101 chip. Are you suggesting 
 the saa7134 would be better?

no, you can't use a saa7134 on System-M without additional audio
decoder. You should know better, since you helped a lot to get Closed
Captions working on saa7133/35/31e.

  Means, you are at least on a saa7133, not able to decode stereo TV sound
  on PAL and SECAM systems, vice versa counts for the saa7134 on SYSTEM-M.

 I'm recording NTSC -- are you saying the saa7133 should be able to 
 decode stereo on NTSC?

Yes, of course, but a saa7134 can't. Only the saa7135 and saa7131e chips
can do global stereo audio on that driver.

 If vice versa for the saa7134, does that mean this chip is not able to 
 decode stereo on NTSC?

Yes.

 Sorry, I don't know what SYSTEM-M is in this context.

You will find NTSC tuners also in South America.
For video they use some PAL, but for audio System-M.

A different example you can find in South Korea.
For video they use NTSC, but for audio dual FM (A2).

 If you could help me find a chip that avoids this audio drop problem, 
 that would be great.
  The automute is for convenience of the users, say not to have loud noise
  on channel switching. 
 I see. That's irrelevant for my purposes; the channels are switched 
 before the recording starts.
  It is also controlled by different registers for
  analog sound and PCI dma sound.

 I'm using PCI dma sound.
  If debugging those issues, one more thing to mention is that external
  video in without audio will kick in mute on those cards too at the first
  round.
 
  It should be possible to disable all such funny stuff on production
  systems, pleasant for the average user's conditions, and then see if
  anything should still remain.
 
  On bad mobos, needing PCI quirks and other such stuff, we are likely not
  any further than what you have seen on bttv previously, but in 99.9
  percent of the known cases it seems to work.
 
  Else Mauro again is right, even audio_debug = 1 should deliver the
  related mute ioctl prints.

 I see -- it may be a couple of weeks before I can run tests on a more 
 recent kernel, but I'll do that if turning off audiomute doesn't solve 
 the problem.
 
 Cheers,
 Dave

Is it really still over the air?

We don't have any such anymore, only cable TV from satellites back
modulated as RF input into their network in best case. Is very stable.

We are not alone and depend also of work done by others.

Generally speaking, your stuff should be sufficient already, but without
having NTSC here, hm maybe some AFN stuff is still active, you are
somewhat on your own again.

To back up your kernel's modules media folder, install recent stuff for
some testing, and if not pleased, delete the recent media folder, copy
the old media folder back into place and run depmod -a once should be
not that hard.

Lots of small bugs in between ;)

Cheers,
Hermann







--
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


[GIT PATCHES for 2.6.32] V4L/DVB fixes

2009-09-22 Thread Mauro Carvalho Chehab
Linus,

Please pull from:
ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
for_linus

For 4 build fix patches:

   - saa7134: fix build;
   - dvbdev: Remove an annoying/uneeded warning that happens when 
 DVB_CORE is disabled but some V4L drivers are enabled;
   - dib0700: not building CONFIG_DVB_TUNER_DIB0070 breaks compilation;
   - staging/go7007: Revert compatibility code added at the wrong place 
 preventing compilation.

Cheers,
Mauro.

---

 drivers/media/dvb/dvb-core/dvbdev.h|5 ++---
 drivers/media/dvb/dvb-usb/Kconfig  |2 +-
 drivers/media/video/saa7164/saa7164-api.c  |8 
 drivers/media/video/saa7164/saa7164-cmd.c  |2 +-
 drivers/media/video/saa7164/saa7164-core.c |6 +++---
 drivers/media/video/saa7164/saa7164.h  |4 ++--
 drivers/staging/go7007/Makefile|5 -
 7 files changed, 13 insertions(+), 19 deletions(-)

Ingo Molnar (1):
  media: video: Fix build in saa7164

Mauro Carvalho Chehab (3):
  V4L/DVB (13037): go7007: Revert compatibility code added at the wrong 
place
  V4L/DVB (13038): dvbdev: Remove an anoying/uneeded warning
  V4L/DVB (13039): dib0700: not building CONFIG_DVB_TUNER_DIB0070 breaks 
compilation

---
V4L/DVB development is hosted at http://linuxtv.org
--
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: [RFC/RFT 0/14] radio-mr800 patch series

2009-09-22 Thread Douglas Schilling Landgraf
Hello Alexey,

On Wed, 23 Sep 2009 03:43:55 +0400
Alexey Klimov klimov.li...@gmail.com wrote:

 On Tue, Sep 22, 2009 at 5:06 AM, David Ellingsworth
 da...@identd.dyndns.org wrote:
  On Mon, Sep 21, 2009 at 8:03 PM, Alexey Klimov
  klimov.li...@gmail.com wrote:
  Hello, David
 
  On Mon, Sep 14, 2009 at 11:09 PM, Alexey Klimov
  klimov.li...@gmail.com wrote:
  Hello David,
 
  On Sun, Sep 13, 2009 at 7:22 AM, David Ellingsworth
  da...@identd.dyndns.org wrote:
  What follow is a series of patches to clean up the radio-mr800
  driver. I do _not_ have access to this device so these patches
  need to be tested. These patches should apply to Mauro's git
  tree and against the 2.6.31 release kernel. The patches in this
  series are as follows:
 
  01. radio-mr800: implement proper locking
  02. radio-mr800: simplify video_device allocation
  03. radio-mr800: simplify error paths in usb probe callback
  04. radio-mr800: remove an unnecessary local variable
  05. radio-mr800: simplify access to amradio_device
  06. radio-mr800: simplify locking in ioctl callbacks
  07. radio-mr800: remove device-removed indicator
  08. radio-mr800: fix potential use after free
  09. radio-mr800: remove device initialization from open/close
  10. radio-mr800: ensure the radio is initialized to a consistent
  state 11. radio-mr800: fix behavior of set_radio function
  12. radio-mr800: preserve radio state during suspend/resume
  13. radio-mr800: simplify device warnings
  14. radio-mr800: set radio frequency only upon success
 
  The first 7 in this series are the same as those submitted in my
  last series and will not be resent. The remaining 7 patches in
  this series will be sent separately for review.
 
  I applied your patches and tested radio device. Radio works fine,
  but unfortunately sudden disconnect while playing radio with
  gnomeradio creates troubles. I see such oops in dmesg:
 
  radio_mr800: version 0.11-david AverMedia MR 800 USB FM radio
  driver usb 2-2: new low speed USB device using ohci_hcd and
  address 16 usb 2-2: New USB device found, idVendor=07ca,
  idProduct=b800 usb 2-2: New USB device strings: Mfr=1, Product=2,
  SerialNumber=0 usb 2-2: Product: AVerMedia USB Radio
  usb 2-2: Manufacturer: AVerMedia Technologies
  usb 2-2: configuration #1 chosen from 1 choice
  radio-mr800 2-2:1.0: Non-NULL drvdata on register
  usb 2-2: USB disconnect, address 16
  BUG: unable to handle kernel NULL pointer dereference at
  009f IP: [8119222b] dev_set_drvdata+0x25/0x30
  PGD 3c0e1067 PUD 33b1d067 PMD 0
  Oops: 0002 [#1] SMP
  last sysfs
  file: /sys/devices/pci:00/:00:02.0/usb2/2-2/2-2:1.0/uevent
  CPU 1 Modules linked in: radio_mr800 v4l2_common videodev
  v4l1_compat v4l2_compat_ioctl32 nls_iso8859_1 nls_cp437 vfat fat
  usb_storage nls_utf8 cifs ext2 ipt_MASQUERADE iptable_nat nf_nat
  nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables x_tables
  ppp_async crc_ccitt ppp_generic slhc cpufreq_powersave powernow_k8
  freq_table snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
  snd_seq_device snd_pcm_oss snd_mixer_oss reiserfs usbhid hid
  snd_hda_codec_analog snd_hda_intel ohci_hcd ehci_hcd snd_hda_codec
  snd_hwdep snd_pcm snd_timer nvidia(P) snd usbcore soundcore
  snd_page_alloc rtc_cmos sg rtc_core rtc_lib i2c_nforce2 forcedeth
  e100 nls_base k8temp mii i2c_core hwmon thermal button [last
  unloaded: v4l2_compat_ioctl32] Pid: 11790, comm: gnomeradio
  Tainted: P           2.6.31 #12 System Product Name RIP:
  0010:[8119222b]  [8119222b]
  dev_set_drvdata+0x25/0x30 RSP: 0018:880031741e28  EFLAGS:
  00010206 RAX: 0017 RBX: 88003c3a4030 RCX:
  8109458a RDX:  RSI:  RDI:
  88003c3a4030 RBP:  R08:  R09:
   R10: 880029391e70 R11: 0246 R12:
  81349ec0 R13: 880029391e70 R14: 8800173d7000 R15:
  88003fac8300 FS:  7fa0f88e3750()
  GS:88000290() knlGS:f7327a10 CS:  0010 DS:
   ES:  CR0: 80050033 CR2: 009f CR3:
  3165c000 CR4: 06e0 DR0:  DR1:
   DR2:  DR3:  DR6:
  0ff0 DR7: 0400 Process gnomeradio (pid:
  11790, threadinfo 88003174, task 88003bcc5820) Stack:
   8800173d7000 88003c3a5a60 88003c3a5a60
  a0c603cb 0 88003c3a5800 a0c603e5
  88003c3a5800 88003e400890 0 81349ec0
  a000d5c7 8800331593c0 8118fb37 Call Trace:
   [a0c603cb] ? v4l2_device_disconnect+0x13/0x1c [videodev]
   [a0c603e5] ? v4l2_device_unregister+0x11/0x4b [videodev]
   [a000d5c7] ? usb_amradio_video_device_release+0x11/0x26
  [radio_mr800] [8118fb37] ? device_release+0x41/0x6a
   [81118bf3] ? kobject_release+0x48/0x5e
   [81118bab] ? kobject_release+0x0/0x5e