BTTV in linux/ppc64.

Stefan Berndtsson stefan at
Sun Mar 6 08:01:27 EST 2005

I'm having trouble getting bttv working in linux/ppc64. The same kernel
works fine with linux/ppc on the same hardware.

Kernel used is 2.6.11 (from
Machine is a 1.8GHz G5 (single cpu).
BTTV-card is a PCTV Rave with a bt878 chipset.

It compiles nicely, but when the module is loaded, the modprobe process
hangs and never returns. The rest of the system keeps working as it should.

As far as I've been able to figure out, it calls driver_register(), but
never returns from this.

Another issue, where I get an oops, is the loading of the sound alsa module
for the Vortex card in the machine. It's a Vortex au8820. Like the bttv
issue, the card and driver works fine with a 32bit kernel.

The oops looks like this:

PCI: Enabling device: (0001:06:03.0), cmd 7
Vortex: init.... Oops: Kernel access of bad area, sig: 11 [#1]
Modules linked in: snd_au8820 snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_timer snd_mpu401_uart snd_rawmidi snd soundco
ic5 kernel: NIP: D0000000000FF8EC XER: 00000000 LR: D0000000000FF8D8 CTR: C00000000018F188
REGS: c000000001c6f450 TRAP: 0300   Not tainted  (2.6.11-ppc64)
MSR: 9000000000009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 CR: 24008422
DAR: e000000083f30018 DSISR: 0000000042000000
TASK: c00000000fbd77a0[1228] 'modprobe' THREAD: c000000001c6c000
GPR00: E000000083F30018 C000000001C6F6D0 D00000000010CE20 0000000000000014 
GPR04: C0000000004916A0 C00000001F788990 0000000000000008 C000000000481B88 
GPR08: 00000000FFFBF3FE E000000083F2B000 C000000000481578 FFFFFFFFFFFFFFFF 
GPR12: 0000000044008428 C000000000399C00 0000000000000000 000000000000000A 
GPR16: D0000000000F2112 D0000000000F2210 D000000000104600 0000000000000124 
GPR20: 0000000000000000 D000000000104650 C00000000044F448 D0000000000E9000 
GPR24: 0000000000000000 C000000001813C00 C00000001F79E000 C000000001E2C000 
GPR28: C00000001F79E000 0000000000000000 D00000000010C880 C000000001C6F6D0 
NIP [d0000000000ff8ec] .snd_vortex_probe+0x194/0x1028 [snd_au8820]
LR [d0000000000ff8d8] .snd_vortex_probe+0x180/0x1028 [snd_au8820]
Call Trace:
[c000000001c6f6d0] [d0000000000ff8d8] .snd_vortex_probe+0x180/0x1028 [snd_au8820] (unreliable)
[c000000001c6f7e0] [c00000000016c990] .pci_device_probe+0xec/0x20c
[c000000001c6f880] [c0000000001c1dcc] .driver_probe_device+0x80/0x11c
[c000000001c6f910] [c0000000001c2010] .driver_attach+0x84/0xfc
[c000000001c6f9b0] [c0000000001c2568] .bus_add_driver+0xc4/0x1ec
[c000000001c6fa60] [c0000000001c2e1c] .driver_register+0x38/0x50
[c000000001c6faf0] [c00000000016c49c] .pci_register_driver+0x80/0xf0
[c000000001c6fb80] [d0000000001007f8] .alsa_card_vortex_init+0x24/0x40 [snd_au8820]
[c000000001c6fc00] [c000000000062c98] .sys_init_module+0x3d4/0x1918
[c000000001c6fe30] [c00000000000d400] syscall_exit+0x0/0x18
Instruction dump:
4800150d e8410028 2fa30000 f87b1500 419e0b78 e87e8200 48000fb5 e8410028 
e93b1500 3960ffff 3d290002 38095018 <7d60052c> 7c0004ac 38600005 48001051 

Any ideas?

/Stefan Berndtsson

More information about the Linuxppc64-dev mailing list