RE: Problems with analog sound on Pinnacle Dazzle TV hybrid USB stick

2011-03-13 Thread tosiara
Hello,

I'm having similar issue with another em28xx based analog tv tuner: USB
KWorld PVR-TV 305U

I will start separate thread for my issue

Could you let me know what version of kernel and ALSA are you using?

Thanks,

tosiara





Cite:
---

Hi all,

I have read serveral newsgroups about this problem and did not find any 
solution.

The closest to a solution was a suggestion to install a em28xx-new module but 


it is no longer available.

I have loaded em28xx em28xx-alsa and em28xx-dvb with this output ( I have 
forced the card on 56 using options em28xx card=56)


[51556.500765] em28xx: New device USB 2881 Video @ 480 Mbps (eb1a:2881, 


interface 0, class 0)
[51556.500949] em28xx #0: chip ID is em2882/em2883
[51556.687042] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 81 28 58 12 5c 00 6a 
20 6a 00
[51556.687056] em28xx #0: i2c eeprom 10: 00 00 04 57 64 57 00 00 60 f4 00 00 02 


02 00 00
[51556.687068] em28xx #0: i2c eeprom 20: 56 00 01 00 00 00 02 00 b8 00 00 00 5b 
1e 00 00
[51556.687080] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 02 00 00 00 
00 00 00
[51556.687091] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 


00 00 00
[51556.687102] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687114] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 20 03 55 
00 53 00
[51556.687125] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00 31 00 20 


00 56 00
[51556.687137] em28xx #0: i2c eeprom 80: 69 00 64 00 65 00 6f 00 00 00 00 00 00 
00 00 00
[51556.687148] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687160] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 


00 00 00
[51556.687171] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687182] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687194] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 


00 00 00
[51556.687205] em28xx #0: i2c eeprom e0: 5a 00 55 aa 79 55 54 03 00 17 98 01 00 
00 00 00
[51556.687216] em28xx #0: i2c eeprom f0: 0c 00 00 01 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687229] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xb8846b20


[51556.687232] em28xx #0: EEPROM info:
[51556.687234] em28xx #0:   AC97 audio (5 sample rates)
[51556.687236] em28xx #0:   USB Remote wakeup capable
[51556.687238] em28xx #0:   500mA max power
[51556.687241] em28xx #0:   Table at 0x04, strings=0x206a, 0x006a, 0x


