From: Jon Mason <jon.mason@intel.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 5/9] NTB: client event cleanup
Date: Mon, 7 Apr 2014 17:52:50 -0700 [thread overview]
Message-ID: <1396918374-5196-6-git-send-email-jon.mason@intel.com> (raw)
In-Reply-To: <1396918374-5196-1-git-send-email-jon.mason@intel.com>
Provide a better event interface between the client and transport
Signed-off-by: Jon Mason <jon.mason@intel.com>
---
drivers/net/ntb_netdev.c | 16 ++++++++++++----
drivers/ntb/ntb_hw.h | 4 +---
drivers/ntb/ntb_transport.c | 1 -
include/linux/ntb.h | 5 +++++
4 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ntb_netdev.c b/drivers/net/ntb_netdev.c
index 8e6752f..14570b2 100644
--- a/drivers/net/ntb_netdev.c
+++ b/drivers/net/ntb_netdev.c
@@ -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,
diff --git a/drivers/ntb/ntb_hw.h b/drivers/ntb/ntb_hw.h
index bbdb7ed..d1960ff 100644
--- a/drivers/ntb/ntb_hw.h
+++ b/drivers/ntb/ntb_hw.h
@@ -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
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 3217f39..042fb3d 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -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
diff --git a/include/linux/ntb.h b/include/linux/ntb.h
index f6a1520..cbc792c 100644
--- a/include/linux/ntb.h
+++ b/include/linux/ntb.h
@@ -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);
--
1.8.3.2
next prev parent reply other threads:[~2014-04-08 0:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 0:52 [PATCH 0/9] NTB Update Jon Mason
2014-04-08 0:52 ` [PATCH 1/9] ntb_netdev: Fix list_for_each_entry exit issue Jon Mason
2014-04-08 0:52 ` [PATCH 2/9] ntb_netdev: Fix skb free issue in open Jon Mason
2014-04-08 0:52 ` [PATCH 3/9] NTB: Fix typo in setting one translation register Jon Mason
2014-04-08 0:52 ` [PATCH 4/9] ntb: Fix leakage of ntb_device::msix_entries[] array Jon Mason
2014-04-08 0:52 ` Jon Mason [this message]
2014-04-08 0:52 ` [PATCH 6/9] NTB: Code Style Clean-up Jon Mason
2014-04-08 0:52 ` [PATCH 7/9] ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs Jon Mason
2014-04-08 0:52 ` [PATCH 8/9] ntb: Split ntb_setup_msix() into separate BWD/SNB routines Jon Mason
2014-04-08 0:52 ` [PATCH 9/9] ntb: Use pci_enable_msix_range() instead of pci_enable_msix() Jon Mason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1396918374-5196-6-git-send-email-jon.mason@intel.com \
--to=jon.mason@intel.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).