Error message about cross-compile linux-dvb-app

2009-07-25 Thread loody
Dear all:
I download the latest linux_dvb_apps from
http://packages.debian.org/source/stable/linuxtv-dvb-apps, but find
the compile error message below:

Desktop/dvb-apps-63dae165ffe8# make CROSS_COMPILE=mipsel-linux- V=1
make -C lib all
make[1]: Entering directory `/home/cc/Desktop/dvb-apps-63dae165ffe8/lib'
make -C libdvbapi all
make[2]: Entering directory
`/home/cc/Desktop/dvb-apps-63dae165ffe8/lib/libdvbapi'
mipsel-linux-gcc -c -I../../lib -g -Wall -W -Wshadow -Wpointer-arith
-Wstrict-prototypes -fPIC -MMD -o dvbaudio.o dvbaudio.c
In file included from dvbaudio.c:28:
/media/sda6/uclinux/toolchain/mips/temp/buildroot-2009.05/uclibc_0_9_30_build_mipsel/staging_dir/usr/include/linux/dvb/audio.h:79:
error: expected '=', ',', ';', 'asm' or '__attribute__' before
'audio_attributes_t'
make[2]: *** [dvbaudio.o] Error 1

I google the problem and I find someone has reported this bug before,
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=525580.
It seems fixed at 25th Apri 2009.
Did I get the wrong version or something I forget to set?
If someone knows where the problem come from or have any idea, please
let me know.
Appreciate your help,
miloody
--
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: Lenovo webcam problem which using gspca's vc032x driver

2009-07-25 Thread Jean-Francois Moine
Hi Acelan Kao,

I got news from a person who has the sensor mi1320_soc and had a
vertical flip problem. She found that the sensor register 0x20 sets the
image flips: bit 0 = vertical, bit 1 = horizontal.

Comparing the sequences of the mi1310_soc, the bit 0 is inverted in the
sxga (0x0303 instead of 0x0302). May you change it and see if the image
is normal? (line ~ 706  {0x20, 0x03, 0x03, 0xbb}, - 0x03, 0x02)

Best regards.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
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] dibusb-mc: New USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed

2009-07-25 Thread Pham Thanh Nam
Signed-off-by: Pham Thanh Nam phamthanhnam@gmail.com
Add new USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed

diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
--- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:12:56.0 +0700
@@ -42,6 +42,8 @@
 /* 11 */   { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC,
USB_PID_ARTEC_T14_WARM) },
 /* 12 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_COLD) },
 /* 13 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_WARM) },
+/* 14 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) },
+/* 15 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) },
{ } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
@@ -66,7 +68,7 @@
/* parameter for the MPEG2-data transfer */
.stream = {
.type = USB_BULK,
-   .count = 7,
+   .count = 8,
.endpoint = 0x06,
.u = {
.bulk = {
@@ -88,7 +90,7 @@
 
.generic_bulk_ctrl_endpoint = 0x01,
 
-   .num_device_descs = 7,
+   .num_device_descs = 8,
.devices = {
{   DiBcom USB2.0 DVB-T reference design (MOD3000P),
{ dibusb_dib3000mc_table[0], NULL },
@@ -119,6 +121,10 @@
{ dibusb_dib3000mc_table[12], NULL },
{ dibusb_dib3000mc_table[13], NULL },
},
+   {   Humax/Coex DVB-T USB Stick 2.0 High Speed,
+   { dibusb_dib3000mc_table[14], NULL },
+   { dibusb_dib3000mc_table[15], NULL },
+   },
{ NULL },
}
 };
diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
21:23:29.0 +0700
@@ -58,6 +58,7 @@
 #define USB_VID_GIGABYTE   0x1044
 #define USB_VID_YUAN   0x1164
 #define USB_VID_XTENSIONS  0x1ae7
+#define USB_VID_HUMAX_COEX 0x10b9
 
 /* Product IDs */
 #define USB_PID_ADSTECH_USB2_COLD  0xa333
@@ -259,5 +260,7 @@
 #define USB_PID_SONY_PLAYTV0x0003
 #define USB_PID_ELGATO_EYETV_DTT   0x0021
 #define USB_PID_ELGATO_EYETV_DTT_Dlx   0x0020
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD0x5000
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM0x5001
 
 #endif

--
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: em28xx driver crashes device

2009-07-25 Thread Simon Kenyon

Simon Kenyon wrote:

 i see that mcentral.de/hg has disappeared

i have a copy of em28xx-new from 22nd may if anyone needs it
--
simon
--
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] V4L/DVB: af9015: add new USB ID for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)

2009-07-25 Thread Antti Palosaari

Mart Raudsepp wrote:

Add new USB ID (1b80:e400) for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U).
The model number on the devices sticker label is KW-DVB-T 399UR.

Signed-off-by: Mart Raudsepp mart.rauds...@artecdesign.ee


Acked-by: Antti Palosaari cr...@iki.fi

thanks!
--
http://palosaari.fi/
--
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


double unlock in bttv_poll() and in saa7134-video.c

2009-07-25 Thread Dan Carpenter
Hello,

My source code checker, smatch (http://repo.or.cz/w/smatch.git), 
complains about a double unlock in bttv_poll() from 
drivers/media/video/bt8xx/bttv-driver.c.  It unlocks on line 3190 and 
again on 3201.

  3190  mutex_unlock(fh-cap.vb_lock);
  3191  buf = (struct bttv_buffer*)fh-cap.read_buf;
  3192  }
  3193  
  3194  poll_wait(file, buf-vb.done, wait);
  3195  if (buf-vb.state == VIDEOBUF_DONE ||
  3196  buf-vb.state == VIDEOBUF_ERROR)
  3197  rc =  POLLIN|POLLRDNORM;
  3198  else
  3199  rc = 0;
  3200  err:
  3201  mutex_unlock(fh-cap.vb_lock);

I looked at the code but I wasn't sure what the correct way to fix it is.

video_poll() from drivers/media/video/saa7134/saa7134-video.c has the same 
issue.

regards,
dan carpenter


--
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: [PATCHv10 3/8] v4l2: video device: Add FM_TX controls default configurations

2009-07-25 Thread Hans Verkuil
On Friday 24 July 2009 18:37:23 Eduardo Valentin wrote:
 Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
 ---
  linux/drivers/media/video/v4l2-common.c |   63 
 ++-
  1 files changed, 62 insertions(+), 1 deletions(-)
 
 diff --git a/linux/drivers/media/video/v4l2-common.c 
 b/linux/drivers/media/video/v4l2-common.c
 index bd13702..6fc0559 100644
 --- a/linux/drivers/media/video/v4l2-common.c
 +++ b/linux/drivers/media/video/v4l2-common.c
 @@ -343,6 +343,12 @@ const char **v4l2_ctrl_get_menu(u32 id)
   Sepia,
   NULL
   };
 + static const char *fm_tx_preemphasis[] = {
 + No preemphasis,
 + 50 useconds,
 + 75 useconds,
 + NULL,
 + };
  
   switch (id) {
   case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
 @@ -381,6 +387,8 @@ const char **v4l2_ctrl_get_menu(u32 id)
   return camera_exposure_auto;
   case V4L2_CID_COLORFX:
   return colorfx;
 + case V4L2_CID_FM_TX_PREEMPHASIS:
 + return fm_tx_preemphasis;
   default:
   return NULL;
   }
 @@ -479,6 +487,28 @@ const char *v4l2_ctrl_get_name(u32 id)
   case V4L2_CID_ZOOM_CONTINUOUS:  return Zoom, Continuous;
   case V4L2_CID_PRIVACY:  return Privacy;
  
 + /* FM Radio Modulator control */
 + case V4L2_CID_FM_TX_CLASS:  return FM Radio Modulator 
 Controls;
 + case V4L2_CID_RDS_TX_PI:return RDS Program ID;
 + case V4L2_CID_RDS_TX_PTY:   return RDS Program Type;
 + case V4L2_CID_RDS_TX_DEVIATION: return RDS Signal Deviation;
 + case V4L2_CID_RDS_TX_PS_NAME:   return RDS PS Name;
 + case V4L2_CID_RDS_TX_RADIO_TEXT:return RDS Radio Text;
 + case V4L2_CID_AUDIO_LIMITER_ENABLED:return Audio Limiter Feature 
 Enabled;
 + case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: return Audio Limiter Release 
 Time;
 + case V4L2_CID_AUDIO_LIMITER_DEVIATION:  return Audio Limiter 
 Deviation;
 + case V4L2_CID_AUDIO_COMPRESSION_ENABLED: return Audio Compression 
 Feature Enabled;
 + case V4L2_CID_AUDIO_COMPRESSION_GAIN:   return Audio Compression Gain;
 + case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: return Audio Compression 
 Threshold;
 + case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: return Audio Compression 
 Attack Time;
 + case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: return Audio Compression 
 Release Time;
 + case V4L2_CID_PILOT_TONE_ENABLED:   return Pilot Tone Feature 
 Enabled;
 + case V4L2_CID_PILOT_TONE_DEVIATION: return Pilot Tone Deviation;
 + case V4L2_CID_PILOT_TONE_FREQUENCY: return Pilot Tone Frequency;
 + case V4L2_CID_FM_TX_PREEMPHASIS:return Pre-emphasis settings;
 + case V4L2_CID_TUNE_POWER_LEVEL: return Tune Power Level;
 + case V4L2_CID_TUNE_ANTENNA_CAPACITOR:   return Tune Antenna Capacitor;
 +
   default:
   return NULL;
   }
 @@ -500,7 +530,18 @@ EXPORT_SYMBOL(v4l2_ctrl_is_value64);
   * This information is used inside v4l2_compat_ioctl32. */
  int v4l2_ctrl_is_pointer(u32 id)
  {
 - return 0;
 + int is_pointer;
 +
 + switch (id) {
 + case V4L2_CID_RDS_TX_PS_NAME:
 + case V4L2_CID_RDS_TX_RADIO_TEXT:
 + is_pointer = 1;
 + break;
 + default:
 + is_pointer = 0;
 + }
 +
 + return is_pointer;
  }

