[parisc-linux] sym53c8xx.c now works with 53c875 on parisc
Richard Hirst
rhirst@linuxcare.com
Fri, 23 Jun 2000 12:31:15 +0100
Hi,
I have fixed a couple of problems with parisc dynamic dma code so that
sym53c8xx.c now works on the 53c875 (on-board FWSCSI on my B180L).
The config options I used are:
CONFIG_SCSI_SYM53C8XX=y
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_NCR53C8XX_PROFILE is not set
CONFIG_SCSI_NCR53C8XX_IOMAPPED=y
The main problem was that xxx_alloc_consistent() should return a
virtual address that is aligned to a power of 2 boundary equivalent
to the size requested. We used get_vm_area() which doesn't worry about
alignment of returned areas. I have got round this by introducing a
new get_aligned_vm_area() function in mm/vmalloc.c, but I guess that
is probably only temporary until we decide on the proper solution.
Other archs use get_free_pages and so avoid this problem.
Suggestions, anyone?
Richard