From: <cah...@po...> - 2002-12-23 18:02:28
|
On Mon, 23 Dec 2002, Geert Uytterhoeven wrote: > On Mon, 23 Dec 2002, [iso-8859-2] Krystian Bac=B3awski wrote: > > On Mon, 23 Dec 2002, Geert Uytterhoeven wrote: > > > On Mon, 23 Dec 2002, [iso-8859-2] Krystian Bac=B3awski wrote: > > > > On Mon, 23 Dec 2002, Geert Uytterhoeven wrote: > > > > > On Mon, 23 Dec 2002, [iso-8859-2] Krystian Bac=B3awski wrote: > > > > > > As far as I know apne driver in current version of kernel makes= oops. > > > > > >=20 > > > > > > I found out that apne driver in 2.4.20 kernel was modified by s= omeone who > > > > > > knew nothing about amiga (he/she cut out a lot of code with GAY= LE symbols > > > > > > and replaced readb/writeb with inb/outb). I replaced apne.c fro= m current > > > > > > cvs tree with old one from 2.4.18-cvs. As for me it works. > > > > >=20 > > > > > PCMCIA is some sort of ISA, so inb() and friends should be OK. > > > > > Most probably the ISA changes in the m68k-specific part of the tr= ee weren't > > > > > ported to APUS. > > > >=20 > > > > Of course should be ok, but someone also cut GAYLE_OFFSET and frien= ds. Is > > > > amiga pcmcia driver has anything to do with ISA ? Amiga 1200 doesn'= t have > > > > ISA. PCMCIA is serviced by GAYLE chip. > > >=20 > > > Well, but PCMCIA is just some form of ISA. In the Linux/m68k kernels = with Gayle > > > PCMCIA support, inb() and friends work on the PCMCIA bus. > > >=20 > > > Please take a look at include/asm-m68k/io.h. > >=20 > > Hmm... Yes, writeb/outb, readb/inb in asm-m68k/io.h are the same but > > those in asm-ppc/io.h are different: > >=20 > > #define inb(port) in_8((u8 *)((port)+_IO_BASE)) > > #define outb(val,port) out_8((u8 *)((port)+_IO_BASE), (val)) > > #define readb(addr) in_8((volatile u8 *)(addr)) > > #define writeb(b,addr) out_8((volatile u8*)(addr),(b)) > >=20 > > As the _IO_BASE is defined as zero in/read out/write are almost the sam= e, > > but what with "volatile" definition ? >=20 > Those definitions should be put inside #ifndef CONFIG_APUS. For APUS, you= want > to use the same definitions as on m68k, if Amiga PCMCIA is enabled. But exactly those definition aren't put inside #ifndef CONFIG_APUS, but in #ifdef CONFIG_APUS: #define _IO_BASE=090 #define _ISA_MEM_BASE=090 #define PCI_DRAM_OFFSET 0 #define readb(addr) in_8((volatile u8 *)(addr)) #define writeb(b,addr) out_8((volatile u8 *)(addr), (b)) #define readw(addr) (*(volatile u16 *) (addr)) #define readl(addr) (*(volatile u32 *) (addr)) #define writew(b,addr) ((*(volatile u16 *) (addr)) =3D (b)) #define writel(b,addr) ((*(volatile u32 *) (addr)) =3D (b)) #define inb(port)=09=09in_8((u8 *)((port)+_IO_BASE)) #define outb(val, port)=09=09out_8((u8 *)((port)+_IO_BASE), (val)) #define inw(port)=09=09in_be16((u16 *)((port)+_IO_BASE)) #define outw(val, port)=09=09out_be16((u16 *)((port)+_IO_BASE), (val)) #define inl(port)=09=09in_be32((u32 *)((port)+_IO_BASE)) #define outl(val, port)=09=09out_be32((u32 *)((port)+_IO_BASE), (val)) And the same was in 2.4.18 where apne worked. So it's not a source of apne problem. Can you take a look at include/asm-ppc/io.h ?=20 Regards Krystian Baclawski =0D=0A=0D=0A***************r-e-k-l-a-m-a**************=0D=0A=0D=0AMasz do=B6=E6 p=B3acenia prowizji bankowi ?=0D=0AmBank - za=B3=F3=BF konto=0D=0Ahttp://epieniadze.onet.pl/mbank |