There is no need for a temp variable. Just do this:

int v4l2_ctrl_is_pointer(u32 id)
{
switch (id) {
case V4L2_CID_RDS_TX_PS_NAME:
case V4L2_CID_RDS_TX_RADIO_TEXT:
return 1;
default:
return 0;
}
}

Regards,

Hans


-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: [PATCHv10 3/8] v4l2: video device: Add FM_TX controls default configurations

2009-07-25 Thread Eduardo Valentin
On Sat, Jul 25, 2009 at 03:03:33PM +0200, ext Hans Verkuil wrote:
 On Friday 24 July 2009 18:37:23 Eduardo Valentin wrote:
  Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
  ---
   linux/drivers/media/video/v4l2-common.c |   63 
  ++-
   1 files changed, 62 insertions(+), 1 deletions(-)
  
  diff --git a/linux/drivers/media/video/v4l2-common.c 
  b/linux/drivers/media/video/v4l2-common.c
  index bd13702..6fc0559 100644
  --- a/linux/drivers/media/video/v4l2-common.c
  +++ b/linux/drivers/media/video/v4l2-common.c
  @@ -343,6 +343,12 @@ const char **v4l2_ctrl_get_menu(u32 id)
  Sepia,
  NULL
  };
  +   static const char *fm_tx_preemphasis[] = {
  +   No preemphasis,
  +   50 useconds,
  +   75 useconds,
  +   NULL,
  +   };
   
  switch (id) {
  case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
  @@ -381,6 +387,8 @@ const char **v4l2_ctrl_get_menu(u32 id)
  return camera_exposure_auto;
  case V4L2_CID_COLORFX:
  return colorfx;
  +   case V4L2_CID_FM_TX_PREEMPHASIS:
  +   return fm_tx_preemphasis;
  default:
  return NULL;
  }
  @@ -479,6 +487,28 @@ const char *v4l2_ctrl_get_name(u32 id)
  case V4L2_CID_ZOOM_CONTINUOUS:  return Zoom, Continuous;
  case V4L2_CID_PRIVACY:  return Privacy;
   
  +   /* FM Radio Modulator control */
  +   case V4L2_CID_FM_TX_CLASS:  return FM Radio Modulator 
  Controls;
  +   case V4L2_CID_RDS_TX_PI:return RDS Program ID;
  +   case V4L2_CID_RDS_TX_PTY:   return RDS Program Type;
  +   case V4L2_CID_RDS_TX_DEVIATION: return RDS Signal Deviation;
  +   case V4L2_CID_RDS_TX_PS_NAME:   return RDS PS Name;
  +   case V4L2_CID_RDS_TX_RADIO_TEXT:return RDS Radio Text;
  +   case V4L2_CID_AUDIO_LIMITER_ENABLED:return Audio Limiter Feature 
  Enabled;
  +   case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: return Audio Limiter Release 
  Time;
  +   case V4L2_CID_AUDIO_LIMITER_DEVIATION:  return Audio Limiter 
  Deviation;
  +   case V4L2_CID_AUDIO_COMPRESSION_ENABLED: return Audio Compression 
  Feature Enabled;
  +   case V4L2_CID_AUDIO_COMPRESSION_GAIN:   return Audio Compression Gain;
  +   case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: return Audio Compression 
  Threshold;
  +   case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: return Audio Compression 
  Attack Time;
  +   case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: return Audio Compression 
  Release Time;
  +   case V4L2_CID_PILOT_TONE_ENABLED:   return Pilot Tone Feature 
  Enabled;
  +   case V4L2_CID_PILOT_TONE_DEVIATION: return Pilot Tone Deviation;
  +   case V4L2_CID_PILOT_TONE_FREQUENCY: return Pilot Tone Frequency;
  +   case V4L2_CID_FM_TX_PREEMPHASIS:return Pre-emphasis settings;
  +   case V4L2_CID_TUNE_POWER_LEVEL: return Tune Power Level;
  +   case V4L2_CID_TUNE_ANTENNA_CAPACITOR:   return Tune Antenna Capacitor;
  +
  default:
  return NULL;
  }
  @@ -500,7 +530,18 @@ EXPORT_SYMBOL(v4l2_ctrl_is_value64);
* This information is used inside v4l2_compat_ioctl32. */
   int v4l2_ctrl_is_pointer(u32 id)
   {
  -   return 0;
  +   int is_pointer;
  +
  +   switch (id) {
  +   case V4L2_CID_RDS_TX_PS_NAME:
  +   case V4L2_CID_RDS_TX_RADIO_TEXT:
  +   is_pointer = 1;
  +   break;
  +   default:
  +   is_pointer = 0;
  +   }
  +
  +   return is_pointer;
   }
 
 There is no need for a temp variable. Just do this:
 
 int v4l2_ctrl_is_pointer(u32 id)
 {
   switch (id) {
   case V4L2_CID_RDS_TX_PS_NAME:
   case V4L2_CID_RDS_TX_RADIO_TEXT:
   return 1;
   default:
   return 0;
   }
 }
 
 Regards,
 
   Hans


Right, resending v11 with this minor change.

 
 
 -- 
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

-- 
Eduardo Valentin
--
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: [PATCHv10 8/8] FMTx: si4713: Add document file

2009-07-25 Thread Hans Verkuil
On Friday 24 July 2009 18:37:28 Eduardo Valentin wrote:
 This patch adds a document file for si4713 device driver.
 It describes the driver interfaces and organization.
 
 Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
 ---
  linux/Documentation/video4linux/si4713.txt |  175 
 
  1 files changed, 175 insertions(+), 0 deletions(-)
  create mode 100644 linux/Documentation/video4linux/si4713.txt
 
 diff --git a/linux/Documentation/video4linux/si4713.txt 
 b/linux/Documentation/video4linux/si4713.txt
 new file mode 100644
 index 000..3843af5
 --- /dev/null
 +++ b/linux/Documentation/video4linux/si4713.txt
 @@ -0,0 +1,175 @@
 +Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
 +
 +Copyright (c) 2009 Nokia Corporation
 +Contact: Eduardo Valentin eduardo.valen...@nokia.com
 +
 +
 +Information about the Device
 +
 +This chip is a Silicon Labs product. It is a I2C device, currently on 0×63 
 address.
 +Basically, it has transmission and signal noise level measurement features.
 +
 +The Si4713 integrates transmit functions for FM broadcast stereo 
 transmission.
 +The chip also allows integrated receive power scanning to identify low signal
 +power FM channels.
 +
 +The chip is programmed using commands and responses. There are also several
 +properties which can change the behavior of this chip.
 +
 +Users must comply with local regulations on radio frequency (RF) 
 transmission.
 +
 +Device driver description
 +=
 +There are two modules to handle this device. One is a I2C device driver
 +and the other is a platform driver.
 +
 +The I2C device driver exports a v4l2-subdev interface to the kernel.
 +All properties can also be accessed by v4l2 extended controls interface, by
 +using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
 +
 +The platform device driver exports a v4l2 radio device interface to user 
 land.
 +So, it uses the I2C device driver as a sub device in order to send the user
 +commands to the actual device. Basically it is a wrapper to the I2C device 
 driver.
 +
 +Applications can use v4l2 radio API to specify frequency of operation, mute 
 state,
 +etc. But mostly of its properties will be present in the extended controls.
 +
 +When the v4l2 mute property is set to 1 (true), the driver will turn the 
 chip off.
 +
 +Properties description
 +==
 +
 +The properties can be accessed using v4l2 extended controls.
 +Here is an output from v4l2-ctl util:
 +
 +# v4l2-ctl -d /dev/radio0 --all -l
 +Driver Info:
 +Driver name   : radio-si4713
 +Card type : Silicon Labs Si4713 Modulator
 +Bus info  : 
 +Driver version: 0
 +Capabilities  : 0x00080800
 +RDS Output
 +Modulator
 +Audio output: 0 (FM Modulator Audio Out)
 +Frequency: 1545600 (96.60 MHz)
 +Video Standard = 0x
 +Modulator:
 +Name : FM Modulator
 +Capabilities : 62.5 Hz stereo rds 
 +Frequency range  : 76.0 MHz - 108.0 MHz
 +Available subchannels: mono rds 
 +
 +User Controls
 +
 +   mute (bool) : default=1 value=0
 +
 +FM Radio Modulator Controls
 +
 + rds_program_id (int)  : min=0 max=65535 step=1 default=0 
 value=0
 +   rds_program_type (int)  : min=0 max=31 step=1 default=0 
 value=0
 +rds_ps_name (str)  : value='Si4713  ' len=1024
 +' len=1024   rds_radio_text (str)  : value='Si4713  

