diff options
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_osm.h | 35 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 3 |
2 files changed, 0 insertions, 38 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h index 46edcf3e4e62..296d3a59efe9 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.h +++ b/drivers/scsi/aic7xxx/aic79xx_osm.h | |||
@@ -254,39 +254,8 @@ ahd_scb_timer_reset(struct scb *scb, u_int usec) | |||
254 | /***************************** SMP support ************************************/ | 254 | /***************************** SMP support ************************************/ |
255 | #include <linux/spinlock.h> | 255 | #include <linux/spinlock.h> |
256 | 256 | ||
257 | #define AHD_SCSI_HAS_HOST_LOCK 1 | ||
258 | |||
259 | #define AIC79XX_DRIVER_VERSION "1.3.11" | 257 | #define AIC79XX_DRIVER_VERSION "1.3.11" |
260 | 258 | ||
261 | /**************************** Front End Queues ********************************/ | ||
262 | /* | ||
263 | * Data structure used to cast the Linux struct scsi_cmnd to something | ||
264 | * that allows us to use the queue macros. The linux structure has | ||
265 | * plenty of space to hold the links fields as required by the queue | ||
266 | * macros, but the queue macors require them to have the correct type. | ||
267 | */ | ||
268 | struct ahd_cmd_internal { | ||
269 | /* Area owned by the Linux scsi layer. */ | ||
270 | uint8_t private[offsetof(struct scsi_cmnd, SCp.Status)]; | ||
271 | union { | ||
272 | STAILQ_ENTRY(ahd_cmd) ste; | ||
273 | LIST_ENTRY(ahd_cmd) le; | ||
274 | TAILQ_ENTRY(ahd_cmd) tqe; | ||
275 | } links; | ||
276 | uint32_t end; | ||
277 | }; | ||
278 | |||
279 | struct ahd_cmd { | ||
280 | union { | ||
281 | struct ahd_cmd_internal icmd; | ||
282 | struct scsi_cmnd scsi_cmd; | ||
283 | } un; | ||
284 | }; | ||
285 | |||
286 | #define acmd_icmd(cmd) ((cmd)->un.icmd) | ||
287 | #define acmd_scsi_cmd(cmd) ((cmd)->un.scsi_cmd) | ||
288 | #define acmd_links un.icmd.links | ||
289 | |||
290 | /*************************** Device Data Structures ***************************/ | 259 | /*************************** Device Data Structures ***************************/ |
291 | /* | 260 | /* |
292 | * A per probed device structure used to deal with some error recovery | 261 | * A per probed device structure used to deal with some error recovery |
@@ -297,13 +266,10 @@ struct ahd_cmd { | |||
297 | */ | 266 | */ |
298 | 267 | ||
299 | typedef enum { | 268 | typedef enum { |
300 | AHD_DEV_UNCONFIGURED = 0x01, | ||
301 | AHD_DEV_FREEZE_TIL_EMPTY = 0x02, /* Freeze queue until active == 0 */ | 269 | AHD_DEV_FREEZE_TIL_EMPTY = 0x02, /* Freeze queue until active == 0 */ |
302 | AHD_DEV_TIMER_ACTIVE = 0x04, /* Our timer is active */ | ||
303 | AHD_DEV_Q_BASIC = 0x10, /* Allow basic device queuing */ | 270 | AHD_DEV_Q_BASIC = 0x10, /* Allow basic device queuing */ |
304 | AHD_DEV_Q_TAGGED = 0x20, /* Allow full SCSI2 command queueing */ | 271 | AHD_DEV_Q_TAGGED = 0x20, /* Allow full SCSI2 command queueing */ |
305 | AHD_DEV_PERIODIC_OTAG = 0x40, /* Send OTAG to prevent starvation */ | 272 | AHD_DEV_PERIODIC_OTAG = 0x40, /* Send OTAG to prevent starvation */ |
306 | AHD_DEV_SLAVE_CONFIGURED = 0x80 /* slave_configure() has been called */ | ||
307 | } ahd_linux_dev_flags; | 273 | } ahd_linux_dev_flags; |
308 | 274 | ||
309 | struct ahd_linux_target; | 275 | struct ahd_linux_target; |
@@ -432,7 +398,6 @@ struct ahd_platform_data { | |||
432 | uint32_t irq; /* IRQ for this adapter */ | 398 | uint32_t irq; /* IRQ for this adapter */ |
433 | uint32_t bios_address; | 399 | uint32_t bios_address; |
434 | uint32_t mem_busaddr; /* Mem Base Addr */ | 400 | uint32_t mem_busaddr; /* Mem Base Addr */ |
435 | uint64_t hw_dma_mask; | ||
436 | #define AHD_SCB_UP_EH_SEM 0x1 | 401 | #define AHD_SCB_UP_EH_SEM 0x1 |
437 | uint32_t flags; | 402 | uint32_t flags; |
438 | }; | 403 | }; |
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c index 91daf0c7fb10..7cfb2eb2b868 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c | |||
@@ -177,15 +177,12 @@ ahd_linux_pci_dev_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
177 | if (memsize >= 0x8000000000ULL | 177 | if (memsize >= 0x8000000000ULL |
178 | && pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) { | 178 | && pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) { |
179 | ahd->flags |= AHD_64BIT_ADDRESSING; | 179 | ahd->flags |= AHD_64BIT_ADDRESSING; |
180 | ahd->platform_data->hw_dma_mask = DMA_64BIT_MASK; | ||
181 | } else if (memsize > 0x80000000 | 180 | } else if (memsize > 0x80000000 |
182 | && pci_set_dma_mask(pdev, mask_39bit) == 0) { | 181 | && pci_set_dma_mask(pdev, mask_39bit) == 0) { |
183 | ahd->flags |= AHD_39BIT_ADDRESSING; | 182 | ahd->flags |= AHD_39BIT_ADDRESSING; |
184 | ahd->platform_data->hw_dma_mask = mask_39bit; | ||
185 | } | 183 | } |
186 | } else { | 184 | } else { |
187 | pci_set_dma_mask(pdev, DMA_32BIT_MASK); | 185 | pci_set_dma_mask(pdev, DMA_32BIT_MASK); |
188 | ahd->platform_data->hw_dma_mask = DMA_32BIT_MASK; | ||
189 | } | 186 | } |
190 | ahd->dev_softc = pci; | 187 | ahd->dev_softc = pci; |
191 | error = ahd_pci_config(ahd, entry); | 188 | error = ahd_pci_config(ahd, entry); |