diff options
author | Marco Chiappero <marco.chiappero@intel.com> | 2021-12-16 09:13:29 +0000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2021-12-24 14:18:26 +1100 |
commit | e1b176af3d7ecf9f9c0c0db374b37a40073ac960 (patch) | |
tree | 1a69b769bc9bdd5c6a6806b72f7baef34247407b /drivers/crypto/qat/qat_common/adf_pfvf_msg.h | |
parent | 73ef8f3382d10dbed6fff0b606f9a3351068a0b9 (diff) |
crypto: qat - exchange ring-to-service mappings over PFVF
In addition to retrieving the device capabilities, a VF may also need to
retrieve the mapping of its ring pairs to crypto and or compression
services in order to work properly.
Make the VF receive the ring-to-service mappings from the PF by means of a
new REQ_RING_SVC_MAP Block Message and add the request and response
logic on VF and PF respectively. This change requires to bump the PFVF
protocol to version 4.
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/qat/qat_common/adf_pfvf_msg.h')
-rw-r--r-- | drivers/crypto/qat/qat_common/adf_pfvf_msg.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/crypto/qat/qat_common/adf_pfvf_msg.h b/drivers/crypto/qat/qat_common/adf_pfvf_msg.h index df052194ece7..1d3cad7d4999 100644 --- a/drivers/crypto/qat/qat_common/adf_pfvf_msg.h +++ b/drivers/crypto/qat/qat_common/adf_pfvf_msg.h @@ -91,8 +91,10 @@ enum pfvf_compatibility_version { ADF_PFVF_COMPAT_CAPABILITIES = 0x02, /* In-use pattern cleared by receiver */ ADF_PFVF_COMPAT_FAST_ACK = 0x03, + /* Ring to service mapping support for non-standard mappings */ + ADF_PFVF_COMPAT_RING_TO_SVC_MAP = 0x04, /* Reference to the latest version */ - ADF_PFVF_COMPAT_THIS_VERSION = 0x03, + ADF_PFVF_COMPAT_THIS_VERSION = 0x04, }; /* PF->VF Version Response */ @@ -139,6 +141,7 @@ enum pf2vf_blkmsg_error { */ enum vf2pf_blkmsg_req_type { ADF_VF2PF_BLKMSG_REQ_CAP_SUMMARY = 0x02, + ADF_VF2PF_BLKMSG_REQ_RING_SVC_MAP = 0x03, }; #define ADF_VF2PF_SMALL_BLOCK_TYPE_MAX \ @@ -202,4 +205,14 @@ struct capabilities_v3 { u32 frequency; } __packed; +/* PF/VF Ring to service mapping values */ +enum blkmsg_ring_to_svc_versions { + ADF_PFVF_RING_TO_SVC_VERSION = 0x01, +}; + +struct ring_to_svc_map_v1 { + struct pfvf_blkmsg_header hdr; + u16 map; +} __packed; + #endif /* ADF_PFVF_MSG_H */ |