From: Jon Mason <jon.mason@intel.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
Dave Jiang <dave.jiang@intel.com>,
Nicholas Bellinger <nab@linux-iscsi.org>
Subject: [PATCH 14/21] NTB: Fix Sparse Warnings
Date: Sat, 19 Jan 2013 02:02:28 -0700 [thread overview]
Message-ID: <1358586155-23322-15-git-send-email-jon.mason@intel.com> (raw)
In-Reply-To: <1358586155-23322-1-git-send-email-jon.mason@intel.com>
Address the sparse warnings and resulting fallout
Signed-off-by: Jon Mason <jon.mason@intel.com>
---
drivers/ntb/ntb_hw.c | 7 ++++---
drivers/ntb/ntb_hw.h | 4 ++--
drivers/ntb/ntb_transport.c | 32 ++++++++++++++++----------------
3 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/drivers/ntb/ntb_hw.c b/drivers/ntb/ntb_hw.c
index 18cb5dc..b792ccd 100644
--- a/drivers/ntb/ntb_hw.c
+++ b/drivers/ntb/ntb_hw.c
@@ -104,8 +104,9 @@ MODULE_DEVICE_TABLE(pci, ntb_pci_tbl);
*
* RETURNS: An appropriate -ERRNO error value on error, or zero for success.
*/
-int ntb_register_event_callback(struct ntb_device *ndev,
- void (*func)(void *handle, unsigned int event))
+int
+ntb_register_event_callback(struct ntb_device *ndev,
+ void (*func)(void *handle, enum ntb_hw_event event))
{
if (ndev->event_cb)
return -EINVAL;
@@ -344,7 +345,7 @@ int ntb_read_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 *val)
*
* RETURNS: pointer to virtual address, or NULL on error.
*/
-void *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw)
+void __iomem *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw)
{
if (mw > NTB_NUM_MW)
return NULL;
diff --git a/drivers/ntb/ntb_hw.h b/drivers/ntb/ntb_hw.h
index 5e00951..3a3038c 100644
--- a/drivers/ntb/ntb_hw.h
+++ b/drivers/ntb/ntb_hw.h
@@ -165,14 +165,14 @@ int ntb_register_db_callback(struct ntb_device *ndev, unsigned int idx,
void ntb_unregister_db_callback(struct ntb_device *ndev, unsigned int idx);
int ntb_register_event_callback(struct ntb_device *ndev,
void (*event_cb_func) (void *handle,
- unsigned int event));
+ enum ntb_hw_event event));
void ntb_unregister_event_callback(struct ntb_device *ndev);
int ntb_get_max_spads(struct ntb_device *ndev);
int ntb_write_local_spad(struct ntb_device *ndev, unsigned int idx, u32 val);
int ntb_read_local_spad(struct ntb_device *ndev, unsigned int idx, u32 *val);
int ntb_write_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 val);
int ntb_read_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 *val);
-void *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw);
+void __iomem *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw);
resource_size_t ntb_get_mw_size(struct ntb_device *ndev, unsigned int mw);
void ntb_ring_sdb(struct ntb_device *ndev, unsigned int idx);
void *ntb_find_transport(struct pci_dev *pdev);
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index b3afb24..e0bdfd7 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -58,7 +58,7 @@
#include <linux/ntb.h>
#include "ntb_hw.h"
-#define NTB_TRANSPORT_VERSION 1
+#define NTB_TRANSPORT_VERSION 2
static unsigned int transport_mtu = 0x401E;
module_param(transport_mtu, uint, 0644);
@@ -91,14 +91,14 @@ struct ntb_transport_qp {
bool qp_link;
u8 qp_num; /* Only 64 QP's are allowed. 0-63 */
- struct ntb_rx_info *rx_info;
+ struct ntb_rx_info __iomem *rx_info;
struct ntb_rx_info *remote_rx_info;
void (*tx_handler) (struct ntb_transport_qp *qp, void *qp_data,
void *data, int len);
struct list_head tx_free_q;
spinlock_t ntb_tx_free_q_lock;
- void *tx_mw;
+ void __iomem *tx_mw;
unsigned int tx_index;
unsigned int tx_max_entry;
unsigned int tx_max_frame;
@@ -166,7 +166,7 @@ enum {
};
struct ntb_payload_header {
- u64 ver;
+ unsigned int ver;
unsigned int len;
unsigned int flags;
};
@@ -474,7 +474,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt,
u8 mw_num = QP_TO_MW(qp_num);
unsigned int i;
- WARN_ON(nt->mw[mw_num].virt_addr == 0);
+ WARN_ON(nt->mw[mw_num].virt_addr == NULL);
if (nt->max_qps % NTB_NUM_MW && mw_num < nt->max_qps % NTB_NUM_MW)
num_qps_mw = nt->max_qps / NTB_NUM_MW + 1;
@@ -933,7 +933,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q);
if (!entry) {
dev_dbg(&ntb_query_pdev(qp->ndev)->dev,
- "no buffer - HDR ver %llu, len %d, flags %x\n",
+ "no buffer - HDR ver %u, len %d, flags %x\n",
hdr->ver, hdr->len, hdr->flags);
qp->rx_err_no_buf++;
return -ENOMEM;
@@ -946,9 +946,9 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
return -EAGAIN;
}
- if (hdr->ver != qp->rx_pkts) {
+ if (hdr->ver != (u32) qp->rx_pkts) {
dev_dbg(&ntb_query_pdev(qp->ndev)->dev,
- "qp %d: version mismatch, expected %llu - got %llu\n",
+ "qp %d: version mismatch, expected %llu - got %u\n",
qp->qp_num, qp->rx_pkts, hdr->ver);
ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry,
&qp->rx_pend_q);
@@ -965,7 +965,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
}
dev_dbg(&ntb_query_pdev(qp->ndev)->dev,
- "rx offset %u, ver %llu - %d payload received, buf size %d\n",
+ "rx offset %u, ver %u - %d payload received, buf size %d\n",
qp->rx_index, hdr->ver, hdr->len, entry->len);
if (hdr->len <= entry->len) {
@@ -988,7 +988,7 @@ out:
/* Ensure that the data is fully copied out before clearing the flag */
wmb();
hdr->flags = 0;
- qp->rx_info->entry = qp->rx_index;
+ iowrite32(qp->rx_index, &qp->rx_info->entry);
qp->rx_index++;
qp->rx_index %= qp->rx_max_entry;
@@ -1018,19 +1018,19 @@ static void ntb_transport_rxc_db(void *data, int db_num)
static void ntb_tx_copy_task(struct ntb_transport_qp *qp,
struct ntb_queue_entry *entry,
- void *offset)
+ void __iomem *offset)
{
- struct ntb_payload_header *hdr;
+ struct ntb_payload_header __iomem *hdr;
memcpy_toio(offset, entry->buf, entry->len);
hdr = offset + qp->tx_max_frame - sizeof(struct ntb_payload_header);
- hdr->len = entry->len;
- hdr->ver = qp->tx_pkts;
+ iowrite32(entry->len, &hdr->len);
+ iowrite32((u32) qp->tx_pkts, &hdr->ver);
/* Ensure that the data is fully copied out before setting the flag */
wmb();
- hdr->flags = entry->flags | DESC_DONE_FLAG;
+ iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags);
ntb_ring_sdb(qp->ndev, qp->qp_num);
@@ -1052,7 +1052,7 @@ static void ntb_tx_copy_task(struct ntb_transport_qp *qp,
static int ntb_process_tx(struct ntb_transport_qp *qp,
struct ntb_queue_entry *entry)
{
- void *offset;
+ void __iomem *offset;
offset = qp->tx_mw + qp->tx_max_frame * qp->tx_index;
--
1.7.9.5
next prev parent reply other threads:[~2013-01-19 9:08 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-19 9:02 [PATCH 0/21] NTB and ntb_netdev patches Jon Mason
2013-01-19 9:02 ` [PATCH 01/21] NTB: correct missing readq/writeq errors Jon Mason
2013-01-20 23:40 ` Greg KH
2013-01-21 17:38 ` Jon Mason
2013-01-21 18:23 ` Greg KH
2013-01-21 20:34 ` Ben Hutchings
2013-01-21 20:47 ` Greg KH
2013-01-19 9:02 ` [PATCH 02/21] NTB: Handle ntb client device probes without present hardware Jon Mason
2013-01-19 9:02 ` [PATCH 03/21] NTB: correct memory barrier Jon Mason
2013-01-19 9:02 ` [PATCH 04/21] NTB: separate transmit and receive windows Jon Mason
2013-01-19 9:02 ` [PATCH 05/21] NTB: No sleeping in interrupt context Jon Mason
2013-01-19 9:02 ` [PATCH 06/21] NTB: use simple_open for debugfs Jon Mason
2013-01-19 9:02 ` [PATCH 07/21] NTB: zero PCI driver data Jon Mason
2013-01-20 23:41 ` Greg KH
2013-01-19 9:02 ` [PATCH 08/21] NTB: declare unused variables Jon Mason
2013-01-20 23:42 ` Greg KH
2013-01-21 17:50 ` Jon Mason
2013-01-21 18:25 ` Greg KH
2013-01-19 9:02 ` [PATCH 09/21] NTB: namespacecheck cleanups Jon Mason
2013-01-19 9:02 ` [PATCH 10/21] NTB: whitespace cleanups Jon Mason
2013-01-19 9:02 ` [PATCH 11/21] NTB: correct stack usage warning in debugfs_read Jon Mason
2013-01-19 9:02 ` [PATCH 12/21] NTB: Remove reads across NTB Jon Mason
2013-01-19 9:02 ` [PATCH 13/21] NTB: Out of free receive entries issue Jon Mason
2013-01-19 9:02 ` Jon Mason [this message]
2013-01-20 23:45 ` [PATCH 14/21] NTB: Fix Sparse Warnings Greg KH
2013-01-21 21:13 ` Jon Mason
2013-01-21 21:37 ` Greg KH
2013-01-21 22:28 ` Jon Mason
2013-01-19 9:02 ` [PATCH 15/21] NTB: Update Version Jon Mason
2013-01-20 23:47 ` Greg KH
2013-01-21 17:57 ` Jon Mason
2013-01-21 18:26 ` Greg KH
2013-01-19 9:02 ` [PATCH 16/21] ntb_netdev: remove init/exit from probe/remove Jon Mason
2013-01-19 9:02 ` [PATCH 17/21] ntb_netdev: correct skb leak Jon Mason
2013-01-19 9:02 ` [PATCH 18/21] ntb_netdev: remove tx timeout Jon Mason
2013-01-19 9:02 ` [PATCH 19/21] ntb_netdev: declare unused variables and fix missing initializer Jon Mason
2013-01-20 23:47 ` Greg KH
2013-01-19 9:02 ` [PATCH 20/21] ntb_netdev: improve logging Jon Mason
2013-01-19 18:51 ` Joe Perches
2013-01-19 9:02 ` [PATCH 21/21] ntb_netdev: Update Version Jon Mason
2013-01-20 23:48 ` [PATCH 0/21] NTB and ntb_netdev patches Greg KH
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=1358586155-23322-15-git-send-email-jon.mason@intel.com \
--to=jon.mason@intel.com \
--cc=dave.jiang@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nab@linux-iscsi.org \
--cc=netdev@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.