mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 10:36:13 +07:00
be2net: Use MCC_CREATE_EXT_V1 cmd for Skyhawk-R
Currently this cmd is used only for Lancer. MCC_CREATE_EXT_V1 supports larger CQ-ids and additional event codes for the async_event_bitmap field. Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
286ab723d4
commit
666d39c748
@ -1101,23 +1101,22 @@ static int be_cmd_mccq_ext_create(struct be_adapter *adapter,
|
||||
OPCODE_COMMON_MCC_CREATE_EXT, sizeof(*req), wrb, NULL);
|
||||
|
||||
req->num_pages = cpu_to_le16(PAGES_4K_SPANNED(q_mem->va, q_mem->size));
|
||||
if (lancer_chip(adapter)) {
|
||||
req->hdr.version = 1;
|
||||
req->cq_id = cpu_to_le16(cq->id);
|
||||
|
||||
AMAP_SET_BITS(struct amap_mcc_context_lancer, ring_size, ctxt,
|
||||
be_encoded_q_len(mccq->len));
|
||||
AMAP_SET_BITS(struct amap_mcc_context_lancer, valid, ctxt, 1);
|
||||
AMAP_SET_BITS(struct amap_mcc_context_lancer, async_cq_id,
|
||||
ctxt, cq->id);
|
||||
AMAP_SET_BITS(struct amap_mcc_context_lancer, async_cq_valid,
|
||||
ctxt, 1);
|
||||
|
||||
} else {
|
||||
if (BEx_chip(adapter)) {
|
||||
AMAP_SET_BITS(struct amap_mcc_context_be, valid, ctxt, 1);
|
||||
AMAP_SET_BITS(struct amap_mcc_context_be, ring_size, ctxt,
|
||||
be_encoded_q_len(mccq->len));
|
||||
AMAP_SET_BITS(struct amap_mcc_context_be, cq_id, ctxt, cq->id);
|
||||
} else {
|
||||
req->hdr.version = 1;
|
||||
req->cq_id = cpu_to_le16(cq->id);
|
||||
|
||||
AMAP_SET_BITS(struct amap_mcc_context_v1, ring_size, ctxt,
|
||||
be_encoded_q_len(mccq->len));
|
||||
AMAP_SET_BITS(struct amap_mcc_context_v1, valid, ctxt, 1);
|
||||
AMAP_SET_BITS(struct amap_mcc_context_v1, async_cq_id,
|
||||
ctxt, cq->id);
|
||||
AMAP_SET_BITS(struct amap_mcc_context_v1, async_cq_valid,
|
||||
ctxt, 1);
|
||||
}
|
||||
|
||||
/* Subscribe to Link State and Group 5 Events(bits 1 and 5 set) */
|
||||
@ -1187,7 +1186,7 @@ int be_cmd_mccq_create(struct be_adapter *adapter,
|
||||
int status;
|
||||
|
||||
status = be_cmd_mccq_ext_create(adapter, mccq, cq);
|
||||
if (status && !lancer_chip(adapter)) {
|
||||
if (status && BEx_chip(adapter)) {
|
||||
dev_warn(&adapter->pdev->dev, "Upgrade to F/W ver 2.102.235.0 "
|
||||
"or newer to avoid conflicting priorities between NIC "
|
||||
"and FCoE traffic");
|
||||
|
@ -452,7 +452,7 @@ struct amap_mcc_context_be {
|
||||
u8 rsvd2[32];
|
||||
} __packed;
|
||||
|
||||
struct amap_mcc_context_lancer {
|
||||
struct amap_mcc_context_v1 {
|
||||
u8 async_cq_id[16];
|
||||
u8 ring_size[4];
|
||||
u8 rsvd0[12];
|
||||
@ -476,7 +476,7 @@ struct be_cmd_req_mcc_ext_create {
|
||||
u16 num_pages;
|
||||
u16 cq_id;
|
||||
u32 async_event_bitmap[1];
|
||||
u8 context[sizeof(struct amap_mcc_context_be) / 8];
|
||||
u8 context[sizeof(struct amap_mcc_context_v1) / 8];
|
||||
struct phys_addr pages[8];
|
||||
} __packed;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user