summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/ccp
diff options
context:
space:
mode:
authorMario Limonciello <mario.limonciello@amd.com>2024-05-28 23:07:12 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2024-06-07 13:46:39 +0200
commit059b1352519d1f2f856d80ae6fe11e11891869d2 (patch)
tree56975ade06612a1a9d5afa3658767064db9c7a2d /drivers/crypto/ccp
parentcrypto: ccp - Add support for getting security attributes on some older systems (diff)
downloadlinux-059b1352519d1f2f856d80ae6fe11e11891869d2.tar.xz
linux-059b1352519d1f2f856d80ae6fe11e11891869d2.zip
crypto: ccp - Move message about TSME being enabled later in init
Some of the security attributes data is now populated from an HSTI command on some processors, so show the message after it has been populated. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/ccp')
-rw-r--r--drivers/crypto/ccp/hsti.c15
-rw-r--r--drivers/crypto/ccp/psp-dev.c8
2 files changed, 15 insertions, 8 deletions
diff --git a/drivers/crypto/ccp/hsti.c b/drivers/crypto/ccp/hsti.c
index 8b99bbd4efe2..1b39a4fb55c0 100644
--- a/drivers/crypto/ccp/hsti.c
+++ b/drivers/crypto/ccp/hsti.c
@@ -119,5 +119,20 @@ int psp_init_hsti(struct psp_device *psp)
return ret;
}
+ /*
+ * At this stage, if security information hasn't been populated by
+ * either the PSP or by the driver through the platform command,
+ * then there is nothing more to do.
+ */
+ if (!psp->capability.security_reporting)
+ return 0;
+
+ if (psp->capability.tsme_status) {
+ if (cc_platform_has(CC_ATTR_HOST_MEM_ENCRYPT))
+ dev_notice(psp->dev, "psp: Both TSME and SME are active, SME is unnecessary when TSME is active.\n");
+ else
+ dev_notice(psp->dev, "psp: TSME enabled\n");
+ }
+
return 0;
}
diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
index 0a01ad134609..1c5a7189631e 100644
--- a/drivers/crypto/ccp/psp-dev.c
+++ b/drivers/crypto/ccp/psp-dev.c
@@ -157,14 +157,6 @@ static unsigned int psp_get_capability(struct psp_device *psp)
}
psp->capability.raw = val;
- /* Detect TSME and/or SME status */
- if (psp->capability.security_reporting && psp->capability.tsme_status) {
- if (cc_platform_has(CC_ATTR_HOST_MEM_ENCRYPT))
- dev_notice(psp->dev, "psp: Both TSME and SME are active, SME is unnecessary when TSME is active.\n");
- else
- dev_notice(psp->dev, "psp: TSME enabled\n");
- }
-
return 0;
}