Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matisse
android_kernel_samsung_matisse
Commits
acdc30b5
Commit
acdc30b5
authored
14 years ago
by
Roland Dreier
Browse files
Options
Download
Plain Diff
Merge branches 'cxgb4', 'misc', 'mlx4', 'nes' and 'qib' into for-next
parents
30a6a62f
16933955
c050def0
b17e0969
f6d60848
Changes
73
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
53 additions
and
4547 deletions
+53
-4547
drivers/infiniband/Kconfig
drivers/infiniband/Kconfig
+1
-0
drivers/infiniband/Makefile
drivers/infiniband/Makefile
+1
-0
drivers/infiniband/core/core_priv.h
drivers/infiniband/core/core_priv.h
+3
-1
drivers/infiniband/core/device.c
drivers/infiniband/core/device.c
+4
-2
drivers/infiniband/core/mad.c
drivers/infiniband/core/mad.c
+2
-2
drivers/infiniband/core/sysfs.c
drivers/infiniband/core/sysfs.c
+17
-4
drivers/infiniband/hw/amso1100/c2_provider.c
drivers/infiniband/hw/amso1100/c2_provider.c
+1
-1
drivers/infiniband/hw/cxgb3/iwch_provider.c
drivers/infiniband/hw/cxgb3/iwch_provider.c
+1
-1
drivers/infiniband/hw/cxgb4/provider.c
drivers/infiniband/hw/cxgb4/provider.c
+1
-1
drivers/infiniband/hw/ehca/ehca_main.c
drivers/infiniband/hw/ehca/ehca_main.c
+1
-1
drivers/infiniband/hw/ipath/Kconfig
drivers/infiniband/hw/ipath/Kconfig
+5
-3
drivers/infiniband/hw/ipath/Makefile
drivers/infiniband/hw/ipath/Makefile
+1
-5
drivers/infiniband/hw/ipath/ipath_driver.c
drivers/infiniband/hw/ipath/ipath_driver.c
+1
-27
drivers/infiniband/hw/ipath/ipath_iba6120.c
drivers/infiniband/hw/ipath/ipath_iba6120.c
+0
-1862
drivers/infiniband/hw/ipath/ipath_iba7220.c
drivers/infiniband/hw/ipath/ipath_iba7220.c
+0
-2631
drivers/infiniband/hw/ipath/ipath_kernel.h
drivers/infiniband/hw/ipath/ipath_kernel.h
+0
-2
drivers/infiniband/hw/ipath/ipath_verbs.c
drivers/infiniband/hw/ipath/ipath_verbs.c
+1
-1
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/mlx4/main.c
+1
-1
drivers/infiniband/hw/mthca/mthca_provider.c
drivers/infiniband/hw/mthca/mthca_provider.c
+1
-1
drivers/infiniband/hw/nes/nes_hw.c
drivers/infiniband/hw/nes/nes_hw.c
+11
-1
No files found.
drivers/infiniband/Kconfig
View file @
acdc30b5
...
...
@@ -43,6 +43,7 @@ config INFINIBAND_ADDR_TRANS
source "drivers/infiniband/hw/mthca/Kconfig"
source "drivers/infiniband/hw/ipath/Kconfig"
source "drivers/infiniband/hw/qib/Kconfig"
source "drivers/infiniband/hw/ehca/Kconfig"
source "drivers/infiniband/hw/amso1100/Kconfig"
source "drivers/infiniband/hw/cxgb3/Kconfig"
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/Makefile
View file @
acdc30b5
obj-$(CONFIG_INFINIBAND)
+=
core/
obj-$(CONFIG_INFINIBAND_MTHCA)
+=
hw/mthca/
obj-$(CONFIG_INFINIBAND_IPATH)
+=
hw/ipath/
obj-$(CONFIG_INFINIBAND_QIB)
+=
hw/qib/
obj-$(CONFIG_INFINIBAND_EHCA)
+=
hw/ehca/
obj-$(CONFIG_INFINIBAND_AMSO1100)
+=
hw/amso1100/
obj-$(CONFIG_INFINIBAND_CXGB3)
+=
hw/cxgb3/
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/core/core_priv.h
View file @
acdc30b5
...
...
@@ -38,7 +38,9 @@
#include <rdma/ib_verbs.h>
int
ib_device_register_sysfs
(
struct
ib_device
*
device
);
int
ib_device_register_sysfs
(
struct
ib_device
*
device
,
int
(
*
port_callback
)(
struct
ib_device
*
,
u8
,
struct
kobject
*
));
void
ib_device_unregister_sysfs
(
struct
ib_device
*
device
);
int
ib_sysfs_setup
(
void
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/core/device.c
View file @
acdc30b5
...
...
@@ -267,7 +267,9 @@ out:
* callback for each device that is added. @device must be allocated
* with ib_alloc_device().
*/
int
ib_register_device
(
struct
ib_device
*
device
)
int
ib_register_device
(
struct
ib_device
*
device
,
int
(
*
port_callback
)(
struct
ib_device
*
,
u8
,
struct
kobject
*
))
{
int
ret
;
...
...
@@ -296,7 +298,7 @@ int ib_register_device(struct ib_device *device)
goto
out
;
}
ret
=
ib_device_register_sysfs
(
device
);
ret
=
ib_device_register_sysfs
(
device
,
port_callback
);
if
(
ret
)
{
printk
(
KERN_WARNING
"Couldn't register device %s with driver model
\n
"
,
device
->
name
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/core/mad.c
View file @
acdc30b5
...
...
@@ -47,8 +47,8 @@ MODULE_DESCRIPTION("kernel IB MAD API");
MODULE_AUTHOR
(
"Hal Rosenstock"
);
MODULE_AUTHOR
(
"Sean Hefty"
);
int
mad_sendq_size
=
IB_MAD_QP_SEND_SIZE
;
int
mad_recvq_size
=
IB_MAD_QP_RECV_SIZE
;
static
int
mad_sendq_size
=
IB_MAD_QP_SEND_SIZE
;
static
int
mad_recvq_size
=
IB_MAD_QP_RECV_SIZE
;
module_param_named
(
send_queue_size
,
mad_sendq_size
,
int
,
0444
);
MODULE_PARM_DESC
(
send_queue_size
,
"Size of send queue in number of work requests"
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/core/sysfs.c
View file @
acdc30b5
...
...
@@ -475,7 +475,9 @@ err:
return
NULL
;
}
static
int
add_port
(
struct
ib_device
*
device
,
int
port_num
)
static
int
add_port
(
struct
ib_device
*
device
,
int
port_num
,
int
(
*
port_callback
)(
struct
ib_device
*
,
u8
,
struct
kobject
*
))
{
struct
ib_port
*
p
;
struct
ib_port_attr
attr
;
...
...
@@ -522,11 +524,20 @@ static int add_port(struct ib_device *device, int port_num)
if
(
ret
)
goto
err_free_pkey
;
if
(
port_callback
)
{
ret
=
port_callback
(
device
,
port_num
,
&
p
->
kobj
);
if
(
ret
)
goto
err_remove_pkey
;
}
list_add_tail
(
&
p
->
kobj
.
entry
,
&
device
->
port_list
);
kobject_uevent
(
&
p
->
kobj
,
KOBJ_ADD
);
return
0
;
err_remove_pkey:
sysfs_remove_group
(
&
p
->
kobj
,
&
p
->
pkey_group
);
err_free_pkey:
for
(
i
=
0
;
i
<
attr
.
pkey_tbl_len
;
++
i
)
kfree
(
p
->
pkey_group
.
attrs
[
i
]);
...
...
@@ -754,7 +765,9 @@ static struct attribute_group iw_stats_group = {
.
attrs
=
iw_proto_stats_attrs
,
};
int
ib_device_register_sysfs
(
struct
ib_device
*
device
)
int
ib_device_register_sysfs
(
struct
ib_device
*
device
,
int
(
*
port_callback
)(
struct
ib_device
*
,
u8
,
struct
kobject
*
))
{
struct
device
*
class_dev
=
&
device
->
dev
;
int
ret
;
...
...
@@ -785,12 +798,12 @@ int ib_device_register_sysfs(struct ib_device *device)
}
if
(
device
->
node_type
==
RDMA_NODE_IB_SWITCH
)
{
ret
=
add_port
(
device
,
0
);
ret
=
add_port
(
device
,
0
,
port_callback
);
if
(
ret
)
goto
err_put
;
}
else
{
for
(
i
=
1
;
i
<=
device
->
phys_port_cnt
;
++
i
)
{
ret
=
add_port
(
device
,
i
);
ret
=
add_port
(
device
,
i
,
port_callback
);
if
(
ret
)
goto
err_put
;
}
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/amso1100/c2_provider.c
View file @
acdc30b5
...
...
@@ -865,7 +865,7 @@ int c2_register_device(struct c2_dev *dev)
dev
->
ibdev
.
iwcm
->
create_listen
=
c2_service_create
;
dev
->
ibdev
.
iwcm
->
destroy_listen
=
c2_service_destroy
;
ret
=
ib_register_device
(
&
dev
->
ibdev
);
ret
=
ib_register_device
(
&
dev
->
ibdev
,
NULL
);
if
(
ret
)
goto
out_free_iwcm
;
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/cxgb3/iwch_provider.c
View file @
acdc30b5
...
...
@@ -1428,7 +1428,7 @@ int iwch_register_device(struct iwch_dev *dev)
dev
->
ibdev
.
iwcm
->
rem_ref
=
iwch_qp_rem_ref
;
dev
->
ibdev
.
iwcm
->
get_qp
=
iwch_get_qp
;
ret
=
ib_register_device
(
&
dev
->
ibdev
);
ret
=
ib_register_device
(
&
dev
->
ibdev
,
NULL
);
if
(
ret
)
goto
bail1
;
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/cxgb4/provider.c
View file @
acdc30b5
...
...
@@ -486,7 +486,7 @@ int c4iw_register_device(struct c4iw_dev *dev)
dev
->
ibdev
.
iwcm
->
rem_ref
=
c4iw_qp_rem_ref
;
dev
->
ibdev
.
iwcm
->
get_qp
=
c4iw_get_qp
;
ret
=
ib_register_device
(
&
dev
->
ibdev
);
ret
=
ib_register_device
(
&
dev
->
ibdev
,
NULL
);
if
(
ret
)
goto
bail1
;
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ehca/ehca_main.c
View file @
acdc30b5
...
...
@@ -798,7 +798,7 @@ static int __devinit ehca_probe(struct of_device *dev,
goto
probe5
;
}
ret
=
ib_register_device
(
&
shca
->
ib_device
);
ret
=
ib_register_device
(
&
shca
->
ib_device
,
NULL
);
if
(
ret
)
{
ehca_err
(
&
shca
->
ib_device
,
"ib_register_device() failed ret=%i"
,
ret
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/Kconfig
View file @
acdc30b5
config INFINIBAND_IPATH
tristate "QLogic
InfiniPath Driver
"
depends on 64BIT && NET
tristate "QLogic
HTX HCA support
"
depends on 64BIT && NET
&& HT_IRQ
---help---
This is a driver for QLogic InfiniPath host channel adapters,
This is a driver for the obsolete QLogic Hyper-Transport
IB host channel adapter (model QHT7140),
including InfiniBand verbs support. This driver allows these
devices to be used with both kernel upper level protocols such
as IP-over-InfiniBand as well as with userspace applications
(in conjunction with InfiniBand userspace access).
For QLogic PCIe QLE based cards, use the QIB driver instead.
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/Makefile
View file @
acdc30b5
...
...
@@ -29,13 +29,9 @@ ib_ipath-y := \
ipath_user_pages.o
\
ipath_user_sdma.o
\
ipath_verbs_mcast.o
\
ipath_verbs.o
\
ipath_iba7220.o
\
ipath_sd7220.o
\
ipath_sd7220_img.o
ipath_verbs.o
ib_ipath-$(CONFIG_HT_IRQ)
+=
ipath_iba6110.o
ib_ipath-$(CONFIG_PCI_MSI)
+=
ipath_iba6120.o
ib_ipath-$(CONFIG_X86_64)
+=
ipath_wc_x86_64.o
ib_ipath-$(CONFIG_PPC64)
+=
ipath_wc_ppc64.o
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/ipath_driver.c
View file @
acdc30b5
...
...
@@ -132,18 +132,13 @@ static int __devinit ipath_init_one(struct pci_dev *,
/* Only needed for registration, nothing else needs this info */
#define PCI_VENDOR_ID_PATHSCALE 0x1fc1
#define PCI_VENDOR_ID_QLOGIC 0x1077
#define PCI_DEVICE_ID_INFINIPATH_HT 0xd
#define PCI_DEVICE_ID_INFINIPATH_PE800 0x10
#define PCI_DEVICE_ID_INFINIPATH_7220 0x7220
/* Number of seconds before our card status check... */
#define STATUS_TIMEOUT 60
static
const
struct
pci_device_id
ipath_pci_tbl
[]
=
{
{
PCI_DEVICE
(
PCI_VENDOR_ID_PATHSCALE
,
PCI_DEVICE_ID_INFINIPATH_HT
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_PATHSCALE
,
PCI_DEVICE_ID_INFINIPATH_PE800
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_INFINIPATH_7220
)
},
{
0
,
}
};
...
...
@@ -521,30 +516,9 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
/* setup the chip-specific functions, as early as possible. */
switch
(
ent
->
device
)
{
case
PCI_DEVICE_ID_INFINIPATH_HT
:
#ifdef CONFIG_HT_IRQ
ipath_init_iba6110_funcs
(
dd
);
break
;
#else
ipath_dev_err
(
dd
,
"QLogic HT device 0x%x cannot work if "
"CONFIG_HT_IRQ is not enabled
\n
"
,
ent
->
device
);
return
-
ENODEV
;
#endif
case
PCI_DEVICE_ID_INFINIPATH_PE800
:
#ifdef CONFIG_PCI_MSI
ipath_init_iba6120_funcs
(
dd
);
break
;
#else
ipath_dev_err
(
dd
,
"QLogic PCIE device 0x%x cannot work if "
"CONFIG_PCI_MSI is not enabled
\n
"
,
ent
->
device
);
return
-
ENODEV
;
#endif
case
PCI_DEVICE_ID_INFINIPATH_7220
:
#ifndef CONFIG_PCI_MSI
ipath_dbg
(
"CONFIG_PCI_MSI is not enabled, "
"using INTx for unit %u
\n
"
,
dd
->
ipath_unit
);
#endif
ipath_init_iba7220_funcs
(
dd
);
break
;
default:
ipath_dev_err
(
dd
,
"Found unknown QLogic deviceid 0x%x, "
"failing
\n
"
,
ent
->
device
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/ipath_iba6120.c
deleted
100644 → 0
View file @
30a6a62f
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/ipath_iba7220.c
deleted
100644 → 0
View file @
30a6a62f
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/ipath_kernel.h
View file @
acdc30b5
...
...
@@ -1030,8 +1030,6 @@ void ipath_free_data(struct ipath_portdata *dd);
u32
__iomem
*
ipath_getpiobuf
(
struct
ipath_devdata
*
,
u32
,
u32
*
);
void
ipath_chg_pioavailkernel
(
struct
ipath_devdata
*
dd
,
unsigned
start
,
unsigned
len
,
int
avail
);
void
ipath_init_iba7220_funcs
(
struct
ipath_devdata
*
);
void
ipath_init_iba6120_funcs
(
struct
ipath_devdata
*
);
void
ipath_init_iba6110_funcs
(
struct
ipath_devdata
*
);
void
ipath_get_eeprom_info
(
struct
ipath_devdata
*
);
int
ipath_update_eeprom_log
(
struct
ipath_devdata
*
dd
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/ipath/ipath_verbs.c
View file @
acdc30b5
...
...
@@ -2182,7 +2182,7 @@ int ipath_register_ib_device(struct ipath_devdata *dd)
snprintf
(
dev
->
node_desc
,
sizeof
(
dev
->
node_desc
),
IPATH_IDSTR
" %s"
,
init_utsname
()
->
nodename
);
ret
=
ib_register_device
(
dev
);
ret
=
ib_register_device
(
dev
,
NULL
);
if
(
ret
)
goto
err_reg
;
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/mlx4/main.c
View file @
acdc30b5
...
...
@@ -662,7 +662,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
spin_lock_init
(
&
ibdev
->
sm_lock
);
mutex_init
(
&
ibdev
->
cap_mask_mutex
);
if
(
ib_register_device
(
&
ibdev
->
ib_dev
))
if
(
ib_register_device
(
&
ibdev
->
ib_dev
,
NULL
))
goto
err_map
;
if
(
mlx4_ib_mad_init
(
ibdev
))
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/mthca/mthca_provider.c
View file @
acdc30b5
...
...
@@ -1403,7 +1403,7 @@ int mthca_register_device(struct mthca_dev *dev)
mutex_init
(
&
dev
->
cap_mask_mutex
);
ret
=
ib_register_device
(
&
dev
->
ib_dev
);
ret
=
ib_register_device
(
&
dev
->
ib_dev
,
NULL
);
if
(
ret
)
return
ret
;
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/hw/nes/nes_hw.c
View file @
acdc30b5
...
...
@@ -2584,7 +2584,6 @@ static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number)
break
;
}
}
spin_unlock_irqrestore
(
&
nesadapter
->
phy_lock
,
flags
);
if
(
phy_data
&
0x0004
)
{
if
(
wide_ppm_offset
&&
...
...
@@ -2639,6 +2638,8 @@ static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number)
}
}
spin_unlock_irqrestore
(
&
nesadapter
->
phy_lock
,
flags
);
nesadapter
->
mac_sw_state
[
mac_number
]
=
NES_MAC_SW_IDLE
;
}
...
...
@@ -3422,6 +3423,7 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
struct
nes_adapter
*
nesadapter
=
nesdev
->
nesadapter
;
u32
aeq_info
;
u32
next_iwarp_state
=
0
;
u32
aeqe_cq_id
;
u16
async_event_id
;
u8
tcp_state
;
u8
iwarp_state
;
...
...
@@ -3449,6 +3451,14 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
le32_to_cpu
(
aeqe
->
aeqe_words
[
NES_AEQE_COMP_QP_CQ_ID_IDX
]),
aeqe
,
nes_tcp_state_str
[
tcp_state
],
nes_iwarp_state_str
[
iwarp_state
]);
aeqe_cq_id
=
le32_to_cpu
(
aeqe
->
aeqe_words
[
NES_AEQE_COMP_QP_CQ_ID_IDX
]);
if
(
aeq_info
&
NES_AEQE_QP
)
{
if
((
!
nes_is_resource_allocated
(
nesadapter
,
nesadapter
->
allocated_qps
,
aeqe_cq_id
))
||
(
atomic_read
(
&
nesqp
->
close_timer_started
)))
return
;
}
switch
(
async_event_id
)
{
case
NES_AEQE_AEID_LLP_FIN_RECEIVED
:
if
(
nesqp
->
term_flags
)
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
Next
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