mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-27 03:49:57 -04:00
crypto: qat - exchange device capabilities over PFVF
Allow the VF driver to get the supported device capabilities through PFVF, by adding a new block message, the Capability Summary. This messages allows to exchange the capability through masks, which report, depending on the Capability Summary version, up to the following information: - algorithms and/or services that are supported by the device (e.g. symmetric crypto, data compression, etc.) - (extended) compression capabilities, with details about the compression service (e.g. if compress and verify is supported by this device) - the frequency of the device This patch supports the latest Capabilities Summary version 3 for VFs, but will limit support for the PF driver to version 2. This change also increases the PFVF protocol to version 2. 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>
This commit is contained in:
committed by
Herbert Xu
parent
673184a2a5
commit
851ed498db
@@ -87,8 +87,10 @@ enum vf2pf_msgtype {
|
||||
|
||||
/* VF/PF compatibility version. */
|
||||
enum pfvf_compatibility_version {
|
||||
/* Reference to the current version */
|
||||
ADF_PFVF_COMPAT_THIS_VERSION = 0x01,
|
||||
/* Support for extended capabilities */
|
||||
ADF_PFVF_COMPAT_CAPABILITIES = 0x02,
|
||||
/* Reference to the latest version */
|
||||
ADF_PFVF_COMPAT_THIS_VERSION = 0x02,
|
||||
};
|
||||
|
||||
/* PF->VF Version Response */
|
||||
@@ -133,7 +135,9 @@ enum pf2vf_blkmsg_error {
|
||||
* 16..23 - 64 byte message
|
||||
* 24..27 - 128 byte message
|
||||
*/
|
||||
/* No block messages as of yet */
|
||||
enum vf2pf_blkmsg_req_type {
|
||||
ADF_VF2PF_BLKMSG_REQ_CAP_SUMMARY = 0x02,
|
||||
};
|
||||
|
||||
#define ADF_VF2PF_SMALL_BLOCK_TYPE_MAX \
|
||||
(FIELD_MAX(ADF_VF2PF_SMALL_BLOCK_TYPE_MASK))
|
||||
@@ -171,4 +175,29 @@ struct pfvf_blkmsg_header {
|
||||
#define ADF_PFVF_BLKMSG_VER_BYTE 0
|
||||
#define ADF_PFVF_BLKMSG_LEN_BYTE 1
|
||||
|
||||
/* PF/VF Capabilities message values */
|
||||
enum blkmsg_capabilities_versions {
|
||||
ADF_PFVF_CAPABILITIES_V1_VERSION = 0x01,
|
||||
ADF_PFVF_CAPABILITIES_V2_VERSION = 0x02,
|
||||
ADF_PFVF_CAPABILITIES_V3_VERSION = 0x03,
|
||||
};
|
||||
|
||||
struct capabilities_v1 {
|
||||
struct pfvf_blkmsg_header hdr;
|
||||
u32 ext_dc_caps;
|
||||
} __packed;
|
||||
|
||||
struct capabilities_v2 {
|
||||
struct pfvf_blkmsg_header hdr;
|
||||
u32 ext_dc_caps;
|
||||
u32 capabilities;
|
||||
} __packed;
|
||||
|
||||
struct capabilities_v3 {
|
||||
struct pfvf_blkmsg_header hdr;
|
||||
u32 ext_dc_caps;
|
||||
u32 capabilities;
|
||||
u32 frequency;
|
||||
} __packed;
|
||||
|
||||
#endif /* ADF_PFVF_MSG_H */
|
||||
|
||||
Reference in New Issue
Block a user