Re: Removing BROKEN scsi drivers

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

 



On di, 2005-11-15 at 11:32 +0000, Richard Hirst wrote:
> On Tue, Nov 15, 2005 at 10:30:34AM +0000, Christoph Hellwig wrote:
> > On Tue, Nov 15, 2005 at 11:17:09AM +0100, Ingo Juergensmann wrote:
> > > > Did you make any progress on this? 
> > > 
> > > I guess he made... Kars gave me a kernel image for Amiga:
> > > 
> > > 53c700: Version 2.8 By James.Bottomley@xxxxxxxxxxxxxxxxxxxxx
> > > scsi0: 53c710 rev 2
> > > 53c700: dmode=80 dcntl=01 ctest7=02
> > > scsi0 : WarpEngine 40xx
> > > 
> > > spice:/home/ij# uptime
> > >  11:13:14 up 4 days, 14:59,  3 users,  load average: 0.02, 0.20, 0.13
> > > 
> > > So far, I haven't experienced any problems with that new driver. I intend to
> > > try that kernel on an Amiga 4000T with its implementation of that chip
> > > (A4091-alike)...
> > 
> > Very nice.  Kars, could you send your patches to linux-scsi please?
> 
> Between us it seems Kars and I have this driver working on Amiga, MVME,
> and BVME boards.  That is everything that used the old 53c7xx driver.  I
> don't believe there is a combined set of patches yet (at least, I havn't
> seen the patches for Amiga).  One complication is that we're relying on
> some m68k-specific dma support patches from Roman Zippel that are not
> yet integrated.

Indeed, and there's issues with the iomap interface to solve as well. 

Also, I don't know the proper chip register settings for all supported
boards yet (hence the printk() with register settings).

With all m68k 53c700 implementations currently supported there should be
no byteswapping done in io{read,write}32(), but that doesn't hold for
each bus.

So until we can specify in some way how the io{read,write}{16,32}()
function should behave on a certain memory region, I see no way to
integrate this cleanly. For now I am inclined to do something like this
in 53c700.h:

#ifdef CONFIG_M68K
        iowrite32be(bS_to_io(value), hostdata->base + reg);
#else
        iowrite32(bS_to_io(value), hostdata->base + reg);
#endif

etc.

IMHO that's cleaner than hardcoding these functions to do no
byteswapping at all in include/asm-m68k/io.h. Plus that breaks when a
multi-config kernel is built (like one with PCMCIA and this SCSI driver,
because the Amiga PCMCIA implementation does need byteswapping). Much
like what you get now when you build a kernel with APNE and ZORRO8390
drivers for instance.

Comments, anyone?


Kind regards,

Kars.


-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux