summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2004-10-24 23:03:02 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2004-10-24 23:03:02 +0000
commit7e2c6698acd28d0b707bb452bcd5f2ae7deda867 (patch)
treefb9f7ae17044547dc2e32b6bfafebc40e6262a7f /sys/dev/ic
parentdf2db25a9af372d2174ace6c850969deccb57acb (diff)
More freebsd delta reduction. Eliminate use of NetBSD scsipi defines
in favour of OpenBSD ones where no FreeBSD equivalent exist. Backout random whitespace variances. Backout field name change, changeing physaddr back to original busaddr. Remove VL/EISA stuff mistakenly brought in from ahc. No change to generated code.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/aic79xx.c30
-rw-r--r--sys/dev/ic/aic79xx.h75
2 files changed, 47 insertions, 58 deletions
diff --git a/sys/dev/ic/aic79xx.c b/sys/dev/ic/aic79xx.c
index bd4b8c3c9d8..da9d1a5c160 100644
--- a/sys/dev/ic/aic79xx.c
+++ b/sys/dev/ic/aic79xx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aic79xx.c,v 1.11 2004/10/24 04:28:33 krw Exp $ */
+/* $OpenBSD: aic79xx.c,v 1.12 2004/10/24 23:03:01 krw Exp $ */
/*
* Copyright (c) 2004 Milos Urbanek, Kenneth R. Westerback & Marco Peereboom
@@ -5925,7 +5925,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left;
hscb_map = SLIST_FIRST(&scb_data->hscb_maps);
hscb = &((struct hardware_scb *)hscb_map->vaddr)[offset];
- hscb_busaddr = hscb_map->physaddr + (offset * sizeof(*hscb));
+ hscb_busaddr = hscb_map->busaddr + (offset * sizeof(*hscb));
} else {
hscb_map = malloc(sizeof(*hscb_map), M_DEVBUF, M_NOWAIT);
@@ -5938,7 +5938,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
if (ahd_createdmamem(ahd->parent_dmat, PAGE_SIZE,
ahd->sc_dmaflags, &hscb_map->dmamap,
(caddr_t *)&hscb_map->vaddr,
- &hscb_map->physaddr,
+ &hscb_map->busaddr,
&hscb_map->dmasegs, &hscb_map->nseg,
ahd_name(ahd),
"hardware SCB structures") < 0) {
@@ -5949,7 +5949,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links);
hscb = (struct hardware_scb *)hscb_map->vaddr;
- hscb_busaddr = hscb_map->physaddr;
+ hscb_busaddr = hscb_map->busaddr;
scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb);
}
@@ -5962,7 +5962,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
- scb_data->sgs_left) * ahd_sglist_size(ahd);
sg_map = SLIST_FIRST(&scb_data->sg_maps);
segs = sg_map->vaddr + offset;
- sg_busaddr = sg_map->physaddr + offset;
+ sg_busaddr = sg_map->busaddr + offset;
} else {
sg_map = malloc(sizeof(*sg_map), M_DEVBUF, M_NOWAIT);
@@ -5974,7 +5974,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
/* Allocate the next batch of S/G lists */
if (ahd_createdmamem(ahd->parent_dmat, ahd_sglist_allocsize(ahd), ahd->sc_dmaflags,
&sg_map->dmamap, (caddr_t *)&sg_map->vaddr,
- &sg_map->physaddr, &sg_map->dmasegs,
+ &sg_map->busaddr, &sg_map->dmasegs,
&sg_map->nseg, ahd_name(ahd),
"SG data structures") < 0) {
free(sg_map, M_DEVBUF);
@@ -5984,7 +5984,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
segs = sg_map->vaddr;
- sg_busaddr = sg_map->physaddr;
+ sg_busaddr = sg_map->busaddr;
scb_data->sgs_left =
ahd_sglist_allocsize(ahd) / ahd_sglist_size(ahd);
#ifdef AHD_DEBUG
@@ -6001,7 +6001,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left);
sense_map = SLIST_FIRST(&scb_data->sense_maps);
sense_data = sense_map->vaddr + offset;
- sense_busaddr = sense_map->physaddr + offset;
+ sense_busaddr = sense_map->busaddr + offset;
} else {
sense_map = malloc(sizeof(*sense_map), M_DEVBUF, M_NOWAIT);
@@ -6013,7 +6013,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
/* Allocate the next batch of sense buffers */
if (ahd_createdmamem(ahd->parent_dmat, PAGE_SIZE, ahd->sc_dmaflags,
&sense_map->dmamap, (caddr_t *)&sense_map->vaddr,
- &sense_map->physaddr, &sense_map->dmasegs,
+ &sense_map->busaddr, &sense_map->dmasegs,
&sense_map->nseg, ahd_name(ahd),
"Sense Data structures") < 0) {
free(sense_map, M_DEVBUF);
@@ -6023,7 +6023,7 @@ ahd_alloc_scbs(struct ahd_softc *ahd)
SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links);
sense_data = sense_map->vaddr;
- sense_busaddr = sense_map->physaddr;
+ sense_busaddr = sense_map->busaddr;
scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE;
#ifdef AHD_DEBUG
if (ahd_debug & AHD_SHOW_MEMORY)
@@ -6204,7 +6204,7 @@ ahd_init(struct ahd_softc *ahd)
if (ahd_createdmamem(ahd->parent_dmat, ahd->shared_data_size,
ahd->sc_dmaflags,
&ahd->shared_data_map.dmamap, (caddr_t *)&ahd->shared_data_map.vaddr,
- &ahd->shared_data_map.physaddr, &ahd->shared_data_map.dmasegs,
+ &ahd->shared_data_map.busaddr, &ahd->shared_data_map.dmasegs,
&ahd->shared_data_map.nseg, ahd_name(ahd), "shared data") < 0)
return (ENOMEM);
@@ -6213,7 +6213,7 @@ ahd_init(struct ahd_softc *ahd)
ahd->init_level++;
next_vaddr = (uint8_t *)&ahd->qoutfifo[AHD_QOUT_SIZE];
- next_baddr = ahd->shared_data_map.physaddr
+ next_baddr = ahd->shared_data_map.busaddr
+ AHD_QOUT_SIZE*sizeof(struct ahd_completion);
if ((ahd->features & AHD_TARGETMODE) != 0) {
ahd->targetcmds = (struct target_cmd *)next_vaddr;
@@ -6593,7 +6593,7 @@ ahd_chip_init(struct ahd_softc *ahd)
/*
* Tell the sequencer where it can find our arrays in memory.
*/
- busaddr = ahd->shared_data_map.physaddr;
+ busaddr = ahd->shared_data_map.busaddr;
ahd_outl(ahd, SHARED_DATA_ADDR, busaddr);
ahd_outl(ahd, QOUTFIFO_NEXT_ADDR, busaddr);
@@ -8045,7 +8045,7 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
{
struct ahd_devinfo devinfo;
struct ahd_dma_seg *sg;
- struct scsipi_sense *sc;
+ struct scsi_sense *sc;
struct ahd_initiator_tinfo *targ_info;
struct ahd_tmode_tstate *tstate;
struct ahd_transinfo *tinfo;
@@ -8072,7 +8072,7 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
&tstate);
tinfo = &targ_info->curr;
sg = scb->sg_list;
- sc = (struct scsipi_sense *)hscb->shared_data.idata.cdb;
+ sc = (struct scsi_sense *)hscb->shared_data.idata.cdb;
/*
* Save off the residual if there is one.
*/
diff --git a/sys/dev/ic/aic79xx.h b/sys/dev/ic/aic79xx.h
index 2e3cba3741d..143d85d8787 100644
--- a/sys/dev/ic/aic79xx.h
+++ b/sys/dev/ic/aic79xx.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: aic79xx.h,v 1.8 2004/10/24 22:07:38 krw Exp $ */
+/* $OpenBSD: aic79xx.h,v 1.9 2004/10/24 23:03:01 krw Exp $ */
/*
* Copyright (c) 2004 Milos Urbanek, Kenneth R. Westerback & Marco Peereboom
@@ -583,7 +583,7 @@ struct ahd_dma64_seg {
struct map_node {
bus_dmamap_t dmamap;
- bus_addr_t physaddr;
+ bus_addr_t busaddr;
uint8_t *vaddr;
bus_dma_segment_t dmasegs;
int nseg;
@@ -665,16 +665,18 @@ struct scb {
#define pending_links links2.le
#define collision_links links2.le
struct scb *col_scb;
- struct scsipi_xfer *xs;
+ struct scsi_xfer *xs;
struct ahd_softc *ahd_softc;
scb_flag flags;
+#ifndef __linux__
bus_dmamap_t dmamap;
+#endif
struct scb_platform_data *platform_data;
struct map_node *hscb_map;
struct map_node *sg_map;
struct map_node *sense_map;
- void *sg_list;
+ void *sg_list;
uint8_t *sense_data;
bus_addr_t sg_list_busaddr;
bus_addr_t sense_busaddr;
@@ -712,7 +714,6 @@ struct scb_data {
SLIST_HEAD(, map_node) hscb_maps;
SLIST_HEAD(, map_node) sg_maps;
SLIST_HEAD(, map_node) sense_maps;
-
int scbs_left; /* unallocated scbs in head map_node */
int sgs_left; /* unallocated sgs in head map_node */
int sense_left; /* unallocated sense in head map_node */
@@ -1104,15 +1105,15 @@ struct ahd_completion
struct ahd_softc {
struct device sc_dev;
- struct scsipi_channel sc_channel;
+ struct scsi_link sc_channel;
struct device * sc_child;
- struct scsipi_adapter sc_adapter;
+ struct scsi_adapter sc_adapter;
bus_space_tag_t tags[2];
bus_space_handle_t bshs[2];
#ifndef __linux__
- bus_dma_tag_t buffer_dmat; /* dmat for buffer I/O */
+ bus_dma_tag_t buffer_dmat; /* dmat for buffer I/O */
#endif
void *shutdown_hook;
struct scb_data scb_data;
@@ -1382,25 +1383,13 @@ struct ahd_pci_identity {
extern struct ahd_pci_identity ahd_pci_ident_table [];
extern const u_int ahd_num_pci_devs;
-/***************************** VL/EISA Declarations ***************************/
-struct aic7770_identity {
- uint32_t full_id;
- uint32_t id_mask;
- char *name;
- ahd_device_setup_t *setup;
-};
-extern struct aic7770_identity aic7770_ident_table [];
-extern const int ahd_num_aic7770_devs;
-
-#define AHD_EISA_SLOT_OFFSET 0xc00
-#define AHD_EISA_IOSIZE 0x100
-
/*************************** Function Declarations ****************************/
/******************************************************************************/
-void ahd_reset_cmds_pending(struct ahd_softc *ahd);
-u_int ahd_find_busy_tcl(struct ahd_softc *ahd, u_int tcl);
-void ahd_busy_tcl(struct ahd_softc *ahd, u_int tcl, u_int busyid);
-void ahd_unbusy_tcl(struct ahd_softc *, u_int);
+void ahd_reset_cmds_pending(struct ahd_softc *ahd);
+u_int ahd_find_busy_tcl(struct ahd_softc *ahd, u_int tcl);
+void ahd_busy_tcl(struct ahd_softc *ahd,
+ u_int tcl, u_int busyid);
+void ahd_unbusy_tcl(struct ahd_softc *ahd, u_int tcl);
/***************************** PCI Front End *********************************/
const struct ahd_pci_identity * ahd_find_pci_device(pcireg_t, pcireg_t);
@@ -1570,24 +1559,24 @@ cam_status ahd_find_tmode_devs(struct ahd_softc *ahd,
#ifdef AHD_DEBUG
extern uint32_t ahd_debug;
#define AHD_DEBUG_OPTS 0
-#define AHD_SHOW_MISC 0x00001
-#define AHD_SHOW_SENSE 0x00002
-#define AHD_SHOW_RECOVERY 0x00004
-#define AHD_DUMP_SEEPROM 0x00008
-#define AHD_SHOW_TERMCTL 0x00010
-#define AHD_SHOW_MEMORY 0x00020
-#define AHD_SHOW_MESSAGES 0x00040
-#define AHD_SHOW_MODEPTR 0x00080
-#define AHD_SHOW_SELTO 0x00100
-#define AHD_SHOW_FIFOS 0x00200
-#define AHD_SHOW_QFULL 0x00400
-#define AHD_SHOW_DV 0x00800
-#define AHD_SHOW_MASKED_ERRORS 0x01000
-#define AHD_SHOW_QUEUE 0x02000
-#define AHD_SHOW_TQIN 0x04000
-#define AHD_SHOW_SG 0x08000
-#define AHD_SHOW_INT_COALESCING 0x10000
-#define AHD_DEBUG_SEQUENCER 0x20000
+#define AHD_SHOW_MISC 0x00001
+#define AHD_SHOW_SENSE 0x00002
+#define AHD_SHOW_RECOVERY 0x00004
+#define AHD_DUMP_SEEPROM 0x00008
+#define AHD_SHOW_TERMCTL 0x00010
+#define AHD_SHOW_MEMORY 0x00020
+#define AHD_SHOW_MESSAGES 0x00040
+#define AHD_SHOW_MODEPTR 0x00080
+#define AHD_SHOW_SELTO 0x00100
+#define AHD_SHOW_FIFOS 0x00200
+#define AHD_SHOW_QFULL 0x00400
+#define AHD_SHOW_DV 0x00800
+#define AHD_SHOW_MASKED_ERRORS 0x01000
+#define AHD_SHOW_QUEUE 0x02000
+#define AHD_SHOW_TQIN 0x04000
+#define AHD_SHOW_SG 0x08000
+#define AHD_SHOW_INT_COALESCING 0x10000
+#define AHD_DEBUG_SEQUENCER 0x20000
#endif
void ahd_print_scb(struct scb *scb);
void ahd_print_devinfo(struct ahd_softc *ahd,