gvp11.c (05668381140309088443bf5dc53add4104610fbb) gvp11.c (65396410af63db90d6428c678ff84aa652c3c1ec)
1#include <linux/types.h>
2#include <linux/mm.h>
3#include <linux/blkdev.h>
4#include <linux/sched.h>
5#include <linux/init.h>
6#include <linux/interrupt.h>
7
8#include <asm/setup.h>

--- 33 unchanged lines hidden (view full) ---

42
43static int gvp11_xfer_mask = 0;
44
45void gvp11_setup (char *str, int *ints)
46{
47 gvp11_xfer_mask = ints[1];
48}
49
1#include <linux/types.h>
2#include <linux/mm.h>
3#include <linux/blkdev.h>
4#include <linux/sched.h>
5#include <linux/init.h>
6#include <linux/interrupt.h>
7
8#include <asm/setup.h>

--- 33 unchanged lines hidden (view full) ---

42
43static int gvp11_xfer_mask = 0;
44
45void gvp11_setup (char *str, int *ints)
46{
47 gvp11_xfer_mask = ints[1];
48}
49
50static int dma_setup (Scsi_Cmnd *cmd, int dir_in)
50static int dma_setup(struct scsi_cmnd *cmd, int dir_in)
51{
52 unsigned short cntr = GVP11_DMAC_INT_ENABLE;
53 unsigned long addr = virt_to_bus(cmd->SCp.ptr);
54 int bank_mask;
55 static int scsi_alloc_out_of_range = 0;
56
57 /* use bounce buffer if the physical address is bad */
58 if (addr & HDATA(cmd->device->host)->dma_xfer_mask ||

--- 78 unchanged lines hidden (view full) ---

137
138 /* start DMA */
139 DMA(cmd->device->host)->ST_DMA = 1;
140
141 /* return success */
142 return 0;
143}
144
51{
52 unsigned short cntr = GVP11_DMAC_INT_ENABLE;
53 unsigned long addr = virt_to_bus(cmd->SCp.ptr);
54 int bank_mask;
55 static int scsi_alloc_out_of_range = 0;
56
57 /* use bounce buffer if the physical address is bad */
58 if (addr & HDATA(cmd->device->host)->dma_xfer_mask ||

--- 78 unchanged lines hidden (view full) ---

137
138 /* start DMA */
139 DMA(cmd->device->host)->ST_DMA = 1;
140
141 /* return success */
142 return 0;
143}
144
145static void dma_stop (struct Scsi_Host *instance, Scsi_Cmnd *SCpnt,
146 int status)
145static void dma_stop(struct Scsi_Host *instance, struct scsi_cmnd *SCpnt,
146 int status)
147{
148 /* stop DMA */
149 DMA(instance)->SP_DMA = 1;
150 /* remove write bit from CONTROL bits */
151 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE;
152
153 /* copy from a bounce buffer, if necessary */
154 if (status && HDATA(instance)->dma_bounce_buffer) {

--- 181 unchanged lines hidden (view full) ---

336
337release:
338 release_mem_region(address, 256);
339 }
340
341 return num_gvp11;
342}
343
147{
148 /* stop DMA */
149 DMA(instance)->SP_DMA = 1;
150 /* remove write bit from CONTROL bits */
151 DMA(instance)->CNTR = GVP11_DMAC_INT_ENABLE;
152
153 /* copy from a bounce buffer, if necessary */
154 if (status && HDATA(instance)->dma_bounce_buffer) {

--- 181 unchanged lines hidden (view full) ---

336
337release:
338 release_mem_region(address, 256);
339 }
340
341 return num_gvp11;
342}
343
344static int gvp11_bus_reset(Scsi_Cmnd *cmd)
344static int gvp11_bus_reset(struct scsi_cmnd *cmd)
345{
346 /* FIXME perform bus-specific reset */
347
348 /* FIXME 2: shouldn't we no-op this function (return
349 FAILED), and fall back to host reset function,
350 wd33c93_host_reset ? */
351
352 spin_lock_irq(cmd->device->host->host_lock);

--- 42 unchanged lines hidden ---
345{
346 /* FIXME perform bus-specific reset */
347
348 /* FIXME 2: shouldn't we no-op this function (return
349 FAILED), and fall back to host reset function,
350 wd33c93_host_reset ? */
351
352 spin_lock_irq(cmd->device->host->host_lock);

--- 42 unchanged lines hidden ---