Re: [PATCH v2 4/7] ibmvfc: define asynchronous sub-queue
From: Dave Marquardt
Date: Mon Jun 15 2026 - 16:16:08 EST
Tyrel Datwyler <tyreld@xxxxxxxxxxxxx> writes:
> On 6/8/26 11:30 AM, Dave Marquardt via B4 Relay wrote:
>> From: Dave Marquardt <davemarq@xxxxxxxxxxxxx>
>>
>> Adds the asynchronous sub-queue structure, modifies the existing
>> channel setup structure, adds the asynchronous sub-queue to the
>> channels structure, and adds flags needed to tell VIOS to use the
>> sub-queue.
>> ---
>> drivers/scsi/ibmvscsi/ibmvfc.h | 26 +++++++++++++++++++++++++-
>> 1 file changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/scsi/ibmvscsi/ibmvfc.h b/drivers/scsi/ibmvscsi/ibmvfc.h
>> index c996b36d335d..f026f30f98d3 100644
>> --- a/drivers/scsi/ibmvscsi/ibmvfc.h
>> +++ b/drivers/scsi/ibmvscsi/ibmvfc.h
>> @@ -181,6 +181,8 @@ struct ibmvfc_npiv_login {
>> #define IBMVFC_CAN_HANDLE_FPIN 0x04
>> #define IBMVFC_CAN_USE_MAD_VERSION 0x08
>> #define IBMVFC_CAN_SEND_VF_WWPN 0x10
>> +#define IBMVFC_YES_SCSI 0x40
>> +#define IBMVFC_USE_ASYNC_SUBQ 0x100
>> #define IBMVFC_CAN_USE_NOOP_CMD 0x200
>> __be64 node_name;
>> struct srp_direct_buf async;
>> @@ -229,6 +231,7 @@ struct ibmvfc_npiv_login_resp {
>> #define IBMVFC_HANDLE_VF_WWPN 0x40
>> #define IBMVFC_CAN_SUPPORT_CHANNELS 0x80
>> #define IBMVFC_SUPPORT_SCSI 0x200
>> +#define IBMVFC_SUPPORT_ASYNC_SUBQ 0x800
>> #define IBMVFC_SUPPORT_NOOP_CMD 0x1000
>> __be32 max_cmds;
>> __be32 scsi_id_sz;
>> @@ -563,7 +566,7 @@ struct ibmvfc_channel_setup_mad {
>> struct srp_direct_buf buffer;
>> } __packed __aligned(8);
>>
>> -#define IBMVFC_MAX_CHANNELS 502
>> +#define IBMVFC_MAX_CHANNELS 501
>>
>> struct ibmvfc_channel_setup {
>> __be32 flags;
>> @@ -578,6 +581,7 @@ struct ibmvfc_channel_setup {
>> struct srp_direct_buf buffer;
>> __be64 reserved2[5];
>> __be64 channel_handles[IBMVFC_MAX_CHANNELS];
>> + __be64 asyncSubqHandle;
>
> No camelCase please. Kernel style prefers snake_case. Something like
> async_sub_crq_handle for consistency.
Got it. Thanks.
-Dave