This doesn't look right. I think this output is from an old v4l2-ctl version.
I'd like to see this output anyway using the latest v4l2-ctl version as I
haven't been able to test it myself.

Based on this output it also looks as if the rds_radio_text string has a \r
at the end. If so, is it supposed to be there?

Regards,

Hans

 +  audio_limiter_feature_enabled (bool) : default=1 value=1
 + audio_limiter_release_time (int)  : min=250 max=102390 step=50 
 default=5010 value=5010 flags=slider
 +audio_limiter_deviation (int)  : min=0 max=9 step=10 
 default=66250 value=1020 flags=slider
 +audio_compression_feature_enabl (bool) : default=1 value=1
 + audio_compression_gain (int)  : min=0 max=20 step=1 default=15 
 value=15 flags=slider
 +audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 
 value=-40 flags=slider
 +  audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 
 value=0 flags=slider
 + audio_compression_release_time (int)  : min=10 max=100 step=10 
 default=100 value=100 flags=slider
 + pilot_tone_feature_enabled (bool) : default=1 value=1
 +   pilot_tone_deviation (int)  : min=0 max=9 step=10 
 default=6750 value=6750 flags=slider
 +   pilot_tone_frequency (int)  : min=0 max=19000 step=1 
 default=19000 value=19000 flags=slider
 +  pre_emphasis_settings (menu) : min=0 

RE: [PATCHv10 6/8] FMTx: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread ext-Eero.Nurkkala



 I'm surprised at these MAX string lengths. Looking at the RDS standard it
 seems that the max length for the PS_NAME is 8 and for RADIO_TEXT it is
 either 32 (2A group) or 64 (2B group). I don't know which group the si4713
 uses.
 
 Can you clarify how this is used?
 
 Regards,
 
 Hans

Well, PS_NAME can be 8 x n, but only 8 bytes are shown at once...
so it keeps 'scrolling', or changes periodically. There's even commercial
radio stations that do so.


