Commit 74465645 authored by Jon Mason's avatar Jon Mason Committed by Greg Kroah-Hartman

NTB: Fix Sparse Warnings

Address the sparse warnings and resulting fallout
Signed-off-by: default avatarJon Mason <jon.mason@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 719234f9
...@@ -104,7 +104,7 @@ MODULE_DEVICE_TABLE(pci, ntb_pci_tbl); ...@@ -104,7 +104,7 @@ MODULE_DEVICE_TABLE(pci, ntb_pci_tbl);
* RETURNS: An appropriate -ERRNO error value on error, or zero for success. * RETURNS: An appropriate -ERRNO error value on error, or zero for success.
*/ */
int ntb_register_event_callback(struct ntb_device *ndev, int ntb_register_event_callback(struct ntb_device *ndev,
void (*func)(void *handle, unsigned int event)) void (*func)(void *handle, enum ntb_hw_event event))
{ {
if (ndev->event_cb) if (ndev->event_cb)
return -EINVAL; return -EINVAL;
...@@ -343,7 +343,7 @@ int ntb_read_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 *val) ...@@ -343,7 +343,7 @@ int ntb_read_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 *val)
* *
* RETURNS: pointer to virtual address, or NULL on error. * 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) if (mw > NTB_NUM_MW)
return NULL; return NULL;
......
...@@ -165,14 +165,14 @@ int ntb_register_db_callback(struct ntb_device *ndev, unsigned int idx, ...@@ -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); void ntb_unregister_db_callback(struct ntb_device *ndev, unsigned int idx);
int ntb_register_event_callback(struct ntb_device *ndev, int ntb_register_event_callback(struct ntb_device *ndev,
void (*event_cb_func) (void *handle, void (*event_cb_func) (void *handle,
unsigned int event)); enum ntb_hw_event event));
void ntb_unregister_event_callback(struct ntb_device *ndev); void ntb_unregister_event_callback(struct ntb_device *ndev);
int ntb_get_max_spads(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_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_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_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); 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); 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_ring_sdb(struct ntb_device *ndev, unsigned int idx);
void *ntb_find_transport(struct pci_dev *pdev); void *ntb_find_transport(struct pci_dev *pdev);
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
#include <linux/ntb.h> #include <linux/ntb.h>
#include "ntb_hw.h" #include "ntb_hw.h"
#define NTB_TRANSPORT_VERSION 1 #define NTB_TRANSPORT_VERSION 2
static unsigned int transport_mtu = 0x401E; static unsigned int transport_mtu = 0x401E;
module_param(transport_mtu, uint, 0644); module_param(transport_mtu, uint, 0644);
...@@ -91,14 +91,14 @@ struct ntb_transport_qp { ...@@ -91,14 +91,14 @@ struct ntb_transport_qp {
bool qp_link; bool qp_link;
u8 qp_num; /* Only 64 QP's are allowed. 0-63 */ 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; struct ntb_rx_info *remote_rx_info;
void (*tx_handler) (struct ntb_transport_qp *qp, void *qp_data, void (*tx_handler) (struct ntb_transport_qp *qp, void *qp_data,
void *data, int len); void *data, int len);
struct list_head tx_free_q; struct list_head tx_free_q;
spinlock_t ntb_tx_free_q_lock; spinlock_t ntb_tx_free_q_lock;
void *tx_mw; void __iomem *tx_mw;
unsigned int tx_index; unsigned int tx_index;
unsigned int tx_max_entry; unsigned int tx_max_entry;
unsigned int tx_max_frame; unsigned int tx_max_frame;
...@@ -166,7 +166,7 @@ enum { ...@@ -166,7 +166,7 @@ enum {
}; };
struct ntb_payload_header { struct ntb_payload_header {
u64 ver; unsigned int ver;
unsigned int len; unsigned int len;
unsigned int flags; unsigned int flags;
}; };
...@@ -474,7 +474,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt, ...@@ -474,7 +474,7 @@ static void ntb_transport_setup_qp_mw(struct ntb_transport *nt,
u8 mw_num = QP_TO_MW(qp_num); u8 mw_num = QP_TO_MW(qp_num);
unsigned int i; 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) 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; num_qps_mw = nt->max_qps / NTB_NUM_MW + 1;
...@@ -933,7 +933,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp) ...@@ -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); entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q);
if (!entry) { if (!entry) {
dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 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); hdr->ver, hdr->len, hdr->flags);
qp->rx_err_no_buf++; qp->rx_err_no_buf++;
return -ENOMEM; return -ENOMEM;
...@@ -946,9 +946,9 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp) ...@@ -946,9 +946,9 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
return -EAGAIN; return -EAGAIN;
} }
if (hdr->ver != qp->rx_pkts) { if (hdr->ver != (u32) qp->rx_pkts) {
dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 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); qp->qp_num, qp->rx_pkts, hdr->ver);
ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry,
&qp->rx_pend_q); &qp->rx_pend_q);
...@@ -965,7 +965,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp) ...@@ -965,7 +965,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
} }
dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 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); qp->rx_index, hdr->ver, hdr->len, entry->len);
if (hdr->len <= entry->len) { if (hdr->len <= entry->len) {
...@@ -988,7 +988,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp) ...@@ -988,7 +988,7 @@ static int ntb_process_rxc(struct ntb_transport_qp *qp)
/* Ensure that the data is fully copied out before clearing the flag */ /* Ensure that the data is fully copied out before clearing the flag */
wmb(); wmb();
hdr->flags = 0; 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_index %= qp->rx_max_entry; qp->rx_index %= qp->rx_max_entry;
...@@ -1018,19 +1018,19 @@ static void ntb_transport_rxc_db(void *data, int db_num) ...@@ -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, static void ntb_tx_copy_task(struct ntb_transport_qp *qp,
struct ntb_queue_entry *entry, 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); memcpy_toio(offset, entry->buf, entry->len);
hdr = offset + qp->tx_max_frame - sizeof(struct ntb_payload_header); hdr = offset + qp->tx_max_frame - sizeof(struct ntb_payload_header);
hdr->len = entry->len; iowrite32(entry->len, &hdr->len);
hdr->ver = qp->tx_pkts; iowrite32((u32) qp->tx_pkts, &hdr->ver);
/* Ensure that the data is fully copied out before setting the flag */ /* Ensure that the data is fully copied out before setting the flag */
wmb(); wmb();
hdr->flags = entry->flags | DESC_DONE_FLAG; iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags);
ntb_ring_sdb(qp->ndev, qp->qp_num); ntb_ring_sdb(qp->ndev, qp->qp_num);
...@@ -1052,7 +1052,7 @@ static void ntb_tx_copy_task(struct ntb_transport_qp *qp, ...@@ -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, static int ntb_process_tx(struct ntb_transport_qp *qp,
struct ntb_queue_entry *entry) struct ntb_queue_entry *entry)
{ {
void *offset; void __iomem *offset;
offset = qp->tx_mw + qp->tx_max_frame * qp->tx_index; offset = qp->tx_mw + qp->tx_max_frame * qp->tx_index;
......
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