mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
qed: Add iWARP support in ll2 connections
Add a new connection type for iWARP ll2 connections for setting correct ll2 filters and connection type to FW. Signed-off-by: Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
526d1d05e4
commit
cc4ad324e7
2 changed files with 12 additions and 2 deletions
|
@ -896,7 +896,8 @@ static int qed_sp_ll2_rx_queue_start(struct qed_hwfn *p_hwfn,
|
||||||
p_ramrod->main_func_queue = (conn_type == QED_LL2_TYPE_OOO) ? 0 : 1;
|
p_ramrod->main_func_queue = (conn_type == QED_LL2_TYPE_OOO) ? 0 : 1;
|
||||||
|
|
||||||
if ((IS_MF_DEFAULT(p_hwfn) || IS_MF_SI(p_hwfn)) &&
|
if ((IS_MF_DEFAULT(p_hwfn) || IS_MF_SI(p_hwfn)) &&
|
||||||
p_ramrod->main_func_queue && (conn_type != QED_LL2_TYPE_ROCE)) {
|
p_ramrod->main_func_queue && (conn_type != QED_LL2_TYPE_ROCE) &&
|
||||||
|
(conn_type != QED_LL2_TYPE_IWARP)) {
|
||||||
p_ramrod->mf_si_bcast_accept_all = 1;
|
p_ramrod->mf_si_bcast_accept_all = 1;
|
||||||
p_ramrod->mf_si_mcast_accept_all = 1;
|
p_ramrod->mf_si_mcast_accept_all = 1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -972,12 +973,20 @@ static int qed_sp_ll2_tx_queue_start(struct qed_hwfn *p_hwfn,
|
||||||
p_ramrod->conn_type = PROTOCOLID_FCOE;
|
p_ramrod->conn_type = PROTOCOLID_FCOE;
|
||||||
break;
|
break;
|
||||||
case QED_LL2_TYPE_ISCSI:
|
case QED_LL2_TYPE_ISCSI:
|
||||||
case QED_LL2_TYPE_OOO:
|
|
||||||
p_ramrod->conn_type = PROTOCOLID_ISCSI;
|
p_ramrod->conn_type = PROTOCOLID_ISCSI;
|
||||||
break;
|
break;
|
||||||
case QED_LL2_TYPE_ROCE:
|
case QED_LL2_TYPE_ROCE:
|
||||||
p_ramrod->conn_type = PROTOCOLID_ROCE;
|
p_ramrod->conn_type = PROTOCOLID_ROCE;
|
||||||
break;
|
break;
|
||||||
|
case QED_LL2_TYPE_IWARP:
|
||||||
|
p_ramrod->conn_type = PROTOCOLID_IWARP;
|
||||||
|
break;
|
||||||
|
case QED_LL2_TYPE_OOO:
|
||||||
|
if (p_hwfn->hw_info.personality == QED_PCI_ISCSI)
|
||||||
|
p_ramrod->conn_type = PROTOCOLID_ISCSI;
|
||||||
|
else
|
||||||
|
p_ramrod->conn_type = PROTOCOLID_IWARP;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
p_ramrod->conn_type = PROTOCOLID_ETH;
|
p_ramrod->conn_type = PROTOCOLID_ETH;
|
||||||
DP_NOTICE(p_hwfn, "Unknown connection type: %d\n", conn_type);
|
DP_NOTICE(p_hwfn, "Unknown connection type: %d\n", conn_type);
|
||||||
|
|
|
@ -50,6 +50,7 @@ enum qed_ll2_conn_type {
|
||||||
QED_LL2_TYPE_OOO,
|
QED_LL2_TYPE_OOO,
|
||||||
QED_LL2_TYPE_RESERVED2,
|
QED_LL2_TYPE_RESERVED2,
|
||||||
QED_LL2_TYPE_ROCE,
|
QED_LL2_TYPE_ROCE,
|
||||||
|
QED_LL2_TYPE_IWARP,
|
||||||
QED_LL2_TYPE_RESERVED3,
|
QED_LL2_TYPE_RESERVED3,
|
||||||
MAX_QED_LL2_RX_CONN_TYPE
|
MAX_QED_LL2_RX_CONN_TYPE
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue