Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b375a612 authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Jens Axboe
Browse files

aha1532: remove ISA_DMA_THRESHOLD usage



We can safely remove ISA_DMA_THRESHOLD usage in aha1542. aha1542 uses
ISA_DMA_THRESHOLD to see if:

- the buffers in scatter/list are below 16MB.
- scsi_host is below 16MB.

Both checkings were added in the ancient times but aren't necessary
nowadays since we properly bounce the buffers and allocate scsi_host
below 16MB with non-zero unchecked_isa_dma.

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: default avatarJames Bottomley <James.Bottomley@suse.de>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent 41f2df62
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -52,22 +52,6 @@
#define SCSI_BUF_PA(address)	isa_virt_to_bus(address)
#define SCSI_SG_PA(sgent)	(isa_page_to_bus(sg_page((sgent))) + (sgent)->offset)

static void BAD_SG_DMA(Scsi_Cmnd * SCpnt,
		       struct scatterlist *sgp,
		       int nseg,
		       int badseg)
{
	printk(KERN_CRIT "sgpnt[%d:%d] page %p/0x%llx length %u\n",
	       badseg, nseg, sg_virt(sgp),
	       (unsigned long long)SCSI_SG_PA(sgp),
	       sgp->length);

	/*
	 * Not safe to continue.
	 */
	panic("Buffer at physical address > 16Mb used for aha1542");
}

#include<linux/stat.h>

#ifdef DEBUG
@@ -691,8 +675,6 @@ static int aha1542_queuecommand(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
		}
		scsi_for_each_sg(SCpnt, sg, sg_count, i) {
			any2scsi(cptr[i].dataptr, SCSI_SG_PA(sg));
			if (SCSI_SG_PA(sg) + sg->length - 1 > ISA_DMA_THRESHOLD)
				BAD_SG_DMA(SCpnt, scsi_sglist(SCpnt), sg_count, i);
			any2scsi(cptr[i].datalen, sg->length);
		};
		any2scsi(ccb[mbo].datalen, sg_count * sizeof(struct chain));
@@ -1133,16 +1115,9 @@ static int __init aha1542_detect(struct scsi_host_template * tpnt)
				release_region(bases[indx], 4);
				continue;
			}
			/* For now we do this - until kmalloc is more intelligent
			   we are resigned to stupid hacks like this */
			if (SCSI_BUF_PA(shpnt) >= ISA_DMA_THRESHOLD) {
				printk(KERN_ERR "Invalid address for shpnt with 1542.\n");
				goto unregister;
			}
			if (!aha1542_test_port(bases[indx], shpnt))
				goto unregister;


			base_io = bases[indx];

			/* Set the Bus on/off-times as not to ruin floppy performance */