aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.h35
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm_pci.c3
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 */
268struct 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
279struct 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
299typedef enum { 268typedef 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
309struct ahd_linux_target; 275struct 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);