[Midnightbsd-cvs] src: dev/iir: Sync with freebsd 7

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Nov 30 15:02:37 EST 2008


Log Message:
-----------
Sync with freebsd 7

Modified Files:
--------------
    src/sys/dev/iir:
        iir.c (r1.2 -> r1.3)
        iir.h (r1.2 -> r1.3)
        iir_pci.c (r1.2 -> r1.3)

-------------- next part --------------
Index: iir.h
===================================================================
RCS file: /home/cvs/src/sys/dev/iir/iir.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/iir/iir.h -L sys/dev/iir/iir.h -u -r1.2 -r1.3
--- sys/dev/iir/iir.h
+++ sys/dev/iir/iir.h
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.13.2.1 2006/03/12 16:38:28 scottl Exp $ */
+/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.16 2007/06/17 05:55:50 scottl Exp $ */
 /*-
  *       Copyright (c) 2000-04 ICP vortex GmbH
  *       Copyright (c) 2002-04 Intel Corporation
@@ -590,6 +590,7 @@
 
 /* softc structure */
 struct gdt_softc {
+    device_t sc_devnode;
     int sc_hanum;
     int sc_class;               /* Controller class */
 #define GDT_MPR         0x05
Index: iir_pci.c
===================================================================
RCS file: /home/cvs/src/sys/dev/iir/iir_pci.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/iir/iir_pci.c -L sys/dev/iir/iir_pci.c -u -r1.2 -r1.3
--- sys/dev/iir/iir_pci.c
+++ sys/dev/iir/iir_pci.c
@@ -31,7 +31,7 @@
 
 #ident "$Id: iir_pci.c 1.2 2003/08/26 12:29:55 achim Exp $"
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iir/iir_pci.c,v 1.15.2.1 2006/03/12 16:38:28 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iir/iir_pci.c,v 1.20 2007/06/17 05:55:50 scottl Exp $");
 
 /*
  *  iir_pci.c:  PCI Bus Attachment for Intel Integrated RAID Controller driver
@@ -56,7 +56,6 @@
 
 #include <machine/bus.h> 
 #include <machine/resource.h>
-#include <machine/clock.h>
 #include <sys/rman.h>
 
 #include <dev/pci/pcireg.h>
@@ -159,6 +158,8 @@
 static devclass_t iir_devclass;
 
 DRIVER_MODULE(iir, pci, iir_pci_driver, iir_devclass, 0, 0);
+MODULE_DEPEND(iir, pci, 1, 1, 1);
+MODULE_DEPEND(iir, cam, 1, 1, 1);
 
 static int
 iir_pci_probe(device_t dev)
@@ -208,7 +209,7 @@
     }
 
     gdt = device_get_softc(dev);
-    bzero(gdt, sizeof(struct gdt_softc));
+    gdt->sc_devnode = dev;
     gdt->sc_init_level = 0;
     gdt->sc_dpmemt = rman_get_bustag(io);
     gdt->sc_dpmemh = rman_get_bushandle(io);
@@ -343,7 +344,7 @@
 
     /* associate interrupt handler */
     if (bus_setup_intr( dev, irq, INTR_TYPE_CAM, 
-                        iir_intr, gdt, &ih )) {
+                        NULL, iir_intr, gdt, &ih )) {
         device_printf(dev, "Unable to register interrupt handler\n");
         error = ENXIO;
         goto err;
Index: iir.c
===================================================================
RCS file: /home/cvs/src/sys/dev/iir/iir.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/iir/iir.c -L sys/dev/iir/iir.c -u -r1.2 -r1.3
--- sys/dev/iir/iir.c
+++ sys/dev/iir/iir.c
@@ -43,7 +43,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.13.2.1 2006/03/12 16:38:28 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.19 2007/06/17 05:55:50 scottl Exp $");
 
 #define _IIR_C_
 
@@ -57,7 +57,6 @@
 #include <sys/bus.h>
 
 #include <machine/bus.h>
-#include <machine/clock.h>
 #include <machine/stdarg.h>
 
 #include <cam/cam.h>
@@ -503,9 +502,10 @@
          * Construct our SIM entry
          */
         gdt->sims[i] = cam_sim_alloc(iir_action, iir_poll, "iir",
-                                     gdt, gdt->sc_hanum, /*untagged*/1,
+                                     gdt, gdt->sc_hanum, &Giant,
+				     /*untagged*/1,
                                      /*tagged*/GDT_MAXCMDS, devq);
-        if (xpt_bus_register(gdt->sims[i], i) != CAM_SUCCESS) {
+        if (xpt_bus_register(gdt->sims[i], gdt->sc_devnode, i) != CAM_SUCCESS) {
             cam_sim_free(gdt->sims[i], /*free_devq*/i == 0);
             break;
         }
@@ -1349,23 +1349,28 @@
       case XPT_GET_TRAN_SETTINGS:
         /* Get default/user set transfer settings for the target */
           {
-              struct        ccb_trans_settings *cts;
-              u_int target_mask;
-              
-              cts = &ccb->cts;
-              target_mask = 0x01 << target;
-              if ((cts->flags & CCB_TRANS_USER_SETTINGS) != 0) { 
-                  cts->flags = CCB_TRANS_DISC_ENB|CCB_TRANS_TAG_ENB;
-                  cts->bus_width = MSG_EXT_WDTR_BUS_16_BIT;
-                  cts->sync_period = 25; /* 10MHz */
-                  if (cts->sync_period != 0)
-                      cts->sync_offset = 15;
+              struct        ccb_trans_settings *cts = &ccb->cts;
+              struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi;
+              struct ccb_trans_settings_spi *spi = &cts->xport_specific.spi;
+
+              cts->protocol = PROTO_SCSI;
+              cts->protocol_version = SCSI_REV_2;
+              cts->transport = XPORT_SPI;
+              cts->transport_version = 2;
+
+              if (cts->type == CTS_TYPE_USER_SETTINGS) {
+		  spi->flags = CTS_SPI_FLAGS_DISC_ENB;
+                  scsi->flags = CTS_SCSI_FLAGS_TAG_ENB;
+                  spi->bus_width = MSG_EXT_WDTR_BUS_16_BIT;
+                  spi->sync_period = 25; /* 10MHz */
+                  if (spi->sync_period != 0)
+                      spi->sync_offset = 15;
                   
-                  cts->valid = CCB_TRANS_SYNC_RATE_VALID
-                      | CCB_TRANS_SYNC_OFFSET_VALID
-                      | CCB_TRANS_BUS_WIDTH_VALID
-                      | CCB_TRANS_DISC_VALID
-                      | CCB_TRANS_TQ_VALID;
+                  spi->valid = CTS_SPI_VALID_SYNC_RATE
+                      | CTS_SPI_VALID_SYNC_OFFSET
+                      | CTS_SPI_VALID_BUS_WIDTH
+                      | CTS_SPI_VALID_DISC;
+                  scsi->valid = CTS_SCSI_VALID_TQ;
                   ccb->ccb_h.status = CAM_REQ_CMP;
               } else {
                   ccb->ccb_h.status = CAM_FUNC_NOTAVAIL;
@@ -1431,6 +1436,10 @@
               else
                   strncpy(cpi->hba_vid, "ICP vortex ", HBA_IDLEN);
               strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
+              cpi->transport = XPORT_SPI;
+              cpi->transport_version = 2;
+              cpi->protocol = PROTO_SCSI;
+              cpi->protocol_version = SCSI_REV_2;
               cpi->ccb_h.status = CAM_REQ_CMP;
               --gdt_stat.io_count_act;
               xpt_done(ccb);


More information about the Midnightbsd-cvs mailing list