diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2010-04-04 05:00:34 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-05-02 15:55:03 -0400 |
commit | be4540db062975ce557daf0119153fb17ecd6693 (patch) | |
tree | bd294f397e4c1e1e128d3554e804e2ecd7939361 /drivers/scsi/mvme147.c | |
parent | bb17b7871bb10e0ecf39e3afbc182cab218d0539 (diff) |
[SCSI] mvme147: Reindentation
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/mvme147.c')
-rw-r--r-- | drivers/scsi/mvme147.c | 166 |
1 files changed, 85 insertions, 81 deletions
diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c index a423fcc7c11a..b236d72850d1 100644 --- a/drivers/scsi/mvme147.c +++ b/drivers/scsi/mvme147.c | |||
@@ -13,111 +13,115 @@ | |||
13 | #include "wd33c93.h" | 13 | #include "wd33c93.h" |
14 | #include "mvme147.h" | 14 | #include "mvme147.h" |
15 | 15 | ||
16 | #include<linux/stat.h> | 16 | #include <linux/stat.h> |
17 | 17 | ||
18 | #define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata)) | 18 | |
19 | #define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata)) | ||
19 | 20 | ||
20 | static struct Scsi_Host *mvme147_host = NULL; | 21 | static struct Scsi_Host *mvme147_host = NULL; |
21 | 22 | ||
22 | static irqreturn_t mvme147_intr (int irq, void *dummy) | 23 | static irqreturn_t mvme147_intr(int irq, void *dummy) |
23 | { | 24 | { |
24 | if (irq == MVME147_IRQ_SCSI_PORT) | 25 | if (irq == MVME147_IRQ_SCSI_PORT) |
25 | wd33c93_intr (mvme147_host); | 26 | wd33c93_intr(mvme147_host); |
26 | else | 27 | else |
27 | m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ | 28 | m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ |
28 | return IRQ_HANDLED; | 29 | return IRQ_HANDLED; |
29 | } | 30 | } |
30 | 31 | ||
31 | static int dma_setup(struct scsi_cmnd *cmd, int dir_in) | 32 | static int dma_setup(struct scsi_cmnd *cmd, int dir_in) |
32 | { | 33 | { |
33 | unsigned char flags = 0x01; | 34 | unsigned char flags = 0x01; |
34 | unsigned long addr = virt_to_bus(cmd->SCp.ptr); | 35 | unsigned long addr = virt_to_bus(cmd->SCp.ptr); |
35 | 36 | ||
36 | /* setup dma direction */ | 37 | /* setup dma direction */ |
37 | if (!dir_in) | 38 | if (!dir_in) |
38 | flags |= 0x04; | 39 | flags |= 0x04; |
39 | 40 | ||
40 | /* remember direction */ | 41 | /* remember direction */ |
41 | HDATA(mvme147_host)->dma_dir = dir_in; | 42 | HDATA(mvme147_host)->dma_dir = dir_in; |
42 | 43 | ||
43 | if (dir_in) | 44 | if (dir_in) { |
44 | /* invalidate any cache */ | 45 | /* invalidate any cache */ |
45 | cache_clear (addr, cmd->SCp.this_residual); | 46 | cache_clear(addr, cmd->SCp.this_residual); |
46 | else | 47 | } else { |
47 | /* push any dirty cache */ | 48 | /* push any dirty cache */ |
48 | cache_push (addr, cmd->SCp.this_residual); | 49 | cache_push(addr, cmd->SCp.this_residual); |
49 | 50 | } | |
50 | /* start DMA */ | 51 | |
51 | m147_pcc->dma_bcr = cmd->SCp.this_residual | (1<<24); | 52 | /* start DMA */ |
52 | m147_pcc->dma_dadr = addr; | 53 | m147_pcc->dma_bcr = cmd->SCp.this_residual | (1 << 24); |
53 | m147_pcc->dma_cntrl = flags; | 54 | m147_pcc->dma_dadr = addr; |
54 | 55 | m147_pcc->dma_cntrl = flags; | |
55 | /* return success */ | 56 | |
56 | return 0; | 57 | /* return success */ |
58 | return 0; | ||
57 | } | 59 | } |
58 | 60 | ||
59 | static void dma_stop(struct Scsi_Host *instance, struct scsi_cmnd *SCpnt, | 61 | static void dma_stop(struct Scsi_Host *instance, struct scsi_cmnd *SCpnt, |
60 | int status) | 62 | int status) |
61 | { | 63 | { |
62 | m147_pcc->dma_cntrl = 0; | 64 | m147_pcc->dma_cntrl = 0; |
63 | } | 65 | } |
64 | 66 | ||
65 | int mvme147_detect(struct scsi_host_template *tpnt) | 67 | int mvme147_detect(struct scsi_host_template *tpnt) |
66 | { | 68 | { |
67 | static unsigned char called = 0; | 69 | static unsigned char called = 0; |
68 | wd33c93_regs regs; | 70 | wd33c93_regs regs; |
69 | 71 | ||
70 | if (!MACH_IS_MVME147 || called) | 72 | if (!MACH_IS_MVME147 || called) |
71 | return 0; | 73 | return 0; |
72 | called++; | 74 | called++; |
73 | 75 | ||
74 | tpnt->proc_name = "MVME147"; | 76 | tpnt->proc_name = "MVME147"; |
75 | tpnt->proc_info = &wd33c93_proc_info; | 77 | tpnt->proc_info = &wd33c93_proc_info; |
76 | 78 | ||
77 | mvme147_host = scsi_register (tpnt, sizeof(struct WD33C93_hostdata)); | 79 | mvme147_host = scsi_register(tpnt, sizeof(struct WD33C93_hostdata)); |
78 | if (!mvme147_host) | 80 | if (!mvme147_host) |
79 | goto err_out; | 81 | goto err_out; |
80 | 82 | ||
81 | mvme147_host->base = 0xfffe4000; | 83 | mvme147_host->base = 0xfffe4000; |
82 | mvme147_host->irq = MVME147_IRQ_SCSI_PORT; | 84 | mvme147_host->irq = MVME147_IRQ_SCSI_PORT; |
83 | regs.SASR = (volatile unsigned char *)0xfffe4000; | 85 | regs.SASR = (volatile unsigned char *)0xfffe4000; |
84 | regs.SCMD = (volatile unsigned char *)0xfffe4001; | 86 | regs.SCMD = (volatile unsigned char *)0xfffe4001; |
85 | HDATA(mvme147_host)->no_sync = 0xff; | 87 | HDATA(mvme147_host)->no_sync = 0xff; |
86 | HDATA(mvme147_host)->fast = 0; | 88 | HDATA(mvme147_host)->fast = 0; |
87 | HDATA(mvme147_host)->dma_mode = CTRL_DMA; | 89 | HDATA(mvme147_host)->dma_mode = CTRL_DMA; |
88 | wd33c93_init(mvme147_host, regs, dma_setup, dma_stop, WD33C93_FS_8_10); | 90 | wd33c93_init(mvme147_host, regs, dma_setup, dma_stop, WD33C93_FS_8_10); |
89 | 91 | ||
90 | if (request_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr, 0, "MVME147 SCSI PORT", mvme147_intr)) | 92 | if (request_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr, 0, |
91 | goto err_unregister; | 93 | "MVME147 SCSI PORT", mvme147_intr)) |
92 | if (request_irq(MVME147_IRQ_SCSI_DMA, mvme147_intr, 0, "MVME147 SCSI DMA", mvme147_intr)) | 94 | goto err_unregister; |
93 | goto err_free_irq; | 95 | if (request_irq(MVME147_IRQ_SCSI_DMA, mvme147_intr, 0, |
96 | "MVME147 SCSI DMA", mvme147_intr)) | ||
97 | goto err_free_irq; | ||
94 | #if 0 /* Disabled; causes problems booting */ | 98 | #if 0 /* Disabled; causes problems booting */ |
95 | m147_pcc->scsi_interrupt = 0x10; /* Assert SCSI bus reset */ | 99 | m147_pcc->scsi_interrupt = 0x10; /* Assert SCSI bus reset */ |
96 | udelay(100); | 100 | udelay(100); |
97 | m147_pcc->scsi_interrupt = 0x00; /* Negate SCSI bus reset */ | 101 | m147_pcc->scsi_interrupt = 0x00; /* Negate SCSI bus reset */ |
98 | udelay(2000); | 102 | udelay(2000); |
99 | m147_pcc->scsi_interrupt = 0x40; /* Clear bus reset interrupt */ | 103 | m147_pcc->scsi_interrupt = 0x40; /* Clear bus reset interrupt */ |
100 | #endif | 104 | #endif |
101 | m147_pcc->scsi_interrupt = 0x09; /* Enable interrupt */ | 105 | m147_pcc->scsi_interrupt = 0x09; /* Enable interrupt */ |
102 | 106 | ||
103 | m147_pcc->dma_cntrl = 0x00; /* ensure DMA is stopped */ | 107 | m147_pcc->dma_cntrl = 0x00; /* ensure DMA is stopped */ |
104 | m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ | 108 | m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ |
105 | 109 | ||
106 | return 1; | 110 | return 1; |
107 | 111 | ||
108 | err_free_irq: | 112 | err_free_irq: |
109 | free_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr); | 113 | free_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr); |
110 | err_unregister: | 114 | err_unregister: |
111 | scsi_unregister(mvme147_host); | 115 | scsi_unregister(mvme147_host); |
112 | err_out: | 116 | err_out: |
113 | return 0; | 117 | return 0; |
114 | } | 118 | } |
115 | 119 | ||
116 | static int mvme147_bus_reset(struct scsi_cmnd *cmd) | 120 | static int mvme147_bus_reset(struct scsi_cmnd *cmd) |
117 | { | 121 | { |
118 | /* FIXME perform bus-specific reset */ | 122 | /* FIXME perform bus-specific reset */ |
119 | 123 | ||
120 | /* FIXME 2: kill this function, and let midlayer fallback to | 124 | /* FIXME 2: kill this function, and let midlayer fallback to |
121 | the same result, calling wd33c93_host_reset() */ | 125 | the same result, calling wd33c93_host_reset() */ |
122 | 126 | ||
123 | spin_lock_irq(cmd->device->host->host_lock); | 127 | spin_lock_irq(cmd->device->host->host_lock); |
@@ -153,9 +157,9 @@ static struct scsi_host_template driver_template = { | |||
153 | int mvme147_release(struct Scsi_Host *instance) | 157 | int mvme147_release(struct Scsi_Host *instance) |
154 | { | 158 | { |
155 | #ifdef MODULE | 159 | #ifdef MODULE |
156 | /* XXX Make sure DMA is stopped! */ | 160 | /* XXX Make sure DMA is stopped! */ |
157 | free_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr); | 161 | free_irq(MVME147_IRQ_SCSI_PORT, mvme147_intr); |
158 | free_irq(MVME147_IRQ_SCSI_DMA, mvme147_intr); | 162 | free_irq(MVME147_IRQ_SCSI_DMA, mvme147_intr); |
159 | #endif | 163 | #endif |
160 | return 1; | 164 | return 1; |
161 | } | 165 | } |