Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] DVB on Alpha



Hi,

We're planning a project in partnership with a Cable-TV provider and
Compaq. Part of the project is to provide Video RTP Multicasts with at
least 32 channels in two separate locations (one CatV network and an xDSL
network).

If've been playing around with Linux-DVB for the last couple of days. My
test-system works fine with an Intel-PC, a PCI-expansion card and 6 WinTV
DVB-S cards plugged into it(*).

It would be very attractive both for us and for Compaq to use Alpha-Hardware
in favor to Intel-PCs. However, the saa7146_core.o crashes the system upon
loading the module. Can anybody help to track this down? The crash occurs
within the `for (count=0 ... count+=PAGE_SIZE)' loop. BTW: Alpha has 8K
pages. This occurs both in the latest CVS-version of the driver and in
8.9.3. Linux-kernel version is 2.4.10. Please contact me for more
information.


saa7146_core.c:208

	for(i = 0; i < quant; i++) {

	        for (count=0; count<GRABBING_MEM_SIZE; count+=PAGE_SIZE)
#if LINUX_VERSION_CODE >= 0x020400
		        mem_map_reserve(virt_to_page(__va(kvirt_to_pa(adr+count))));
#else
		        mem_map_reserve(MAP_NR(phys_to_virt(kvirt_to_pa(adr+count))));
#endif
		/* separate loop for SAA MMU, PAGE_SIZE can be !=4096 */
		ptp = pt[i];
		for (count=0; count<GRABBING_MEM_SIZE; count+=4096, adr+=4096)
 	                *(ptp++) = cpu_to_le32(kvirt_to_pa(adr));
	}
	dprintk(KERN_ERR "saa7146: page tables built\n");




Unable to handle kernel paging request at virtual address ffffff8208ad0030
insmod(1277): Oops 0
pc = [<fffffffc0037748c>]  ra = [<fffffffc0037739c>]  ps = 0000
Using defaults from ksymoops -t elf64-alpha -a alpha
v0 = 000000000000001e  t0 = ffffff8208ad0000  t1 = 0000e08200001111
t2 = fffffc0000ad0000  t3 = fffffffc0037e000  t4 = 00000000000001bf
t5 = 0000000000000000  t6 = fffffffc0037e000  t7 = fffffc0016d00000
s0 = 000000000023ffff  s1 = 0000000000000002  s2 = 0000000000000000
s3 = 0000000000001fff  s4 = 0000040000000000  s5 = fffffc0000a42af8
s6 = fffffffc0037e000
a0 = ffffffffffffe000  a1 = fffffffc0037a590  a2 = 0000000000000001
a3 = 0000000000000001  a4 = 00000000000003ff  a5 = 0000000000000000
t8 = fffffc0000000000  t9 = 0000dc8200000000  t10= 0000000000004000
t11= 0000000000000000  pv = ffffffffffffffff  at = fffffc0000a96798
gp = fffffffc00382ae8  sp = fffffc0016d03cb8
Trace:fffffc000091e45c fffffc000091e534 fffffc000082edac fffffc0000810df0
Code: 44230417  42ed0401  a47c0000  4821b681  4820f721  40230401 <a8410030> 44580402

>>PC;  fffffffc0037748c <[saa7146_core]rvmalloc+30c/450>   <=====
Trace; fffffc000091e45c <pci_announce_device+6c/c0>
Trace; fffffc000091e534 <pci_register_driver+84/c0>
Trace; fffffc000082edac <sys_init_module+8fc/a40>
Trace; fffffc0000810df0 <entSys+a8/c0>
Code;  fffffffc00377474 <[saa7146_core]rvmalloc+2f4/450>
0000000000000000 <_PC>:
Code;  fffffffc00377474 <[saa7146_core]rvmalloc+2f4/450>
   0:   17 04 23 44       or   t0,t2,t9
Code;  fffffffc00377478 <[saa7146_core]rvmalloc+2f8/450>
   4:   01 04 ed 42       addq t9,s4,t0
Code;  fffffffc0037747c <[saa7146_core]rvmalloc+2fc/450>
   8:   00 00 7c a4       ldq  t2,0(at)
Code;  fffffffc00377480 <[saa7146_core]rvmalloc+300/450>
   c:   81 b6 21 48       srl  t0,0xd,t0
Code;  fffffffc00377484 <[saa7146_core]rvmalloc+304/450>
  10:   21 f7 20 48       sll  t0,0x7,t0
Code;  fffffffc00377488 <[saa7146_core]rvmalloc+308/450>
  14:   01 04 23 40       addq t0,t2,t0
Code;  fffffffc0037748c <[saa7146_core]rvmalloc+30c/450>   <=====
  18:   30 00 41 a8       ldl_l        t1,48(t0)   <=====
Code;  fffffffc00377490 <[saa7146_core]rvmalloc+310/450>
  1c:   02 04 58 44       or   t1,t10,t1







(*) I had to change the way the driver "wastes" minor-numbers because Linux
    seems to support only 8 bit minor numbers. Since the driver by default
    does 64-steps, at most 4 cards can be supported. I changed dvbdev.c
    accordingly, to make it work with up to 16 cards. Is is really
    necessary to reserve 64 minor numbers per device?





-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index