Message ID | 20230428185543.8381-4-mario.limonciello@amd.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
Series | Add dynamic boost control support | expand |
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 */
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 */
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(+)