Re: [PATCH v2 4/7] ibmvfc: define asynchronous sub-queue
From: Tyrel Datwyler
Date: Mon Jun 15 2026 - 15:28:21 EST
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.
-Tyrel