Skip to contentSkip to conversation

sym53c8xx.c now works with 53c875 on parisc

parisc-linux Richard Hirst 1 participant 1 message Jun 23, 2000

lore
Share & tools
lore
#0 lore raw

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