scsi: ibmvfc: Advertise client support for using hardware channels
Previous patches have plumbed the necessary Sub-CRQ interface and channel negotiation MADs to fully channelize via hardware backed queues. Advertise client support via NPIV Login capability IBMVFC_CAN_USE_CHANNELS when the client bits have MQ enabled via vhost->mq_enabled, or when channels were already in use during a subsequent NPIV Login. The later is required because channel support is only renegotiated after a CRQ pair is broken. Simple NPIV Logout/Logins require the client to continue to advertise the channel capability until the CRQ pair between the client is broken. Link: https://lore.kernel.org/r/20210114203148.246656-14-tyreld@linux.ibm.com Reviewed-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
e95eef3fc0
Коммит
c53408baa5
|
@ -1410,6 +1410,10 @@ static void ibmvfc_set_login_info(struct ibmvfc_host *vhost)
|
|||
|
||||
login_info->max_cmds = cpu_to_be32(max_requests + IBMVFC_NUM_INTERNAL_REQ);
|
||||
login_info->capabilities = cpu_to_be64(IBMVFC_CAN_MIGRATE | IBMVFC_CAN_SEND_VF_WWPN);
|
||||
|
||||
if (vhost->mq_enabled || vhost->using_channels)
|
||||
login_info->capabilities |= cpu_to_be64(IBMVFC_CAN_USE_CHANNELS);
|
||||
|
||||
login_info->async.va = cpu_to_be64(vhost->async_crq.msg_token);
|
||||
login_info->async.len = cpu_to_be32(async_crq->size *
|
||||
sizeof(*async_crq->msgs.async));
|
||||
|
|
Загрузка…
Ссылка в новой задаче