Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: ccp - Add support for new CCP/PSP device ID

Add a new CCP/PSP PCI device ID and new PSP register offsets.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Acked-by: Gary R Hook <gary.hook@amd.com>
Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Tom Lendacky and committed by
Herbert Xu
dcbc0c6e ad01a984

+24 -5
+24 -5
drivers/crypto/ccp/sp-pci.c
··· 269 269 #endif 270 270 271 271 #ifdef CONFIG_CRYPTO_DEV_SP_PSP 272 - static const struct psp_vdata psp_entry = { 272 + static const struct psp_vdata pspv1 = { 273 273 .cmdresp_reg = 0x10580, 274 274 .cmdbuff_addr_lo_reg = 0x105e0, 275 275 .cmdbuff_addr_hi_reg = 0x105e4, ··· 277 277 .inten_reg = 0x10610, 278 278 .intsts_reg = 0x10614, 279 279 }; 280 + 281 + static const struct psp_vdata pspv2 = { 282 + .cmdresp_reg = 0x10980, 283 + .cmdbuff_addr_lo_reg = 0x109e0, 284 + .cmdbuff_addr_hi_reg = 0x109e4, 285 + .feature_reg = 0x109fc, 286 + .inten_reg = 0x10690, 287 + .intsts_reg = 0x10694, 288 + }; 280 289 #endif 281 290 282 291 static const struct sp_dev_vdata dev_vdata[] = { 283 - { 292 + { /* 0 */ 284 293 .bar = 2, 285 294 #ifdef CONFIG_CRYPTO_DEV_SP_CCP 286 295 .ccp_vdata = &ccpv3, 287 296 #endif 288 297 }, 289 - { 298 + { /* 1 */ 290 299 .bar = 2, 291 300 #ifdef CONFIG_CRYPTO_DEV_SP_CCP 292 301 .ccp_vdata = &ccpv5a, 293 302 #endif 294 303 #ifdef CONFIG_CRYPTO_DEV_SP_PSP 295 - .psp_vdata = &psp_entry 304 + .psp_vdata = &pspv1, 296 305 #endif 297 306 }, 298 - { 307 + { /* 2 */ 299 308 .bar = 2, 300 309 #ifdef CONFIG_CRYPTO_DEV_SP_CCP 301 310 .ccp_vdata = &ccpv5b, 311 + #endif 312 + }, 313 + { /* 3 */ 314 + .bar = 2, 315 + #ifdef CONFIG_CRYPTO_DEV_SP_CCP 316 + .ccp_vdata = &ccpv5a, 317 + #endif 318 + #ifdef CONFIG_CRYPTO_DEV_SP_PSP 319 + .psp_vdata = &pspv2, 302 320 #endif 303 321 }, 304 322 }; ··· 324 306 { PCI_VDEVICE(AMD, 0x1537), (kernel_ulong_t)&dev_vdata[0] }, 325 307 { PCI_VDEVICE(AMD, 0x1456), (kernel_ulong_t)&dev_vdata[1] }, 326 308 { PCI_VDEVICE(AMD, 0x1468), (kernel_ulong_t)&dev_vdata[2] }, 309 + { PCI_VDEVICE(AMD, 0x1486), (kernel_ulong_t)&dev_vdata[3] }, 327 310 /* Last entry must be zero */ 328 311 { 0, } 329 312 };