On Wed, Nov 19, 2008 at 12:10 AM, Andy Walls <[EMAIL PROTECTED]> wrote:

> cx18 driver users:
>
> I have implemented quite a few cx18 driver changes in my current
> experimental repo at
>
> http://linuxtv.org/hg/~awalls/cx18-bugfix<http://linuxtv.org/hg/%7Eawalls/cx18-bugfix>
>
> The goal behind these changes is to fix problems with simultaneous
> analog and digital capture causing the driver to quit after a while.
> And to fix related problems with buffers getting lost and falling out of
> the driver<->firmware transfer rotation.
>
> To achieve that result, I had to do extensive rework of how interrupts
> were handled and some buffer handling tweaks.  I'm looking for (brave)
> testers to give this stuff a try, or an inspection, before I ask Mauro
> to pull it.  I also plan to do testing on my other two machines in a day
> or two.
>
> Please test the debug parameter with at least info and warn set:
>
> # modprobe cx18 debug=3
>
>
> I am especially interested in
>
>
> 1. How often you get messages like the following on your system?
>
> cx18-0 warning: Possibly falling behind: CPU self-ack'ed our incoming CPU
> to EPU mailbox (sequence no. nnnn)
>
> I need to get a feel for if I need to have the cx18 driver not request a
> shared IRQ line for most user applications.
>
> On my system where irq balance/migration is turned off, and the HVR-1600
> shares an interrupt with the SATA controller, I get them quite a bit
> doing simultaneous analog and digital capture with MythTV (I've
> approximated a busy, single CPU machine with that setup).
>
> BTW, the current cx18 driver software processes these self-ack'ed and
> potentially incoherent mailboxes which the firmware has timed out and
> potentially started to overwrite.  This change is just nice enough to
> tell you about them, and it also does something more robust than just
> blindly process them. :)
>
>
> 2. If the cx18 driver still works on older machines?
>
> I got rid of PCI MMIO read retries, as they never seemed to do anything
> useful and wasted time.  I needed to get the irq top half handler
> timeline down to as little time as possible.  PCI MMIO write retries
> still occur, because those actually get things to work in older
> machines, AFAICT.
>
> I will also be testing in my one older machine later this week.
>
>
> Thanks.
>
> Regards,
> Andy
>
> N.B. If replying to this message, you may wish to prune list email
> addresses for lists for which you are not subscribed.
>



For the following system:




$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 28
model name      : AMD Sempron(tm) Processor 2800+
stepping        : 0
cpu MHz         : 1607.382
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt 3dnowext
3dnow up lahf_lm
bogomips        : 3214.76
clflush size    : 64
power management: ts ttp

$grep cx18 /proc/interrupts
 18:      72358   IO-APIC-fasteoi   cx18-0, nvidia

$ uname -a
Linux nelson 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
GNU/Linux


I built and installed the following:

http://linuxtv.org/hg/~awalls/cx18-bugfix/archive/891eedf234a5.tar.bz2<http://linuxtv.org/hg/%7Eawalls/cx18-bugfix/archive/891eedf234a5.tar.bz2>

Here is the debug output:

