[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ddb49c10-4463-4a8f-b44e-c10d5220d8a5@quicinc.com>
Date: Tue, 6 Feb 2024 00:29:38 +0530
From: Om Prakash Singh <quic_omprsing@...cinc.com>
To: Gaurav Kashyap <quic_gaurkash@...cinc.com>,
<linux-arm-msm@...r.kernel.org>, <linux-scsi@...r.kernel.org>,
<andersson@...nel.org>, <ebiggers@...gle.com>,
<neil.armstrong@...aro.org>, <srinivas.kandagatla@...aro.org>,
<krzysztof.kozlowski+dt@...aro.org>, <conor+dt@...nel.org>,
<robh+dt@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <linux-mmc@...r.kernel.org>,
<kernel@...cinc.com>, <linux-crypto@...r.kernel.org>,
<devicetree@...r.kernel.org>, <quic_nguyenb@...cinc.com>,
<bartosz.golaszewski@...aro.org>, <konrad.dybcio@...aro.org>,
<ulf.hansson@...aro.org>, <jejb@...ux.ibm.com>,
<martin.petersen@...cle.com>, <mani@...nel.org>, <davem@...emloft.net>,
<herbert@...dor.apana.org.au>
Subject: Re: [PATCH v4 10/15] ufs: host: wrapped keys support in ufs qcom
On 1/28/2024 4:44 AM, Gaurav Kashyap wrote:
> Use the wrapped keys quirk when hwkm is supported/used.
> Whether to use HWKM or not would be decided during an ICE
> probe, and based on this information, UFS can decide to use
> wrapped keys or standard keys.
>
> Also, propagate the appropriate key size to the ICE driver
> when wrapped keys are used.
>
> Signed-off-by: Gaurav Kashyap <quic_gaurkash@...cinc.com>
> Tested-by: Neil Armstrong <neil.armstrong@...aro.org>
> ---
Reviewed-by: Om Prakash Singh <quic_omprsing@...cinc.com>
> drivers/ufs/host/ufs-qcom.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
> index acf352594362..5c9ba06438a9 100644
> --- a/drivers/ufs/host/ufs-qcom.c
> +++ b/drivers/ufs/host/ufs-qcom.c
> @@ -123,6 +123,8 @@ static int ufs_qcom_ice_init(struct ufs_qcom_host *host)
>
> host->ice = ice;
> hba->caps |= UFSHCD_CAP_CRYPTO;
> + if (qcom_ice_hwkm_supported(host->ice))
> + hba->quirks |= UFSHCD_QUIRK_USES_WRAPPED_CRYPTO_KEYS;
>
> return 0;
> }
> @@ -160,7 +162,11 @@ static int ufs_qcom_ice_program_key(struct ufs_hba *hba,
> cap.key_size != UFS_CRYPTO_KEY_SIZE_256)
> return -EOPNOTSUPP;
>
> - ice_key_size = QCOM_ICE_CRYPTO_KEY_SIZE_256;
> + if (bkey->crypto_cfg.key_type == BLK_CRYPTO_KEY_TYPE_HW_WRAPPED)
> + ice_key_size = QCOM_ICE_CRYPTO_KEY_SIZE_WRAPPED;
> + else
> + ice_key_size = QCOM_ICE_CRYPTO_KEY_SIZE_256;
> +
> if (config_enable)
> return qcom_ice_program_key(host->ice,
> QCOM_ICE_CRYPTO_ALG_AES_XTS,
Powered by blists - more mailing lists