Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -78,11 +78,19 @@ static void ntb_netdev_event_handler(void *data, int status)
	netdev_dbg(ndev, "Event %x, Link %x\n", status,
		   ntb_transport_link_query(dev->qp));

	/* Currently, only link status event is supported */
	if (status)
		netif_carrier_on(ndev);
	else
	switch (status) {
	case NTB_LINK_DOWN:
		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,
+1 −3
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
 * Contact Information:
 * 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_PS_JSF		0x3726
@@ -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) |\
				 (1 << NTB_BAR_45))

#define NTB_LINK_DOWN		0
#define NTB_LINK_UP		1

#define NTB_HB_TIMEOUT		msecs_to_jiffies(1000)

#define NTB_MAX_NUM_MW		2
+0 −1
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/ntb.h>
#include "ntb_hw.h"

#define NTB_TRANSPORT_VERSION	3
+5 −0
Original line number Diff line number Diff line
@@ -54,6 +54,11 @@ struct ntb_client {
	void (*remove) (struct pci_dev *pdev);
};

enum {
	NTB_LINK_DOWN = 0,
	NTB_LINK_UP,
};

int ntb_register_client(struct ntb_client *drvr);
void ntb_unregister_client(struct ntb_client *drvr);
int ntb_register_client_dev(char *device_name);