1From 52d962239207bd06827c18d0ed21abdc2002337f Mon Sep 17 00:00:00 2001
2From: emeara01 <emekcan.aras@arm.com>
3Date: Thu, 7 Mar 2024 10:24:42 +0000
4Subject: [PATCH] plat: corstone1000: add client_id for FMP service
5
6Corstone1000 uses trusted-firmware-m as secure enclave software component. Due
7to the changes in TF-M 2.0, psa services requires a seperate client_id now.
8This commit adds smm-gateway-sp client id to the FMP services since FMP structure
9accessed by u-boot via smm-gateway-sp.
10
11Signed-off-by: emeara01 <emekcan.aras@arm.com>
12Upstream-Status: Inappropriate [Design is to revisted]
13---
14 .../capsule_update/provider/corstone1000_fmp_service.c     | 5 ++++---
15 1 file changed, 3 insertions(+), 2 deletions(-)
16
17diff --git a/components/service/capsule_update/provider/corstone1000_fmp_service.c b/components/service/capsule_update/provider/corstone1000_fmp_service.c
18index d811af9f..354d025f 100644
19--- a/components/service/capsule_update/provider/corstone1000_fmp_service.c
20+++ b/components/service/capsule_update/provider/corstone1000_fmp_service.c
21@@ -33,6 +33,7 @@
22 	 EFI_VARIABLE_APPEND_WRITE)
23
24 #define FMP_VARIABLES_COUNT	6
25+#define SMM_GW_SP_ID		0x8003
26
27 static struct variable_metadata fmp_variables_metadata[FMP_VARIABLES_COUNT] = {
28     {
29@@ -91,7 +92,7 @@ static psa_status_t protected_storage_set(struct rpc_caller *caller,
30 		{ .base = psa_ptr_to_u32(&create_flags), .len = sizeof(create_flags) },
31 	};
32
33-	psa_status = psa_call(caller, TFM_PROTECTED_STORAGE_SERVICE_HANDLE, TFM_PS_ITS_SET,
34+	psa_status = psa_call_client_id(caller, TFM_PROTECTED_STORAGE_SERVICE_HANDLE, SMM_GW_SP_ID,TFM_PS_ITS_SET,
35 			      in_vec, IOVEC_LEN(in_vec), NULL, 0);
36 	if (psa_status < 0)
37 		EMSG("ipc_set: psa_call failed: %d", psa_status);
38@@ -114,7 +115,7 @@ static psa_status_t protected_storage_get(struct rpc_caller *caller,
39 		{ .base = psa_ptr_to_u32(p_data), .len = data_size },
40 	};
41
42-	psa_status = psa_call(caller, TFM_PROTECTED_STORAGE_SERVICE_HANDLE,
43+	psa_status = psa_call_client_id(caller, TFM_PROTECTED_STORAGE_SERVICE_HANDLE, SMM_GW_SP_ID,
44 			      TFM_PS_ITS_GET, in_vec, IOVEC_LEN(in_vec),
45 			      out_vec, IOVEC_LEN(out_vec));
46