/*******************************************************************
* This file is part of the Emulex Linux Device Driver for *
* Fibre Channel Host Bus Adapters. *
- * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term *
+ * Copyright (C) 2017-2026 Broadcom. All Rights Reserved. The term *
* “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. *
* Copyright (C) 2004-2013 Emulex. All rights reserved. *
* EMULEX and SLI are trademarks of Emulex. *
uint16_t nlp_maxframe; /* Max RCV frame size */
uint8_t nlp_class_sup; /* Supported Classes */
uint8_t nlp_retry; /* used for ELS retries */
- uint8_t nlp_fcp_info; /* class info, bits 0-3 */
+ uint8_t nlp_fcp_info; /* class info, bits 0-2 */
+#define NLP_FCP_CLASS_MASK 0x07 /* class info bitmask */
#define NLP_FCP_2_DEVICE 0x10 /* FCP-2 device */
u8 nlp_nvme_info; /* NVME NSLER Support */
uint8_t vmid_support; /* destination VMID support */
/*******************************************************************
* This file is part of the Emulex Linux Device Driver for *
* Fibre Channel Host Bus Adapters. *
- * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term *
+ * Copyright (C) 2017-2026 Broadcom. All Rights Reserved. The term *
* “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. *
* Copyright (C) 2004-2016 Emulex. All rights reserved. *
* EMULEX and SLI are trademarks of Emulex. *
else
piocbq->iocb.ulpFCP2Rcvy = 0;
- piocbq->iocb.ulpClass = (pnode->nlp_fcp_info & 0x0f);
+ piocbq->iocb.ulpClass = (pnode->nlp_fcp_info & NLP_FCP_CLASS_MASK);
piocbq->io_buf = lpfc_cmd;
if (!piocbq->cmd_cmpl)
piocbq->cmd_cmpl = lpfc_scsi_cmd_iocb_cmpl;
bf_set(wqe_erp, &wqe->generic.wqe_com, 1);
bf_set(wqe_class, &wqe->generic.wqe_com,
- (pnode->nlp_fcp_info & 0x0f));
+ (pnode->nlp_fcp_info & NLP_FCP_CLASS_MASK));
/* Word 8 */
wqe->generic.wqe_com.abort_tag = pwqeq->iotag;
piocb->ulpCommand = CMD_FCP_ICMND64_CR;
piocb->ulpContext = ndlp->nlp_rpi;
piocb->ulpFCP2Rcvy = (ndlp->nlp_fcp_info & NLP_FCP_2_DEVICE) ? 1 : 0;
- piocb->ulpClass = (ndlp->nlp_fcp_info & 0x0f);
+ piocb->ulpClass = (ndlp->nlp_fcp_info & NLP_FCP_CLASS_MASK);
piocb->ulpPU = 0;
piocb->un.fcpi.fcpi_parm = 0;
bf_set(wqe_erp, &wqe->fcp_icmd.wqe_com,
((ndlp->nlp_fcp_info & NLP_FCP_2_DEVICE) ? 1 : 0));
bf_set(wqe_class, &wqe->fcp_icmd.wqe_com,
- (ndlp->nlp_fcp_info & 0x0f));
+ (ndlp->nlp_fcp_info & NLP_FCP_CLASS_MASK));
/* ulpTimeout is only one byte */
if (lpfc_cmd->timeout > 0xff) {