Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
043332cf
Commit
043332cf
authored
Mar 15, 2011
by
Roland Dreier
Browse files
Options
Browse Files
Download
Plain Diff
Merge branches 'cma', 'cxgb4', 'ipath' and 'qib' into for-next
parents
a396d43a
db5d040d
2a543904
36b87b41
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
52 additions
and
20 deletions
+52
-20
drivers/infiniband/hw/cxgb4/cm.c
drivers/infiniband/hw/cxgb4/cm.c
+4
-2
drivers/infiniband/hw/cxgb4/device.c
drivers/infiniband/hw/cxgb4/device.c
+18
-6
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
+0
-1
drivers/infiniband/hw/cxgb4/qp.c
drivers/infiniband/hw/cxgb4/qp.c
+2
-2
drivers/infiniband/hw/cxgb4/t4.h
drivers/infiniband/hw/cxgb4/t4.h
+7
-1
drivers/infiniband/hw/ipath/ipath_sysfs.c
drivers/infiniband/hw/ipath/ipath_sysfs.c
+1
-0
drivers/infiniband/hw/qib/qib_iba7322.c
drivers/infiniband/hw/qib/qib_iba7322.c
+10
-3
drivers/infiniband/hw/qib/qib_mad.c
drivers/infiniband/hw/qib/qib_mad.c
+7
-5
drivers/infiniband/hw/qib/qib_qsfp.h
drivers/infiniband/hw/qib/qib_qsfp.h
+2
-0
drivers/net/cxgb4/t4_msg.h
drivers/net/cxgb4/t4_msg.h
+1
-0
No files found.
drivers/infiniband/hw/cxgb4/cm.c
View file @
043332cf
...
@@ -61,9 +61,9 @@ static char *states[] = {
...
@@ -61,9 +61,9 @@ static char *states[] = {
NULL
,
NULL
,
};
};
static
int
dack_mode
;
static
int
dack_mode
=
1
;
module_param
(
dack_mode
,
int
,
0644
);
module_param
(
dack_mode
,
int
,
0644
);
MODULE_PARM_DESC
(
dack_mode
,
"Delayed ack mode (default=
0
)"
);
MODULE_PARM_DESC
(
dack_mode
,
"Delayed ack mode (default=
1
)"
);
int
c4iw_max_read_depth
=
8
;
int
c4iw_max_read_depth
=
8
;
module_param
(
c4iw_max_read_depth
,
int
,
0644
);
module_param
(
c4iw_max_read_depth
,
int
,
0644
);
...
@@ -482,6 +482,7 @@ static int send_connect(struct c4iw_ep *ep)
...
@@ -482,6 +482,7 @@ static int send_connect(struct c4iw_ep *ep)
TX_CHAN
(
ep
->
tx_chan
)
|
TX_CHAN
(
ep
->
tx_chan
)
|
SMAC_SEL
(
ep
->
smac_idx
)
|
SMAC_SEL
(
ep
->
smac_idx
)
|
DSCP
(
ep
->
tos
)
|
DSCP
(
ep
->
tos
)
|
ULP_MODE
(
ULP_MODE_TCPDDP
)
|
RCV_BUFSIZ
(
rcv_win
>>
10
);
RCV_BUFSIZ
(
rcv_win
>>
10
);
opt2
=
RX_CHANNEL
(
0
)
|
opt2
=
RX_CHANNEL
(
0
)
|
RSS_QUEUE_VALID
|
RSS_QUEUE
(
ep
->
rss_qid
);
RSS_QUEUE_VALID
|
RSS_QUEUE
(
ep
->
rss_qid
);
...
@@ -1274,6 +1275,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb,
...
@@ -1274,6 +1275,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb,
TX_CHAN
(
ep
->
tx_chan
)
|
TX_CHAN
(
ep
->
tx_chan
)
|
SMAC_SEL
(
ep
->
smac_idx
)
|
SMAC_SEL
(
ep
->
smac_idx
)
|
DSCP
(
ep
->
tos
)
|
DSCP
(
ep
->
tos
)
|
ULP_MODE
(
ULP_MODE_TCPDDP
)
|
RCV_BUFSIZ
(
rcv_win
>>
10
);
RCV_BUFSIZ
(
rcv_win
>>
10
);
opt2
=
RX_CHANNEL
(
0
)
|
opt2
=
RX_CHANNEL
(
0
)
|
RSS_QUEUE_VALID
|
RSS_QUEUE
(
ep
->
rss_qid
);
RSS_QUEUE_VALID
|
RSS_QUEUE
(
ep
->
rss_qid
);
...
...
drivers/infiniband/hw/cxgb4/device.c
View file @
043332cf
...
@@ -87,17 +87,22 @@ static int dump_qp(int id, void *p, void *data)
...
@@ -87,17 +87,22 @@ static int dump_qp(int id, void *p, void *data)
return
1
;
return
1
;
if
(
qp
->
ep
)
if
(
qp
->
ep
)
cc
=
snprintf
(
qpd
->
buf
+
qpd
->
pos
,
space
,
"qp id %u state %u "
cc
=
snprintf
(
qpd
->
buf
+
qpd
->
pos
,
space
,
"qp sq id %u rq id %u state %u onchip %u "
"ep tid %u state %u %pI4:%u->%pI4:%u
\n
"
,
"ep tid %u state %u %pI4:%u->%pI4:%u
\n
"
,
qp
->
wq
.
sq
.
qid
,
(
int
)
qp
->
attr
.
state
,
qp
->
wq
.
sq
.
qid
,
qp
->
wq
.
rq
.
qid
,
(
int
)
qp
->
attr
.
state
,
qp
->
wq
.
sq
.
flags
&
T4_SQ_ONCHIP
,
qp
->
ep
->
hwtid
,
(
int
)
qp
->
ep
->
com
.
state
,
qp
->
ep
->
hwtid
,
(
int
)
qp
->
ep
->
com
.
state
,
&
qp
->
ep
->
com
.
local_addr
.
sin_addr
.
s_addr
,
&
qp
->
ep
->
com
.
local_addr
.
sin_addr
.
s_addr
,
ntohs
(
qp
->
ep
->
com
.
local_addr
.
sin_port
),
ntohs
(
qp
->
ep
->
com
.
local_addr
.
sin_port
),
&
qp
->
ep
->
com
.
remote_addr
.
sin_addr
.
s_addr
,
&
qp
->
ep
->
com
.
remote_addr
.
sin_addr
.
s_addr
,
ntohs
(
qp
->
ep
->
com
.
remote_addr
.
sin_port
));
ntohs
(
qp
->
ep
->
com
.
remote_addr
.
sin_port
));
else
else
cc
=
snprintf
(
qpd
->
buf
+
qpd
->
pos
,
space
,
"qp id %u state %u
\n
"
,
cc
=
snprintf
(
qpd
->
buf
+
qpd
->
pos
,
space
,
qp
->
wq
.
sq
.
qid
,
(
int
)
qp
->
attr
.
state
);
"qp sq id %u rq id %u state %u onchip %u
\n
"
,
qp
->
wq
.
sq
.
qid
,
qp
->
wq
.
rq
.
qid
,
(
int
)
qp
->
attr
.
state
,
qp
->
wq
.
sq
.
flags
&
T4_SQ_ONCHIP
);
if
(
cc
<
space
)
if
(
cc
<
space
)
qpd
->
pos
+=
cc
;
qpd
->
pos
+=
cc
;
return
0
;
return
0
;
...
@@ -368,7 +373,6 @@ static void c4iw_rdev_close(struct c4iw_rdev *rdev)
...
@@ -368,7 +373,6 @@ static void c4iw_rdev_close(struct c4iw_rdev *rdev)
static
void
c4iw_remove
(
struct
c4iw_dev
*
dev
)
static
void
c4iw_remove
(
struct
c4iw_dev
*
dev
)
{
{
PDBG
(
"%s c4iw_dev %p
\n
"
,
__func__
,
dev
);
PDBG
(
"%s c4iw_dev %p
\n
"
,
__func__
,
dev
);
cancel_delayed_work_sync
(
&
dev
->
db_drop_task
);
list_del
(
&
dev
->
entry
);
list_del
(
&
dev
->
entry
);
if
(
dev
->
registered
)
if
(
dev
->
registered
)
c4iw_unregister_device
(
dev
);
c4iw_unregister_device
(
dev
);
...
@@ -523,8 +527,16 @@ static int c4iw_uld_state_change(void *handle, enum cxgb4_state new_state)
...
@@ -523,8 +527,16 @@ static int c4iw_uld_state_change(void *handle, enum cxgb4_state new_state)
case
CXGB4_STATE_START_RECOVERY
:
case
CXGB4_STATE_START_RECOVERY
:
printk
(
KERN_INFO
MOD
"%s: Fatal Error
\n
"
,
printk
(
KERN_INFO
MOD
"%s: Fatal Error
\n
"
,
pci_name
(
dev
->
rdev
.
lldi
.
pdev
));
pci_name
(
dev
->
rdev
.
lldi
.
pdev
));
if
(
dev
->
registered
)
dev
->
rdev
.
flags
|=
T4_FATAL_ERROR
;
if
(
dev
->
registered
)
{
struct
ib_event
event
;
memset
(
&
event
,
0
,
sizeof
event
);
event
.
event
=
IB_EVENT_DEVICE_FATAL
;
event
.
device
=
&
dev
->
ibdev
;
ib_dispatch_event
(
&
event
);
c4iw_unregister_device
(
dev
);
c4iw_unregister_device
(
dev
);
}
break
;
break
;
case
CXGB4_STATE_DETACH
:
case
CXGB4_STATE_DETACH
:
printk
(
KERN_INFO
MOD
"%s: Detach
\n
"
,
printk
(
KERN_INFO
MOD
"%s: Detach
\n
"
,
...
...
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
View file @
043332cf
...
@@ -176,7 +176,6 @@ struct c4iw_dev {
...
@@ -176,7 +176,6 @@ struct c4iw_dev {
struct
idr
mmidr
;
struct
idr
mmidr
;
spinlock_t
lock
;
spinlock_t
lock
;
struct
list_head
entry
;
struct
list_head
entry
;
struct
delayed_work
db_drop_task
;
struct
dentry
*
debugfs_root
;
struct
dentry
*
debugfs_root
;
u8
registered
;
u8
registered
;
};
};
...
...
drivers/infiniband/hw/cxgb4/qp.c
View file @
043332cf
...
@@ -31,9 +31,9 @@
...
@@ -31,9 +31,9 @@
*/
*/
#include "iw_cxgb4.h"
#include "iw_cxgb4.h"
static
int
ocqp_support
;
static
int
ocqp_support
=
1
;
module_param
(
ocqp_support
,
int
,
0644
);
module_param
(
ocqp_support
,
int
,
0644
);
MODULE_PARM_DESC
(
ocqp_support
,
"Support on-chip SQs (default=
0
)"
);
MODULE_PARM_DESC
(
ocqp_support
,
"Support on-chip SQs (default=
1
)"
);
static
void
set_state
(
struct
c4iw_qp
*
qhp
,
enum
c4iw_qp_state
state
)
static
void
set_state
(
struct
c4iw_qp
*
qhp
,
enum
c4iw_qp_state
state
)
{
{
...
...
drivers/infiniband/hw/cxgb4/t4.h
View file @
043332cf
...
@@ -507,8 +507,14 @@ static inline void t4_swcq_consume(struct t4_cq *cq)
...
@@ -507,8 +507,14 @@ static inline void t4_swcq_consume(struct t4_cq *cq)
static
inline
void
t4_hwcq_consume
(
struct
t4_cq
*
cq
)
static
inline
void
t4_hwcq_consume
(
struct
t4_cq
*
cq
)
{
{
cq
->
bits_type_ts
=
cq
->
queue
[
cq
->
cidx
].
bits_type_ts
;
cq
->
bits_type_ts
=
cq
->
queue
[
cq
->
cidx
].
bits_type_ts
;
if
(
++
cq
->
cidx_inc
==
cq
->
size
)
if
(
++
cq
->
cidx_inc
==
(
cq
->
size
>>
4
))
{
u32
val
;
val
=
SEINTARM
(
0
)
|
CIDXINC
(
cq
->
cidx_inc
)
|
TIMERREG
(
7
)
|
INGRESSQID
(
cq
->
cqid
);
writel
(
val
,
cq
->
gts
);
cq
->
cidx_inc
=
0
;
cq
->
cidx_inc
=
0
;
}
if
(
++
cq
->
cidx
==
cq
->
size
)
{
if
(
++
cq
->
cidx
==
cq
->
size
)
{
cq
->
cidx
=
0
;
cq
->
cidx
=
0
;
cq
->
gen
^=
1
;
cq
->
gen
^=
1
;
...
...
drivers/infiniband/hw/ipath/ipath_sysfs.c
View file @
043332cf
...
@@ -557,6 +557,7 @@ static ssize_t store_reset(struct device *dev,
...
@@ -557,6 +557,7 @@ static ssize_t store_reset(struct device *dev,
dev_info
(
dev
,
"Unit %d is disabled, can't reset
\n
"
,
dev_info
(
dev
,
"Unit %d is disabled, can't reset
\n
"
,
dd
->
ipath_unit
);
dd
->
ipath_unit
);
ret
=
-
EINVAL
;
ret
=
-
EINVAL
;
goto
bail
;
}
}
ret
=
ipath_reset_device
(
dd
->
ipath_unit
);
ret
=
ipath_reset_device
(
dd
->
ipath_unit
);
bail:
bail:
...
...
drivers/infiniband/hw/qib/qib_iba7322.c
View file @
043332cf
...
@@ -5582,9 +5582,16 @@ static void qsfp_7322_event(struct work_struct *work)
...
@@ -5582,9 +5582,16 @@ static void qsfp_7322_event(struct work_struct *work)
* even on failure to read cable information. We don't
* even on failure to read cable information. We don't
* get here for QME, so IS_QME check not needed here.
* get here for QME, so IS_QME check not needed here.
*/
*/
le2
=
(
!
ret
&&
qd
->
cache
.
atten
[
1
]
>=
qib_long_atten
&&
if
(
!
ret
&&
!
ppd
->
dd
->
cspec
->
r1
)
{
!
ppd
->
dd
->
cspec
->
r1
&&
QSFP_IS_CU
(
qd
->
cache
.
tech
))
?
if
(
QSFP_IS_ACTIVE_FAR
(
qd
->
cache
.
tech
))
LE2_5m
:
LE2_DEFAULT
;
le2
=
LE2_QME
;
else
if
(
qd
->
cache
.
atten
[
1
]
>=
qib_long_atten
&&
QSFP_IS_CU
(
qd
->
cache
.
tech
))
le2
=
LE2_5m
;
else
le2
=
LE2_DEFAULT
;
}
else
le2
=
LE2_DEFAULT
;
ibsd_wr_allchans
(
ppd
,
13
,
(
le2
<<
7
),
BMASK
(
9
,
7
));
ibsd_wr_allchans
(
ppd
,
13
,
(
le2
<<
7
),
BMASK
(
9
,
7
));
init_txdds_table
(
ppd
,
0
);
init_txdds_table
(
ppd
,
0
);
}
}
...
...
drivers/infiniband/hw/qib/qib_mad.c
View file @
043332cf
...
@@ -464,8 +464,9 @@ static int subn_get_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
...
@@ -464,8 +464,9 @@ static int subn_get_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
memset
(
smp
->
data
,
0
,
sizeof
(
smp
->
data
));
memset
(
smp
->
data
,
0
,
sizeof
(
smp
->
data
));
/* Only return the mkey if the protection field allows it. */
/* Only return the mkey if the protection field allows it. */
if
(
smp
->
method
==
IB_MGMT_METHOD_SET
||
ibp
->
mkey
==
smp
->
mkey
||
if
(
!
(
smp
->
method
==
IB_MGMT_METHOD_GET
&&
ibp
->
mkeyprot
==
0
)
ibp
->
mkey
!=
smp
->
mkey
&&
ibp
->
mkeyprot
==
1
))
pip
->
mkey
=
ibp
->
mkey
;
pip
->
mkey
=
ibp
->
mkey
;
pip
->
gid_prefix
=
ibp
->
gid_prefix
;
pip
->
gid_prefix
=
ibp
->
gid_prefix
;
lid
=
ppd
->
lid
;
lid
=
ppd
->
lid
;
...
@@ -705,7 +706,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
...
@@ -705,7 +706,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
lwe
=
pip
->
link_width_enabled
;
lwe
=
pip
->
link_width_enabled
;
if
(
lwe
)
{
if
(
lwe
)
{
if
(
lwe
==
0xFF
)
if
(
lwe
==
0xFF
)
lwe
=
ppd
->
link_width_supported
;
set_link_width_enabled
(
ppd
,
ppd
->
link_width_supported
)
;
else
if
(
lwe
>=
16
||
(
lwe
&
~
ppd
->
link_width_supported
))
else
if
(
lwe
>=
16
||
(
lwe
&
~
ppd
->
link_width_supported
))
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
else
if
(
lwe
!=
ppd
->
link_width_enabled
)
else
if
(
lwe
!=
ppd
->
link_width_enabled
)
...
@@ -720,7 +721,8 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
...
@@ -720,7 +721,8 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
* speeds.
* speeds.
*/
*/
if
(
lse
==
15
)
if
(
lse
==
15
)
lse
=
ppd
->
link_speed_supported
;
set_link_speed_enabled
(
ppd
,
ppd
->
link_speed_supported
);
else
if
(
lse
>=
8
||
(
lse
&
~
ppd
->
link_speed_supported
))
else
if
(
lse
>=
8
||
(
lse
&
~
ppd
->
link_speed_supported
))
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
else
if
(
lse
!=
ppd
->
link_speed_enabled
)
else
if
(
lse
!=
ppd
->
link_speed_enabled
)
...
@@ -849,7 +851,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
...
@@ -849,7 +851,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
if
(
clientrereg
)
if
(
clientrereg
)
pip
->
clientrereg_resv_subnetto
|=
0x80
;
pip
->
clientrereg_resv_subnetto
|=
0x80
;
goto
done
;
goto
get_only
;
err:
err:
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
smp
->
status
|=
IB_SMP_INVALID_FIELD
;
...
...
drivers/infiniband/hw/qib/qib_qsfp.h
View file @
043332cf
...
@@ -79,6 +79,8 @@
...
@@ -79,6 +79,8 @@
extern
const
char
*
const
qib_qsfp_devtech
[
16
];
extern
const
char
*
const
qib_qsfp_devtech
[
16
];
/* Active Equalization includes fiber, copper full EQ, and copper near Eq */
/* Active Equalization includes fiber, copper full EQ, and copper near Eq */
#define QSFP_IS_ACTIVE(tech) ((0xA2FF >> ((tech) >> 4)) & 1)
#define QSFP_IS_ACTIVE(tech) ((0xA2FF >> ((tech) >> 4)) & 1)
/* Active Equalization includes fiber, copper full EQ, and copper far Eq */
#define QSFP_IS_ACTIVE_FAR(tech) ((0x32FF >> ((tech) >> 4)) & 1)
/* Attenuation should be valid for copper other than full/near Eq */
/* Attenuation should be valid for copper other than full/near Eq */
#define QSFP_HAS_ATTEN(tech) ((0x4D00 >> ((tech) >> 4)) & 1)
#define QSFP_HAS_ATTEN(tech) ((0x4D00 >> ((tech) >> 4)) & 1)
/* Length is only valid if technology is "copper" */
/* Length is only valid if technology is "copper" */
...
...
drivers/net/cxgb4/t4_msg.h
View file @
043332cf
...
@@ -123,6 +123,7 @@ enum {
...
@@ -123,6 +123,7 @@ enum {
ULP_MODE_NONE
=
0
,
ULP_MODE_NONE
=
0
,
ULP_MODE_ISCSI
=
2
,
ULP_MODE_ISCSI
=
2
,
ULP_MODE_RDMA
=
4
,
ULP_MODE_RDMA
=
4
,
ULP_MODE_TCPDDP
=
5
,
ULP_MODE_FCOE
=
6
,
ULP_MODE_FCOE
=
6
,
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment