* [PATCH 5/13] cxgb3 - Expose HW memory page info
@ 2007-08-11 6:29 Divy Le Ray
2007-08-14 5:44 ` Jeff Garzik
0 siblings, 1 reply; 3+ messages in thread
From: Divy Le Ray @ 2007-08-11 6:29 UTC (permalink / raw)
To: jeff; +Cc: netdev, linux-kernel, swise
From: Divy Le Ray <divy@chelsio.com>
Let the RDMA driver get HW page info to work around HW issues.
Assign explicit enum values.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
---
drivers/net/cxgb3/cxgb3_ctl_defs.h | 52 +++++++++++++++++++++---------------
drivers/net/cxgb3/cxgb3_offload.c | 7 +++++
2 files changed, 38 insertions(+), 21 deletions(-)
diff --git a/drivers/net/cxgb3/cxgb3_ctl_defs.h b/drivers/net/cxgb3/cxgb3_ctl_defs.h
index 2095dda..6c4f320 100644
--- a/drivers/net/cxgb3/cxgb3_ctl_defs.h
+++ b/drivers/net/cxgb3/cxgb3_ctl_defs.h
@@ -33,27 +33,29 @@
#define _CXGB3_OFFLOAD_CTL_DEFS_H
enum {
- GET_MAX_OUTSTANDING_WR,
- GET_TX_MAX_CHUNK,
- GET_TID_RANGE,
- GET_STID_RANGE,
- GET_RTBL_RANGE,
- GET_L2T_CAPACITY,
- GET_MTUS,
- GET_WR_LEN,
- GET_IFF_FROM_MAC,
- GET_DDP_PARAMS,
- GET_PORTS,
-
- ULP_ISCSI_GET_PARAMS,
- ULP_ISCSI_SET_PARAMS,
-
- RDMA_GET_PARAMS,
- RDMA_CQ_OP,
- RDMA_CQ_SETUP,
- RDMA_CQ_DISABLE,
- RDMA_CTRL_QP_SETUP,
- RDMA_GET_MEM,
+ GET_MAX_OUTSTANDING_WR = 0,
+ GET_TX_MAX_CHUNK = 1,
+ GET_TID_RANGE = 2,
+ GET_STID_RANGE = 3,
+ GET_RTBL_RANGE = 4,
+ GET_L2T_CAPACITY = 5,
+ GET_MTUS = 6,
+ GET_WR_LEN = 7,
+ GET_IFF_FROM_MAC = 8,
+ GET_DDP_PARAMS = 9,
+ GET_PORTS = 10,
+
+ ULP_ISCSI_GET_PARAMS = 11,
+ ULP_ISCSI_SET_PARAMS = 12,
+
+ RDMA_GET_PARAMS = 13,
+ RDMA_CQ_OP = 14,
+ RDMA_CQ_SETUP = 15,
+ RDMA_CQ_DISABLE = 16,
+ RDMA_CTRL_QP_SETUP = 17,
+ RDMA_GET_MEM = 18,
+
+ GET_RX_PAGE_INFO = 50,
};
/*
@@ -161,4 +163,12 @@ struct rdma_ctrlqp_setup {
unsigned long long base_addr;
unsigned int size;
};
+
+/*
+ * Offload TX/RX page information.
+ */
+struct ofld_page_info {
+ unsigned int page_size; /* Page size, should be a power of 2 */
+ unsigned int num; /* Number of pages */
+};
#endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */
diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c
index e620ed4..522c1be 100644
--- a/drivers/net/cxgb3/cxgb3_offload.c
+++ b/drivers/net/cxgb3/cxgb3_offload.c
@@ -317,6 +317,8 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data)
struct iff_mac *iffmacp;
struct ddp_params *ddpp;
struct adap_ports *ports;
+ struct ofld_page_info *rx_page_info;
+ struct tp_params *tp = &adapter->params.tp;
int i;
switch (req) {
@@ -382,6 +384,11 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data)
if (!offload_running(adapter))
return -EAGAIN;
return cxgb_rdma_ctl(adapter, req, data);
+ case GET_RX_PAGE_INFO:
+ rx_page_info = data;
+ rx_page_info->page_size = tp->rx_pg_size;
+ rx_page_info->num = tp->rx_num_pgs;
+ break;
default:
return -EOPNOTSUPP;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 5/13] cxgb3 - Expose HW memory page info
2007-08-11 6:29 [PATCH 5/13] cxgb3 - Expose HW memory page info Divy Le Ray
@ 2007-08-14 5:44 ` Jeff Garzik
2007-08-14 23:27 ` Divy Le Ray
0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2007-08-14 5:44 UTC (permalink / raw)
To: Divy Le Ray; +Cc: netdev, linux-kernel, swise
Divy Le Ray wrote:
> From: Divy Le Ray <divy@chelsio.com>
>
> Let the RDMA driver get HW page info to work around HW issues.
> Assign explicit enum values.
>
> Signed-off-by: Divy Le Ray <divy@chelsio.com>
"HW issues" -- you need to go into far more detail, when adding a new
interface. what hw issues? why was this the best/only solution?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 5/13] cxgb3 - Expose HW memory page info
2007-08-14 5:44 ` Jeff Garzik
@ 2007-08-14 23:27 ` Divy Le Ray
0 siblings, 0 replies; 3+ messages in thread
From: Divy Le Ray @ 2007-08-14 23:27 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev, linux-kernel, swise
Jeff Garzik wrote:
> Divy Le Ray wrote:
>> From: Divy Le Ray <divy@chelsio.com>
>>
>> Let the RDMA driver get HW page info to work around HW issues.
>> Assign explicit enum values.
>>
>> Signed-off-by: Divy Le Ray <divy@chelsio.com>
>
> "HW issues" -- you need to go into far more detail, when adding a new
> interface. what hw issues? why was this the best/only solution?
>
>
A HW issue requires limiting the receive window size to 23 pages of
internal memory.
These pages can be configured to different sizes, thus the RDMA driver
needs to know the
page size to enforce the upper limit.
Divy
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-08-14 23:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-11 6:29 [PATCH 5/13] cxgb3 - Expose HW memory page info Divy Le Ray
2007-08-14 5:44 ` Jeff Garzik
2007-08-14 23:27 ` Divy Le Ray
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).