[PATCH 3/6] drm/xe/guc: Add VF2GUC_QUERY_SINGLE_KLV to ABI
Piotr Piórkowski
piotr.piorkowski at intel.com
Thu May 16 07:17:17 UTC 2024
Michal Wajdeczko <michal.wajdeczko at intel.com> wrote on nie [2024-maj-12 17:49:12 +0200]:
> In upcoming patches we will add support to the VF driver to
> read its configuration from the GuC using special H2G actions.
> Add necessary definitions to our GuC firmware ABI header.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> ---
> .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 56 +++++++++++++++++++
> 1 file changed, 56 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
> index dbe6eb47dd31..d5307b363537 100644
> --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
> +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
> @@ -471,4 +471,60 @@
> #define VF2GUC_VF_RESET_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN
> #define VF2GUC_VF_RESET_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0
>
> +/**
> + * DOC: VF2GUC_QUERY_SINGLE_KLV
> + *
> + * This action is used by VF to query value of the single KLV data.
> + *
> + * This action must be sent over MMIO.
NIT: Earlier in the file you used such a phrase. Maybe it is worth using it
everywhere for MMIO message:
* This message must be sent as `MMIO HXG Message`_.
> + *
> + * +---+-------+--------------------------------------------------------------+
> + * | | Bits | Description |
> + * +===+=======+==============================================================+
> + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 27:16 | MBZ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_QUERY_SINGLE_KLV` = 0x5509 |
> + * +---+-------+--------------------------------------------------------------+
> + * | 1 | 31:16 | MBZ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 15:0 | **KEY** - key for which value is requested |
> + * +---+-------+--------------------------------------------------------------+
> + *
> + * +---+-------+--------------------------------------------------------------+
> + * | | Bits | Description |
> + * +===+=======+==============================================================+
> + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 27:16 | MBZ |
> + * | +-------+--------------------------------------------------------------+
> + * | | 15:0 | **LENGTH** - length of data in dwords |
> + * +---+-------+--------------------------------------------------------------+
> + * | 1 | 31:0 | **VALUE32** - bits 31:0 of value if **LENGTH** >= 1 |
> + * +---+-------+--------------------------------------------------------------+
> + * | 2 | 31:0 | **VALUE64** - bits 63:32 of value if **LENGTH** >= 2 |
> + * +---+-------+--------------------------------------------------------------+
> + * | 3 | 31:0 | **VALUE96** - bits 95:64 of value if **LENGTH** >= 3 |
> + * +---+-------+--------------------------------------------------------------+
> + */
> +#define GUC_ACTION_VF2GUC_QUERY_SINGLE_KLV 0x5509u
> +
> +#define VF2GUC_QUERY_SINGLE_KLV_REQUEST_MSG_LEN (GUC_HXG_REQUEST_MSG_MIN_LEN + 1u)
> +#define VF2GUC_QUERY_SINGLE_KLV_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0
> +#define VF2GUC_QUERY_SINGLE_KLV_REQUEST_MSG_1_MBZ (0xffffu << 16)
> +#define VF2GUC_QUERY_SINGLE_KLV_REQUEST_MSG_1_KEY (0xffffu << 0)
> +
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_MIN_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_MAX_LEN (GUC_HXG_RESPONSE_MSG_MIN_LEN + 3u)
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_0_MBZ (0xfffu << 16)
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_0_LENGTH (0xffffu << 0)
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_1_VALUE32 GUC_HXG_REQUEST_MSG_n_DATAn
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_2_VALUE64 GUC_HXG_REQUEST_MSG_n_DATAn
> +#define VF2GUC_QUERY_SINGLE_KLV_RESPONSE_MSG_3_VALUE96 GUC_HXG_REQUEST_MSG_n_DATAn
> +
LGTM:
Reviewed-by: Piotr Piórkowski <piotr.piorkowski at intel.com>
> #endif
> --
> 2.43.0
>
--
More information about the Intel-xe
mailing list