DeviceQueue: Solarflare driver removed mac stats cap transfer
authorRoni Häcki <roni.haecki@inf.ethz.ch>
Thu, 8 Sep 2016 12:12:02 +0000 (14:12 +0200)
committerRoni Häcki <roni.haecki@inf.ethz.ch>
Thu, 8 Sep 2016 12:12:02 +0000 (14:12 +0200)
Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

if/sfn5122f.if
usr/drivers/solarflare/sfn5122f_cdriver.c
usr/drivers/solarflare/sfn5122f_qdriver.c

index ef51a47..15c1944 100644 (file)
@@ -17,7 +17,7 @@ interface sfn5122f "sfn5122f queue management interface" {
     alias qid uint16;
 
     message request_device_info();
-    message queue_init_data(cap registers, uint64 macaddr, cap mac_stat);
+    message queue_init_data(cap registers, uint64 macaddr);
 
     /* Upon initialization the queue driver registers its memory with
        the device manager. */
@@ -58,18 +58,4 @@ interface sfn5122f "sfn5122f queue management interface" {
 
     message unregister_filter(uint64 filter);
     message filter_unregistered(uint64 filter, errval err);
-
-    /*****************************************************
-     * Control path for userspace networking
-     * (used by  interface_raw.c)
-     *****************************************************/
- /*     
-    call get_queue(uint16 qid);
-    response get_queue_response(cap rx, 
-                                cap tx,
-                                cap registers,
-                                uint32 rx_size,
-                                uint32 tx_size,
-                                bool userspace);
-*/
 };
index 38cbada..ee1bf99 100644 (file)
@@ -181,7 +181,7 @@ void qd_main(void) __attribute__((weak));
 void qd_argument(const char *arg) __attribute__((weak));
 void qd_interrupt(void) __attribute__((weak));
 void qd_queue_init_data(struct sfn5122f_binding *b, struct capref registers,
-        uint64_t macaddr, struct capref mac_stat) __attribute__((weak));
+                        uint64_t macaddr) __attribute__((weak));
 void qd_queue_memory_registered(struct sfn5122f_binding *b) __attribute__((weak));
 void qd_write_queue_tails(struct sfn5122f_binding *b) __attribute__((weak));
 
@@ -1155,13 +1155,11 @@ static void interrupt_handler(void* arg)
 
 static void idc_queue_init_data(struct sfn5122f_binding *b,
                                 struct capref registers,
-                                uint64_t macaddr,
-                                struct capref mac_stat)
-                                  
+                                uint64_t macaddr)
 {
     errval_t r;
 
-    r = sfn5122f_queue_init_data__tx(b, NOP_CONT, registers, macaddr, mac_stat);
+    r = sfn5122f_queue_init_data__tx(b, NOP_CONT, registers, macaddr);
     // TODO: handle busy
     assert(err_is_ok(r));
 }
@@ -1202,10 +1200,10 @@ static void idc_queue_terminated(struct sfn5122f_binding *b)
 void cd_request_device_info(struct sfn5122f_binding *b)
 {
     if (b == NULL) {
-        qd_queue_init_data(b, *regframe, d_mac[pci_function], mac_stats);
+        qd_queue_init_data(b, *regframe, d_mac[pci_function]);
         return;
     }
-    idc_queue_init_data(b, *regframe, d_mac[pci_function], mac_stats);
+    idc_queue_init_data(b, *regframe, d_mac[pci_function]);
 }
 
 /** Request from queue driver to initialize hardware queue. */
@@ -1559,9 +1557,7 @@ int main(int argc, char** argv)
 
     parse_cmdline(argc, argv);
     /* Register our device driver */
-    printf("SFN5122F register PCI\n");
     r = pci_client_connect();
-    printf("SFN5122F register PCI end \n");
     assert(err_is_ok(r));
     r = pci_register_driver_irq(pci_init_card, PCI_CLASS_ETHERNET,
                                 PCI_DONT_CARE, PCI_DONT_CARE, 
@@ -1569,7 +1565,6 @@ int main(int argc, char** argv)
                                 pci_bus, pci_device, pci_function, 
                                 interrupt_handler, NULL);
 
-    printf("SFN5122F register driver end \n");
     while (!initialized) {
         event_dispatch(get_default_waitset());
     }
index 03ee301..59f8746 100644 (file)
@@ -41,7 +41,7 @@ static void idc_register_queue_memory(uint8_t queue,
 static void idc_terminate_queue(void);
 
 void qd_queue_init_data(struct sfn5122f_binding *b, struct capref registers,
-        uint64_t macaddr, struct capref mac_stat);
+        uint64_t macaddr);
 void qd_queue_memory_registered(struct sfn5122f_binding *b);
 void qd_write_queue_tails(struct sfn5122f_binding *b);
 
@@ -91,8 +91,6 @@ static struct capref rx_frame;
 /** Capability for hardware EV ring */
 static struct capref ev_frame;
 
-/** Capability for MAC statistics */
-static struct capref mac_stats;
 //static void* mac_virt;
 uint64_t mac_stats_array[NUM_MAC_STATS];
 
@@ -398,7 +396,7 @@ static void idc_register_queue_memory(uint8_t queue,
 
 // Callback from device manager
 void qd_queue_init_data(struct sfn5122f_binding *b, struct capref registers,
-                        uint64_t macaddr, struct capref mac_stat)
+                        uint64_t macaddr)
 {
     struct frame_identity frameid = { .base = 0, .bytes = 0 };
     errval_t err;
@@ -407,7 +405,6 @@ void qd_queue_init_data(struct sfn5122f_binding *b, struct capref registers,
     DEBUG_QUEUE("idc_queue_init_data\n");
 
     mac_address = macaddr;
-    mac_stats = mac_stat;
 
     // Map device registers
     invoke_frame_identify(registers, &frameid);