- Eero--
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: [PATCHv10 6/8] FMTx: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 15:15:24 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 03:20:53PM +0200, ext Hans Verkuil wrote:
   + switch (control-id) {
   + case V4L2_CID_RDS_TX_PS_NAME:
   + if (strlen(sdev-rds_info.ps_name) + 1  control-length) {
   + control-length = strlen(sdev-rds_info.ps_name) + 
   1;
  
  I recommend setting length to the actual maximum MAX_RDS_PS_NAME+1.
  
   + rval = -ENOSPC;
   + goto exit;
   + }
   + rval = copy_to_user(control-string, sdev-rds_info.ps_name,
   + strlen(sdev-rds_info.ps_name) + 1);
   + break;
   +
   + case V4L2_CID_RDS_TX_RADIO_TEXT:
   + if (strlen(sdev-rds_info.radio_text) + 1  
   control-length) {
   + control-length = strlen(sdev-rds_info.radio_text) 
   + 1;
  
  Ditto.
 
 Right, I think doing the way you are proposing is to avoid changes that may 
 generate
 failures in the following reads.
 
 I 'll change this in the v11 as well.

OK.

   +struct rds_info {
   + u32 pi;
   +#define MAX_RDS_PTY  31
   + u32 pty;
   +#define MAX_RDS_DEVIATION9
   + u32 deviation;
   +#define MAX_RDS_PS_NAME  96
   + u8 ps_name[MAX_RDS_PS_NAME + 1];
   +#define MAX_RDS_RADIO_TEXT   384
  
  I'm surprised at these MAX string lengths. Looking at the RDS standard it
  seems that the max length for the PS_NAME is 8 and for RADIO_TEXT it is
  either 32 (2A group) or 64 (2B group). I don't know which group the si4713
  uses.
  
  Can you clarify how this is used?

Did you see this comment as well? I'm quite interested in this.

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: [PATCHv10 6/8] FMTx: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread Eduardo Valentin
On Sat, Jul 25, 2009 at 03:31:29PM +0200, ext Hans Verkuil wrote:
 On Saturday 25 July 2009 15:15:24 Eduardo Valentin wrote:
  On Sat, Jul 25, 2009 at 03:20:53PM +0200, ext Hans Verkuil wrote:
+ switch (control-id) {
+ case V4L2_CID_RDS_TX_PS_NAME:
+ if (strlen(sdev-rds_info.ps_name) + 1  control-length) 
{
+ control-length = strlen(sdev-rds_info.ps_name) 
+ 1;
   
   I recommend setting length to the actual maximum MAX_RDS_PS_NAME+1.
   
+ rval = -ENOSPC;
+ goto exit;
+ }
+ rval = copy_to_user(control-string, 
sdev-rds_info.ps_name,
+ strlen(sdev-rds_info.ps_name) + 
1);
+ break;
+
+ case V4L2_CID_RDS_TX_RADIO_TEXT:
+ if (strlen(sdev-rds_info.radio_text) + 1  
control-length) {
+ control-length = 
strlen(sdev-rds_info.radio_text) + 1;
   
   Ditto.
  
  Right, I think doing the way you are proposing is to avoid changes that may 
  generate
  failures in the following reads.
  
  I 'll change this in the v11 as well.
 
 OK.
 
+struct rds_info {
+ u32 pi;
+#define MAX_RDS_PTY  31
+ u32 pty;
+#define MAX_RDS_DEVIATION9
+ u32 deviation;
+#define MAX_RDS_PS_NAME  96
+ u8 ps_name[MAX_RDS_PS_NAME + 1];
+#define MAX_RDS_RADIO_TEXT   384
   
   I'm surprised at these MAX string lengths. Looking at the RDS standard it
   seems that the max length for the PS_NAME is 8 and for RADIO_TEXT it is
   either 32 (2A group) or 64 (2B group). I don't know which group the si4713
   uses.
   
   Can you clarify how this is used?
 
 Did you see this comment as well? I'm quite interested in this.

I missed this one. But is basically what Eero said. Receivers scroll it with 8xn
sized PS names.

 
   Hans
 
 -- 
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

-- 
Eduardo Valentin
--
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: [PATCHv10 6/8] FMTx: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 15:29:38 ext-eero.nurkk...@nokia.com wrote:
 
  I'm surprised at these MAX string lengths. Looking at the RDS standard it
  seems that the max length for the PS_NAME is 8 and for RADIO_TEXT it is
  either 32 (2A group) or 64 (2B group). I don't know which group the si4713
  uses.
  
  Can you clarify how this is used?
  
  Regards,
  
  Hans
 
 Well, PS_NAME can be 8 x n, but only 8 bytes are shown at once...
 so it keeps 'scrolling', or changes periodically. There's even commercial
 radio stations that do so.

And I'm assuming that the same is true for radio text. However, this behavior
contradicts the control description in the spec, so that should be clarified.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: [PATCHv10 6/8] FMTx: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread Eduardo Valentin
On Sat, Jul 25, 2009 at 03:33:55PM +0200, ext Hans Verkuil wrote:
 On Saturday 25 July 2009 15:29:38 ext-eero.nurkk...@nokia.com wrote:
  
   I'm surprised at these MAX string lengths. Looking at the RDS standard it
   seems that the max length for the PS_NAME is 8 and for RADIO_TEXT it is
   either 32 (2A group) or 64 (2B group). I don't know which group the si4713
   uses.
   
   Can you clarify how this is used?
   
   Regards,
   
   Hans
  
  Well, PS_NAME can be 8 x n, but only 8 bytes are shown at once...
  so it keeps 'scrolling', or changes periodically. There's even commercial
  radio stations that do so.
 
 And I'm assuming that the same is true for radio text. However, this behavior
 contradicts the control description in the spec, so that should be clarified.

Yes, I'll add a comment explaining this for those defines.

 
 Regards,
 
   Hans
 
 -- 
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

-- 
Eduardo Valentin
--
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: [PATCHv10 8/8] FMTx: si4713: Add document file

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 15:48:58 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 03:17:05PM +0200, Valentin Eduardo (Nokia-D/Helsinki) 
 wrote:
  On Sat, Jul 25, 2009 at 03:25:25PM +0200, ext Hans Verkuil wrote:
   On Friday 24 July 2009 18:37:28 Eduardo Valentin wrote:
This patch adds a document file for si4713 device driver.
It describes the driver interfaces and organization.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/Documentation/video4linux/si4713.txt |  175 

 1 files changed, 175 insertions(+), 0 deletions(-)
 create mode 100644 linux/Documentation/video4linux/si4713.txt

diff --git a/linux/Documentation/video4linux/si4713.txt 
b/linux/Documentation/video4linux/si4713.txt
new file mode 100644
index 000..3843af5
--- /dev/null
+++ b/linux/Documentation/video4linux/si4713.txt
@@ -0,0 +1,175 @@
+Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
+
+Copyright (c) 2009 Nokia Corporation
+Contact: Eduardo Valentin eduardo.valen...@nokia.com
+
+
+Information about the Device
+
+This chip is a Silicon Labs product. It is a I2C device, currently on 
0×63 address.
+Basically, it has transmission and signal noise level measurement 
features.
+
+The Si4713 integrates transmit functions for FM broadcast stereo 
transmission.
+The chip also allows integrated receive power scanning to identify low 
signal
+power FM channels.
+
+The chip is programmed using commands and responses. There are also 
several
+properties which can change the behavior of this chip.
+
+Users must comply with local regulations on radio frequency (RF) 
transmission.
+
+Device driver description
+=
+There are two modules to handle this device. One is a I2C device driver
+and the other is a platform driver.
+
+The I2C device driver exports a v4l2-subdev interface to the kernel.
+All properties can also be accessed by v4l2 extended controls 
interface, by
+using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
+
+The platform device driver exports a v4l2 radio device interface to 
user land.
+So, it uses the I2C device driver as a sub device in order to send the 
user
+commands to the actual device. Basically it is a wrapper to the I2C 
device driver.
+
+Applications can use v4l2 radio API to specify frequency of operation, 
mute state,
+etc. But mostly of its properties will be present in the extended 
controls.
+
+When the v4l2 mute property is set to 1 (true), the driver will turn 
the chip off.
+
+Properties description
+==
+
+The properties can be accessed using v4l2 extended controls.
+Here is an output from v4l2-ctl util:
+
+# v4l2-ctl -d /dev/radio0 --all -l
+Driver Info:
+Driver name   : radio-si4713
+Card type : Silicon Labs Si4713 Modulator
+Bus info  : 
+Driver version: 0
+Capabilities  : 0x00080800
+RDS Output
+Modulator
+Audio output: 0 (FM Modulator Audio Out)
+Frequency: 1545600 (96.60 MHz)
+Video Standard = 0x
+Modulator:
+Name : FM Modulator
+Capabilities : 62.5 Hz stereo rds 
+Frequency range  : 76.0 MHz - 108.0 MHz
+Available subchannels: mono rds 
+
+User Controls
+
+   mute (bool) : default=1 value=0
+
+FM Radio Modulator Controls
+
+ rds_program_id (int)  : min=0 max=65535 step=1 
default=0 value=0
+   rds_program_type (int)  : min=0 max=31 step=1 default=0 
value=0
+rds_ps_name (str)  : value='Si4713  ' len=1024
+' len=1024   rds_radio_text (str)  : value='Si4713  
   
   This doesn't look right. I think this output is from an old v4l2-ctl 
   version.
   I'd like to see this output anyway using the latest v4l2-ctl version as I
   haven't been able to test it myself.
  
  Yeah. My bad, forgot to update here. This is the output from the older 
  version.
 
 
 I've just checked that now v4l2-ctl does not report rds subchannel for 
 txsubchannel.
 Just to confirm this is something which is missing right?

Yes, that was missing. I've just added it to my tree. Thanks for the report.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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/1] v4l2-ctl: Add G_MODULATOR before set/get frequency

2009-07-25 Thread Eduardo Valentin
On Sat, Jul 25, 2009 at 04:10:53PM +0200, ext Hans Verkuil wrote:
 On Friday 24 July 2009 18:42:12 Eduardo Valentin wrote:
  As there can be modulator devices with get/set frequency
  callbacks, this patch adds support to them in v4l2-ctl utility.
 
 Thanks for this patch.
 
 I've implemented it somewhat differently (using the new V4L2_CAP_MODULATOR
 to decide whether to call G_TUNER or G_MODULATOR) and pushed it to my
 v4l-dvb-strctrl tree. I've also improved the string print function so things
 like newlines and carriage returns are printed as \r and \n.
 
 Can you mail me the output of 'v4l2-ctl --all -L' based on this updated
 version of v4l2-ctl? I'd like to check whether everything is now reported
 correctly.

Yes sure. But there is also the RDS output for txsubchannel. This is missing
now for G_MODULATOR. RDS is also missing in S_MODULATOR. S_MODULATOR is also
confusing to me. The strings can be set only with one value? I though I could
do something like:

v4l2-ctl -d /dev/radio0 --set-modulator=rds,stereo

 
 Regards,
 
   Hans
 
  
  Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
  ---
   v4l2-apps/util/v4l2-ctl.cpp |   10 +-
   1 files changed, 9 insertions(+), 1 deletions(-)
  
  diff --git a/v4l2-apps/util/v4l2-ctl.cpp b/v4l2-apps/util/v4l2-ctl.cpp
  index fc9e459..ff74177 100644
  --- a/v4l2-apps/util/v4l2-ctl.cpp
  +++ b/v4l2-apps/util/v4l2-ctl.cpp
  @@ -1962,12 +1962,16 @@ int main(int argc, char **argv)
   
  if (options[OptSetFreq]) {
  double fac = 16;
  +   struct v4l2_modulator mt;
   
  +   memset(mt, 0, sizeof(struct v4l2_modulator));
  if (doioctl(fd, VIDIOC_G_TUNER, tuner, VIDIOC_G_TUNER) == 0) 
  {
  fac = (tuner.capability  V4L2_TUNER_CAP_LOW) ? 16000 : 
  16;
  +   vf.type = tuner.type;
  +   } else if (doioctl(fd, VIDIOC_G_MODULATOR, mt, 
  VIDIOC_G_MODULATOR) == 0) {
  +   fac = (mt.capability  V4L2_TUNER_CAP_LOW) ? 16000 : 16;
  }
  vf.tuner = 0;
  -   vf.type = tuner.type;
  vf.frequency = __u32(freq * fac);
  if (doioctl(fd, VIDIOC_S_FREQUENCY, vf,
  VIDIOC_S_FREQUENCY) == 0)
  @@ -2418,9 +2422,13 @@ set_vid_fmt_error:
   
  if (options[OptGetFreq]) {
  double fac = 16;
  +   struct v4l2_modulator mt;
   
  +   memset(mt, 0, sizeof(struct v4l2_modulator));
  if (doioctl(fd, VIDIOC_G_TUNER, tuner, VIDIOC_G_TUNER) == 0) 
  {
  fac = (tuner.capability  V4L2_TUNER_CAP_LOW) ? 16000 : 
  16;
  +   } else if (doioctl(fd, VIDIOC_G_MODULATOR, mt, 
  VIDIOC_G_MODULATOR) == 0) {
  +   fac = (mt.capability  V4L2_TUNER_CAP_LOW) ? 16000 : 16;
  }
  vf.tuner = 0;
  if (doioctl(fd, VIDIOC_G_FREQUENCY, vf, VIDIOC_G_FREQUENCY) 
  == 0)
 
 
 
 -- 
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

-- 
Eduardo Valentin
--
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/1] v4l2-ctl: Add G_MODULATOR before set/get frequency

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 16:08:01 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 04:10:53PM +0200, ext Hans Verkuil wrote:
  On Friday 24 July 2009 18:42:12 Eduardo Valentin wrote:
   As there can be modulator devices with get/set frequency
   callbacks, this patch adds support to them in v4l2-ctl utility.
  
  Thanks for this patch.
  
  I've implemented it somewhat differently (using the new V4L2_CAP_MODULATOR
  to decide whether to call G_TUNER or G_MODULATOR) and pushed it to my
  v4l-dvb-strctrl tree. I've also improved the string print function so things
  like newlines and carriage returns are printed as \r and \n.
  
  Can you mail me the output of 'v4l2-ctl --all -L' based on this updated
  version of v4l2-ctl? I'd like to check whether everything is now reported
  correctly.
 
 Yes sure. But there is also the RDS output for txsubchannel. This is missing
 now for G_MODULATOR. RDS is also missing in S_MODULATOR.

Added both.

 S_MODULATOR is also 
 confusing to me. The strings can be set only with one value? I though I could
 do something like:
 
 v4l2-ctl -d /dev/radio0 --set-modulator=rds,stereo

The reason I did that is that txsubchans only supports specific flag
combinations. So rather than having to make all sorts of verification
code I decided to make these combinations explicit.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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/1] v4l2-ctl: Add G_MODULATOR before set/get frequency

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 16:23:51 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 04:08:01PM +0200, Valentin Eduardo (Nokia-D/Helsinki) 
 wrote:
  On Sat, Jul 25, 2009 at 04:10:53PM +0200, ext Hans Verkuil wrote:
   On Friday 24 July 2009 18:42:12 Eduardo Valentin wrote:
As there can be modulator devices with get/set frequency
callbacks, this patch adds support to them in v4l2-ctl utility.
   
   Thanks for this patch.
   
   I've implemented it somewhat differently (using the new V4L2_CAP_MODULATOR
   to decide whether to call G_TUNER or G_MODULATOR) and pushed it to my
   v4l-dvb-strctrl tree. I've also improved the string print function so 
   things
   like newlines and carriage returns are printed as \r and \n.
   
   Can you mail me the output of 'v4l2-ctl --all -L' based on this updated
   version of v4l2-ctl? I'd like to check whether everything is now reported
   correctly.
  
  Yes sure. But there is also the RDS output for txsubchannel. This is missing
  now for G_MODULATOR. RDS is also missing in S_MODULATOR. S_MODULATOR is also
  confusing to me. The strings can be set only with one value? I though I 
  could
  do something like:
  
  v4l2-ctl -d /dev/radio0 --set-modulator=rds,stereo
 
 Here is an output with you new version:
 / # v4l2-ctl -d /dev/radio0 --all -L
 Driver Info:
 Driver name   : radio-si4713
 Card type : Silicon Labs Si4713 Modulator
 Bus info  : 
 Driver version: 0
 Capabilities  : 0x00080800
 RDS Output
 Modulator
 Audio output: 0 (FM Modulator Audio Out)
 Frequency: 1408000 (88.00 MHz)
 Video Standard = 0x
 Modulator:
 Name : FM Modulator
 Capabilities : 62.5 Hz stereo rds 
 Frequency range  : 76.0 MHz - 108.0 MHz
 Subchannel modulation: stereo+rds
 
 User Controls
 
mute (bool) : default=1 value=0
 
 FM Radio Modulator Controls
 
  rds_program_id (int)  : min=0 max=65535 step=1 default=0 
 value=0
rds_program_type (int)  : min=0 max=31 step=1 default=0 value=0
rds_signal_deviation (int)  : min=0 max=9 step=10 default=200 
 value=200 flags=slider
 rds_ps_name (str)  : min=0 max=97 value='Si4713  ' len=97
  rds_radio_text (str)  : min=0 max=385 value='Si4713  \r' 
 len=385
   audio_limiter_feature_enabled (bool) : default=1 value=1
  audio_limiter_release_time (int)  : min=250 max=102390 step=50 
 default=5010 value=5010 flags=slider
 audio_limiter_deviation (int)  : min=0 max=9 step=10 
 default=66250 value=66250 flags=slider
 audio_compression_feature_enabl (bool) : default=1 value=1
  audio_compression_gain (int)  : min=0 max=20 step=1 default=15 
 value=15 flags=slider
 audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 
 value=-40 flags=slider
   audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 
 value=0 flags=slider
  audio_compression_release_time (int)  : min=10 max=100 step=10 
 default=100 value=100 flags=slider
  pilot_tone_feature_enabled (bool) : default=1 value=1
pilot_tone_deviation (int)  : min=0 max=9 step=10 default=6750 
 value=6750 flags=slider
pilot_tone_frequency (int)  : min=0 max=19000 step=1 default=19000 
 value=19000 flags=slider
   pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
tune_power_level (int)  : min=0 max=120 step=1 default=88 
 value=88 flags=slider
  tune_antenna_capacitor (int)  : min=0 max=191 step=1 default=0 
 value=109 flags=slider
 
 So far so good for G_MODULATOR and for String with escaped characters. 
 I also tried S_MODULATOR. Looks good but there is a bug:
   else if (!strcmp(optarg, stereo-rds))
   txsubchans = V4L2_TUNER_SUB_MONO | 
 V4L2_TUNER_SUB_RDS;
   else if (!strcmp(optarg, mono-rds))
   txsubchans = V4L2_TUNER_SUB_MONO | 
 V4L2_TUNER_SUB_RDS;
 
 As you can see, you cannot properly set stereo-rds, it will keep it mono. 
 Otherwise it is fine to me.

Oops, fixed. I've also removed the 'len=' part for strings since that does not
add anything useful.

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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


[PATCHv11 7/8] FM TX: si4713: Add Kconfig and Makefile entries

2009-07-25 Thread Eduardo Valentin
Simple add Makefile and Kconfig entries.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/drivers/media/radio/Kconfig  |   22 ++
 linux/drivers/media/radio/Makefile |2 ++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/linux/drivers/media/radio/Kconfig 
b/linux/drivers/media/radio/Kconfig
index 3315cac..6c6a409 100644
--- a/linux/drivers/media/radio/Kconfig
+++ b/linux/drivers/media/radio/Kconfig
@@ -339,6 +339,28 @@ config RADIO_ZOLTRIX_PORT
help
  Enter the I/O port of your Zoltrix radio card.
 
+config I2C_SI4713
+   tristate I2C driver for Silicon Labs Si4713 device
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 I2C device.
+ This device driver supports only i2c bus.
+
+ To compile this driver as a module, choose M here: the
+ module will be called si4713.
+
+config RADIO_SI4713
+   tristate Silicon Labs Si4713 FM Radio Transmitter support
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 FM Radio Transmitter.
+ This device can transmit audio through FM. It can transmit
+ EDS and EBDS signals as well. This module is the v4l2 radio
+ interface for the i2c driver of this device.
+
+ To compile this driver as a module, choose M here: the
+ module will be called radio-si4713.
+
 config USB_DSBR
tristate D-Link/GemTek USB FM radio support
depends on USB  VIDEO_V4L2
diff --git a/linux/drivers/media/radio/Makefile 
b/linux/drivers/media/radio/Makefile
index 0f2b35b..34ae761 100644
--- a/linux/drivers/media/radio/Makefile
+++ b/linux/drivers/media/radio/Makefile
@@ -15,6 +15,8 @@ obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
 obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
 obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o
 obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
+obj-$(CONFIG_I2C_SI4713) += si4713-i2c.o
+obj-$(CONFIG_RADIO_SI4713) += radio-si4713.o
 obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
 obj-$(CONFIG_USB_DSBR) += dsbr100.o
 obj-$(CONFIG_USB_SI470X) += radio-si470x.o
-- 
1.6.2.GIT

--
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: [PATCHv11 8/8] FM TX: si4713: Add document file

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 16:57:42 Eduardo Valentin wrote:
 This patch adds a document file for si4713 device driver.
 It describes the driver interfaces and organization.
 
 Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
 ---
  linux/Documentation/video4linux/si4713.txt |  176 
 
  1 files changed, 176 insertions(+), 0 deletions(-)
  create mode 100644 linux/Documentation/video4linux/si4713.txt
 
 diff --git a/linux/Documentation/video4linux/si4713.txt 
 b/linux/Documentation/video4linux/si4713.txt
 new file mode 100644
 index 000..8b97fb6
 --- /dev/null
 +++ b/linux/Documentation/video4linux/si4713.txt
 @@ -0,0 +1,176 @@
 +Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
 +
 +Copyright (c) 2009 Nokia Corporation
 +Contact: Eduardo Valentin eduardo.valen...@nokia.com
 +
 +
 +Information about the Device
 +
 +This chip is a Silicon Labs product. It is a I2C device, currently on 0×63 
 address.

Something went wrong here with the i2c address, it should probably be '0x63'.
I don't know whether this is in your original text or whether it got messed
up in some mailer.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: [PATCHv11 8/8] FM TX: si4713: Add document file

2009-07-25 Thread Eduardo Valentin
On Sat, Jul 25, 2009 at 05:19:29PM +0200, ext Hans Verkuil wrote:
 On Saturday 25 July 2009 16:57:42 Eduardo Valentin wrote:
  This patch adds a document file for si4713 device driver.
  It describes the driver interfaces and organization.
  
  Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
  ---
   linux/Documentation/video4linux/si4713.txt |  176 
  
   1 files changed, 176 insertions(+), 0 deletions(-)
   create mode 100644 linux/Documentation/video4linux/si4713.txt
  
  diff --git a/linux/Documentation/video4linux/si4713.txt 
  b/linux/Documentation/video4linux/si4713.txt
  new file mode 100644
  index 000..8b97fb6
  --- /dev/null
  +++ b/linux/Documentation/video4linux/si4713.txt
  @@ -0,0 +1,176 @@
  +Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
  +
  +Copyright (c) 2009 Nokia Corporation
  +Contact: Eduardo Valentin eduardo.valen...@nokia.com
  +
  +
  +Information about the Device
  +
  +This chip is a Silicon Labs product. It is a I2C device, currently on 
  0×63 address.
 
 Something went wrong here with the i2c address, it should probably be '0x63'.
 I don't know whether this is in your original text or whether it got messed
 up in some mailer.

It got messed during the mailing processes somehow. I'll resend only this one.

 
 Regards,
 
   Hans
 
 -- 
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

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


[PATCHv11 8/8] FM TX: si4713: Add document file

2009-07-25 Thread Eduardo Valentin
This patch adds a document file for si4713 device driver.
It describes the driver interfaces and organization.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/Documentation/video4linux/si4713.txt |  176 
 1 files changed, 176 insertions(+), 0 deletions(-)
 create mode 100644 linux/Documentation/video4linux/si4713.txt

diff --git a/linux/Documentation/video4linux/si4713.txt 
b/linux/Documentation/video4linux/si4713.txt
new file mode 100644
index 000..8b97fb6
--- /dev/null
+++ b/linux/Documentation/video4linux/si4713.txt
@@ -0,0 +1,176 @@
+Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
+
+Copyright (c) 2009 Nokia Corporation
+Contact: Eduardo Valentin eduardo.valen...@nokia.com
+
+
+Information about the Device
+
+This chip is a Silicon Labs product. It is a I2C device, currently on 0x63 
address.
+Basically, it has transmission and signal noise level measurement features.
+
+The Si4713 integrates transmit functions for FM broadcast stereo transmission.
+The chip also allows integrated receive power scanning to identify low signal
+power FM channels.
+
+The chip is programmed using commands and responses. There are also several
+properties which can change the behavior of this chip.
+
+Users must comply with local regulations on radio frequency (RF) transmission.
+
+Device driver description
+=
+There are two modules to handle this device. One is a I2C device driver
+and the other is a platform driver.
+
+The I2C device driver exports a v4l2-subdev interface to the kernel.
+All properties can also be accessed by v4l2 extended controls interface, by
+using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
+
+The platform device driver exports a v4l2 radio device interface to user land.
+So, it uses the I2C device driver as a sub device in order to send the user
+commands to the actual device. Basically it is a wrapper to the I2C device 
driver.
+
+Applications can use v4l2 radio API to specify frequency of operation, mute 
state,
+etc. But mostly of its properties will be present in the extended controls.
+
+When the v4l2 mute property is set to 1 (true), the driver will turn the chip 
off.
+
+Properties description
+==
+
+The properties can be accessed using v4l2 extended controls.
+Here is an output from v4l2-ctl util:
+/ # v4l2-ctl -d /dev/radio0 --all -L
+Driver Info:
+Driver name   : radio-si4713
+Card type : Silicon Labs Si4713 Modulator
+Bus info  :
+Driver version: 0
+Capabilities  : 0x00080800
+RDS Output
+Modulator
+Audio output: 0 (FM Modulator Audio Out)
+Frequency: 1408000 (88.00 MHz)
+Video Standard = 0x
+Modulator:
+Name : FM Modulator
+Capabilities : 62.5 Hz stereo rds
+Frequency range  : 76.0 MHz - 108.0 MHz
+Subchannel modulation: mono+rds
+
+User Controls
+
+   mute (bool) : default=1 value=0
+
+FM Radio Modulator Controls
+
+ rds_program_id (int)  : min=0 max=65535 step=1 default=0 
value=0
+   rds_program_type (int)  : min=0 max=31 step=1 default=0 value=0
+   rds_signal_deviation (int)  : min=0 max=9 step=10 default=200 
value=200 flags=slider
+rds_ps_name (str)  : min=0 max=97 value='Si4713  '
+ rds_radio_text (str)  : min=0 max=385 value='Si4713  \r'
+  audio_limiter_feature_enabled (bool) : default=1 value=1
+ audio_limiter_release_time (int)  : min=250 max=102390 step=50 
default=5010 value=5010 flags=slider
+audio_limiter_deviation (int)  : min=0 max=9 step=10 default=66250 
value=66250 flags=slider
+audio_compression_feature_enabl (bool) : default=1 value=1
+ audio_compression_gain (int)  : min=0 max=20 step=1 default=15 
value=15 flags=slider
+audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 
value=-40 flags=slider
+  audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 
value=0 flags=slider
+ audio_compression_release_time (int)  : min=10 max=100 step=10 
default=100 value=100 flags=slider
+ pilot_tone_feature_enabled (bool) : default=1 value=1
+   pilot_tone_deviation (int)  : min=0 max=9 step=10 default=6750 
value=6750 flags=slider
+   pilot_tone_frequency (int)  : min=0 max=19000 step=1 default=19000 
value=19000 flags=slider
+  pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
+   tune_power_level (int)  : min=0 max=120 step=1 default=88 
value=88 flags=slider
+ tune_antenna_capacitor (int)  : min=0 max=191 step=1 default=0 
value=109 flags=slider
+/ #
+
+Here is a summary of them:
+
+* Pilot is an audible tone sent by the device.
+
+pilot_frequency - Configures the frequency of the stereo pilot tone.
+pilot_deviation - 

Re: [PATCHv11 0/8] FM Transmitter (si4713) and another changes

2009-07-25 Thread Eduardo Valentin
I'm sending a tarball with all patches due to some problems which may
be caused by my mail server. Just in case patches get messed, use this
tarball. Sorry for this inconvenience.

BR,

On Sat, Jul 25, 2009 at 04:57:34PM +0200, Valentin Eduardo (Nokia-D/Helsinki) 
wrote:
 Hello guys,
 
  Here is the version 11 of FM transmitter work. It is basically
 same thing of version 10 with minor fixes from previous comments,
 which are:
 - Do not use temp variable in v4l2_ctrl_is_pointer (v4l2-common.c).
 - Report a string length accordingly to maximum allowed size (si4713-i2c.c).
 - Add some comments explaining rds psname and radio text maximum sizes.
 - Update si4713.txt with latest v4l2-ctl output (which was proper updated
 for modulator devices).
 
 Besides that, every thing is the same.
 
  Again, this series is based only on
 http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-strctrl,
 which contains the string support for our extended control api.
 
 The problems with v4l2-ctl were solved by Hans. Now it can
 properly set/get frequencies for modulators. Also the txsubchannels
 are properly handled for RDS capable devices.
 
 Thanks Hans.
 
 BR,
 
 
 Eduardo Valentin (8):
   v4l2-subdev.h: Add g_modulator callbacks to subdev api
   v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls
   v4l2: video device: Add FM TX controls default configurations
   v4l2-spec: Add documentation description for FM TX extended control
 class
   FM TX: si4713: Add files to add radio interface for si4713
   FM TX: si4713: Add files to handle si4713 i2c device
   FM TX: si4713: Add Kconfig and Makefile entries
   FM TX: si4713: Add document file
 
  linux/Documentation/video4linux/si4713.txt |  176 +++
  linux/drivers/media/radio/Kconfig  |   22 +
  linux/drivers/media/radio/Makefile |2 +
  linux/drivers/media/radio/radio-si4713.c   |  367 +
  linux/drivers/media/radio/si4713-i2c.c | 2034 
 
  linux/drivers/media/radio/si4713-i2c.h |  237 
  linux/drivers/media/video/v4l2-common.c|   58 +-
  linux/include/linux/videodev2.h|   34 +
  linux/include/media/radio-si4713.h |   30 +
  linux/include/media/si4713.h   |   49 +
  linux/include/media/v4l2-subdev.h  |2 +
  v4l2-spec/Makefile |1 +
  v4l2-spec/controls.sgml|  210 +++
  13 files changed, 3221 insertions(+), 1 deletions(-)
  create mode 100644 linux/Documentation/video4linux/si4713.txt
  create mode 100644 linux/drivers/media/radio/radio-si4713.c
  create mode 100644 linux/drivers/media/radio/si4713-i2c.c
  create mode 100644 linux/drivers/media/radio/si4713-i2c.h
  create mode 100644 linux/include/media/radio-si4713.h
  create mode 100644 linux/include/media/si4713.h

-- 
Eduardo Valentin


patches-v11.tar.gz
Description: Binary data


Re: [PATCHv11 6/8] FM TX: si4713: Add files to handle si4713 i2c device

2009-07-25 Thread Hans Verkuil
On Saturday 25 July 2009 16:57:40 Eduardo Valentin wrote:
 This patch adds files to control si4713 devices.
 Internal functions to control device properties
 and initialization procedures are into these files.
 Also, a v4l2 subdev interface is also exported.
 This way other drivers can use this as v4l2 i2c subdevice.
 
 Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
 ---
  linux/drivers/media/radio/si4713-i2c.c | 2034 
 
  linux/drivers/media/radio/si4713-i2c.h |  237 
  linux/include/media/si4713.h   |   49 +
  3 files changed, 2320 insertions(+), 0 deletions(-)
  create mode 100644 linux/drivers/media/radio/si4713-i2c.c
  create mode 100644 linux/drivers/media/radio/si4713-i2c.h
  create mode 100644 linux/include/media/si4713.h
 
 diff --git a/linux/drivers/media/radio/si4713-i2c.c 
 b/linux/drivers/media/radio/si4713-i2c.c
 new file mode 100644
 index 000..9525f1d
 --- /dev/null
 +++ b/linux/drivers/media/radio/si4713-i2c.c

 +/* write string property */
 +static int si4713_write_econtrol_string(struct si4713_device *sdev,
 + struct v4l2_ext_control *control)
 +{
 + char ps_name[MAX_RDS_PS_NAME + 1];
 + char radio_text[MAX_RDS_RADIO_TEXT + 1];
 + int size;
 + s32 rval = 0;
 +
 + switch (control-id) {
 + case V4L2_CID_RDS_TX_PS_NAME:
 + size = control-length - 1;

You should add a check against control-length == 0 here and return -EINVAL
if it is 0. I noticed that the minimum lengths is set to 0 in v4l2_queryctrl.
That should be at least 1 (the length of an empty string).

You can also go ahead and check that size is a multiple of 8. Don't forget
to update the corresponding v4l2_ctrl_query_fill() with the new step value.

 + if (size  MAX_RDS_PS_NAME)
 + size = MAX_RDS_PS_NAME;
 + rval = copy_from_user(ps_name, control-string, size);
 + if (rval  0)
 + goto exit;
 + ps_name[size] = '\0';
 + rval = si4713_set_rds_ps_name(sdev, ps_name);
 + break;
 +
 + case V4L2_CID_RDS_TX_RADIO_TEXT:
 + size = control-length - 1;

Ditto.

What is the step value for radio text? Looking at the RDS spec I'd say that
it depends on whether it is transmitted in block 2A or 2B.

What happens if the user passes an empty string? Is that even allowed?
If it isn't allowed, then the minimum string lengths should be updated.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: Problem with My Tuner card

2009-07-25 Thread unni krishnan
Hi hermann,

I have recompiled the kernel and it is working now, thanks.

I have used :

modprobe saa7134 card=3

But there are two problems now :

1. My speakers will produce the channel sound even after closing
tvtime and I need to remove the module using rmmod saa7134 to solve
that, is there any solution for that ?

2. In Linux I am not getting all the channels that I can get in
windows using this tuner card. I have scanned all the channels using
tvtime scanner but some channels are missing, is there anything we can
do to resolve it ?


On Fri, Jul 24, 2009 at 11:36 AM, hermann pittonhermann-pit...@arcor.de wrote:
 Hi,

 Am Freitag, den 24.07.2009, 10:48 +0530 schrieb unni krishnan:
  Hi Unni,
 Hi Hermann,

 
  we have lots of saa7130 cards without eeprom on it providing not at
  least a valid PCI subvendor and subdevice, so we can't know what it is
  at all, neither for the tuner type and also not for how video and audio
  inputs are connected.
 
  If you can tell a card with working video and another one with working
  audio, it should not be hard to get something together for both on TV
  from the tuner as a start.

 The option

 modprobe saa7134 card=3 tuner=55

 gives me sound without much noise but no video

 You need the external audio mux gpio switching of the FlyVideo2000
 card=3.

 This gives me video, but no audio

 modprobe saa7134 card=37 tuner=55


 But you also need the vmux=3 of card=37 for it.
 Change the vmux of card = 3 in saa7134-cards.c from one to 3 and
 recompile and install and try again with your maybe tuner.


        [SAA7134_BOARD_FLYVIDEO2000] = {
                /* TC Wan tc...@cs.usm.my */
                .name           = LifeView/Typhoon FlyVIDEO2000,
                .audio_clock    = 0x0020,
                .tuner_type     = TUNER_LG_PAL_NEW_TAPC,
                .radio_type     = UNSET,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,

                .gpiomask       = 0xe000,
                .inputs         = {{
                        .name = name_tv,
                        .vmux = 1,        --change to vmux = 3
                        .amux = LINE2,
                        .gpio = 0x,
                        .tv   = 1,
                },{
                        .name = name_comp1,
                        .vmux = 0,
                        .amux = LINE2,
                        .gpio = 0x4000,
                },{
                        .name = name_comp2,
                        .vmux = 3,
                        .amux = LINE2,
                        .gpio = 0x4000,
                },{
                        .name = name_svideo,
                        .vmux = 8,
                        .amux = LINE2,
                        .gpio = 0x4000,
                }},
                .radio = {
                        .name = name_radio,
                        .amux = LINE2,
                        .gpio = 0x2000,
                },
                .mute = {
                        .name = name_mute,
                        .amux = LINE2,
                        .gpio = 0x8000,
                },
        },


 
  Also, if you do a cold boot without forcing any card, there might be a
  slight chance, that the gpio configuration on card init has been seen
  previously.

 Sorry, do you want me to just reboot the system ? I have already
 rebooted the system many times. Is there any other thing that I need
 to do before/after reboot ? I am new to Linux devices


 If you tried different cards with different gpio configurations
 previously, those settings are not cleared, except you take care for it.

 Easiest is to do a cold boot, to see the card coming up untouched on
 gpios.

 I did not care yet, if we have it already duplicate, but likely try to
 look it up in the evening here.

 Cheers,
 Hermann






-- 
-
With regards,
Unni

A candle loses nothing by lighting another candle
--
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


Changes to the string control handling

2009-07-25 Thread Hans Verkuil
Hi Eduardo,

On Saturday 25 July 2009 16:41:27 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 04:39:18PM +0200, ext Hans Verkuil wrote:
  If the string must be exactly 8 x n long, then I think that it is a good 
  idea
  to start using the 'step' value of v4l2_queryctrl: this can be used to tell
  the application that string lengths should be a multiple of the step value.
  I've toyed with that idea before but I couldn't think of a good use case,
  but this might be it.
 
 I think that would be good. It is a way to report to user land what can be
 done in these cases which strings can be chopped in small pieces. Of course,
 documenting this part it is appreciated.

Ok, I've implemented this. While doing this I realized that I had to change
a few things:

1) the 'length' field in v4l2_ext_control has been renamed to 'size'. The
name 'length' was too easy to confuse with 'string length' while in reality
it referred to the memory size of the control payload. 'size' is more
appropriate.

2) the 'minimum' and 'maximum' fields of v4l2_queryctrl now return the min
and max string lengths, i.e. *without* terminating zero. I realized that what
VIDIOC_QUERYCTRL returns has nothing to do with how much memory to reserve
for the string control. It is about the properties of the string itself
and it is not normal to include the terminating zero when talking about a
string length.

I've incorporated everything in my v4l-dvb-strctrl tree. I apologize for the
fact that you have to make yet another series of patches, but these changes
are typical when you start implementing and documenting a new feature for
the first time.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
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: Changes to the string control handling

2009-07-25 Thread Eduardo Valentin
Hello Hans,

On Sat, Jul 25, 2009 at 7:44 PM, Hans Verkuilhverk...@xs4all.nl wrote:
 Hi Eduardo,

 On Saturday 25 July 2009 16:41:27 Eduardo Valentin wrote:
 On Sat, Jul 25, 2009 at 04:39:18PM +0200, ext Hans Verkuil wrote:
  If the string must be exactly 8 x n long, then I think that it is a good 
  idea
  to start using the 'step' value of v4l2_queryctrl: this can be used to tell
  the application that string lengths should be a multiple of the step value.
  I've toyed with that idea before but I couldn't think of a good use case,
  but this might be it.

 I think that would be good. It is a way to report to user land what can be
 done in these cases which strings can be chopped in small pieces. Of course,
 documenting this part it is appreciated.

 Ok, I've implemented this. While doing this I realized that I had to change
 a few things:

 1) the 'length' field in v4l2_ext_control has been renamed to 'size'. The
 name 'length' was too easy to confuse with 'string length' while in reality
 it referred to the memory size of the control payload. 'size' is more
 appropriate.

 2) the 'minimum' and 'maximum' fields of v4l2_queryctrl now return the min
 and max string lengths, i.e. *without* terminating zero. I realized that what
 VIDIOC_QUERYCTRL returns has nothing to do with how much memory to reserve
 for the string control. It is about the properties of the string itself
 and it is not normal to include the terminating zero when talking about a
 string length.

 I've incorporated everything in my v4l-dvb-strctrl tree. I apologize for the
 fact that you have to make yet another series of patches, but these changes
 are typical when you start implementing and documenting a new feature for
 the first time.

I believe now things about string handling are becoming much clear this way.
No worries about the fact that we need another (or even more) series for si4713.
As it is the first driver using the new API, it is better to forge it
properly, so people
can use it as example.

When I come back to office, I'll have the opportunity to test the new series.
Only after that I can send it again. But I will try to send it as soon
as possible.


 Regards,

        Hans

 --
 Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
 --
 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




-- 
Eduardo Bezerra Valentin
--
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: WARNINGS, 2.6.16-2.6.21: ERRORS

2009-07-25 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:Sat Jul 25 19:00:05 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   12339:f8f134705b65
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-rc3-armv5: OK
linux-2.6.27-armv5-ixp: OK
linux-2.6.28-armv5-ixp: OK
linux-2.6.29.1-armv5-ixp: OK
linux-2.6.30-armv5-ixp: OK
linux-2.6.31-rc3-armv5-ixp: OK
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-rc3-armv5-omap2: OK
linux-2.6.22.19-i686: OK
linux-2.6.23.12-i686: OK
linux-2.6.24.7-i686: OK
linux-2.6.25.11-i686: OK
linux-2.6.26-i686: OK
linux-2.6.27-i686: OK
linux-2.6.28-i686: OK
linux-2.6.29.1-i686: OK
linux-2.6.30-i686: WARNINGS
linux-2.6.31-rc3-i686: OK
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-rc3-m32r: OK
linux-2.6.30-mips: WARNINGS
linux-2.6.31-rc3-mips: WARNINGS
linux-2.6.27-powerpc64: WARNINGS
linux-2.6.28-powerpc64: WARNINGS
linux-2.6.29.1-powerpc64: WARNINGS
linux-2.6.30-powerpc64: WARNINGS
linux-2.6.31-rc3-powerpc64: OK
linux-2.6.22.19-x86_64: OK
linux-2.6.23.12-x86_64: OK
linux-2.6.24.7-x86_64: OK
linux-2.6.25.11-x86_64: OK
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: OK
linux-2.6.30-x86_64: WARNINGS
linux-2.6.31-rc3-x86_64: OK
sparse (linux-2.6.30): OK
sparse (linux-2.6.31-rc3): 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: OK
linux-2.6.21.7-i686: OK
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: OK
linux-2.6.21.7-x86_64: OK

Detailed results are available here:

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

Full logs are available here:

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

The V4L2 specification from this daily build 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: Problem with My Tuner card

2009-07-25 Thread hermann pitton
Hi,

Am Samstag, den 25.07.2009, 21:26 +0530 schrieb unni krishnan:
 Hi hermann,
 
 I have recompiled the kernel and it is working now, thanks.
 
 I have used :
 
 modprobe saa7134 card=3

fine. So at least something working as a start.

It seems to me we have to add a new entry for your card.
Does it have a unique name they sell it, do you know the manufacturer?
Is there a website or did you investigate all the printings on the PCB
already.

The tuner type label is often hidden under a OEM vendor label.
Sometimes a drop of salad oil is enough to make the upper sticker
transparent. Tuner factory label underneath is in most cases close to
the antenna connector.

Please read a little at our wiki about information we need.
http://www.linuxtv.org/wiki/index.php/Development:_How_to_add_support_for_a_device

 But there are two problems now :
 
 1. My speakers will produce the channel sound even after closing
 tvtime and I need to remove the module using rmmod saa7134 to solve
 that, is there any solution for that ?

This is typical for saa7130 chips. They have no hardware mute on chip.

It also shows that your card is in more different than the TV vmux.
The FlyVideo2000 has hardware mute via its external audio mux chip.

You have some mux chip too, and by pure luck card=3 makes the TV sound
coming through from the tuner for you too.
The saa7134 driver uses so called masked writes to deal with single or
groups of the 28 (0-27) gpio pins it has. Only pins high in the gpio
mask are switchable.

For the FlyVideo2000 Wan Tat Chee uses a gpiomask of 0xe000.
If you convert to bin you see pin 13,14,15 dec are used for switching.
In hex pin 0x2000, 0x4000 and 0x8000.

All audio inputs are connected to the same pair of audio input on the
saa7130 called LINE2. All the audio routing on the card is completely
done by the external mux chip controlled with this three gpio pins of
the saa7130.

For having TV sound all this three pins are set to 0 (low/input).
This does not mean that this is really needed on your card.

Since 0x8000 does not work for mute on your card, you can try 0x4000 and
0x2000 in the mute section.

For cards without external mux, one must switch to an unused audio
input. That could be LINE1 on your card.

 2. In Linux I am not getting all the channels that I can get in
 windows using this tuner card. I have scanned all the channels using
 tvtime scanner but some channels are missing, is there anything we can
 do to resolve it ?

Yes, find the right tuner. Your tuner=55 does use LG API.
Are the missing channels above 450MHz in UHF ranges?

/*  TUNER_TCL_2002MB - TCL PAL  */

static struct tuner_range tuner_tcl_2002mb_pal_ranges[] = {
{ 16 * 170.00 /*MHz*/, 0xce, 0x01, },
{ 16 * 450.00 /*MHz*/, 0xce, 0x02, },
{ 16 * 999.99, 0xce, 0x08, },
};

static struct tuner_params tuner_tcl_2002mb_params[] = {
{
.type   = TUNER_PARAM_TYPE_PAL,
.ranges = tuner_tcl_2002mb_pal_ranges,
.count  = ARRAY_SIZE(tuner_tcl_2002mb_pal_ranges),
},
};

Then we might have to switch to a tuner using MK3 API.

If the missing channels are only close to the takeover frequencies of
170 and 450MHz, then the correct or at least better tuner needs to be
found. You might enable debug=1 for tuner and tuner-simple.

For example, if you have missing channels between 450 and 471.25 MHz,
you can try with tuner=69 again.

Is for that card FM radio support announced?

Cheers,
Hermann

 On Fri, Jul 24, 2009 at 11:36 AM, hermann pittonhermann-pit...@arcor.de 
 wrote:
  Hi,
 
  Am Freitag, den 24.07.2009, 10:48 +0530 schrieb unni krishnan:
   Hi Unni,
  Hi Hermann,
 
  
   we have lots of saa7130 cards without eeprom on it providing not at
   least a valid PCI subvendor and subdevice, so we can't know what it is
   at all, neither for the tuner type and also not for how video and audio
   inputs are connected.
  
   If you can tell a card with working video and another one with working
   audio, it should not be hard to get something together for both on TV
   from the tuner as a start.
 
  The option
 
  modprobe saa7134 card=3 tuner=55
 
  gives me sound without much noise but no video
 
  You need the external audio mux gpio switching of the FlyVideo2000
  card=3.
 
  This gives me video, but no audio
 
  modprobe saa7134 card=37 tuner=55
 
 
  But you also need the vmux=3 of card=37 for it.
  Change the vmux of card = 3 in saa7134-cards.c from one to 3 and
  recompile and install and try again with your maybe tuner.
 
 
 [SAA7134_BOARD_FLYVIDEO2000] = {
 /* TC Wan tc...@cs.usm.my */
 .name   = LifeView/Typhoon FlyVIDEO2000,
 .audio_clock= 0x0020,
 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
 .radio_type = UNSET,
 .tuner_addr = ADDR_UNSET,
 .radio_addr = ADDR_UNSET,
 
 

Re: [linux-dvb] Help Request: DM1105 STV0299 DVB-S PCI - Unable to tune

2009-07-25 Thread Shaun Murdoch
Hi Igor,

I've taken some photos of the tuner so that hopefully you'll be able
to help work out why it won't tune in Linux.

Please see the following link for the images:
http://www.flickr.com/photos/7690...@n04/sets/72157621703527801/

The only chip on display is:
SDMC
DM1105N
D735  E280034

Also - I tested the card in a Windows box today, so I am now certain
that both the card and the satellite connection are OK. The settings
that work with Windows (frequency, etc), don't lock in Linux. (I do
get a good signal reading in Kaffeine that is the same as Windows
gives, but no lock.)

I hope this will help you work out what is wrong.

Thanks!
Shaun



2009/7/22 Igor M. Liplianin liplia...@me.by:
 On 22 июля 2009 21:43:01 Shaun Murdoch wrote:
 Hi,

 Thanks for the suggestion.

 I think there's something a bit weird with dvbtune. According to it's
 man page the units for frequency (-f) are Hz. I am trying to tell it
 11.778 GHz - but you get errors if you do -f 1177800. Equally you
 also get errors if you assume it is MHz, i.e. -f 11778.   Anyway, if
 it prints FE_HAS_SIGNAL and FE_HAS_CARRIER that must mean the
 frequency I gave it is OK?

 In any case, scan doesn't work, nor does Kaffeine, so I don't think
 it's that my use of dvbtune is wrong.

 Anyone got any other suggestions on what I can do to get this to lock?

 Thanks,
 Shaun

 2009/7/22 Seyyed Mohammad mohammadzadeh softnhard...@gmail.com:
  Hello,
 
  I don't know what is the exact cause of your problem but I think you
  are tuning to a wrong frequency. You wrote:
 
   dvbtune -f 1177800 -s 27500 -p v -m
 
  in which the frequency parameters has two extra zeros which cause the
  frequency to interpret as : 1,177,800 MHz !!!
 
  2009/7/22 Shaun Murdoch scra...@gmail.com
 
  Hi everyone,
  First post so please be gentle :-)
  I was wondering if anyone can help me please - I am trying to get a
  DVB-S PCI card working with Linux (Ubuntu 9.04). So far I can get the
  card recognised by Linux, but it won't tune - Kaffeine does tell me that
  there is 95% signal and 80% SNR, and I am using the same frequencies etc
  that a standard Sky box uses. The card is very common on eBay so I am
  sure there are plenty people who have tried this / would want this
  working. Some details that I hope will help someone who knows more than
  I do about this! The card is one of these:
  http://cgi.ebay.co.uk/DVB-S-Satellite-TV-Tuner-Video-Capture-PCI-Card-Re
 mote_W0QQitemZ130314645048QQcmdZViewItemQQptZUK_Computing_Computer_Compon
 ents_Graphics_Video_TV_Cards_TW?hash=item1e575bae38_trksid=p3286.c0.m14
 _trkparms=65:12|66:2|39:1|72:1690|293:1|294:50 lspci:
  03:09.0 Ethernet controller: Device 195d:1105 (rev 10)
  My dmesg output - looks ok?:
 
  $ dmesg | grep DVB
  [   12.174738] DVB: registering new adapter (dm1105)
  [   12.839501] DVB: registering adapter 0 frontend 0 (ST STV0299
  DVB-S)... [   12.839633] input: DVB on-card IR receiver as
  /devices/pci:00/:00:1e.0/:03:09.0/input/input
 
  My output from scan - the problem:
 
  $ sudo scan -vv /usr/share/dvb/dvb-s/Astra-28.2E
  scanning /usr/share/dvb/dvb-s/Astra-28.2E
  using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
 
   tune to: 11778:v:0:27500
 
  DiSEqC: switch pos 0, 13V, hiband (index 2)
  diseqc_send_msg:56: DiSEqC: e0 10 38 f1 00 00
  DVB-S IF freq is 1178000
 
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
   tuning status == 0x03
 
  WARNING:  tuning failed!!!
 
  This is the correct satellite for my location (south UK), I believe.
  Have tried plenty. Nothing locks. I'm using the latest liplianin drivers
  - did a mercurial checkout and build today:
 
  $ modinfo dm1105
  filename:
  /lib/modules/2.6.28-13-server/kernel/drivers/media/dvb/dm1105/dm1105.ko
  license:        GPL
  description:    SDMC DM1105 DVB driver
  author:         Igor M. Liplianin liplia...@me.by
  srcversion:     46C1B3C3627D1937F75D732
  alias:          pci:v195Dd1105sv*sd*bc*sc*i*
  alias:          pci:v109Fd036Fsv*sd*bc*sc*i*
  depends:        ir-common,dvb-core
  vermagic:       2.6.28-13-server SMP mod_unload modversions
  parm:           card:card type (array of int)
  parm:           ir_debug:enable debugging information for IR decoding
  (int) parm:           adapter_nr:DVB adapter numbers (array of short)
 
  Have also tried the latest v4l-dvb drivers and get exactly the same
  tuning problems. Finally, dvbtune appears to say I have signal but
  cannot lock:
 
  $ sudo dvbtune -f 1177800 -s 27500 -p v -m -tone 1 -vvv
  [sudo] password for shaun:
  Using DVB card ST STV0299 DVB-S
  tuning DVB-S to L-Band:0, Pol:V Srate=2750, 22kHz=on
  polling
  Getting frontend event
  FE_STATUS:
  polling
  Getting frontend event
  FE_STATUS: FE_HAS_SIGNAL FE_HAS_CARRIER FE_HAS_VITERBI