Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] DVB driver work on ppc
with these modifications, the driver work on linuxppc
test config :
powerbase 200 : powerpc 603e/200 + 96M ram
debian woody 2.2r5
kernel 2.4.18
hauppauge nexus rev 2.1
dvb driver from cvs 10/04/2002
I can watch tv, record and play movie. I don't have cam to make some tests.
there's some error in OSD with vdr 1.0.0.
Developers : can you include this patch to the cvs version?
thanks
diff -ru DVB.orig/driver/dvb.c DVB/driver/dvb.c
--- DVB.orig/driver/dvb.c Mon Apr 1 03:14:53 2002
+++ DVB/driver/dvb.c Thu Apr 11 22:16:36 2002
@@ -2025,7 +2025,7 @@
i*(BOOT_MAX_SIZE)+(u32)data,
BOOT_MAX_SIZE);
bootblock^=0x1400;
- iwdebi(dvb, DEBISWAB, BOOT_BASE, cpu_to_be32(base), 4);
+ iwdebi(dvb, DEBISWAB, BOOT_BASE, swab32(base), 4);
iwdebi(dvb, DEBINOSWAP, BOOT_SIZE, BOOT_MAX_SIZE, 2);
iwdebi(dvb, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL,
2);
base+=BOOT_MAX_SIZE;
@@ -2039,7 +2039,7 @@
else
iwdebi(dvb, DEBISWAB, bootblock,
i*(BOOT_MAX_SIZE)-4+(u32)data, rest+4);
- iwdebi(dvb, DEBISWAB, BOOT_BASE, cpu_to_be32(base), 4);
+ iwdebi(dvb, DEBISWAB, BOOT_BASE, swab32(base), 4);
iwdebi(dvb, DEBINOSWAP, BOOT_SIZE, rest, 2);
iwdebi(dvb, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL,
2);
}
diff -ru DVB.orig/driver/saa7146.c DVB/driver/saa7146.c
--- DVB.orig/driver/saa7146.c Tue Sep 11 03:41:37 2001
+++ DVB/driver/saa7146.c Thu Apr 11 22:15:57 2002
@@ -1527,8 +1527,8 @@
op[h1] &= ~(0x2 << ((3-h2)*2));
op[h1] |= (SAA7146_I2C_STOP << ((3-h2)*2));
}
- for(j = 0; j < h1; j++)
- op[j]=cpu_to_le32(op[j]);
+/* for(j = 0; j < h1; j++)
+ op[j]=cpu_to_le32(op[j]);*/
return mem;
diff -ru DVB.orig/driver/saa7146_core.c DVB/driver/saa7146_core.c
--- DVB.orig/driver/saa7146_core.c Mon Nov 5 01:48:02 2001
+++ DVB/driver/saa7146_core.c Thu Apr 11 22:14:18 2002
@@ -952,6 +952,7 @@
pci_read_config_dword(pdev, PCI_SUBSYSTEM_VENDOR_ID, &cardid);
if (cardid == 0x10413) /* reject the stradis card */
return 0;
+ pci_enable_device(pdev);
pdev->driver_data=&saa7146_adap[saa7146_num];
configure_saa7146(pdev, saa7146_num++);
return 0;
@@ -965,7 +966,10 @@
dprintk("saa7146_remove_one()\n");
pci_read_config_dword(pdev, PCI_SUBSYSTEM_VENDOR_ID, &cardid);
if (cardid != 0x10413) /* reject the stradis card */
+ {
+ pci_disable_device(pdev);
remove_saa7146(saa);
+ }
}
diff -ru DVB.orig/driver/saa7146_core.h DVB/driver/saa7146_core.h
--- DVB.orig/driver/saa7146_core.h Tue Sep 11 03:41:37 2001
+++ DVB/driver/saa7146_core.h Thu Apr 11 22:14:33 2002
@@ -21,20 +21,8 @@
#define SAA7146_MAX_EXTENSIONS 4
/* stuff for writing to saa7146 */
-#if defined(__powerpc__) /* big-endian */
-extern __inline__ void io_st_le32(volatile unsigned *addr, unsigned val)
-{
- __asm__ __volatile__ ("stwbrx %1,0,%2" : \
- "=m" (*addr) : "r" (val), "r" (addr));
- __asm__ __volatile__ ("eieio" : : : "memory");
-}
-
-#define saa7146_write(mem,adr,dat) io_st_le32((unsigned
*)(mem+(adr)),(dat))
-#define saa7146_read(mem,adr) ld_le32((unsigned *)(mem+(adr)))
-#else
#define saa7146_write(mem,adr,dat) writel((dat),(mem+(adr)))
#define saa7146_read(mem,adr) readl(mem+(adr))
-#endif
/* this struct contains some constants needed for horizontal and vertical
scaling.
_________________________________________________________________
Rejoignez le plus grand service de messagerie au monde avec MSN Hotmail.
http://www.hotmail.com/fr
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index