Another incremental.
authorRon Minnich <rminnich@gmail.com>
Fri, 9 Jan 2015 01:33:42 +0000 (17:33 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 3 Feb 2015 15:12:26 +0000 (10:12 -0500)
now the real fun begins: bxe_elink.c

Signed-off-by: Ron Minnich <rminnich@gmail.com>
kern/drivers/net/bxe/bxe.c
kern/drivers/net/bxe/bxe.h
kern/drivers/net/bxe/bxe_debug.c

index 6f5fecc..c1ba077 100644 (file)
@@ -277,8 +277,9 @@ DRIVER_MODULE(bxe, pci, bxe_driver, bxe_devclass, 0, 0);
 /* resources needed for unloading a previously loaded device */
 
 #define BXE_PREV_WAIT_NEEDED 1
-struct mtx bxe_prev_mtx;
-MTX_SYSINIT(bxe_prev_mtx, &bxe_prev_mtx, "bxe_prev_lock", MTX_DEF);
+qlock bxe_prev_mtx;
+#warning "init bxe_prev_mtx"
+//MTX_SYSINIT(bxe_prev_mtx, &bxe_prev_mtx, "bxe_prev_lock", MTX_DEF);
 struct bxe_prev_list_node {
     LIST_ENTRY(bxe_prev_list_node) node;
     uint8_t bus;
index 24fd66e..3369670 100644 (file)
@@ -57,9 +57,11 @@ typedef uintptr_t vm_offset_t;
 typedef spinlock_t ECORE_MUTEX_SPIN;
 typedef qlock_t ECORE_MUTEX;
 typedef qlock_t mtx;
-#define mtx_lock(x) ilock(x)
-#define mtx_unlock(x) iunlock(x)
+typedef int device_t;
+#define mtx_lock(x) qlock(x)
+#define mtx_unlock(x) qunlock(x)
 #define MTX_ASSERT(lock, thing)
+#define device_printf(ignore, format, args...) printk(format, args)
 
 
 
@@ -515,12 +517,10 @@ struct bxe_fastpath {
     /* pointer back to parent structure */
     struct bxe_adapter *sc;
 #warning "need to fix up the mtx"
-  /*
-    struct mtx tx_mtx;
+    qlock_t tx_mtx;
     char       tx_mtx_name[32];
-    struct mtx rx_mtx;
+    qlock_t rx_mtx;
     char       rx_mtx_name[32];
-  */
 #define BXE_FP_TX_LOCK(fp)        mtx_lock(&fp->tx_mtx)
 #define BXE_FP_TX_UNLOCK(fp)      mtx_unlock(&fp->tx_mtx)
 #define BXE_FP_TX_LOCK_ASSERT(fp) mtx_assert(&fp->tx_mtx, MA_OWNED)
@@ -1394,8 +1394,8 @@ struct bxe_adapter {
     struct bxe_fastpath fp[MAX_RSS_CHAINS];
     struct bxe_sp_objs  sp_objs[MAX_RSS_CHAINS];
 
-    device_t dev;  /* parent device handle */
 #endif
+    device_t dev;  /* parent device handle */
     uint8_t  unit; /* driver instance number */
 
     int pcie_bus;    /* PCIe bus number */
index e541209..feee0df 100644 (file)
@@ -39,7 +39,7 @@ void
 bxe_reg_write8(struct bxe_adapter *sc, bus_size_t offset, uint8_t val)
 {
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%02x\n", offset, val);
-    outb(sc->bar[BAR0].mmio_base64 + offset, val);
+    outb(sc->pdev->bar[BAR0].mmio_base64 + offset, val);
 }
 
 void
@@ -50,7 +50,7 @@ bxe_reg_write16(struct bxe_adapter *sc, bus_size_t offset, uint16_t val)
     }
 
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%04x\n", offset, val);
-    outw(sc->bar[BAR0].mmio_base64 + offset, val);
+    outw(sc->pdev->bar[BAR0].mmio_base64 + offset, val);
 }
 
 void
@@ -61,7 +61,7 @@ bxe_reg_write32(struct bxe_adapter *sc, bus_size_t offset, uint32_t val)
     }
 
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%08x\n", offset, val);
-    outl(sc->bar[BAR0].mmio_base64+offset, val);
+    outl(sc->pdev->bar[BAR0].mmio_base64+offset, val);
 }
 
 uint8_t
@@ -70,7 +70,7 @@ bxe_reg_read8(struct bxe_adapter *sc, bus_size_t offset)
     uint8_t val;
 
     val = inb(
-                           sc->bar[BAR0].mmio_base64  + offset);
+                           sc->pdev->bar[BAR0].mmio_base64  + offset);
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%02x\n", offset, val);
 
     return (val);
@@ -85,7 +85,7 @@ bxe_reg_read16(struct bxe_adapter *sc, bus_size_t offset)
         BLOGD(sc, DBG_REGS, "Unaligned 16-bit read from 0x%08lx\n", offset);
     }
 
-    val = inw(sc->bar[BAR0].mmio_base64 + offset);
+    val = inw(sc->pdev->bar[BAR0].mmio_base64 + offset);
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%08x\n", offset, val);
 
     return (val);
@@ -101,7 +101,7 @@ bxe_reg_read32(struct bxe_adapter *sc, bus_size_t offset)
     }
 
     val = inl(
-                           sc->bar[BAR0].mmio_base64 + offset);
+                           sc->pdev->bar[BAR0].mmio_base64 + offset);
     BLOGD(sc, DBG_REGS, "offset=0x%08lx val=0x%08x\n", offset, val);
 
     return (val);
@@ -166,8 +166,9 @@ elink_cb_dbg3(struct bxe_adapter *sc,
 
 #endif /* ELINK_DEBUG */
 
-extern struct mtx bxe_prev_mtx;
+extern qlock_t bxe_prev_mtx;
 
+#if 0
 void
 bxe_dump_mem(struct bxe_adapter *sc,
              char             *tag,
@@ -205,7 +206,8 @@ bxe_dump_mem(struct bxe_adapter *sc,
 
     mtx_unlock(&bxe_prev_mtx);
 }
-
+#endif
+#if 0
 void
 bxe_dump_mbuf_data(struct bxe_adapter *sc,
                    char             *tag,
@@ -264,6 +266,7 @@ bxe_dump_mbuf_data(struct bxe_adapter *sc,
 
     mtx_unlock(&bxe_prev_mtx);
 }
+#endif
 
 #ifdef DDB