[51556.687915] em28xx #0: Identified as Pinnacle Hybrid Pro (card=53)
[51556.690103] tvp5150 1-005c: chip found @ 0xb8 (em28xx #0)
[51556.694727] tuner 1-0061: chip found @ 0xc2 (em28xx #0)
[51556.694862] xc2028 1-0061: creating new instance


[51556.694864] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[51556.694872] usb 2-6: firmware: requesting xc3028-v27.fw
[51556.696352] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw, 
type: xc2028 firmware, ver 2.7


[51556.752531] xc2028 1-0061: Loading firmware for type=BASE (1), id 
.
[51557.679461] xc2028 1-0061: Loading firmware for type=(0), id 
b700.
[51557.693080] SCODE (2000), id b700:


[51557.693088] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 
(60008000), id 8000.
[51557.900062] em28xx #0: Config register raw data: 0x58
[51557.900812] em28xx #0: AC97 vendor ID = 0x


[51557.901178] em28xx #0: AC97 features = 0x6a90
[51557.901181] em28xx #0: Empia 202 AC97 audio processor detected
[51558.050427] tvp5150 1-005c: tvp5150am1 detected.
[51558.153287] em28xx #0: v4l2 driver version 0.1.2


[51558.237283] em28xx #0: V4L2 video device registered as /dev/video1
[51558.237287] em28xx #0: V4L2 VBI device registered as /dev/vbi1
[51558.250087] usbcore: registered new interface driver em28xx
[51558.250092] em28xx driver loaded


[51558.420877] xc2028 1-0061: attaching existing instance
[51558.420881] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[51558.420884] em28xx #0/2: xc3028 attached
[51558.420888] DVB: registering new adapter (em28xx #0)


[51558.420893] DVB: registering adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)...
[51558.421536] Successfully loaded em28xx-dvb
[51558.421540] Em28xx: Initialized (Em28xx dvb Extension) extension
[51558.421968] Em28xx: Initialized (Em28xx Audio Extension) extension


[51560.520457] tvp5150 1-005c: tvp5150am1 detected.
[51561.024168] tvp5150 1-005c: tvp5150am1 detected.
[51561.332517] xc2028 1-0061: Loading firmware for type=BASE F8MHZ (3), id 
.
[51562.259446] (0), id 00ff:


[51562.259452] xc2028 1-0061: Loading firmware for type=(0), id 
00010007.
[51562.273059] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_5320 
(60008000), id 000f000

I can get video. I see in alsa a third card (in fact I have a second internal 


TV capture card)
But I cannot get sound out of it.

I 

em28xx based analog tv tuner USB KWorld PVR-TV 305U (eb1a:e305): no sound

2011-03-13 Thread tosiara
Hello

I've made tests with my *KWorld* usb tuner:

 *Model*: USB KWorld PVR-TV 305U
 *Vendor/Product id*: [eb1a:e305].

 *Tests made*: 

 - Analog video [Worked]
 - Analog audio [not working, details attached below]


Hardware and system details:

# lsusb -s 002:003

Bus 002 Device 003: ID eb1a:e305 eMPIA Technology, Inc. 

# uname -a
Linux vista.linuks.lan 2.6.34.7-0.7-desktop #1 SMP PREEMPT 2010-12-13 11:13:53 
+0100 i686 athlon i386 GNU/Linux

# cat /etc/issue
Welcome to openSUSE 11.3 Teal - Kernel \r (\l).

ALSA version: 1.0.24.1-72.1


Build latest dvb drivers from linuxtv.org:

# lsmod
Module  Size  Used by
aes_i5867396  1
aes_generic27151  1 aes_i586
fuse   65789  3
ip6t_LOG5150  11
xt_tcpudp   2107  25
xt_pkttype   912  4
xt_physdev  1539  2
ipt_LOG 5119  11
xt_limit1705  22
rfcomm 69557  4
vboxnetadp  7018  0
vboxnetflt 16967  0
sco16711  2
af_packet  19512  4
bridge 71700  1
stp 1719  1 bridge
llc 5093  2 bridge,stp
bnep   14764  2
vboxdrv   204362  2 vboxnetadp,vboxnetflt
l2cap  53658  16 rfcomm,bnep
snd_pcm_oss47613  0
snd_mixer_oss  16751  1 snd_pcm_oss
snd_seq57343  0
snd_seq_device  6598  1 snd_seq
edd 8720  0
vmnet  46129  13
ppdev   8444  0
parport_pc 33475  0
parport34052  2 ppdev,parport_pc
vmblock11886  1
vsock  41336  0
vmci   59117  1 vsock
vmmon  76038  0
ip6t_REJECT 4311  3
nf_conntrack_ipv6  18225  4
ip6table_raw1187  1
xt_NOTRACK   816  4
ipt_REJECT  2152  3
xt_state1162  8
iptable_raw 1246  1
iptable_filter  1418  1
ip6table_mangle 1588  0
nf_conntrack_netbios_ns 1382  0
nf_conntrack_ipv4   8691  4
nf_conntrack   75628  5 
nf_conntrack_ipv6,xt_NOTRACK,xt_state,nf_conntrack_netbios_ns,nf_conntrack_ipv4
nf_defrag_ipv4  1201  1 nf_conntrack_ipv4
ip_tables  12172  2 iptable_raw,iptable_filter
ip6table_filter 1359  1
cpufreq_conservative10064  0
cpufreq_userspace   2583  0
cpufreq_powersave914  0
ip6_tables 13508  4 
ip6t_LOG,ip6table_raw,ip6table_mangle,ip6table_filter
x_tables   17098  17 
ip6t_LOG,xt_tcpudp,xt_pkttype,xt_physdev,ipt_LOG,xt_limit,ip6t_REJECT,ip6table_raw,xt_NOTRACK,ipt_REJECT,xt_state,iptable_raw,iptable_filter,ip6table_mangle,ip_tables,ip6table_filter,ip6_tables
powernow_k818707  0
mperf   1255  1 powernow_k8
loop   14694  0
dm_mod 73457  0
em28xx_alsa 6316  0
arc41281  2
tuner_xc2028   20652  1
ecb 1967  2
tuner  18636  1
snd_hda_codec_atihdmi 2591  1
ir_lirc_codec   4075  0
lirc_dev   15476  1 ir_lirc_codec
tvp515015288  1
ir_sony_decoder 2005  0
snd_hda_codec_idt  58593  1
ir_jvc_decoder  2098  0
ir_rc6_decoder  2450  0
firewire_ohci  23817  0
firewire_core  52354  1 firewire_ohci
crc_itu_t   1435  1 firewire_core
snd_hda_intel  24950  3
rc_rc6_mce  1230  0
snd_hda_codec  98635  3 
snd_hda_codec_atihdmi,snd_hda_codec_idt,snd_hda_intel
snd_hwdep   6164  1 snd_hda_codec
em28xx 89777  1 em28xx_alsa
snd_pcm87882  4 
snd_pcm_oss,em28xx_alsa,snd_hda_intel,snd_hda_codec
ir_rc5_decoder  1970  0
ath5k 135497  0
mac80211  248390  1 ath5k
ath 8743  1 ath5k
ohci1394   30324  0
snd_timer  21669  2 snd_seq,snd_pcm
ene_ir 14962  0
snd65788  17 
snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,em28xx_alsa,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
ir_nec_decoder  2386  0
hp_wmi  5882  0
cfg80211  156087  3 ath5k,mac80211,ath
v4l2_common10269  3 tuner,tvp5150,em28xx
videobuf_vmalloc4868  1 em28xx
videobuf_core  18232  2 em28xx,videobuf_vmalloc
jmb38x_ms  12491  0
sdhci_pci   7110  0
sdhci  20020  1 sdhci_pci
hp_accel   12712  0
lis3lv02d   7908  1 hp_accel
uvcvideo   60566  0
soundcore   7379  1 snd
snd_page_alloc  8041  2 snd_hda_intel,snd_pcm
video  21205  0
btusb  15667  2
bluetooth  96350  9 rfcomm,sco,bnep,l2cap,btusb
rfkill 17298  4 

Re: [PATCH] Ngene cam device name

2011-03-13 Thread Martin Vidovic

Oliver Endriss wrote:

Hi,

On Saturday 12 March 2011 14:29:08 Andreas Oberritter wrote:
  

On 03/11/2011 10:44 PM, Martin Vidovic wrote:


Andreas Oberritter wrote:
  

It's rather unintuitive that some CAMs appear as ca0, while others as
cam0.
  


Ngene CI appears as both ca0 and cam0 (or sec0). The ca0 node is used
as usual, to setup the CAM. The cam0 (or sec0) node is used to read/write
transport stream. To me it  looks like an extension of the current API.
  

I see. This raises another problem. How to find out, which ca device
cam0 relates to, in case there are more ca devices than cam devices?



Hm, I do not see a problem here. The API extension is simple:

(1) camX is optional. If camX exists, it is tied to caX.

(2) If there is no camX, the CI/CAM operates in 'legacy mode'.

(3) If camX exists, the encrypted transport stream of the CI/CAM is sent
through camX, and the decrypted stream is received from camX.
caX behaves the same way as in (2).

Btw, we should choose a more meaningful name for 'camX'.
I would prefer something like cainoutX or caioX or cinoutX or cioX.
  


I agree, camX could be misleading since it's not necessarily a CAM 
application.


According to EN 50221 the two interfaces are named Command Interface 
(for caX)
and Transport Stream Interface (for camX). Then maybe 'tsiX' would be an 
appropriate

name?

Anyway, 'cioX' sounds good too.

Regards,
Martin
--
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: WinTV 1400 broken with recent versions?

2011-03-13 Thread Jean-Michel Bruenn
 It means the i2c bus failed to get an ACK back when talking to the
 xc3028.  It could be a number of different things:
 
 * broken cx23885 i2c master implementation
 * bug in the xc3028 driver
 * screwed up GPIOs causing the xc3028 to be held in reset
 * i2c bus wedged

Ah. Thanks. Now i know what to search for.

  Also, nobody has any idea what i could try (except for what
  i already did, including reverting patches and downgrading the kernel)?
 
 If you're knowledgeable enough to downgrade the kernel, then your best
 bet is to learn how to use git bisect so you can identify exactly
 which patch introduced the regression.

Yup, started to try that yesterday, however, going back from today to
2008 will take some time. I'll let you know if i made any progress.

Thanks so far.
--
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: [ANN] First draft of the agenda for the Warsaw meeting

2011-03-13 Thread Hans Verkuil
On Wednesday, March 09, 2011 21:58:15 Laurent Pinchart wrote:
 Hi Hans,
 
 On Wednesday 09 March 2011 08:47:01 Hans Verkuil wrote:
  On Wednesday, March 09, 2011 08:08:43 Jaeryul Oh wrote:
   Hi, Hans
   
   We want to confirm if it is possible to discuss our concerning points
   at each item of 1st draft that you made as below.
   
   Our concerning items that we want to discuss are :
   
   1. Issues when using V4l2 control framework with codec
   
  : http://www.spinics.net/lists/linux-media/msg27975.html
  : Can we discuss 'V4l2 control framework to support codec' in your
  : first
   
   agenda ?
   
(Compressed format API for MPEG, H.264, etc. xxx)

  : We will post related contents in mailing list before joining Warsaw
   
   meeting.
  
  Certainly. If I am not mistaken the required control framework changes you
  refer to in the supplied link are actually done in Laurent's media
  controller/OMAP3 patch series, so these should appear any day now.
 
 Im' afraid it's not there yet. The OMAP3 ISP code that requires this feature 
 isn't ready yet, we're still working on it.
 
 I've got two patches that implement control handlers at the file handler 
 level 
 for subdevs. I'll send them to the list (as RFC) to be used as a starting 
 point for control handler support at the v4l2_fh level.
 
 

I did some work on this as well yesterday:

http://git.linuxtv.org/hverkuil/media_tree.git?a=shortlog;h=refs/heads/ctrl-event

See patch v4l2-ioctl: add ctrl_handler to v4l2_fh

I needed this for my work on control-change events.

That patch should do what you need provided your code uses struct v4l2_fh for
each open file handle.

Regards,

Hans

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


[ANN] Agenda for the Warsaw meeting.

2011-03-13 Thread Hans Verkuil
Agenda for V4L2 brainstorm meeting in Warsaw, March 16-18 2011.

Purpose of the meeting: to brainstorm about current V4L2 API limitations
with regards to required functionality. Ideally the results of the meeting
are actual solutions to these problems, but at the very least we should
have a concensus of what direction to take and who will continue working
on each problem. The hope is that this meeting will save us endless email
and irc discussions.

It is *not* a summit meeting, so any conclusions need to be discussed and
approved on the mailinglist.

The basic outline is the same as during previous meetings: the first day we
go through all the agenda points and make sure everyone understands the
problem. Smaller issues will be discussed and decided, more complex issues
are just discussed.

The second day we go in depth into the complex issues and try to come up with
ideas that might work. The last day we translate the all agenda items into
actions.

This approach worked well in the past and it ensures that we end up with
something concrete.

Those who have a vested interest in an agenda item should be prepared to
explain their take on it and if necessary have a presentation ready.

Besides the main agenda I also added a few items falling under the category
'if time permits'.

Attendees:

Samsung Poland RD Center:
  Kamil Debski k.deb...@samsung.com
  Sylwester Nawrocki s.nawro...@samsung.com
  Tomasz Stanislawski t.stanisl...@samsung.com
  Marek Szyprowski (Organizer) m.szyprow...@samsung.com

Cisco Systems Norway:
  Martin Bugge marbu...@cisco.com
  Hans Verkuil (Chair) hverk...@xs4all.nl

Nokia:
  Sakari Ailus sakari.ai...@maxwell.research.nokia.com

Ideas On Board:
  Laurent Pinchart laurent.pinch...@ideasonboard.com

ST-Ericsson:
  Willy Poisson willy.pois...@stericsson.com

Samsung System.LSI Korea
  Jonghun Han jonghun@samsung.com
  Jaeryul Oh jaeryul...@samsung.com

Samsung DMC Korea:
   Seung-Woo Kim sw0312@samsung.com

Freelance:
  Guennadi Liakhovetski g.liakhovet...@gmx.de


Agenda:

1) Compressed format API for MPEG, H.264, etc. Also need to discuss what to
   do with weird 'H.264 inside MJPEG' muxed formats.
   (Hans, Laurent, Samsung)

2) Small architecture enhancements:
- Acquiring subdevs from other devices using subdev pool
  http://www.mail-archive.com/linux-media@vger.kernel.org/msg21831.html
  (Tomasz)