[   10.478250] i2c-adapter i2c-0: nForce2 SMBus adapter at 0x4c00
[   10.478289] i2c-adapter i2c-1: nForce2 SMBus adapter at 0x4c40
[   10.854688] input: Power Button (FF) as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[   10.864034] ACPI: Power Button (FF) [PWRF]
[   10.864177] input: Power Button (CM) as
/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input3
[   10.880025] ACPI: Power Button (CM) [PWRB]
[   11.168198] gameport: EMU10K1 is pci0000:01:09.1/gameport0, io 0xde00,
speed 59659kHz
[   11.243855] Linux video capture interface: v2.00
[   11.297347] input: PC Speaker as /devices/platform/pcspkr/input/input4
[   11.643132] cx18:  Start initialization, version 1.0.2
[   11.648808] cx18-0: Initializing card #0
[   11.648815] cx18-0: Autodetected Hauppauge card
[   11.648819] cx18-0 info: base addr: 0xf8000000
[   11.648822] cx18-0 info: Enabling pci device
[   11.649212] ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
[   11.649223] cx18 0000:01:08.0: PCI INT A -> Link[APC3] -> GSI 18 (level,
low) -> IRQ 18
[   11.649233] cx18-0: Unreasonably low latency timer, setting to 64 (was
32)
[   11.649239] cx18-0 info: cx23418 (rev 0) at 01:08.0, irq: 18, latency:
64, memory: 0xf8000000
[   11.649243] cx18-0 info: attempting ioremap at 0xf8000000 len 0x04000000
[   11.652185] cx18-0: cx23418 revision 01010000 (B)
[   11.807058] cx18-0 info: GPIO initial dir: 0000ffff/0000ffff out:
00000000/00000000
[   11.807068] cx18-0 info: activating i2c...
[   12.071835] parport_pc 00:0a: reported by Plug and Play ACPI
[   12.071882] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   12.295497] cx18-0 info: Active card count: 1.
[   12.331103] tveeprom 2-0050: Hauppauge model 74041, rev C6B2, serial#
3328594
[   12.331108] tveeprom 2-0050: MAC address is 00-0D-FE-32-CA-52
[   12.331111] tveeprom 2-0050: tuner model is TCL M2523_5N_E (idx 112, type
50)
[   12.331115] tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
[   12.331119] tveeprom 2-0050: audio processor is CX23418 (idx 38)
[   12.331122] tveeprom 2-0050: decoder processor is CX23418 (idx 31)
[   12.331125] tveeprom 2-0050: has no radio, has IR receiver, has IR
transmitter
[   12.331129] cx18-0: Autodetected Hauppauge HVR-1600
[   12.331132] cx18-0 info: NTSC tuner detected
[   12.331134] cx18-0: VBI is not yet supported
[   12.878008] cx18-0 info: Loaded module tuner
[   12.997285] cx18-0 info: Loaded module cs5345
[   12.998242] tuner 3-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
[   12.998285] cs5345 2-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
[   13.328880] tuner-simple 3-0061: creating new instance
[   13.328885] tuner-simple 3-0061: type set to 50 (TCL 2002N)
[   13.329652] cx18-0 info: Allocate encoder MPEG stream: 63 x 32768 buffers
(2016kB total)
[   13.329711] cx18-0 info: Allocate TS stream: 32 x 32768 buffers (1024kB
total)
[   13.329737] cx18-0 info: Allocate encoder YUV stream: 16 x 131072 buffers
(2048kB total)
[   13.329764] cx18-0 info: Allocate encoder PCM audio stream: 63 x 16384
buffers (1008kB total)
[   13.329809] cx18-0: Disabled encoder IDX device
[   13.330013] cx18-0: Registered device video0 for encoder MPEG (2 MB)
[   13.330017] DVB: registering new adapter (cx18)
[   13.673473] MXL5005S: Attached at address 0x63
[   13.673481] DVB: registering adapter 0 frontend 0 (Samsung S5H1409
QAM/8VSB Frontend)...
[   13.673670] cx18-0: DVB Frontend registered
[   13.673715] cx18-0: Registered device video32 for encoder YUV (2 MB)
[   13.673754] cx18-0: Registered device video24 for encoder PCM audio (1
MB)
[   13.673758] cx18-0: Initialized card #0: Hauppauge HVR-1600
[   13.674278] cx18:  End initialization
[   13.984265] ACPI: PCI Interrupt Link [APC4] enabled at IRQ 19
[   13.984278] EMU10K1_Audigy 0000:01:09.0: PCI INT A -> Link[APC4] -> GSI
19 (level, low) -> IRQ 19
[   14.017458] Linux agpgart interface v0.103
[   14.200463] nvidia: module license 'NVIDIA' taints kernel.
[   14.795264] nvidia 0000:05:00.0: PCI INT A -> Link[APC3] -> GSI 18
(level, low) -> IRQ 18
[   14.795274] nvidia 0000:05:00.0: setting latency timer to 64
[   14.795670] NVRM: loading NVIDIA UNIX x86 Kernel Module  173.14.12  Thu
Jul 17 18:11:36 PDT 2008
[   16.939862] lp0: using parport0 (interrupt-driven).
[   17.199158] Adding 506036k swap on /dev/sda2.  Priority:-1 extents:1
across:506036k
[   17.983580] EXT3 FS on sda3, internal journal
[   19.028607] kjournald starting.  Commit interval 5 seconds
[   19.028726] EXT3 FS on sda1, internal journal
[   19.028733] EXT3-fs: mounted filesystem with ordered data mode.
[   19.078780] JFS: nTxBlock = 8074, nTxLock = 64598
[   19.894850] type=1505 audit(1227145232.080:2): operation="profile_load"
name="/usr/lib/cups/backend/cups-pdf" name2="default" pid=4086
[   19.895148] type=1505 audit(1227145232.080:3): operation="profile_load"
name="/usr/sbin/cupsd" name2="default" pid=4086
[   19.948874] type=1505 audit(1227145232.136:4): operation="profile_load"
name="/usr/sbin/mysqld" name2="default" pid=4090
[   20.128698] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.896500] NET: Registered protocol family 10
[   20.897023] lo: Disabled Privacy Extensions
[   21.314133] RPC: Registered udp transport module.
[   21.314138] RPC: Registered tcp transport module.
[   21.976619] warning: `ntpd' uses 32-bit capabilities (legacy support in
use)
[   22.438384] ACPI: WMI: Mapper loaded
[   24.990325] ppdev: user-space parallel port driver
[   31.236007] eth0: no IPv6 routers present
[   32.816051] firmware: requesting v4l-cx23418-apu.fw
[   32.889470] cx18-0 info: load segment a00000-a07fff
[   32.908330] cx18-0 info: load segment ae0000-ae00ff
[   32.908482] cx18-0 info: load segment b00000-b1a65f
[   32.970481] cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200
bytes)
[   33.472733] firmware: requesting v4l-cx23418-cpu.fw
[   33.582593] cx18-0: loaded v4l-cx23418-cpu.fw firmware (158332 bytes)
[   33.588746] cx18-0 info: 1 MiniMe Encoder Firmware 0.0.74.0 (Release
2007/03/12)
[   33.588755] cx18-0: FW version: 0.0.74.0 (Release 2007/03/12)
[   33.784035] firmware: requesting v4l-cx23418-apu.fw
[   33.788935] cx18-0 info: load segment a00000-a07fff
[   33.807756] cx18-0 info: load segment ae0000-ae00ff
[   33.807908] cx18-0 info: load segment b00000-b1a65f
[   34.368013] firmware: requesting v4l-cx23418-cpu.fw
[   34.469963] cx18-0 info: 1 MiniMe Encoder Firmware 0.0.74.0 (Release
2007/03/12)
[   34.664016] cx18-0 info: Changing input from 1 to 0
[   34.664021] cx18-0 info: Mute
[   34.664025] cx18-0 info: cmd 4008646f triggered fw load
[   34.664028] firmware: requesting v4l-cx23418-dig.fw
[   34.849528] cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
[   34.849570] cx18-0 info: decoder set video input 7, audio input 8
[   34.852749] cx18-0 info: decoder set video input 7, audio input 8
[   34.853726] cx18-0 info: Unmute
[   34.853732] cx18-0 info: Switching standard to 1000.
[   34.853736] cx18-0 info: changing video std to fmt 1
[   34.853750] cx18-0 info: PLL regs = int: 15, frac: 2876158, post: 4
[   34.853753] cx18-0 info: PLL = 108.000014 MHz
[   34.853756] cx18-0 info: PLL/8 = 13.500001 MHz
[   34.853759] cx18-0 info: ADC Sampling freq = 14.317384 MHz
[   34.853762] cx18-0 info: Chroma sub-carrier freq = 3.579545 MHz
[   34.853766] cx18-0 info: hblank 122, hactive 720, vblank 26 , vactive
487, vblank656 26, src_dec 543,burst 0x5b, luma_lpf 1, uv_lpf 1, comb 0x66,
sc 0x087c1f
[   34.861431] cx18-0 info: Mute
[   34.861436] cx18-0 info: v4l2 ioctl: set frequency 1076
[   34.863303] cx18-0 info: Unmute
[   35.009920] cx18-0 info: Changing input from 0 to 1
[   35.009930] cx18-0 info: Mute
[   35.009934] cx18-0 info: decoder set video input 1296, audio input 8
[   35.013455] cx18-0 info: decoder set video input 1296, audio input 0
[   35.014359] cx18-0 info: Unmute
[   35.014806] cx18-0 info: Switching standard to b000.
[   35.014812] cx18-0 info: changing video std to fmt 1
[   35.014826] cx18-0 info: PLL regs = int: 15, frac: 2876158, post: 4
[   35.014830] cx18-0 info: PLL = 108.000014 MHz
[   35.014832] cx18-0 info: PLL/8 = 13.500001 MHz
[   35.014835] cx18-0 info: ADC Sampling freq = 14.317384 MHz
[   35.014838] cx18-0 info: Chroma sub-carrier freq = 3.579545 MHz
[   35.014842] cx18-0 info: hblank 122, hactive 720, vblank 26 , vactive
487, vblank656 26, src_dec 543,burst 0x5b, luma_lpf 1, uv_lpf 1, comb 0x66,
sc 0x087c1f
[   35.023866] cx18-0 info: Input unchanged
[   35.024540] cx18-0 info: Mute
[   35.024546] cx18-0 info: v4l2 ioctl: set frequency 980
[   35.026401] cx18-0 info: Unmute
[   35.095604] cx18-0 info: Mute
[   35.095613] cx18-0 info: v4l2 ioctl: set frequency 980
[   35.097794] cx18-0 info: Unmute
[   35.780237] Bluetooth: Core ver 2.13
[   35.782281] NET: Registered protocol family 31
[   35.782288] Bluetooth: HCI device and connection manager initialized
[   35.782292] Bluetooth: HCI socket layer initialized
[   35.831651] Bluetooth: L2CAP ver 2.11
[   35.831659] Bluetooth: L2CAP socket layer initialized
[   35.949270] Bluetooth: SCO (Voice Link) ver 0.6
[   35.949281] Bluetooth: SCO socket layer initialized
[   35.990004] Bluetooth: RFCOMM socket layer initialized
[   35.990323] Bluetooth: RFCOMM TTY layer initialized
[   35.990329] Bluetooth: RFCOMM ver 1.10
[   36.008507] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   36.008514] Bluetooth: BNEP filters: protocol multicast
[   36.057085] Bridge firewalling registered
[   36.057542] pan0: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
[   40.537443] lirc_dev: IR Remote Control driver registered, major 61
[   40.749246] bttv: driver version 0.9.17 loaded
[   40.749255] bttv: using 8 buffers with 2080k (520 pages) each for capture
[   40.974407] ivtv:  Start initialization, version 1.4.0
[   40.975812] ivtv:  End initialization
[   41.182445] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
[   41.185797] lirc_i2c: chip 0x10020 found @ 0x71 (Hauppauge PVR150)
[   41.185824] lirc_dev: lirc_register_plugin: sample_rate: 10
[   41.249099] lirc_serial: port 03f8 already in use
[   41.249109] lirc_serial: use 'setserial /dev/ttySX uart none'
[   41.249112] lirc_serial: or compile the serial port driver as module and
[   41.249115] lirc_serial: make sure this module is loaded first
[   83.801929] cx18-0 info: Start encoder stream encoder MPEG
[   88.328814] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 52) while processing
[   89.526914] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 67) while processing
[  112.046227] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 357) while processing
[  128.563274] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 576) while processing
[  144.781984] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 795) while processing
[  155.334230] cx18-0 info: User stopped encoder MPEG
[  155.335043] cx18-0 info: close stopping capture
[  155.335051] cx18-0 info: Stop Capture
[  422.270549] cx18-0 info: Input unchanged
[  422.271205] cx18-0 info: Mute
[  422.271211] cx18-0 info: v4l2 ioctl: set frequency 980
[  422.273081] cx18-0 info: Unmute
[  422.276845] cx18-0 info: Mute
[  422.276853] cx18-0 info: v4l2 ioctl: set frequency 980
[  422.278831] cx18-0 info: Unmute
[  428.728899] cx18-0 info: Start encoder stream encoder MPEG
[  434.640532] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 1320) while processing
[  435.033614] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 1340) while processing
[  438.009412] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 1488)
[  440.165578] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 1594) while processing
[  450.877048] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 2138) while processing
[  462.228374] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 2722) while processing
[  469.673531] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 3104) while processing
[  469.866070] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 3114) while processing
[  472.342068] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 3237) while processing
[  499.116283] cx18-0 info: close stopping capture
[  499.116292] cx18-0 info: Stop Capture
[  724.246799] cx18-0 info: Start encoder stream encoder MPEG
[  725.454632] cx18-0 warning: Possibly falling behind: CPU self-ack'ed our
incoming CPU to EPU mailbox (sequence no. 4684) while processing
[  757.880500] cx18-0 info: User stopped encoder MPEG
[  757.881320] cx18-0 info: close stopping capture
[  757.881328] cx18-0 info: Stop Capture


If you're interested in viewing the result email me and I will email you a
URL to dl an mpg.

I am tempted to put the card into another dual core system to see how it
performs.


Thanks,
Al
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to