From: F. H. <fh...@at...> - 2000-06-26 10:50:47
|
On Mon, Jun 26, 2000 at 09:53:20AM +0200, Michel D?nzer wrote: > "F. Heitkamp" wrote: > > > > I'm still at a loss to figure out why the cache test > > is failing on the 53c770.c driver. I have been comparing > > the code in 53C770.c with that in the SYM53X8XX.c driver > > and the ncr_snooptest() routines are pretty much the same. > > Two things: > > 1. Fred please join as a developer and share your code! :) Are there any folks out there that want to help work on this driver? Last I checked either no one had the same hardware as I, or did not, have the time, or simply wasn't interested. > > 2. Is there still no support for the 53c770 in the 2.3 kernel? There are even > two 53c7xx drivers now... Hmmm. I'll have a look. I think the 770 chip may have been used in some UNIXes or RAID controllers, but since it doesn't have a PCI bus interface, it was probably not used in PCs. > > > > From looking at the code it seems like the ncr_snooptest() > > is copying the SCSI scripts code to the cache and then > > trying to execute that code. Since that execution fails > > the cache test fails. > > [...] > > ncr_snooptest(): CACHE TEST FAILED: timeout. > > CACHE INCORRECTLY CONFIGURED. > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Have you checked the cache configuration options? ;) > > What cache is this about? I am, by no means, an expert on these drivers but I think the cache is a place in memory for the SCSI chip to store and execute its scripts. It may also be a common area for the host processor and the SCSI chip to share data. Any insight would be appreciated. The cache seems to be got by using check_region/request_region, which are standard kernel API calls AFAICT. The check_region call succeeds, and according to the "Linux Device Drivers" book the request_region will never fail if the check_region succeeds. There could be a problem with alignment of the cache, but I'm not sure how to check that out. I guess I am going to peer at some of the other SCSI drivers and see what they do. -- Fred |