- Introducing subdev hierarchy. Below there is a link to driver using 
it:
  
http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/28885/focus=28890
  (Tomasz)
- Allow per-filehandle control handlers.
  http://www.spinics.net/lists/linux-media/msg27975.html
  (Jaeryul)
- How to control FrameBuffer device as v4l2 sub-device?
  
http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/29442/focus=29570
  (Jaeryul)
- Which interface is better for Mixer of Exynos, frame buffer or V4l2?
  http://www.mail-archive.com/linux-media@vger.kernel.org/msg28549.html
  (Jaeryul)
- Entity information ioctl
  Some drivers (namely the uvcvideo driver) will need to report 
driver-specific
  information about each entity (the UVC entity GUID, the UVC controls 
it
  supports, ...). We need an API for that.
  (Laurent)

3) Pipeline configuration, cropping and scaling:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg27956.html
   http://www.mail-archive.com/linux-media@vger.kernel.org/msg26630.html

   (Everyone)

4) HDMI receiver/transmitter API support

   Some hotplug/CEC code can be found here:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28549.html

   CEC RFC from Cisco Systems Norway:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg29241.html

   Hopefully we can post an initial HDMI RFC as well on Monday.

   (Martin, Hans, Samsung, ST-Ericsson)

5) Sensor/Flash/Snapshot functionality.

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28192.html
   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28490.html

   - Sensor blanking/pixel-clock/frame-rate settings (including 
 enumeration/discovery)

   - Multiple video buffer queues per device (currently implemented in the
 OMAP 3 ISP driver in non-standard way).

   - Synchronising parameters (e.g. exposure time and gain) on given
 frames. Some sensors support this on hardware. There are many use cases
 which benefit from this, for example this one:

 URL:http://fcam.garage.maemo.org/

   - Flash synchronisation (might fall under the above topic).

   - Frame metadata. It is important for the control algorithms (exposure,
 white balance, for example), to know which sensor settings have been
 used to expose a given frame. Many sensors do support this. Do we want
 to parse this in the kernel or does it belong to user space? The
 metadata formats are 

Re: em28xx based analog tv tuner USB KWorld PVR-TV 305U (eb1a:e305): no sound

2011-03-13 Thread tosiara
Also tried latest openSUSE 11.4

 uname -a
Linux linux-tecd.site 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21
10:34:10 +0100 i686 athlon i386 GNU/Linux

alsa 1.0.24.1-3.1

Still the same issue, Error reading audio: Input/output error



On Sun, Mar 13, 2011 at 10:36, tosiara tosi...@gmail.com wrote:

 Hello

 I've made tests with my *KWorld* usb tuner:

  *Model*: USB KWorld PVR-TV 305U
  *Vendor/Product id*: [eb1a:e305].

  *Tests made*:

     - Analog video [Worked]
     - Analog audio [not working, details attached below]


 Hardware and system details:

 # lsusb -s 002:003

 Bus 002 Device 003: ID eb1a:e305 eMPIA Technology, Inc.

 # uname -a
 Linux vista.linuks.lan 2.6.34.7-0.7-desktop #1 SMP PREEMPT 2010-12-13 
 11:13:53 +0100 i686 athlon i386 GNU/Linux

 # cat /etc/issue
 Welcome to openSUSE 11.3 Teal - Kernel \r (\l).

 ALSA version: 1.0.24.1-72.1


 Build latest dvb drivers from linuxtv.org:

 # lsmod
 Module                  Size  Used by
 aes_i586                7396  1
 aes_generic            27151  1 aes_i586
 fuse                   65789  3
 ip6t_LOG                5150  11
 xt_tcpudp               2107  25
 xt_pkttype               912  4
 xt_physdev              1539  2
 ipt_LOG                 5119  11
 xt_limit                1705  22
 rfcomm                 69557  4
 vboxnetadp              7018  0
 vboxnetflt             16967  0
 sco                    16711  2
 af_packet              19512  4
 bridge                 71700  1
 stp                     1719  1 bridge
 llc                     5093  2 bridge,stp
 bnep                   14764  2
 vboxdrv               204362  2 vboxnetadp,vboxnetflt
 l2cap                  53658  16 rfcomm,bnep
 snd_pcm_oss            47613  0
 snd_mixer_oss          16751  1 snd_pcm_oss
 snd_seq                57343  0
 snd_seq_device          6598  1 snd_seq
 edd                     8720  0
 vmnet                  46129  13
 ppdev                   8444  0
 parport_pc             33475  0
 parport                34052  2 ppdev,parport_pc
 vmblock                11886  1
 vsock                  41336  0
 vmci                   59117  1 vsock
 vmmon                  76038  0
 ip6t_REJECT             4311  3
 nf_conntrack_ipv6      18225  4
 ip6table_raw            1187  1
 xt_NOTRACK               816  4
 ipt_REJECT              2152  3
 xt_state                1162  8
 iptable_raw             1246  1
 iptable_filter          1418  1
 ip6table_mangle         1588  0
 nf_conntrack_netbios_ns     1382  0
 nf_conntrack_ipv4       8691  4
 nf_conntrack           75628  5 
 nf_conntrack_ipv6,xt_NOTRACK,xt_state,nf_conntrack_netbios_ns,nf_conntrack_ipv4
 nf_defrag_ipv4          1201  1 nf_conntrack_ipv4
 ip_tables              12172  2 iptable_raw,iptable_filter
 ip6table_filter         1359  1
 cpufreq_conservative    10064  0
 cpufreq_userspace       2583  0
 cpufreq_powersave        914  0
 ip6_tables             13508  4 
 ip6t_LOG,ip6table_raw,ip6table_mangle,ip6table_filter
 x_tables               17098  17 
 ip6t_LOG,xt_tcpudp,xt_pkttype,xt_physdev,ipt_LOG,xt_limit,ip6t_REJECT,ip6table_raw,xt_NOTRACK,ipt_REJECT,xt_state,iptable_raw,iptable_filter,ip6table_mangle,ip_tables,ip6table_filter,ip6_tables
 powernow_k8            18707  0
 mperf                   1255  1 powernow_k8
 loop                   14694  0
 dm_mod                 73457  0
 em28xx_alsa             6316  0
 arc4                    1281  2
 tuner_xc2028           20652  1
 ecb                     1967  2
 tuner                  18636  1
 snd_hda_codec_atihdmi     2591  1
 ir_lirc_codec           4075  0
 lirc_dev               15476  1 ir_lirc_codec
 tvp5150                15288  1
 ir_sony_decoder         2005  0
 snd_hda_codec_idt      58593  1
 ir_jvc_decoder          2098  0
 ir_rc6_decoder          2450  0
 firewire_ohci          23817  0
 firewire_core          52354  1 firewire_ohci
 crc_itu_t               1435  1 firewire_core
 snd_hda_intel          24950  3
 rc_rc6_mce              1230  0
 snd_hda_codec          98635  3 
 snd_hda_codec_atihdmi,snd_hda_codec_idt,snd_hda_intel
 snd_hwdep               6164  1 snd_hda_codec
 em28xx                 89777  1 em28xx_alsa
 snd_pcm                87882  4 
 snd_pcm_oss,em28xx_alsa,snd_hda_intel,snd_hda_codec
 ir_rc5_decoder          1970  0
 ath5k                 135497  0
 mac80211              248390  1 ath5k
 ath                     8743  1 ath5k
 ohci1394               30324  0
 snd_timer              21669  2 snd_seq,snd_pcm
 ene_ir                 14962  0
 snd                    65788  17 
 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,em28xx_alsa,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
 ir_nec_decoder          2386  0
 hp_wmi                  5882  0
 cfg80211              156087  3 ath5k,mac80211,ath
 v4l2_common            10269  3 tuner,tvp5150,em28xx
 videobuf_vmalloc        4868  1 em28xx
 videobuf_core          18232  2 em28xx,videobuf_vmalloc
 jmb38x_ms              12491  0
 

RE: em28xx based analog tv tuner USB KWorld PVR-TV 305U (eb1a:e305): no sound

2011-03-13 Thread wim delvaux


similar problem with pinnacle dazzle tv hybrid 
 
lsusb : ID eb1a:2881 eMPIA Technology, Inc. EM2881 Video Controller
kernel : Linux GCV 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 
2010 x86_64 GNU/Linux
cardlist : arecord -l
 
 List of CAPTURE Hardware Devices 
card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Bt878 [Brooktree Bt878], device 0: Bt87x Digital [Bt87x Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Bt878 [Brooktree Bt878], device 1: Bt87x Analog [Bt87x Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Video [USB 2881 Video], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
 
dmesg output
 
[51556.500765] em28xx: New device USB 2881 Video @ 480 Mbps (eb1a:2881, 
interface 0, class 0)
[51556.500949] em28xx #0: chip ID is em2882/em2883
[51556.687042] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 81 28 58 12 5c 00 6a 
20 6a 00
[51556.687056] em28xx #0: i2c eeprom 10: 00 00 04 57 64 57 00 00 60 f4 00 00 02 
02 00 00
[51556.687068] em28xx #0: i2c eeprom 20: 56 00 01 00 00 00 02 00 b8 00 00 00 5b 
1e 00 00
[51556.687080] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 02 00 00 00 
00 00 00
[51556.687091] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687102] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687114] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 20 03 55 
00 53 00
[51556.687125] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 38 00 31 00 20 
00 56 00
[51556.687137] em28xx #0: i2c eeprom 80: 69 00 64 00 65 00 6f 00 00 00 00 00 00 
00 00 00
[51556.687148] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687160] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687171] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687182] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687194] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687205] em28xx #0: i2c eeprom e0: 5a 00 55 aa 79 55 54 03 00 17 98 01 00 
00 00 00
[51556.687216] em28xx #0: i2c eeprom f0: 0c 00 00 01 00 00 00 00 00 00 00 00 00 
00 00 00
[51556.687229] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xb8846b20
[51556.687232] em28xx #0: EEPROM info:
[51556.687234] em28xx #0:   AC97 audio (5 sample rates)
[51556.687236] em28xx #0:   USB Remote wakeup capable
[51556.687238] em28xx #0:   500mA max power
[51556.687241] em28xx #0:   Table at 0x04, strings=0x206a, 0x006a, 0x
[51556.687915] em28xx #0: Identified as Pinnacle Hybrid Pro (card=53)
[51556.690103] tvp5150 1-005c: chip found @ 0xb8 (em28xx #0)
[51556.694727] tuner 1-0061: chip found @ 0xc2 (em28xx #0)
[51556.694862] xc2028 1-0061: creating new instance
[51556.694864] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[51556.694872] usb 2-6: firmware: requesting xc3028-v27.fw
[51556.696352] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw, 
type: xc2028 firmware, ver 2.7
[51556.752531] xc2028 1-0061: Loading firmware for type=BASE (1), id 
.
[51557.679461] xc2028 1-0061: Loading firmware for type=(0), id 
b700.
[51557.693080] SCODE (2000), id b700:
[51557.693088] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 
(60008000), id 8000.
[51557.900062] em28xx #0: Config register raw data: 0x58
[51557.900812] em28xx #0: AC97 vendor ID = 0x
[51557.901178] em28xx #0: AC97 features = 0x6a90
[51557.901181] em28xx #0: Empia 202 AC97 audio processor detected
[51558.050427] tvp5150 1-005c: tvp5150am1 detected.
[51558.153287] em28xx #0: v4l2 driver version 0.1.2
[51558.237283] em28xx #0: V4L2 video device registered as /dev/video1
[51558.237287] em28xx #0: V4L2 VBI device registered as /dev/vbi1
[51558.250087] usbcore: registered new interface driver em28xx
[51558.250092] em28xx driver loaded
[51558.420877] xc2028 1-0061: attaching existing instance
[51558.420881] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[51558.420884] em28xx #0/2: xc3028 attached
[51558.420888] DVB: registering new adapter (em28xx #0)
[51558.420893] DVB: registering adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)...
[51558.421536] Successfully loaded em28xx-dvb
[51558.421540] Em28xx: Initialized (Em28xx dvb Extension) extension
[51558.421968] Em28xx: Initialized (Em28xx Audio Extension) extension
[51560.520457] tvp5150 1-005c: tvp5150am1 detected.
[51561.024168] tvp5150 1-005c: tvp5150am1 detected.
[51561.332517] xc2028 1-0061: Loading firmware for type=BASE F8MHZ (3), id 
.
[51562.259446] (0), id 00ff:
[51562.259452] xc2028 1-0061: Loading firmware for type=(0), id 

[cron job] v4l-dvb daily build: ERRORS

2011-03-13 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:Sun Mar 13 19:00:20 CET 2011
git hash:41f3becb7bef489f9e8c35284dd88a1ff59b190c
gcc version:  i686-linux-gcc (GCC) 4.5.1
host hardware:x86_64
host os:  2.6.32.5

linux-git-armv5: OK
linux-git-armv5-davinci: OK
linux-git-armv5-ixp: OK
linux-git-armv5-omap2: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: WARNINGS
linux-git-powerpc64: OK
linux-git-x86_64: OK
linux-2.6.31.12-i686: ERRORS
linux-2.6.32.6-i686: ERRORS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.31.12-x86_64: ERRORS
linux-2.6.32.6-x86_64: ERRORS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
spec-git: OK
sparse: ERRORS

Detailed results are available here:

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

Full logs are available here:

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

The V4L-DVB specification from this daily build is here:

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


Re: Problem with saa7134: Asus Tiger revision 1.0, subsys 1043:4857

2011-03-13 Thread Jason Hecker
I seem to have fixed the problem for now.  It's the hoary old problem
of Mythtv's backend coming up and accessing the cards before the
firmware has loaded onto the cards.  Adding in a startup delay to
myth-backend's init script has solved the problem, for now.  The
firmware seems to load now on Mythbuntu 10.04 without a problem.

Is there some way to put a lock in the driver or even speed up the
process of loading the firmware with some command line arguments when
the saa7134 driver is loaded?
--
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 saa7134: Asus Tiger revision 1.0, subsys 1043:4857

2011-03-13 Thread Andy Walls
Jason Hecker jwhec...@gmail.com wrote:

I seem to have fixed the problem for now.  It's the hoary old problem
of Mythtv's backend coming up and accessing the cards before the
firmware has loaded onto the cards.  Adding in a startup delay to
myth-backend's init script has solved the problem, for now.  The
firmware seems to load now on Mythbuntu 10.04 without a problem.

Is there some way to put a lock in the driver or even speed up the
process of loading the firmware with some command line arguments when
the saa7134 driver is loaded?
--
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

The ivtv and cx18 driver have that sort of logic in them.  Look for 
init_on_first_open and serialized_open functions that set some firmware loading 
related bit flags.

I'm not sure what saa7134 does, but devloping a patch to add something similar 
shouldn't be rocket science for anyone with time, test hardware, and motivation.

-Andy
--
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: compilation warnings/errors

2011-03-13 Thread Mike Isely
On Fri, 11 Mar 2011, Mike Isely wrote:

 On Fri, 11 Mar 2011, Mauro Carvalho Chehab wrote:
 
  /home/mchehab/new_build/v4l/pvrusb2-v4l2.c: In function 
  'pvr2_v4l2_do_ioctl':
  /home/mchehab/new_build/v4l/pvrusb2-v4l2.c:798:23: warning: variable 'cap' 
  set but not used [-Wunused-but-set-variable]
 
 I will look into these.  I'm a little puzzled right now since silly 
 stuff like this usually doesn't get by me.  Unfortunately I can't look 
 at it right this minute.  Expect to hear from me on Sunday.

I looked at these two warnings.  It's dead code that should be removed.  
Amazingly enough, this particular bit of crap has been in the driver, 
unnoticed, since 2008!

I have a pull request coming for more pvrusb2 patches, probably in a few 
more hours, once I'm done testing.  A fix for this will be in the patch 
set.

  -Mike

-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
--
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: Dib7000/mt2266 help

2011-03-13 Thread Peter Tilley

Hi Patrick,

Thank you for replying. In answer to your questions:

 Are you sure it is a driver problem?
No but given the very same device on the very same antenna system works ok 
under Windows it seemed like a good place to start.

 If the BER stays at this value it could also mean that the 
 channel-configuration is wrong.
 Are you using a channels.conf which has all parameters set, or are you doing 
 a channel-scan-like tune (all values are set to AUTO).
I have attached a copy of the channels.conf file I have been using. It was 
generated by hand based because the scan and w_scan commands would time out for 
all stations except C31. The information was obtained from a variety of sources 
on the internet but mostly from http://igorfuna.com/dvb-t/australia/ I am 
located in Melbourne Australia. Looking in the file you can see that most 
paramaters are defined except for inversion which is left as auto.

 There are usually some adaptations board-designing companies do to improve 
 reception quality (adding external LNAs and things like that) that are of 
 course handled by the Window-driver, because it is created by the 
 manufacturer and not by the Linux-driver, because (in this case) the driver 
 was released by the chip-manufacturer.
I agree this could be the case and indeed changing the force_lna_activation 
module parameter seemed to do nothing which would make me suspect that the lna 
control GPIO on this device is not that same as what is implemented in the 
driver. Challenge is there seems to be no information around about the DIB7000 
or the MT2266 otherwise I would just trace the connections manually using 
device pinouts.

 Is the device toggling between FE_HAS_LOCK and no FE_HAS_LOCK or does it 
 stay constantly at 
The device stays constantly on FE LOCK after the initial tune. Attached are 
brief snapshots of tuning using tzap for the different frequencies. Whilst this 
only shows a few seconds worth of data, the output is more or less the same 
over an extended period.

 Please try whether you can achieve the BER lowering by moving the antenna or 
 using a better one. If this helps, it really means that the windows-driver 
 does something more the board.
Not really practical to move the antenna its up on a mast and indeed as the 
existing analogue stations are still transmitting from the same tower I know 
that I have a good signal with no multipath. Other TV sets with digital tuners 
on the same antenna also report excellent signal levels.

 I doubt that the chip-driver needs to be changed, more likely the GPIOs of 
 the dib0700 (in dib0700_core.c) or of the dib7000 are used to turn on or off 
 a frequency switch or a LNA.
Yes, I suspect that you are right. Challenge is that without any documentation 
on the devices you are flying blind to reverse engineer the design.

 Good point, what are the frequencies you're tuning ?
The frequencies I have been tuning are listed below but also of interest is 
that they all use 64QAM whereas the station that works uses QPSK which to me 
says this is a signal problem and as you state above, probably tied in with a 
LNA as QPSK is more robust in comparison to 64QAM which is why it has probably 
been used by C31 as they don't have the need for the higher throughput and have 
a more modest transmission power compared to the others.So they get more 
bang for their buck but have the down side of only a single SD stream.

C31   557.625 MHz   QPSK Works ok.

ABC   226.5 MHz 64QAMDoesn't work
7 177.5 MHz 64QAMDoesn't work
9 191.625 MHz   64QAMDoesn't work
10219.5 MHz 64QAMDoesn't work
SBS   536.625 Mhz   64QAMDoesn't work


Happy to hear your or anyone else's thoughts.

Regards
Pete




 From: pboettc...@kernellabs.com
 To: peter_tille...@hotmail.com; linux-media@vger.kernel.org
 Subject: Re: Dib7000/mt2266 help
 Date: Sat, 12 Mar 2011 16:47:40 +0100
 
 Hi Peter,
 
 (adding back the list to CC)
 
 On Saturday 12 March 2011 11:48:38 Peter Tilley wrote:
  Hi Patrick,
  My sincerest apologies for coming to you directly but I have tried the
  Linux mailing list and received no response and noticed you seem to have
  been heavily involved with much of the Dibcom driver development.
  
  I have an issue with a dual tuner which is sold under the brand of Kaiser
  Baas KBA01004 but identifies itself as 1164:1e8c which is a Yaun device
  and this device seems to have already been included in the driver files.
  
  It loads ok and reports not problems. It tunes ok and reports FE lock on
  all channels however on all but one channel upon receiving FE lock the
  BER stays at 1 instead of dropping to a low number which would
  indicate I am not getting viterbi.
  
  The device is fitted with pairs of MT2266 and DIB7000 which I have
  positive identified by opening the USB stick.
  
  am more than happy to try and work this out myself however the amount of
  detail around in support of the Linux drivers is extremely 

Re: [linux-dvb] Simultaneous recordings from one frontend

2011-03-13 Thread Michael Lamothe
Me TV (https://launchpad.net/me-tv).
--
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: [ANN] Agenda for the Warsaw meeting.

2011-03-13 Thread Jason Hecker
 B) Use of V4L2 as a frontend for SW/DSP codecs
   (Laurent)

This would be good.   Realtek's RT2832U chip can tune to and possibly
demodulate DAB/DAB+ and FM along with the usual DVB-T.  Realtek does
support DAB and FM in Windows with this part but not in Linux and in
spite of promises from one of their developers I haven't seen anything
from them.  I think it'd be good to get this part talking to the DAB
processing routines in OpenDAB or OpenMoko as I strongly suspect the
part can tune to and provide a digital version of the bandband signal
for demodulation of DAB or FM in user space.

It might be a good opportunity to get a signal processing framework
into the driver but I suspect an API to allow a user space demodulator
to read ADC baseband data from such a device would be best and safest.
--
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 v2 2/8] ARM: S5PV310: Add clock support for MFC v5.1

2011-03-13 Thread Jeongtae Park
Hi Kgene,

I see, I will re-work based on lastest 'for-next' ASAP.

Thanks.

BRs.
/jtpark

 -Original Message-
 From: linux-samsung-soc-ow...@vger.kernel.org [mailto:linux-samsung-soc-
 ow...@vger.kernel.org] On Behalf Of Kukjin Kim
 Sent: Saturday, March 12, 2011 11:41 AM
 To: 'Jeongtae Park'; linux-media@vger.kernel.org; linux-samsung-
 s...@vger.kernel.org
 Cc: k.deb...@samsung.com; jaeryul...@samsung.com; ben-li...@fluff.org;
 jonghun@samsung.com; 'Marek Szyprowski'
 Subject: RE: [PATCH v2 2/8] ARM: S5PV310: Add clock support for MFC v5.1
 
 Jeongtae Park wrote:
 
  This patch adds clock support for MFC v5.1.
 
  Reviewed-by: Peter Oh jaeryul...@samsung.com
  Signed-off-by: Jeongtae Park jtp.p...@samsung.com
  Cc: Marek Szyprowski m.szyprow...@samsung.com
  Cc: Kamil Debski k.deb...@samsung.com
  ---
   arch/arm/mach-s5pv310/clock.c   |   68
  +++
   arch/arm/mach-s5pv310/include/mach/regs-clock.h |3 +
   2 files changed, 71 insertions(+), 0 deletions(-)
 
  diff --git a/arch/arm/mach-s5pv310/clock.c
b/arch/arm/mach-s5pv310/clock.c
  index fc7c2f8..88c7943 100644
  --- a/arch/arm/mach-s5pv310/clock.c
  +++ b/arch/arm/mach-s5pv310/clock.c
  @@ -86,6 +86,11 @@ static int s5pv310_clk_ip_cam_ctrl(struct clk *clk,
int
  enable)
  return s5p_gatectrl(S5P_CLKGATE_IP_CAM, clk, enable);
   }
 
  +static int s5pv310_clk_ip_mfc_ctrl(struct clk *clk, int enable)
  +{
  +   return s5p_gatectrl(S5P_CLKGATE_IP_MFC, clk, enable);
  +}
  +
   static int s5pv310_clk_ip_image_ctrl(struct clk *clk, int enable)
   {
  return s5p_gatectrl(S5P_CLKGATE_IP_IMAGE, clk, enable);
  @@ -417,6 +422,11 @@ static struct clk init_clocks_off[] = {
  .enable = s5pv310_clk_ip_cam_ctrl,
  .ctrlbit= (1  2),
  }, {
  +   .name   = mfc,
  +   .id = -1,
  +   .enable = s5pv310_clk_ip_mfc_ctrl,
  +   .ctrlbit= (1  0),
  +   }, {
  .name   = fimc,
  .id = 3,
  .enable = s5pv310_clk_ip_cam_ctrl,
  @@ -643,6 +653,54 @@ static struct clksrc_sources clkset_group = {
  .nr_sources = ARRAY_SIZE(clkset_group_list),
   };
 
  +static struct clk *clkset_mout_mfc0_list[] = {
  +   [0] = clk_mout_mpll.clk,
  +   [1] = clk_sclk_apll.clk,
  +};
  +
  +static struct clksrc_sources clkset_mout_mfc0 = {
  +   .sources= clkset_mout_mfc0_list,
  +   .nr_sources = ARRAY_SIZE(clkset_mout_mfc0_list),
  +};
  +
  +static struct clksrc_clk clk_mout_mfc0 = {
  +   .clk= {
  +   .name   = mout_mfc0,
  +   .id = -1,
  +   },
  +   .sources= clkset_mout_mfc0,
  +   .reg_src= { .reg = S5P_CLKSRC_MFC, .shift = 0, .size = 1 },
  +};
  +
  +static struct clk *clkset_mout_mfc1_list[] = {
  +   [0] = clk_mout_epll.clk,
  +   [1] = clk_sclk_vpll.clk,
  +};
  +
  +static struct clksrc_sources clkset_mout_mfc1 = {
  +   .sources= clkset_mout_mfc1_list,
  +   .nr_sources = ARRAY_SIZE(clkset_mout_mfc1_list),
  +};
  +
  +static struct clksrc_clk clk_mout_mfc1 = {
  +   .clk= {
  +   .name   = mout_mfc1,
  +   .id = -1,
  +   },
  +   .sources= clkset_mout_mfc1,
  +   .reg_src= { .reg = S5P_CLKSRC_MFC, .shift = 4, .size = 1 },
  +};
  +
  +static struct clk *clkset_mout_mfc_list[] = {
  +   [0] = clk_mout_mfc0.clk,
  +   [1] = clk_mout_mfc1.clk,
  +};
  +
  +static struct clksrc_sources clkset_mout_mfc = {
  +   .sources= clkset_mout_mfc_list,
  +   .nr_sources = ARRAY_SIZE(clkset_mout_mfc_list),
  +};
  +
   static struct clk *clkset_mout_g2d0_list[] = {
  [0] = clk_mout_mpll.clk,
  [1] = clk_sclk_apll.clk,
  @@ -814,6 +872,14 @@ static struct clksrc_clk clksrcs[] = {
  .reg_div = { .reg = S5P_CLKDIV_CAM, .shift = 28, .size = 4
 },
  }, {
  .clk= {
  +   .name   = sclk_mfc,
  +   .id = -1,
  +   },
  +   .sources = clkset_mout_mfc,
  +   .reg_src = { .reg = S5P_CLKSRC_MFC, .shift = 8, .size = 1 },
  +   .reg_div = { .reg = S5P_CLKDIV_MFC, .shift = 0, .size = 4 },
  +   }, {
  +   .clk= {
  .name   = sclk_cam,
  .id = 0,
  .enable = s5pv310_clksrc_mask_cam_ctrl,
  @@ -1018,6 +1084,8 @@ static struct clksrc_clk *sysclks[] = {
  clk_dout_mmc2,
  clk_dout_mmc3,
  clk_dout_mmc4,
  +   clk_mout_mfc0,
  +   clk_mout_mfc1,
   };
 
   static int xtal_rate;
  diff --git a/arch/arm/mach-s5pv310/include/mach/regs-clock.h
 b/arch/arm/mach-
  s5pv310/include/mach/regs-clock.h
  index b5c4ada..27b02e8 100644
  --- a/arch/arm/mach-s5pv310/include/mach/regs-clock.h
  +++ b/arch/arm/mach-s5pv310/include/mach/regs-clock.h
  @@ -33,6 +33,7 @@
   #define S5P_CLKSRC_TOP0 

Re: [ANN] Agenda for the Warsaw meeting.

2011-03-13 Thread Alex Deucher
On Sun, Mar 13, 2011 at 8:31 AM, Hans Verkuil hverk...@xs4all.nl wrote:
 Agenda for V4L2 brainstorm meeting in Warsaw, March 16-18 2011.

 Purpose of the meeting: to brainstorm about current V4L2 API limitations
 with regards to required functionality. Ideally the results of the meeting
 are actual solutions to these problems, but at the very least we should
 have a concensus of what direction to take and who will continue working
 on each problem. The hope is that this meeting will save us endless email
 and irc discussions.

 It is *not* a summit meeting, so any conclusions need to be discussed and
 approved on the mailinglist.

 The basic outline is the same as during previous meetings: the first day we
 go through all the agenda points and make sure everyone understands the
 problem. Smaller issues will be discussed and decided, more complex issues
 are just discussed.

 The second day we go in depth into the complex issues and try to come up with
 ideas that might work. The last day we translate the all agenda items into
 actions.

 This approach worked well in the past and it ensures that we end up with
 something concrete.

 Those who have a vested interest in an agenda item should be prepared to
 explain their take on it and if necessary have a presentation ready.

 Besides the main agenda I also added a few items falling under the category
 'if time permits'.

 Attendees:

 Samsung Poland RD Center:
  Kamil Debski k.deb...@samsung.com
  Sylwester Nawrocki s.nawro...@samsung.com
  Tomasz Stanislawski t.stanisl...@samsung.com
  Marek Szyprowski (Organizer) m.szyprow...@samsung.com

 Cisco Systems Norway:
  Martin Bugge marbu...@cisco.com
  Hans Verkuil (Chair) hverk...@xs4all.nl

 Nokia:
  Sakari Ailus sakari.ai...@maxwell.research.nokia.com

 Ideas On Board:
  Laurent Pinchart laurent.pinch...@ideasonboard.com

 ST-Ericsson:
  Willy Poisson willy.pois...@stericsson.com

 Samsung System.LSI Korea
  Jonghun Han jonghun@samsung.com
  Jaeryul Oh jaeryul...@samsung.com

 Samsung DMC Korea:
   Seung-Woo Kim sw0312@samsung.com

 Freelance:
  Guennadi Liakhovetski g.liakhovet...@gmx.de


 Agenda:

 1) Compressed format API for MPEG, H.264, etc. Also need to discuss what to
   do with weird 'H.264 inside MJPEG' muxed formats.
   (Hans, Laurent, Samsung)

 2) Small architecture enhancements:
        - Acquiring subdevs from other devices using subdev pool
          http://www.mail-archive.com/linux-media@vger.kernel.org/msg21831.html
          (Tomasz)
        - Introducing subdev hierarchy. Below there is a link to driver using 
 it:
          
 http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/28885/focus=28890
          (Tomasz)
        - Allow per-filehandle control handlers.
          http://www.spinics.net/lists/linux-media/msg27975.html
          (Jaeryul)
        - How to control FrameBuffer device as v4l2 sub-device?
          
 http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/29442/focus=29570
          (Jaeryul)
        - Which interface is better for Mixer of Exynos, frame buffer or V4l2?
          http://www.mail-archive.com/linux-media@vger.kernel.org/msg28549.html
          (Jaeryul)
        - Entity information ioctl
          Some drivers (namely the uvcvideo driver) will need to report 
 driver-specific
          information about each entity (the UVC entity GUID, the UVC controls 
 it
          supports, ...). We need an API for that.
          (Laurent)

 3) Pipeline configuration, cropping and scaling:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg27956.html
   http://www.mail-archive.com/linux-media@vger.kernel.org/msg26630.html

   (Everyone)

 4) HDMI receiver/transmitter API support

   Some hotplug/CEC code can be found here:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28549.html

   CEC RFC from Cisco Systems Norway:

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg29241.html

   Hopefully we can post an initial HDMI RFC as well on Monday.

   (Martin, Hans, Samsung, ST-Ericsson)

 5) Sensor/Flash/Snapshot functionality.

   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28192.html
   http://www.mail-archive.com/linux-media@vger.kernel.org/msg28490.html

   - Sensor blanking/pixel-clock/frame-rate settings (including
     enumeration/discovery)

   - Multiple video buffer queues per device (currently implemented in the
     OMAP 3 ISP driver in non-standard way).

   - Synchronising parameters (e.g. exposure time and gain) on given
     frames. Some sensors support this on hardware. There are many use cases
     which benefit from this, for example this one:

     URL:http://fcam.garage.maemo.org/

   - Flash synchronisation (might fall under the above topic).

   - Frame metadata. It is important for the control algorithms (exposure,
     white balance, for example), to know which sensor settings have been
     used to expose a given frame. Many sensors do support 

