Commit 403c63cb authored by Jon Mason's avatar Jon Mason

NTB: client event cleanup

Provide a better event interface between the client and transport
Signed-off-by: default avatarJon Mason <jon.mason@intel.com>
parent 717e8e8b
...@@ -78,11 +78,19 @@ static void ntb_netdev_event_handler(void *data, int status) ...@@ -78,11 +78,19 @@ static void ntb_netdev_event_handler(void *data, int status)
netdev_dbg(ndev, "Event %x, Link %x\n", status, netdev_dbg(ndev, "Event %x, Link %x\n", status,
ntb_transport_link_query(dev->qp)); ntb_transport_link_query(dev->qp));
/* Currently, only link status event is supported */ switch (status) {
if (status) case NTB_LINK_DOWN:
netif_carrier_on(ndev);
else
netif_carrier_off(ndev); netif_carrier_off(ndev);
break;
case NTB_LINK_UP:
if (!ntb_transport_link_query(dev->qp))
return;
netif_carrier_on(ndev);
break;
default:
netdev_warn(ndev, "Unsupported event type %d\n", status);
}
} }
static void ntb_netdev_rx_handler(struct ntb_transport_qp *qp, void *qp_data, static void ntb_netdev_rx_handler(struct ntb_transport_qp *qp, void *qp_data,
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
* Contact Information: * Contact Information:
* Jon Mason <jon.mason@intel.com> * Jon Mason <jon.mason@intel.com>
*/ */
#include <linux/ntb.h>
#define PCI_DEVICE_ID_INTEL_NTB_B2B_JSF 0x3725 #define PCI_DEVICE_ID_INTEL_NTB_B2B_JSF 0x3725
#define PCI_DEVICE_ID_INTEL_NTB_PS_JSF 0x3726 #define PCI_DEVICE_ID_INTEL_NTB_PS_JSF 0x3726
...@@ -83,9 +84,6 @@ static inline void writeq(u64 val, void __iomem *addr) ...@@ -83,9 +84,6 @@ static inline void writeq(u64 val, void __iomem *addr)
#define NTB_BAR_MASK ((1 << NTB_BAR_MMIO) | (1 << NTB_BAR_23) |\ #define NTB_BAR_MASK ((1 << NTB_BAR_MMIO) | (1 << NTB_BAR_23) |\
(1 << NTB_BAR_45)) (1 << NTB_BAR_45))
#define NTB_LINK_DOWN 0
#define NTB_LINK_UP 1
#define NTB_HB_TIMEOUT msecs_to_jiffies(1000) #define NTB_HB_TIMEOUT msecs_to_jiffies(1000)
#define NTB_MAX_NUM_MW 2 #define NTB_MAX_NUM_MW 2
......
...@@ -56,7 +56,6 @@ ...@@ -56,7 +56,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/ntb.h>
#include "ntb_hw.h" #include "ntb_hw.h"
#define NTB_TRANSPORT_VERSION 3 #define NTB_TRANSPORT_VERSION 3
......
...@@ -54,6 +54,11 @@ struct ntb_client { ...@@ -54,6 +54,11 @@ struct ntb_client {
void (*remove) (struct pci_dev *pdev); void (*remove) (struct pci_dev *pdev);
}; };
enum {
NTB_LINK_DOWN = 0,
NTB_LINK_UP,
};
int ntb_register_client(struct ntb_client *drvr); int ntb_register_client(struct ntb_client *drvr);
void ntb_unregister_client(struct ntb_client *drvr); void ntb_unregister_client(struct ntb_client *drvr);
int ntb_register_client_dev(char *device_name); int ntb_register_client_dev(char *device_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment