Date: Thu, 5 Jun 1997 15:53:04 +0200 (MDT)
From: Patrik Rak <prak3264@ss1000.ms.mff.cuni.cz>
To: linux-m68k@phil.uni-sb.de
Subject: L68K: Fastlane Z3 patch for 2.1.42
Sender: owner-linux-m68k@phil.uni-sb.de
Reply-To: linux-m68k@phil.uni-sb.de

Hi!

I needed the following changes so the 2.1.42 can compile with Fastlane
SCSI driver. Jesper, could you have a look at it?


--- ./drivers/scsi/esp.c	1997/06/04 13:47:10	1.1
+++ ./drivers/scsi/esp.c	1997/06/04 15:25:13
@@ -43,6 +43,20 @@
 #include <asm/pgtable.h>
 #include <asm/io.h>
 
+/* This is really ugly (Jesper?) -Patrik */
+
+#ifndef DMA_IRQ_P
+#define DMA_IRQ_P(regs)		(esp->dma_irq_p(esp))
+#endif /* DMA_IRQ_P */
+
+#ifndef DMA_INTSON
+#define DMA_INTSON(regs)	(esp->dma_ints_on(esp))
+#endif /* DMA_INTSON */
+
+#ifndef DMA_INTSOFF
+#define DMA_INTSOFF(regs)	(esp->dma_ints_off(esp))
+#endif /* DMA_INTSOFF */
+
 /* Command phase enumeration. */
 enum {
 	not_issued    = 0x00,  /* Still in the issue_SC queue.          */
@@ -948,6 +962,7 @@
 static inline void esp_exec_cmd(struct Sparc_ESP *esp)
 {
 	struct ESP_regs *eregs = esp->eregs;
+	struct dma_registers *dregs = esp->dregs;
 	Scsi_Cmnd *SCptr;
 	Scsi_Device *SDptr;
 	volatile unchar *cmdp = esp->esp_command;
@@ -1251,8 +1266,7 @@
 				 ((struct linux_sbus_device *) (esp->edev))->my_bus);
 		SCpnt->SCp.ptr              = (char *) SCpnt->SCp.buffer->dvma_address;
 #else
-		/* XXX Again these casts are sick... -DaveM */
-		SCpnt->SCp.ptr=(char *)((unsigned long)SCpnt->SCp.buffer->dvma_address);
+		SCpnt->SCp.ptr = SCpnt->SCp.buffer->address;
 #endif
 	}
 	SCpnt->SCp.Status           = CHECK_CONDITION;
@@ -1356,6 +1370,7 @@
 {
 	struct Sparc_ESP *esp = (struct Sparc_ESP *) SCptr->host->hostdata;
 	struct ESP_regs *eregs = esp->eregs;
+	struct dma_registers *dregs = esp->dregs;
 	int don;
 	unsigned long flags;
 
--- ./include/asm-m68k/hardirq.h	1997/06/04 14:06:48	1.1
+++ ./include/asm-m68k/hardirq.h	1997/06/04 14:07:47
@@ -12,4 +12,6 @@
 #define hardirq_enter(cpu)	(local_irq_count[cpu]++)
 #define hardirq_exit(cpu)	(local_irq_count[cpu]--)
 
+#define synchronize_irq()	do { } while (0)
+
 #endif


Patrik