[GIT PATCHES FOR 2.6.39] pvrusb2 driver fixes / improvements

2011-03-13 Thread Mike Isely

Mauro:

Please pull the following patches.  Note also that the Implement 
support for Terratec Grabster AV400 is not as big of a change as it 
might sound.  The work to implement that really amounted to just some 
extra table entries, plus those changes have been out in the wild via 
the standalone pvrusb2 driver for quite some time.  Getting that into 
the kernel is long overdue.

  -Mike


The following changes since commit 41f3becb7bef489f9e8c35284dd88a1ff59b190c:
  Hans Verkuil (1):
[media] V4L DocBook: update V4L2 version

are available in the git repository at:

  git://git.linuxtv.org/mcisely/pvrusb2-dev.git pvrusb2-merge-2

Mike Isely (2):
  pvrusb2: Implement support for Terratec Grabster AV400
  pvrusb2: Remove dead code

Xiaochen Wang (1):
  pvrusb2: check kmalloc return value

 drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c |   18 +++
 drivers/media/video/pvrusb2/pvrusb2-devattr.c |   24 +
 drivers/media/video/pvrusb2/pvrusb2-hdw.c |   24 ++---
 drivers/media/video/pvrusb2/pvrusb2-v4l2.c|2 -
 4 files changed, 58 insertions(+), 10 deletions(-)

