diff mbox series

[v3,3/4] crypto: ccp: Allow PSP driver to load without SEV/TEE support

Message ID 20220331211213.2844-4-mario.limonciello@amd.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series Export PSP security attributes | expand

Commit Message

Mario Limonciello March 31, 2022, 9:12 p.m. UTC
Previously the PSP probe routine would fail if both SEV and TEE were
missing.  This is possibly the case for some client parts.

As capabilities can now be accessed from userspace, it may still be
useful to have the PSP driver finish loading so that those capabilities
can be read.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Remove helper function, and still set up IRQs even in this case to keep
   cleanup process the same
v1->v2:
 * Whitespace fixes
---
 drivers/crypto/ccp/psp-dev.c | 16 ----------------
 1 file changed, 16 deletions(-)

Comments

Tom Lendacky April 5, 2022, 9:05 p.m. UTC | #1
On 3/31/22 16:12, Mario Limonciello wrote:
> Previously the PSP probe routine would fail if both SEV and TEE were
> missing.  This is possibly the case for some client parts.
> 
> As capabilities can now be accessed from userspace, it may still be
> useful to have the PSP driver finish loading so that those capabilities
> can be read.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>

Acked-by: Tom Lendacky <thomas.lendacky@amd.com>

> ---
diff mbox series

Patch

diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
index 8cd404121cd5..a3b7b5130be4 100644
--- a/drivers/crypto/ccp/psp-dev.c
+++ b/drivers/crypto/ccp/psp-dev.c
@@ -99,18 +99,6 @@  static int psp_check_tee_support(struct psp_device *psp)
 	return 0;
 }
 
-static int psp_check_support(struct psp_device *psp)
-{
-	int sev_support = psp_check_sev_support(psp);
-	int tee_support = psp_check_tee_support(psp);
-
-	/* Return error if device neither supports SEV nor TEE */
-	if (sev_support && tee_support)
-		return -ENODEV;
-
-	return 0;
-}
-
 static int psp_init(struct psp_device *psp)
 {
 	int ret;
@@ -156,10 +144,6 @@  int psp_dev_init(struct sp_device *sp)
 	if (ret)
 		goto e_disable;
 
-	ret = psp_check_support(psp);
-	if (ret)
-		goto e_disable;
-
 	/* Disable and clear interrupts until ready */
 	iowrite32(0, psp->io_regs + psp->vdata->inten_reg);
 	iowrite32(-1, psp->io_regs + psp->vdata->intsts_reg);