Lines Matching defs:pCard

88     struct agtiapi_softc *pCard = (struct agtiapi_softc *) shost->hostdata;
94 if(!pCard->encrypt)
102 pCard->dek_index[table] = index;
151 ag_card_t *pCard = (ag_card_t *) sh->hostdata;
152 ag_card_info_t *pCardInfo = pCard->pCardInfo;
156 if(!pCard->encrypt)
166 if(pCard->dek_index[table] >= 0 || pCard->dek_index[table] < DEK_MAX_TABLE_ITEMS) {
167 i += careful_write(buf, i, PAGE_SIZE, "%4d: ", pCard->dek_index[table]);
168 p = (unsigned char *) &pDekTable[pCard->dek_index[table]];
174 i += careful_write(buf, i, PAGE_SIZE, "Bad DEK index %d; range: 0 - %d\n", pCard->dek_index[table], DEK_MAX_TABLE_ITEMS);
227 ag_card_t *pCard = (ag_card_t *) sh->hostdata;
229 if(!pCard->encrypt)
233 i += careful_write(buf, i, PAGE_SIZE, " %4d: %08x ", kek_index, pCard->kek_table[kek_index].wrapperIndex);
234 p = (unsigned char *) &pCard->kek_table[kek_index].kekBlob;
263 ag_card_t *pCard = (ag_card_t *) sh->hostdata;
265 if(!pCard->encrypt)
274 i += careful_write(buf, i, PAGE_SIZE, " %4d: %08x\n", dek_index, pCard->dek_kek_map[table][dek_index].kekIndex);
331 ag_card_t *pCard = (ag_card_t *) sh->hostdata;
333 if(!pCard->encrypt)
337 for(device = 0; device < pCard->devDiscover; device++) {
341 lh = MAP_TABLE_ENTRY(pCard, chan, device, lun);
370 agtiapi_AddDek(ag_card_t *pCard, bit32 dek_table, bit32 dek_index, bit32 blob_format, bit32 entry_sz, tiEncryptDekBlob_t *dek_blob, U32_64 *addr)
372 ag_resource_info_t *pRscInfo = &pCard->pCardInfo->tiRscInfo;
399 p = (char *) &pDekTable[0] + (dek_index * pCard->dek_size);
401 printf("%s: Base: %p, Index: %08x, Virt: %p Size: %d\n", __FUNCTION__, pDekTable, dek_index, &pDekTable[dek_index], pCard->dek_size);
402 memcpy(p, dek_blob, pCard->dek_size);
406 ostiCacheFlush(&pCard->tiRoot, NULL, p, pCard->dek_size);
420 agtiapi_MapDekKek(ag_card_t *pCard, bit32 dek_table, bit32 dek_index, bit32 kek_index)
437 pCard->dek_kek_map[dek_table][dek_index].kekIndex = kek_index;
450 agtiapi_AddKek(ag_card_t *pCard, bit32 kek_index, bit32 wrapper_kek_index, tiEncryptKekBlob_t *kek_blob)
460 pCard->kek_table[kek_index].wrapperIndex = wrapper_kek_index;
461 memcpy(&pCard->kek_table[kek_index].kekBlob, kek_blob, sizeof(tiEncryptKekBlob_t));
474 agtiapi_MapDek(ag_card_t *pCard, EncryptDeviceDekMap_t *dek_map)
498 if (device >= pCard->devDiscover) {
526 kek_index = pCard->dek_kek_map[dek_table][dek_index].kekIndex;
528 lh = MAP_TABLE_ENTRY(pCard, chan, device, lun);
542 mempool_free(p, pCard->map_mempool);
552 p = (ag_encrypt_map_t *)uma_zalloc(pCard->map_cache, M_WAITOK); //Encryption
604 agtiapi_SetupEncryption(struct agtiapi_softc *pCard)
606 tiRoot_t *tiRoot = (tiRoot_t *) &pCard->tiRoot;
609 if (pCard->encrypt == agTRUE)
618 pCard->encrypt = agFALSE;
635 agtiapi_SetupEncryptionPools(struct agtiapi_softc *pCard)
638 memset(pCard->map_cache_name, 0, sizeof(pCard->map_cache_name));
639 snprintf(pCard->map_cache_name, sizeof(pCard->map_cache_name) - 1, "map_cache_%d", pCard->cardNo);
642 pCard->map_cache = uma_zcreate(pCard->map_cache_name, sizeof(ag_encrypt_map_t),NULL, NULL, NULL, NULL, 0, 0);
643 if(!pCard->map_cache) {
651 uma_zone_set_max(pCard->map_cache, ENCRYPTION_MAP_MEMPOOL_SIZE);
655 INIT_LIST_HEAD(&pCard->ioerr_queue);
657 pCard->ioerr_queue_lock = SPIN_LOCK_UNLOCKED;
659 pCard->ioerr_queue_lock = AG_SPIN_UNLOCK(pCard->ioerr_queue_lock);
663 memset(pCard->ioerr_cache_name, 0, sizeof(pCard->ioerr_cache_name));
664 snprintf(pCard->ioerr_cache_name, sizeof(pCard->ioerr_cache_name) - 1, "ioerr_cache_%d", pCard->cardNo);
666 pCard->ioerr_cache = uma_zcreate(pCard->ioerr_cache_name, sizeof(ag_encrypt_ioerr_t), NULL, NULL, NULL, NULL, 0, 0);
667 if(!pCard->ioerr_cache) {
675 uma_zone_set_max(pCard->ioerr_cache, ENCRYPTION_IO_ERR_MEMPOOL_SIZE);
678 pCard->cipher_mode = CIPHER_MODE_INVALID;
692 agtiapi_CleanupEncryption(struct agtiapi_softc *pCard)
695 if(pCard->encrypt_map) {
701 for (device = 0; device < pCard->devDiscover; device++) {
703 lh = MAP_TABLE_ENTRY(pCard, chan, device, lun);
705 // mempool_free(p, pCard->map_mempool);
710 vfree(pCard->encrypt_map);
711 pCard->encrypt_map = NULL;
726 agtiapi_CleanupEncryptionPools(struct agtiapi_softc *pCard)
737 if (pCard->map_mempool) {
738 mempool_destroy(pCard->map_mempool);
740 pCard->map_mempool = NULL;
744 if (pCard->map_cache) {
745 kmem_cache_destroy(pCard->map_cache);
746 printf("Kernel memory cache %s released.\n", pCard->map_cache_name);
747 pCard->map_cache = NULL;
751 list_for_each_entry_safe(ioerr, tmp, &pCard->ioerr_queue, list) {
753 mempool_free(ioerr, pCard->ioerr_mempool);
757 if (pCard->ioerr_mempool) {
758 mempool_destroy(pCard->ioerr_mempool);
760 pCard->ioerr_mempool = NULL;
764 if (pCard->ioerr_cache) {
765 kmem_cache_destroy(pCard->ioerr_cache);
766 printf("Kernel memory cache %s released.\n", pCard->ioerr_cache_name);
767 pCard->ioerr_cache = NULL;
780 agtiapi_EncryptionIoctl(struct agtiapi_softc *pCard, IoctlEncrypt_t *pIoctlPayload)
783 tiRoot_t *tiRoot = (tiRoot_t *) &pCard->tiRoot;
786 pCard->ioctl_data = (void *) ioctl_data;
787 init_completion(&pCard->ioctl_completion);
812 pCard->dek_size = DEK_SIZE_PLAIN;
816 pCard->dek_size = DEK_SIZE_ENCRYPT;
819 pCard->dek_size = DEK_SIZE_ENCRYPT;
829 pCard->cipher_mode = new_cipher_mode;
851 if(agtiapi_AddKek(pCard, kek_add->kekIndex, kek_add->wrapperKekIndex, &kek_blob) < 0) {
884 if (agtiapi_AddDek(pCard, dek_table, dek_index, blob_format, entry_sz, &dek_blob, &addr) < 0) {
890 if (agtiapi_MapDekKek(pCard, dek_table, dek_index, kek_index) < 0) {
920 p_dek_map->dekMap[0].host = (bit32) pCard->pHost->host_no;
925 if (agtiapi_MapDek(pCard, &p_dek_map->dekMap[0]) < 0) {
951 // spin_lock_irqsave(&pCard->ioerr_queue_lock, flags);
952 AG_SPIN_LOCK_IRQ(&pCard->ioerr_queue_lock, flags);
956 list_for_each_entry_safe(ioerr, tmp, &pCard->ioerr_queue, list) {
963 mempool_free(ioerr, pCard->ioerr_mempool);
969 // spin_unlock_irqrestore(&pCard->ioerr_queue_lock, flags);
970 AG_SPIN_UNLOCK_IRQ(&pCard->ioerr_queue_lock, flags); //for test
1002 wait_for_completion(&pCard->ioctl_completion);
1028 agtiapi_SetupEncryptedIO(struct agtiapi_softc *pCard, ccb_t *pccb, unsigned long long block)
1031 pCard->cipher_mode = TI_ENCRYPT_ATTRIB_CIPHER_XTS;
1033 if (pCard->cipher_mode == CIPHER_MODE_INVALID) {
1040 pccb->tiSuperScsiRequest.Encrypt.encryptMode = pCard->cipher_mode;
1072 agtiapi_CleanupEncryptedIO(struct agtiapi_softc *pCard, ccb_t *pccb)
1096 ag_card_t *pCard;
1104 pCard = pDev->pCard;
1120 // perr = mempool_alloc(pCard->ioerr_mempool, GFP_ATOMIC);
1121 p = (ag_encrypt_map_t *)uma_zalloc(pCard->map_cache, M_WAITOK); //Encryption
1155 AG_SPIN_LOCK_IRQ(&pCard->ioerr_queue_lock, flags);
1156 list_add_tail(&perr->list, &pCard->ioerr_queue);
1157 AG_SPIN_UNLOCK_IRQ(&pCard->ioerr_queue_lock, flags);