-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
--
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: Yet another memory provider: can linaro organize a meeting?

2011-03-13 Thread Alex Deucher
On Tue, Mar 8, 2011 at 12:23 PM, Hans Verkuil hverk...@xs4all.nl wrote:
 On Tuesday, March 08, 2011 15:01:10 Andy Walls wrote:
 On Tue, 2011-03-08 at 09:13 +0100, Hans Verkuil wrote:
  Hi all,
 
  We had a discussion yesterday regarding ways in which linaro can assist
  V4L2 development. One topic was that of sorting out memory providers like
  GEM and HWMEM.
 
  Today I learned of yet another one: UMP from ARM.
 
  http://blogs.arm.com/multimedia/249-making-the-mali-gpu-device-driver-open-source/page__cid__133__show__newcomment/
 
  This is getting out of hand. I think that organizing a meeting to solve 
  this
  mess should be on the top of the list. Companies keep on solving the same
  problem time and again and since none of it enters the mainline kernel any
  driver using it is also impossible to upstream.
 
  All these memory-related modules have the same purpose: make it possible to
  allocate/reserve large amounts of memory and share it between different
  subsystems (primarily framebuffer, GPU and V4L).

 I'm not sure that's the entire story regarding what the current
 allocators for GPU do.  TTM and GEM create in kernel objects that can be
 passed between applications.  TTM apparently has handling for VRAM
 (video RAM).  GEM uses anonymous userspace memory that can be swapped
 out.

 TTM:
 http://lwn.net/Articles/257417/
 http://www.x.org/wiki/ttm
 http://nouveau.freedesktop.org/wiki/TTMMemoryManager?action=AttachFiledo=gettarget=mm.pdf
 http://nouveau.freedesktop.org/wiki/TTMMemoryManager?action=AttachFiledo=gettarget=xdevconf2006.pdf

 GEM:
 http://lwn.net/Articles/283798/

 GEM vs. TTM:
 http://lwn.net/Articles/283793/


 The current TTM and GEM allocators appear to have API and buffer
 processing and management functions tied in with memory allocation.

 TTM has fences for event notification of buffer processing completion.
 (maybe something v4l2 can do with v4l2_events?)

 GEM tries avoid mapping buffers to userspace. (sounds like the v4l2 mem
 to mem API?)


 Thanks to the good work of developers on the LMML in the past year or
 two, V4L2 has separated out some of that functionality from video buffer
 allocation:

       video buffer queue management and userspace access (videobuf2)
       memory to memory buffer transformation/movement (m2m)
       event notification (VIDIOC_SUBSCRIBE_EVENT)

       http://lwn.net/Articles/389081/
       http://lwn.net/Articles/420512/


  It really shouldn't be that hard to get everyone involved together and 
  settle
  on a single solution (either based on an existing proposal or create a 'the
  best of' vendor-neutral solution).


 Single might be making the problem impossibly hard to solve well.
 One-size-fits-all solutions have a tendency to fall short on meeting
 someone's critical requirement.  I will agree that less than n, for
 some small n, is certainly desirable.

 Actually, I think we really need one solution. I don't see how you can have
 it any other way without requiring e.g. gstreamer to support multiple
 'solutions'.

 The memory allocators and managers are ideally satisfying the
 requirements imposed by device hardware, what userspace applications are
 expected to do with the buffers, and system performance.  (And maybe the
 platform architecture, I/O bus, and dedicated video memory?)


 We discussed this before at the V4L2 brainstorm meeting in Oslo. The idea
 was to have opaque buffer IDs (more like cookies) that both kernel and
 userspace can use. You have some standard operations you can do with that
 and tied to the buffer is the knowledge (probably a set of function pointers
 in practice) of how to do each operation. So a buffer referring to video
 memory might have different code to e.g. obtain the virtual address compared
 to a buffer residing in regular memory.

 This way you would hide all these details while still have enough flexibility.
 It also allows you to support 'hidden' memory. It is my understanding that on
 some platforms (particular those used for set-top boxes) the video buffers are
 on memory that is not accessible from the CPU (rights management related). But
 apparently you still have to be able to refer to it. I may be wrong, it's
 something I was told.

A related example is vram on GPUs.  Often, the CPU can only mmap the
region of vram that is covered by the PCI framebuffer BAR, but the GPU
can access the entire vram pool.  As such in order to access the
buffer using the CPU, you either have to migrate it to a mappable
region of vram using the GPU (using a dma engine or a blit), or
migrate the buffer to another memory pool (such as gart memory -
system memory that is remapped into a linear aperture on the GPU).

Alex




  I am currently aware of the following solutions floating around the net
  that all solve different parts of the problem:
 
  In the kernel: GEM and TTM.
  Out-of-tree: HWMEM, UMP, CMA, VCM, CMEM, PMEM.

 Prior to a meeting one would probably want to capture for each
 allocator:

 1. What are 

Re: Yet another memory provider: can linaro organize a meeting?

2011-03-13 Thread Alex Deucher
On Tue, Mar 8, 2011 at 9:01 AM, Andy Walls awa...@md.metrocast.net wrote:
 On Tue, 2011-03-08 at 09:13 +0100, Hans Verkuil wrote:
 Hi all,

 We had a discussion yesterday regarding ways in which linaro can assist
 V4L2 development. One topic was that of sorting out memory providers like
 GEM and HWMEM.

 Today I learned of yet another one: UMP from ARM.

 http://blogs.arm.com/multimedia/249-making-the-mali-gpu-device-driver-open-source/page__cid__133__show__newcomment/

 This is getting out of hand. I think that organizing a meeting to solve this
 mess should be on the top of the list. Companies keep on solving the same
 problem time and again and since none of it enters the mainline kernel any
 driver using it is also impossible to upstream.

 All these memory-related modules have the same purpose: make it possible to
 allocate/reserve large amounts of memory and share it between different
 subsystems (primarily framebuffer, GPU and V4L).

 I'm not sure that's the entire story regarding what the current
 allocators for GPU do.  TTM and GEM create in kernel objects that can be
 passed between applications.  TTM apparently has handling for VRAM
 (video RAM).  GEM uses anonymous userspace memory that can be swapped
 out.

TTM can handle pretty much any type of memory, it's just a basic
memory manager.  You specify things cacheability attributes when you
set up the pools.

Generally on GPUs we see 3 types of buffers:
1. video ram connected to the GPU.  Often some or all of that pool is
not accessible by the CPU.  The GPU usually provides a mechanism to
migrate the buffer to a pool or region that is accessible to the CPU.
Vram buffers are usually mapped uncached write-combined.
2. GART/GTT (Graphics Address Remapping Table) memory.  This is
DMAable system memory that is mapped into the GPU's address space and
remapped to look linear to the GPU.  It can either be cached or
uncached pages depending on the GPU's capabilities and what the
buffers are used for.
3. unpinned system pages.  Depending on the GPU, they have to be
copied to DMAable memory before the GPU can access them.

The DRI protocol (used for communication between GPU acceleration
drivers) doesn't really care what the underlying memory manager is.
It just passes around handles.

Alex


 TTM:
 http://lwn.net/Articles/257417/
 http://www.x.org/wiki/ttm
 http://nouveau.freedesktop.org/wiki/TTMMemoryManager?action=AttachFiledo=gettarget=mm.pdf
 http://nouveau.freedesktop.org/wiki/TTMMemoryManager?action=AttachFiledo=gettarget=xdevconf2006.pdf

 GEM:
 http://lwn.net/Articles/283798/

 GEM vs. TTM:
 http://lwn.net/Articles/283793/


 The current TTM and GEM allocators appear to have API and buffer
 processing and management functions tied in with memory allocation.

 TTM has fences for event notification of buffer processing completion.
 (maybe something v4l2 can do with v4l2_events?)

 GEM tries avoid mapping buffers to userspace. (sounds like the v4l2 mem
 to mem API?)


 Thanks to the good work of developers on the LMML in the past year or
 two, V4L2 has separated out some of that functionality from video buffer
 allocation:

        video buffer queue management and userspace access (videobuf2)
        memory to memory buffer transformation/movement (m2m)
        event notification (VIDIOC_SUBSCRIBE_EVENT)

        http://lwn.net/Articles/389081/
        http://lwn.net/Articles/420512/


 It really shouldn't be that hard to get everyone involved together and settle
 on a single solution (either based on an existing proposal or create a 'the
 best of' vendor-neutral solution).


 Single might be making the problem impossibly hard to solve well.
 One-size-fits-all solutions have a tendency to fall short on meeting
 someone's critical requirement.  I will agree that less than n, for
 some small n, is certainly desirable.

 The memory allocators and managers are ideally satisfying the
 requirements imposed by device hardware, what userspace applications are
 expected to do with the buffers, and system performance.  (And maybe the
 platform architecture, I/O bus, and dedicated video memory?)



 I am currently aware of the following solutions floating around the net
 that all solve different parts of the problem:

 In the kernel: GEM and TTM.
 Out-of-tree: HWMEM, UMP, CMA, VCM, CMEM, PMEM.

 Prior to a meeting one would probably want to capture for each
 allocator:

 1. What are the attributes of the memory allocated by this allocator?

 2. For what domain was this allocator designed: GPU, video capture,
 video decoder, etc.

 3. How are applications expected to use objects from this allocator?

 4. What are the estimated sizes and lifetimes of objects that would be
 allocated this allocator?

 5. Beyond memory allocation, what other functionality is built into this
 allocator: buffer queue management, event notification, etc.?

 6. Of the requirements that this allocator satisfies, what are the
 performance critical requirements?


 Maybe there are