enet: add toggle for debug output
authorRoni Häcki <roni.haecki@inf.ethz.ch>
Fri, 6 Mar 2020 14:44:20 +0000 (15:44 +0100)
committerRoni Häcki <roni.haecki@inf.ethz.ch>
Fri, 6 Mar 2020 14:59:28 +0000 (15:59 +0100)
Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

usr/drivers/enet/enet.h
usr/drivers/enet/enet_devq.c
usr/drivers/enet/enet_module.c

index a123329..0087478 100644 (file)
 #ifndef ENET_H_
 #define ENET_H_
 
+
+//#define ENET_DEBUG_OPTION 1
+
+#if defined(ENET_DEBUG_OPTION)
 #define ENET_DEBUG(x...) debug_printf("[enet] " x);
+#else
+#define ENET_DEBUG(fmt, ...) ((void)0)
+#endif
+
 
 #define ENET_PROMISC
 
index f9e122f..50b4a98 100644 (file)
@@ -253,7 +253,7 @@ static errval_t enet_tx_enqueue(struct devq* que, regionid_t rid, genoffset_t of
     }
 
     if (timeout == 0) {
-        debug_printf("Failed sending!! \n");
+        ENET_DEBUG("Failed sending!! \n");
         return NIC_ERR_TX_PKT;
     } else {
         q->tail = (q->tail + 1) & (q->size -1);
@@ -312,7 +312,7 @@ errval_t enet_rx_queue_create(struct enet_queue ** q, struct capref* ep,
                               struct capref* regs, void(*int_handler)(void*))
 {
     errval_t err;
-    debug_printf("Allocating rx device queue \n");
+    ENET_DEBUG("Allocating rx device queue \n");
     struct enet_queue* rxq;
     rxq = calloc(1, sizeof(struct enet_queue));
     assert(rxq);
@@ -370,7 +370,7 @@ errval_t enet_rx_queue_create(struct enet_queue ** q, struct capref* ep,
     assert(rxq->ring_bufs);
 
     enet_bufdesc_t desc;
-    debug_printf("RX %p ring init to default values \n", rxq->ring);
+    ENET_DEBUG("RX %p ring init to default values \n", rxq->ring);
     for (int i = 0; i < rxq->size; i++) {
         desc = rxq->ring[i];
         enet_bufdesc_sc_insert(desc, 0);
@@ -387,7 +387,7 @@ errval_t enet_rx_queue_create(struct enet_queue ** q, struct capref* ep,
 
     err = devq_init(&rxq->q, false);
     if (err_is_fail(err)) {
-        debug_printf("enet devq_init error\n");
+        ENET_DEBUG("enet devq_init error\n");
         return err;
     }
 
@@ -405,7 +405,7 @@ errval_t enet_tx_queue_create(struct enet_queue ** q, struct capref* ep,
                               struct capref* regs, void(*int_handler)(void*))
 {
     errval_t err;
-    debug_printf("Allocating rx device queue \n");
+    ENET_DEBUG("Allocating rx device queue \n");
     struct enet_queue* txq;
     txq = calloc(1, sizeof(struct enet_queue));
     txq->size = TX_RING_SIZE;
@@ -423,14 +423,14 @@ errval_t enet_tx_queue_create(struct enet_queue ** q, struct capref* ep,
 
     txq->align = 0x3f;
 
-    debug_printf("Allocating TX descriptor ring \n");
+    ENET_DEBUG("Allocating TX descriptor ring \n");
     size_t tot_size = (txq->size)*sizeof(enet_bufdesc_t);
     err = frame_alloc(&(txq->desc_mem.mem), tot_size, (size_t *)&(txq->desc_mem.size));
     if (err_is_fail(err)) {
         return err;
     }
 
-    debug_printf("Mapping RX/TX descriptor ring\n");
+    ENET_DEBUG("Mapping RX/TX descriptor ring\n");
     err = vspace_map_one_frame_attr((void**) &(txq->desc_mem.vbase), tot_size, 
                                     txq->desc_mem.mem, VREGION_FLAGS_READ_WRITE_NOCACHE, 
                                     NULL, NULL);
@@ -459,7 +459,7 @@ errval_t enet_tx_queue_create(struct enet_queue ** q, struct capref* ep,
     txq->ring_bufs = calloc(txq->size, sizeof(struct devq_buf));
     assert(txq->ring_bufs);
 
-    debug_printf("TX %p ring init to default values \n", txq->ring);
+    ENET_DEBUG("TX %p ring init to default values \n", txq->ring);
 
     enet_bufdesc_t desc;
     // init send buffer descriptors
index e8f11dd..c92fdd0 100644 (file)
@@ -95,7 +95,7 @@ static errval_t enet_read_mdio(struct enet_driver_state* st, int8_t phyaddr,
 
     uint16_t tries = 1000;
     while (!(enet_eir_mii_rdf(st->d) & 0x1)) {
-        barrelfish_usleep(10);
+        some_sleep(10);
         tries--;
         if (tries == 0) {
             return ENET_ERR_MDIO_WRITE;
@@ -162,7 +162,7 @@ static errval_t enet_reset_phy(struct enet_driver_state* st)
             return err;
         }   
     
-        barrelfish_usleep(1000);
+        some_sleep(1000);
         timeout--;
     }
 
@@ -340,7 +340,8 @@ static errval_t enet_phy_startup(struct enet_driver_state* st)
     }
     
     if (!(mii_reg & PHY_STATUS_ANEG_COMP)) {
-        ENET_DEBUG("Staring autonegotiation \n");
+
+        debug_printf("[enet] Staring autonegotiation \n");
         while(!(mii_reg & PHY_STATUS_ANEG_COMP))  {
             err = enet_read_mdio(st, PHY_ID, PHY_STATUS_CMD, &mii_reg);
             assert(err_is_ok(err));
@@ -574,12 +575,14 @@ static errval_t enet_probe(struct enet_driver_state* st)
     return SYS_ERR_OK;
 }
 
+/*
 uint16_t packet[21] = { 0xffff, 0xffff, 0xffff, 0x7b50,
                         0x2b9d, 0xbe1c, 0x0608, 0x0100,
                         0x0008, 0x0406, 0x0100, 0x7b50,
                         0x2b9d, 0xbe1c, 0x050a, 0xd629,
                         0x0000, 0x0000, 0x0000, 0x6e0a,
                         0x0404};
+*/
 /*
 static void print_tx_stats(struct enet_driver_state* st)
 {
@@ -595,6 +598,7 @@ static void print_tx_stats(struct enet_driver_state* st)
 
 }
 */
+/*
 static void* tx_vbase = NULL;
 static errval_t send_pkt(struct enet_driver_state* st, regionid_t rid) 
 {
@@ -636,6 +640,7 @@ static errval_t send_pkt(struct enet_driver_state* st, regionid_t rid)
     //print_tx_stats(st);
     return err;
 }
+*/
 /**
  * Driver initialization function. This function is called by the driver domain
  * (see also 'create_handler' in ddomain_service.c).
@@ -742,6 +747,7 @@ static errval_t init(struct bfdriver_instance* bfi, uint64_t flags, iref_t* dev)
     }
 
 
+    /*
     struct devq_buf buf;
     while(true) {
         err = devq_dequeue((struct devq*) st->rxq, &buf.rid, &buf.offset,
@@ -758,6 +764,7 @@ static errval_t init(struct bfdriver_instance* bfi, uint64_t flags, iref_t* dev)
         }
 
     }
+    */
     *dev = 0x00;
 
     return SYS_ERR_OK;