[v2,03/10] crypto: ccp: Add bootloader and TEE version offsets

Message ID 20230428185543.8381-4-mario.limonciello@amd.com
State New
Headers
Series Add dynamic boost control support |

Commit Message

Mario Limonciello April 28, 2023, 6:55 p.m. UTC
  The bootloader and TEE versions are stored in registers that can be
accessed from sysfs.  This exports the information for recent client
and datacenter parts.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/crypto/ccp/sp-pci.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Tom Lendacky May 1, 2023, 6:39 p.m. UTC | #1
On 4/28/23 13:55, Mario Limonciello wrote:
> The bootloader and TEE versions are stored in registers that can be
> accessed from sysfs.  This exports the information for recent client
> and datacenter parts.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>

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

> ---
>   drivers/crypto/ccp/sp-pci.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/crypto/ccp/sp-pci.c b/drivers/crypto/ccp/sp-pci.c
> index 7ef7c09b4a2f..46dd7a2ade18 100644
> --- a/drivers/crypto/ccp/sp-pci.c
> +++ b/drivers/crypto/ccp/sp-pci.c
> @@ -423,6 +423,7 @@ static const struct tee_vdata teev1 = {
>   	.cmdbuff_addr_hi_reg	= 0x1054c,	/* C2PMSG_19 */
>   	.ring_wptr_reg          = 0x10550,	/* C2PMSG_20 */
>   	.ring_rptr_reg          = 0x10554,	/* C2PMSG_21 */
> +	.info_reg		= 0x109e8,	/* C2PMSG_58 */
>   };
>   
>   static const struct platform_access_vdata pa_v1 = {
> @@ -435,6 +436,7 @@ static const struct platform_access_vdata pa_v1 = {
>   
>   static const struct psp_vdata pspv1 = {
>   	.sev			= &sevv1,
> +	.bootloader_info_reg	= 0x105ec,	/* C2PMSG_59 */
>   	.feature_reg		= 0x105fc,	/* C2PMSG_63 */
>   	.inten_reg		= 0x10610,	/* P2CMSG_INTEN */
>   	.intsts_reg		= 0x10614,	/* P2CMSG_INTSTS */
> @@ -442,6 +444,7 @@ static const struct psp_vdata pspv1 = {
>   
>   static const struct psp_vdata pspv2 = {
>   	.sev			= &sevv2,
> +	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
>   	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
>   	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
>   	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */
> @@ -450,6 +453,7 @@ static const struct psp_vdata pspv2 = {
>   static const struct psp_vdata pspv3 = {
>   	.tee			= &teev1,
>   	.platform_access	= &pa_v1,
> +	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
>   	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
>   	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
>   	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */
> @@ -458,6 +462,7 @@ static const struct psp_vdata pspv3 = {
>   static const struct psp_vdata pspv4 = {
>   	.sev			= &sevv2,
>   	.tee			= &teev1,
> +	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
>   	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
>   	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
>   	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */
  

Patch

diff --git a/drivers/crypto/ccp/sp-pci.c b/drivers/crypto/ccp/sp-pci.c
index 7ef7c09b4a2f..46dd7a2ade18 100644
--- a/drivers/crypto/ccp/sp-pci.c
+++ b/drivers/crypto/ccp/sp-pci.c
@@ -423,6 +423,7 @@  static const struct tee_vdata teev1 = {
 	.cmdbuff_addr_hi_reg	= 0x1054c,	/* C2PMSG_19 */
 	.ring_wptr_reg          = 0x10550,	/* C2PMSG_20 */
 	.ring_rptr_reg          = 0x10554,	/* C2PMSG_21 */
+	.info_reg		= 0x109e8,	/* C2PMSG_58 */
 };
 
 static const struct platform_access_vdata pa_v1 = {
@@ -435,6 +436,7 @@  static const struct platform_access_vdata pa_v1 = {
 
 static const struct psp_vdata pspv1 = {
 	.sev			= &sevv1,
+	.bootloader_info_reg	= 0x105ec,	/* C2PMSG_59 */
 	.feature_reg		= 0x105fc,	/* C2PMSG_63 */
 	.inten_reg		= 0x10610,	/* P2CMSG_INTEN */
 	.intsts_reg		= 0x10614,	/* P2CMSG_INTSTS */
@@ -442,6 +444,7 @@  static const struct psp_vdata pspv1 = {
 
 static const struct psp_vdata pspv2 = {
 	.sev			= &sevv2,
+	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
 	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
 	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
 	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */
@@ -450,6 +453,7 @@  static const struct psp_vdata pspv2 = {
 static const struct psp_vdata pspv3 = {
 	.tee			= &teev1,
 	.platform_access	= &pa_v1,
+	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
 	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
 	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
 	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */
@@ -458,6 +462,7 @@  static const struct psp_vdata pspv3 = {
 static const struct psp_vdata pspv4 = {
 	.sev			= &sevv2,
 	.tee			= &teev1,
+	.bootloader_info_reg	= 0x109ec,	/* C2PMSG_59 */
 	.feature_reg		= 0x109fc,	/* C2PMSG_63 */
 	.inten_reg		= 0x10690,	/* P2CMSG_INTEN */
 	.intsts_reg		= 0x10694,	/* P2CMSG_INTSTS */