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
