ccp 45 drivers/crypto/ccp/ccp-debugfs.c struct ccp_device *ccp = filp->private_data; ccp 51 drivers/crypto/ccp/ccp-debugfs.c if (!ccp) ccp 58 drivers/crypto/ccp/ccp-debugfs.c oboff += OSCNPRINTF("Device name: %s\n", ccp->name); ccp 59 drivers/crypto/ccp/ccp-debugfs.c oboff += OSCNPRINTF(" RNG name: %s\n", ccp->rngname); ccp 60 drivers/crypto/ccp/ccp-debugfs.c oboff += OSCNPRINTF(" # Queues: %d\n", ccp->cmd_q_count); ccp 61 drivers/crypto/ccp/ccp-debugfs.c oboff += OSCNPRINTF(" # Cmds: %d\n", ccp->cmd_count); ccp 63 drivers/crypto/ccp/ccp-debugfs.c regval = ioread32(ccp->io_regs + CMD5_PSP_CCP_VERSION); ccp 100 drivers/crypto/ccp/ccp-debugfs.c struct ccp_device *ccp = filp->private_data; ccp 114 drivers/crypto/ccp/ccp-debugfs.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 115 drivers/crypto/ccp/ccp-debugfs.c struct ccp_cmd_queue *cmd_q = &ccp->cmd_q[i]; ccp 132 drivers/crypto/ccp/ccp-debugfs.c ccp->total_interrupts); ccp 178 drivers/crypto/ccp/ccp-debugfs.c struct ccp_device *ccp = filp->private_data; ccp 181 drivers/crypto/ccp/ccp-debugfs.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 182 drivers/crypto/ccp/ccp-debugfs.c ccp5_debugfs_reset_queue_stats(&ccp->cmd_q[i]); ccp 183 drivers/crypto/ccp/ccp-debugfs.c ccp->total_interrupts = 0L; ccp 282 drivers/crypto/ccp/ccp-debugfs.c void ccp5_debugfs_setup(struct ccp_device *ccp) ccp 297 drivers/crypto/ccp/ccp-debugfs.c ccp->debugfs_instance = debugfs_create_dir(ccp->name, ccp_debugfs_dir); ccp 299 drivers/crypto/ccp/ccp-debugfs.c debugfs_create_file("info", 0400, ccp->debugfs_instance, ccp, ccp 302 drivers/crypto/ccp/ccp-debugfs.c debugfs_create_file("stats", 0600, ccp->debugfs_instance, ccp, ccp 305 drivers/crypto/ccp/ccp-debugfs.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 306 drivers/crypto/ccp/ccp-debugfs.c cmd_q = &ccp->cmd_q[i]; ccp 311 drivers/crypto/ccp/ccp-debugfs.c debugfs_create_dir(name, ccp->debugfs_instance); ccp 22 drivers/crypto/ccp/ccp-dev-v3.c struct ccp_device *ccp = cmd_q->ccp; ccp 25 drivers/crypto/ccp/ccp-dev-v3.c mutex_lock(&ccp->sb_mutex); ccp 27 drivers/crypto/ccp/ccp-dev-v3.c start = (u32)bitmap_find_next_zero_area(ccp->sb, ccp 28 drivers/crypto/ccp/ccp-dev-v3.c ccp->sb_count, ccp 29 drivers/crypto/ccp/ccp-dev-v3.c ccp->sb_start, ccp 31 drivers/crypto/ccp/ccp-dev-v3.c if (start <= ccp->sb_count) { ccp 32 drivers/crypto/ccp/ccp-dev-v3.c bitmap_set(ccp->sb, start, count); ccp 34 drivers/crypto/ccp/ccp-dev-v3.c mutex_unlock(&ccp->sb_mutex); ccp 38 drivers/crypto/ccp/ccp-dev-v3.c ccp->sb_avail = 0; ccp 40 drivers/crypto/ccp/ccp-dev-v3.c mutex_unlock(&ccp->sb_mutex); ccp 43 drivers/crypto/ccp/ccp-dev-v3.c if (wait_event_interruptible(ccp->sb_queue, ccp->sb_avail)) ccp 53 drivers/crypto/ccp/ccp-dev-v3.c struct ccp_device *ccp = cmd_q->ccp; ccp 58 drivers/crypto/ccp/ccp-dev-v3.c mutex_lock(&ccp->sb_mutex); ccp 60 drivers/crypto/ccp/ccp-dev-v3.c bitmap_clear(ccp->sb, start - KSB_START, count); ccp 62 drivers/crypto/ccp/ccp-dev-v3.c ccp->sb_avail = 1; ccp 64 drivers/crypto/ccp/ccp-dev-v3.c mutex_unlock(&ccp->sb_mutex); ccp 66 drivers/crypto/ccp/ccp-dev-v3.c wake_up_interruptible_all(&ccp->sb_queue); ccp 77 drivers/crypto/ccp/ccp-dev-v3.c struct ccp_device *ccp = cmd_q->ccp; ccp 101 drivers/crypto/ccp/ccp-dev-v3.c cr_addr = ccp->io_regs + CMD_REQ0 + CMD_REQ_INCR; ccp 103 drivers/crypto/ccp/ccp-dev-v3.c mutex_lock(&ccp->req_mutex); ccp 111 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(cr0, ccp->io_regs + CMD_REQ0); ccp 113 drivers/crypto/ccp/ccp-dev-v3.c mutex_unlock(&ccp->req_mutex); ccp 124 drivers/crypto/ccp/ccp-dev-v3.c ccp_log_error(cmd_q->ccp, ccp 127 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(cmd, ccp->io_regs + DEL_CMD_Q_JOB); ccp 137 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(cmd, ccp->io_regs + DEL_CMD_Q_JOB); ccp 314 drivers/crypto/ccp/ccp-dev-v3.c static void ccp_disable_queue_interrupts(struct ccp_device *ccp) ccp 316 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(0x00, ccp->io_regs + IRQ_MASK_REG); ccp 319 drivers/crypto/ccp/ccp-dev-v3.c static void ccp_enable_queue_interrupts(struct ccp_device *ccp) ccp 321 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(ccp->qim, ccp->io_regs + IRQ_MASK_REG); ccp 326 drivers/crypto/ccp/ccp-dev-v3.c struct ccp_device *ccp = (struct ccp_device *)data; ccp 331 drivers/crypto/ccp/ccp-dev-v3.c status = ioread32(ccp->io_regs + IRQ_STATUS_REG); ccp 333 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 334 drivers/crypto/ccp/ccp-dev-v3.c cmd_q = &ccp->cmd_q[i]; ccp 349 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(q_int, ccp->io_regs + IRQ_STATUS_REG); ccp 353 drivers/crypto/ccp/ccp-dev-v3.c ccp_enable_queue_interrupts(ccp); ccp 358 drivers/crypto/ccp/ccp-dev-v3.c struct ccp_device *ccp = (struct ccp_device *)data; ccp 360 drivers/crypto/ccp/ccp-dev-v3.c ccp_disable_queue_interrupts(ccp); ccp 361 drivers/crypto/ccp/ccp-dev-v3.c if (ccp->use_tasklet) ccp 362 drivers/crypto/ccp/ccp-dev-v3.c tasklet_schedule(&ccp->irq_tasklet); ccp 364 drivers/crypto/ccp/ccp-dev-v3.c ccp_irq_bh((unsigned long)ccp); ccp 369 drivers/crypto/ccp/ccp-dev-v3.c static int ccp_init(struct ccp_device *ccp) ccp 371 drivers/crypto/ccp/ccp-dev-v3.c struct device *dev = ccp->dev; ccp 379 drivers/crypto/ccp/ccp-dev-v3.c ccp->qim = 0; ccp 380 drivers/crypto/ccp/ccp-dev-v3.c qmr = ioread32(ccp->io_regs + Q_MASK_REG); ccp 381 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; (i < MAX_HW_QUEUES) && (ccp->cmd_q_count < ccp->max_q_count); i++) { ccp 387 drivers/crypto/ccp/ccp-dev-v3.c ccp->name, i); ccp 397 drivers/crypto/ccp/ccp-dev-v3.c cmd_q = &ccp->cmd_q[ccp->cmd_q_count]; ccp 398 drivers/crypto/ccp/ccp-dev-v3.c ccp->cmd_q_count++; ccp 400 drivers/crypto/ccp/ccp-dev-v3.c cmd_q->ccp = ccp; ccp 405 drivers/crypto/ccp/ccp-dev-v3.c cmd_q->sb_key = KSB_START + ccp->sb_start++; ccp 406 drivers/crypto/ccp/ccp-dev-v3.c cmd_q->sb_ctx = KSB_START + ccp->sb_start++; ccp 407 drivers/crypto/ccp/ccp-dev-v3.c ccp->sb_count -= 2; ccp 412 drivers/crypto/ccp/ccp-dev-v3.c cmd_q->reg_status = ccp->io_regs + CMD_Q_STATUS_BASE + ccp 414 drivers/crypto/ccp/ccp-dev-v3.c cmd_q->reg_int_status = ccp->io_regs + CMD_Q_INT_STATUS_BASE + ccp 424 drivers/crypto/ccp/ccp-dev-v3.c ccp->qim |= cmd_q->int_ok | cmd_q->int_err; ccp 428 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(ccp->axcache, ccp->io_regs + CMD_Q_CACHE_BASE + ccp 434 drivers/crypto/ccp/ccp-dev-v3.c if (ccp->cmd_q_count == 0) { ccp 439 drivers/crypto/ccp/ccp-dev-v3.c dev_notice(dev, "%u command queues available\n", ccp->cmd_q_count); ccp 442 drivers/crypto/ccp/ccp-dev-v3.c ccp_disable_queue_interrupts(ccp); ccp 443 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 444 drivers/crypto/ccp/ccp-dev-v3.c cmd_q = &ccp->cmd_q[i]; ccp 449 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(ccp->qim, ccp->io_regs + IRQ_STATUS_REG); ccp 452 drivers/crypto/ccp/ccp-dev-v3.c ret = sp_request_ccp_irq(ccp->sp, ccp_irq_handler, ccp->name, ccp); ccp 459 drivers/crypto/ccp/ccp-dev-v3.c if (ccp->use_tasklet) ccp 460 drivers/crypto/ccp/ccp-dev-v3.c tasklet_init(&ccp->irq_tasklet, ccp_irq_bh, ccp 461 drivers/crypto/ccp/ccp-dev-v3.c (unsigned long)ccp); ccp 465 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 468 drivers/crypto/ccp/ccp-dev-v3.c cmd_q = &ccp->cmd_q[i]; ccp 471 drivers/crypto/ccp/ccp-dev-v3.c "%s-q%u", ccp->name, cmd_q->id); ccp 485 drivers/crypto/ccp/ccp-dev-v3.c ccp_enable_queue_interrupts(ccp); ccp 488 drivers/crypto/ccp/ccp-dev-v3.c ccp_add_device(ccp); ccp 490 drivers/crypto/ccp/ccp-dev-v3.c ret = ccp_register_rng(ccp); ccp 495 drivers/crypto/ccp/ccp-dev-v3.c ret = ccp_dmaengine_register(ccp); ccp 502 drivers/crypto/ccp/ccp-dev-v3.c ccp_unregister_rng(ccp); ccp 505 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 506 drivers/crypto/ccp/ccp-dev-v3.c if (ccp->cmd_q[i].kthread) ccp 507 drivers/crypto/ccp/ccp-dev-v3.c kthread_stop(ccp->cmd_q[i].kthread); ccp 509 drivers/crypto/ccp/ccp-dev-v3.c sp_free_ccp_irq(ccp->sp, ccp); ccp 512 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 513 drivers/crypto/ccp/ccp-dev-v3.c dma_pool_destroy(ccp->cmd_q[i].dma_pool); ccp 518 drivers/crypto/ccp/ccp-dev-v3.c static void ccp_destroy(struct ccp_device *ccp) ccp 525 drivers/crypto/ccp/ccp-dev-v3.c ccp_dmaengine_unregister(ccp); ccp 528 drivers/crypto/ccp/ccp-dev-v3.c ccp_unregister_rng(ccp); ccp 531 drivers/crypto/ccp/ccp-dev-v3.c ccp_del_device(ccp); ccp 534 drivers/crypto/ccp/ccp-dev-v3.c ccp_disable_queue_interrupts(ccp); ccp 535 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 536 drivers/crypto/ccp/ccp-dev-v3.c cmd_q = &ccp->cmd_q[i]; ccp 541 drivers/crypto/ccp/ccp-dev-v3.c iowrite32(ccp->qim, ccp->io_regs + IRQ_STATUS_REG); ccp 544 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 545 drivers/crypto/ccp/ccp-dev-v3.c if (ccp->cmd_q[i].kthread) ccp 546 drivers/crypto/ccp/ccp-dev-v3.c kthread_stop(ccp->cmd_q[i].kthread); ccp 548 drivers/crypto/ccp/ccp-dev-v3.c sp_free_ccp_irq(ccp->sp, ccp); ccp 550 drivers/crypto/ccp/ccp-dev-v3.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 551 drivers/crypto/ccp/ccp-dev-v3.c dma_pool_destroy(ccp->cmd_q[i].dma_pool); ccp 554 drivers/crypto/ccp/ccp-dev-v3.c while (!list_empty(&ccp->cmd)) { ccp 556 drivers/crypto/ccp/ccp-dev-v3.c cmd = list_first_entry(&ccp->cmd, struct ccp_cmd, entry); ccp 560 drivers/crypto/ccp/ccp-dev-v3.c while (!list_empty(&ccp->backlog)) { ccp 562 drivers/crypto/ccp/ccp-dev-v3.c cmd = list_first_entry(&ccp->backlog, struct ccp_cmd, entry); ccp 27 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_device *ccp; ccp 42 drivers/crypto/ccp/ccp-dev-v5.c ccp = cmd_q->ccp; ccp 44 drivers/crypto/ccp/ccp-dev-v5.c mutex_lock(&ccp->sb_mutex); ccp 46 drivers/crypto/ccp/ccp-dev-v5.c start = (u32)bitmap_find_next_zero_area(ccp->lsbmap, ccp 51 drivers/crypto/ccp/ccp-dev-v5.c bitmap_set(ccp->lsbmap, start, count); ccp 53 drivers/crypto/ccp/ccp-dev-v5.c mutex_unlock(&ccp->sb_mutex); ccp 57 drivers/crypto/ccp/ccp-dev-v5.c ccp->sb_avail = 0; ccp 59 drivers/crypto/ccp/ccp-dev-v5.c mutex_unlock(&ccp->sb_mutex); ccp 62 drivers/crypto/ccp/ccp-dev-v5.c if (wait_event_interruptible(ccp->sb_queue, ccp->sb_avail)) ccp 81 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_device *ccp = cmd_q->ccp; ccp 83 drivers/crypto/ccp/ccp-dev-v5.c mutex_lock(&ccp->sb_mutex); ccp 84 drivers/crypto/ccp/ccp-dev-v5.c bitmap_clear(ccp->lsbmap, start, count); ccp 85 drivers/crypto/ccp/ccp-dev-v5.c ccp->sb_avail = 1; ccp 86 drivers/crypto/ccp/ccp-dev-v5.c mutex_unlock(&ccp->sb_mutex); ccp 87 drivers/crypto/ccp/ccp-dev-v5.c wake_up_interruptible_all(&ccp->sb_queue); ccp 265 drivers/crypto/ccp/ccp-dev-v5.c ccp_log_error(cmd_q->ccp, ccp 602 drivers/crypto/ccp/ccp-dev-v5.c dev_dbg(cmd_q->ccp->dev, "Queue %d can access %d LSB regions\n", ccp 608 drivers/crypto/ccp/ccp-dev-v5.c static int ccp_find_and_assign_lsb_to_q(struct ccp_device *ccp, ccp 627 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 628 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_cmd_queue *cmd_q = &ccp->cmd_q[i]; ccp 643 drivers/crypto/ccp/ccp-dev-v5.c dev_dbg(ccp->dev, ccp 665 drivers/crypto/ccp/ccp-dev-v5.c static int ccp_assign_lsbs(struct ccp_device *ccp) ccp 677 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 679 drivers/crypto/ccp/ccp-dev-v5.c lsb_pub, ccp->cmd_q[i].lsbmask, ccp 684 drivers/crypto/ccp/ccp-dev-v5.c if (n_lsbs >= ccp->cmd_q_count) { ccp 694 drivers/crypto/ccp/ccp-dev-v5.c rc = ccp_find_and_assign_lsb_to_q(ccp, lsb_cnt, n_lsbs, ccp 712 drivers/crypto/ccp/ccp-dev-v5.c bitmap_set(ccp->lsbmap, bitno * LSB_SIZE, LSB_SIZE); ccp 720 drivers/crypto/ccp/ccp-dev-v5.c static void ccp5_disable_queue_interrupts(struct ccp_device *ccp) ccp 724 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 725 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x0, ccp->cmd_q[i].reg_int_enable); ccp 728 drivers/crypto/ccp/ccp-dev-v5.c static void ccp5_enable_queue_interrupts(struct ccp_device *ccp) ccp 732 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 733 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(SUPPORTED_INTERRUPTS, ccp->cmd_q[i].reg_int_enable); ccp 738 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_device *ccp = (struct ccp_device *)data; ccp 742 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 743 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_cmd_queue *cmd_q = &ccp->cmd_q[i]; ccp 763 drivers/crypto/ccp/ccp-dev-v5.c ccp5_enable_queue_interrupts(ccp); ccp 768 drivers/crypto/ccp/ccp-dev-v5.c struct ccp_device *ccp = (struct ccp_device *)data; ccp 770 drivers/crypto/ccp/ccp-dev-v5.c ccp5_disable_queue_interrupts(ccp); ccp 771 drivers/crypto/ccp/ccp-dev-v5.c ccp->total_interrupts++; ccp 772 drivers/crypto/ccp/ccp-dev-v5.c if (ccp->use_tasklet) ccp 773 drivers/crypto/ccp/ccp-dev-v5.c tasklet_schedule(&ccp->irq_tasklet); ccp 775 drivers/crypto/ccp/ccp-dev-v5.c ccp5_irq_bh((unsigned long)ccp); ccp 779 drivers/crypto/ccp/ccp-dev-v5.c static int ccp5_init(struct ccp_device *ccp) ccp 781 drivers/crypto/ccp/ccp-dev-v5.c struct device *dev = ccp->dev; ccp 791 drivers/crypto/ccp/ccp-dev-v5.c qmr = ioread32(ccp->io_regs + Q_MASK_REG); ccp 792 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; (i < MAX_HW_QUEUES) && (ccp->cmd_q_count < ccp->max_q_count); i++) { ccp 798 drivers/crypto/ccp/ccp-dev-v5.c ccp->name, i); ccp 808 drivers/crypto/ccp/ccp-dev-v5.c cmd_q = &ccp->cmd_q[ccp->cmd_q_count]; ccp 809 drivers/crypto/ccp/ccp-dev-v5.c ccp->cmd_q_count++; ccp 811 drivers/crypto/ccp/ccp-dev-v5.c cmd_q->ccp = ccp; ccp 832 drivers/crypto/ccp/ccp-dev-v5.c cmd_q->reg_control = ccp->io_regs + ccp 855 drivers/crypto/ccp/ccp-dev-v5.c if (ccp->cmd_q_count == 0) { ccp 862 drivers/crypto/ccp/ccp-dev-v5.c ccp5_disable_queue_interrupts(ccp); ccp 863 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 864 drivers/crypto/ccp/ccp-dev-v5.c cmd_q = &ccp->cmd_q[i]; ccp 878 drivers/crypto/ccp/ccp-dev-v5.c ret = sp_request_ccp_irq(ccp->sp, ccp5_irq_handler, ccp->name, ccp); ccp 884 drivers/crypto/ccp/ccp-dev-v5.c if (ccp->use_tasklet) ccp 885 drivers/crypto/ccp/ccp-dev-v5.c tasklet_init(&ccp->irq_tasklet, ccp5_irq_bh, ccp 886 drivers/crypto/ccp/ccp-dev-v5.c (unsigned long)ccp); ccp 890 drivers/crypto/ccp/ccp-dev-v5.c status_lo = ioread32(ccp->io_regs + LSB_PRIVATE_MASK_LO_OFFSET); ccp 891 drivers/crypto/ccp/ccp-dev-v5.c status_hi = ioread32(ccp->io_regs + LSB_PRIVATE_MASK_HI_OFFSET); ccp 892 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(status_lo, ccp->io_regs + LSB_PUBLIC_MASK_LO_OFFSET); ccp 893 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(status_hi, ccp->io_regs + LSB_PUBLIC_MASK_HI_OFFSET); ccp 898 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 902 drivers/crypto/ccp/ccp-dev-v5.c cmd_q = &ccp->cmd_q[i]; ccp 922 drivers/crypto/ccp/ccp-dev-v5.c ret = ccp_assign_lsbs(ccp); ccp 929 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 930 drivers/crypto/ccp/ccp-dev-v5.c ccp->cmd_q[i].sb_key = ccp_lsb_alloc(&ccp->cmd_q[i], 2); ccp 931 drivers/crypto/ccp/ccp-dev-v5.c ccp->cmd_q[i].sb_ctx = ccp_lsb_alloc(&ccp->cmd_q[i], 2); ccp 936 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 939 drivers/crypto/ccp/ccp-dev-v5.c cmd_q = &ccp->cmd_q[i]; ccp 942 drivers/crypto/ccp/ccp-dev-v5.c "%s-q%u", ccp->name, cmd_q->id); ccp 955 drivers/crypto/ccp/ccp-dev-v5.c ccp5_enable_queue_interrupts(ccp); ccp 959 drivers/crypto/ccp/ccp-dev-v5.c ccp_add_device(ccp); ccp 961 drivers/crypto/ccp/ccp-dev-v5.c ret = ccp_register_rng(ccp); ccp 966 drivers/crypto/ccp/ccp-dev-v5.c ret = ccp_dmaengine_register(ccp); ccp 972 drivers/crypto/ccp/ccp-dev-v5.c ccp5_debugfs_setup(ccp); ccp 978 drivers/crypto/ccp/ccp-dev-v5.c ccp_unregister_rng(ccp); ccp 981 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 982 drivers/crypto/ccp/ccp-dev-v5.c if (ccp->cmd_q[i].kthread) ccp 983 drivers/crypto/ccp/ccp-dev-v5.c kthread_stop(ccp->cmd_q[i].kthread); ccp 986 drivers/crypto/ccp/ccp-dev-v5.c sp_free_ccp_irq(ccp->sp, ccp); ccp 989 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 990 drivers/crypto/ccp/ccp-dev-v5.c dma_pool_destroy(ccp->cmd_q[i].dma_pool); ccp 995 drivers/crypto/ccp/ccp-dev-v5.c static void ccp5_destroy(struct ccp_device *ccp) ccp 1002 drivers/crypto/ccp/ccp-dev-v5.c ccp_dmaengine_unregister(ccp); ccp 1005 drivers/crypto/ccp/ccp-dev-v5.c ccp_unregister_rng(ccp); ccp 1008 drivers/crypto/ccp/ccp-dev-v5.c ccp_del_device(ccp); ccp 1019 drivers/crypto/ccp/ccp-dev-v5.c ccp5_disable_queue_interrupts(ccp); ccp 1020 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 1021 drivers/crypto/ccp/ccp-dev-v5.c cmd_q = &ccp->cmd_q[i]; ccp 1033 drivers/crypto/ccp/ccp-dev-v5.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 1034 drivers/crypto/ccp/ccp-dev-v5.c if (ccp->cmd_q[i].kthread) ccp 1035 drivers/crypto/ccp/ccp-dev-v5.c kthread_stop(ccp->cmd_q[i].kthread); ccp 1037 drivers/crypto/ccp/ccp-dev-v5.c sp_free_ccp_irq(ccp->sp, ccp); ccp 1040 drivers/crypto/ccp/ccp-dev-v5.c while (!list_empty(&ccp->cmd)) { ccp 1042 drivers/crypto/ccp/ccp-dev-v5.c cmd = list_first_entry(&ccp->cmd, struct ccp_cmd, entry); ccp 1046 drivers/crypto/ccp/ccp-dev-v5.c while (!list_empty(&ccp->backlog)) { ccp 1048 drivers/crypto/ccp/ccp-dev-v5.c cmd = list_first_entry(&ccp->backlog, struct ccp_cmd, entry); ccp 1054 drivers/crypto/ccp/ccp-dev-v5.c static void ccp5_config(struct ccp_device *ccp) ccp 1057 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x0, ccp->io_regs + CMD5_REQID_CONFIG_OFFSET); ccp 1060 drivers/crypto/ccp/ccp-dev-v5.c static void ccp5other_config(struct ccp_device *ccp) ccp 1067 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x00012D57, ccp->io_regs + CMD5_TRNG_CTL_OFFSET); ccp 1068 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x00000003, ccp->io_regs + CMD5_CONFIG_0_OFFSET); ccp 1070 drivers/crypto/ccp/ccp-dev-v5.c rnd = ioread32(ccp->io_regs + TRNG_OUT_REG); ccp 1071 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(rnd, ccp->io_regs + CMD5_AES_MASK_OFFSET); ccp 1074 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x0000001F, ccp->io_regs + CMD5_QUEUE_MASK_OFFSET); ccp 1075 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x00005B6D, ccp->io_regs + CMD5_QUEUE_PRIO_OFFSET); ccp 1076 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x00000000, ccp->io_regs + CMD5_CMD_TIMEOUT_OFFSET); ccp 1078 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x3FFFFFFF, ccp->io_regs + LSB_PRIVATE_MASK_LO_OFFSET); ccp 1079 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x000003FF, ccp->io_regs + LSB_PRIVATE_MASK_HI_OFFSET); ccp 1081 drivers/crypto/ccp/ccp-dev-v5.c iowrite32(0x00108823, ccp->io_regs + CMD5_CLK_GATE_CTL_OFFSET); ccp 1083 drivers/crypto/ccp/ccp-dev-v5.c ccp5_config(ccp); ccp 135 drivers/crypto/ccp/ccp-dev.c void ccp_add_device(struct ccp_device *ccp) ccp 140 drivers/crypto/ccp/ccp-dev.c list_add_tail(&ccp->entry, &ccp_units); ccp 145 drivers/crypto/ccp/ccp-dev.c ccp_rr = ccp; ccp 158 drivers/crypto/ccp/ccp-dev.c void ccp_del_device(struct ccp_device *ccp) ccp 163 drivers/crypto/ccp/ccp-dev.c if (ccp_rr == ccp) { ccp 174 drivers/crypto/ccp/ccp-dev.c list_del(&ccp->entry); ccp 182 drivers/crypto/ccp/ccp-dev.c int ccp_register_rng(struct ccp_device *ccp) ccp 186 drivers/crypto/ccp/ccp-dev.c dev_dbg(ccp->dev, "Registering RNG...\n"); ccp 188 drivers/crypto/ccp/ccp-dev.c ccp->hwrng.name = ccp->rngname; ccp 189 drivers/crypto/ccp/ccp-dev.c ccp->hwrng.read = ccp_trng_read; ccp 190 drivers/crypto/ccp/ccp-dev.c ret = hwrng_register(&ccp->hwrng); ccp 192 drivers/crypto/ccp/ccp-dev.c dev_err(ccp->dev, "error registering hwrng (%d)\n", ret); ccp 197 drivers/crypto/ccp/ccp-dev.c void ccp_unregister_rng(struct ccp_device *ccp) ccp 199 drivers/crypto/ccp/ccp-dev.c if (ccp->hwrng.name) ccp 200 drivers/crypto/ccp/ccp-dev.c hwrng_unregister(&ccp->hwrng); ccp 291 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp; ccp 297 drivers/crypto/ccp/ccp-dev.c ccp = cmd->ccp ? cmd->ccp : ccp_get_device(); ccp 299 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 306 drivers/crypto/ccp/ccp-dev.c cmd->ccp = ccp; ccp 308 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 310 drivers/crypto/ccp/ccp-dev.c i = ccp->cmd_q_count; ccp 312 drivers/crypto/ccp/ccp-dev.c if (ccp->cmd_count >= MAX_CMD_QLEN) { ccp 315 drivers/crypto/ccp/ccp-dev.c list_add_tail(&cmd->entry, &ccp->backlog); ccp 321 drivers/crypto/ccp/ccp-dev.c ccp->cmd_count++; ccp 322 drivers/crypto/ccp/ccp-dev.c list_add_tail(&cmd->entry, &ccp->cmd); ccp 325 drivers/crypto/ccp/ccp-dev.c if (!ccp->suspending) { ccp 326 drivers/crypto/ccp/ccp-dev.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 327 drivers/crypto/ccp/ccp-dev.c if (ccp->cmd_q[i].active) ccp 335 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 338 drivers/crypto/ccp/ccp-dev.c if (i < ccp->cmd_q_count) ccp 339 drivers/crypto/ccp/ccp-dev.c wake_up_process(ccp->cmd_q[i].kthread); ccp 348 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = cmd->ccp; ccp 354 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 356 drivers/crypto/ccp/ccp-dev.c ccp->cmd_count++; ccp 357 drivers/crypto/ccp/ccp-dev.c list_add_tail(&cmd->entry, &ccp->cmd); ccp 360 drivers/crypto/ccp/ccp-dev.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 361 drivers/crypto/ccp/ccp-dev.c if (ccp->cmd_q[i].active) ccp 367 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 370 drivers/crypto/ccp/ccp-dev.c if (i < ccp->cmd_q_count) ccp 371 drivers/crypto/ccp/ccp-dev.c wake_up_process(ccp->cmd_q[i].kthread); ccp 376 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = cmd_q->ccp; ccp 381 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 385 drivers/crypto/ccp/ccp-dev.c if (ccp->suspending) { ccp 388 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 389 drivers/crypto/ccp/ccp-dev.c wake_up_interruptible(&ccp->suspend_queue); ccp 394 drivers/crypto/ccp/ccp-dev.c if (ccp->cmd_count) { ccp 397 drivers/crypto/ccp/ccp-dev.c cmd = list_first_entry(&ccp->cmd, struct ccp_cmd, entry); ccp 400 drivers/crypto/ccp/ccp-dev.c ccp->cmd_count--; ccp 403 drivers/crypto/ccp/ccp-dev.c if (!list_empty(&ccp->backlog)) { ccp 404 drivers/crypto/ccp/ccp-dev.c backlog = list_first_entry(&ccp->backlog, struct ccp_cmd, ccp 409 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 478 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp; ccp 480 drivers/crypto/ccp/ccp-dev.c ccp = devm_kzalloc(dev, sizeof(*ccp), GFP_KERNEL); ccp 481 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 483 drivers/crypto/ccp/ccp-dev.c ccp->dev = dev; ccp 484 drivers/crypto/ccp/ccp-dev.c ccp->sp = sp; ccp 485 drivers/crypto/ccp/ccp-dev.c ccp->axcache = sp->axcache; ccp 487 drivers/crypto/ccp/ccp-dev.c INIT_LIST_HEAD(&ccp->cmd); ccp 488 drivers/crypto/ccp/ccp-dev.c INIT_LIST_HEAD(&ccp->backlog); ccp 490 drivers/crypto/ccp/ccp-dev.c spin_lock_init(&ccp->cmd_lock); ccp 491 drivers/crypto/ccp/ccp-dev.c mutex_init(&ccp->req_mutex); ccp 492 drivers/crypto/ccp/ccp-dev.c mutex_init(&ccp->sb_mutex); ccp 493 drivers/crypto/ccp/ccp-dev.c ccp->sb_count = KSB_COUNT; ccp 494 drivers/crypto/ccp/ccp-dev.c ccp->sb_start = 0; ccp 497 drivers/crypto/ccp/ccp-dev.c init_waitqueue_head(&ccp->sb_queue); ccp 498 drivers/crypto/ccp/ccp-dev.c init_waitqueue_head(&ccp->suspend_queue); ccp 500 drivers/crypto/ccp/ccp-dev.c snprintf(ccp->name, MAX_CCP_NAME_LEN, "ccp-%u", sp->ord); ccp 501 drivers/crypto/ccp/ccp-dev.c snprintf(ccp->rngname, MAX_CCP_NAME_LEN, "ccp-%u-rng", sp->ord); ccp 503 drivers/crypto/ccp/ccp-dev.c return ccp; ccp 508 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = container_of(rng, struct ccp_device, hwrng); ccp 515 drivers/crypto/ccp/ccp-dev.c trng_value = ioread32(ccp->io_regs + TRNG_OUT_REG); ccp 521 drivers/crypto/ccp/ccp-dev.c if (ccp->hwrng_retries++ > TRNG_RETRIES) ccp 528 drivers/crypto/ccp/ccp-dev.c ccp->hwrng_retries = 0; ccp 535 drivers/crypto/ccp/ccp-dev.c bool ccp_queues_suspended(struct ccp_device *ccp) ccp 541 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 543 drivers/crypto/ccp/ccp-dev.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 544 drivers/crypto/ccp/ccp-dev.c if (ccp->cmd_q[i].suspended) ccp 547 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 549 drivers/crypto/ccp/ccp-dev.c return ccp->cmd_q_count == suspended; ccp 554 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = sp->ccp_data; ccp 559 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 562 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 564 drivers/crypto/ccp/ccp-dev.c ccp->suspending = 1; ccp 567 drivers/crypto/ccp/ccp-dev.c for (i = 0; i < ccp->cmd_q_count; i++) ccp 568 drivers/crypto/ccp/ccp-dev.c wake_up_process(ccp->cmd_q[i].kthread); ccp 570 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 573 drivers/crypto/ccp/ccp-dev.c while (!ccp_queues_suspended(ccp)) ccp 574 drivers/crypto/ccp/ccp-dev.c wait_event_interruptible(ccp->suspend_queue, ccp 575 drivers/crypto/ccp/ccp-dev.c ccp_queues_suspended(ccp)); ccp 582 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = sp->ccp_data; ccp 587 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 590 drivers/crypto/ccp/ccp-dev.c spin_lock_irqsave(&ccp->cmd_lock, flags); ccp 592 drivers/crypto/ccp/ccp-dev.c ccp->suspending = 0; ccp 595 drivers/crypto/ccp/ccp-dev.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 596 drivers/crypto/ccp/ccp-dev.c ccp->cmd_q[i].suspended = 0; ccp 597 drivers/crypto/ccp/ccp-dev.c wake_up_process(ccp->cmd_q[i].kthread); ccp 600 drivers/crypto/ccp/ccp-dev.c spin_unlock_irqrestore(&ccp->cmd_lock, flags); ccp 609 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp; ccp 620 drivers/crypto/ccp/ccp-dev.c ccp = ccp_alloc_struct(sp); ccp 621 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 623 drivers/crypto/ccp/ccp-dev.c sp->ccp_data = ccp; ccp 626 drivers/crypto/ccp/ccp-dev.c ccp->max_q_count = MAX_HW_QUEUES; ccp 628 drivers/crypto/ccp/ccp-dev.c ccp->max_q_count = nqueues; ccp 630 drivers/crypto/ccp/ccp-dev.c ccp->vdata = (struct ccp_vdata *)sp->dev_vdata->ccp_vdata; ccp 631 drivers/crypto/ccp/ccp-dev.c if (!ccp->vdata || !ccp->vdata->version) { ccp 637 drivers/crypto/ccp/ccp-dev.c ccp->use_tasklet = sp->use_tasklet; ccp 639 drivers/crypto/ccp/ccp-dev.c ccp->io_regs = sp->io_map + ccp->vdata->offset; ccp 640 drivers/crypto/ccp/ccp-dev.c if (ccp->vdata->setup) ccp 641 drivers/crypto/ccp/ccp-dev.c ccp->vdata->setup(ccp); ccp 643 drivers/crypto/ccp/ccp-dev.c ret = ccp->vdata->perform->init(ccp); ccp 661 drivers/crypto/ccp/ccp-dev.c struct ccp_device *ccp = sp->ccp_data; ccp 663 drivers/crypto/ccp/ccp-dev.c if (!ccp) ccp 666 drivers/crypto/ccp/ccp-dev.c ccp->vdata->perform->destroy(ccp); ccp 235 drivers/crypto/ccp/ccp-dev.h struct ccp_device *ccp; ccp 246 drivers/crypto/ccp/ccp-dev.h struct ccp_device *ccp; ccp 261 drivers/crypto/ccp/ccp-dev.h struct ccp_device *ccp; ccp 630 drivers/crypto/ccp/ccp-dev.h void ccp_add_device(struct ccp_device *ccp); ccp 631 drivers/crypto/ccp/ccp-dev.h void ccp_del_device(struct ccp_device *ccp); ccp 636 drivers/crypto/ccp/ccp-dev.h bool ccp_queues_suspended(struct ccp_device *ccp); ccp 642 drivers/crypto/ccp/ccp-dev.h int ccp_register_rng(struct ccp_device *ccp); ccp 643 drivers/crypto/ccp/ccp-dev.h void ccp_unregister_rng(struct ccp_device *ccp); ccp 644 drivers/crypto/ccp/ccp-dev.h int ccp_dmaengine_register(struct ccp_device *ccp); ccp 645 drivers/crypto/ccp/ccp-dev.h void ccp_dmaengine_unregister(struct ccp_device *ccp); ccp 647 drivers/crypto/ccp/ccp-dev.h void ccp5_debugfs_setup(struct ccp_device *ccp); ccp 43 drivers/crypto/ccp/ccp-dmaengine.c static unsigned int ccp_get_dma_chan_attr(struct ccp_device *ccp) ccp 47 drivers/crypto/ccp/ccp-dmaengine.c return ccp->vdata->dma_chan_attr; ccp 56 drivers/crypto/ccp/ccp-dmaengine.c dev_info_once(ccp->dev, "Invalid value for dma_chan_attr: %d\n", ccp 58 drivers/crypto/ccp/ccp-dmaengine.c return ccp->vdata->dma_chan_attr; ccp 62 drivers/crypto/ccp/ccp-dmaengine.c static void ccp_free_cmd_resources(struct ccp_device *ccp, ccp 69 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_free(ccp->dma_cmd_cache, cmd); ccp 73 drivers/crypto/ccp/ccp-dmaengine.c static void ccp_free_desc_resources(struct ccp_device *ccp, ccp 79 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(ccp, &desc->active); ccp 80 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(ccp, &desc->pending); ccp 83 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_free(ccp->dma_desc_cache, desc); ccp 93 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s - chan=%p\n", __func__, chan); ccp 97 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->complete); ccp 98 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->active); ccp 99 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->pending); ccp 100 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->created); ccp 105 drivers/crypto/ccp/ccp-dmaengine.c static void ccp_cleanup_desc_resources(struct ccp_device *ccp, ccp 114 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(ccp->dev, "%s - desc=%p\n", __func__, desc); ccp 116 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(ccp, &desc->active); ccp 117 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(ccp, &desc->pending); ccp 120 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_free(ccp->dma_desc_cache, desc); ccp 129 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s - chan=%s\n", __func__, ccp 134 drivers/crypto/ccp/ccp-dmaengine.c ccp_cleanup_desc_resources(chan->ccp, &chan->complete); ccp 147 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(desc->ccp->dev, "%s - tx %d, cmd=%p\n", __func__, ccp 154 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(desc->ccp->dev, "%s - error: ret=%d, tx %d, cmd=%p\n", __func__, ccp 169 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(desc->ccp->dev, "%s - freeing tx %d cmd=%p\n", ccp 173 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_free(desc->ccp->dma_cmd_cache, cmd); ccp 208 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(desc->ccp, ccp 223 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(desc->ccp->dev, ccp 273 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s - tx %d callback, err=%d\n", ccp 315 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s - added tx descriptor %d to pending list\n", ccp 325 drivers/crypto/ccp/ccp-dmaengine.c cmd = kmem_cache_alloc(chan->ccp->dma_cmd_cache, GFP_NOWAIT); ccp 337 drivers/crypto/ccp/ccp-dmaengine.c desc = kmem_cache_zalloc(chan->ccp->dma_desc_cache, GFP_NOWAIT); ccp 344 drivers/crypto/ccp/ccp-dmaengine.c desc->ccp = chan->ccp; ccp 362 drivers/crypto/ccp/ccp-dmaengine.c struct ccp_device *ccp = chan->ccp; ccp 427 drivers/crypto/ccp/ccp-dmaengine.c ccp_cmd->ccp = chan->ccp; ccp 443 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(ccp->dev, ccp 462 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(ccp->dev, "%s - desc=%p\n", __func__, desc); ccp 473 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_cmd_resources(ccp, &desc->pending); ccp 474 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_free(ccp->dma_desc_cache, desc); ccp 488 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, ccp 528 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s\n", __func__); ccp 573 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s - %u\n", __func__, ret); ccp 620 drivers/crypto/ccp/ccp-dmaengine.c dev_dbg(chan->ccp->dev, "%s\n", __func__); ccp 627 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->active); ccp 628 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->pending); ccp 629 drivers/crypto/ccp/ccp-dmaengine.c ccp_free_desc_resources(chan->ccp, &chan->created); ccp 636 drivers/crypto/ccp/ccp-dmaengine.c int ccp_dmaengine_register(struct ccp_device *ccp) ccp 639 drivers/crypto/ccp/ccp-dmaengine.c struct dma_device *dma_dev = &ccp->dma_dev; ccp 649 drivers/crypto/ccp/ccp-dmaengine.c ccp->ccp_dma_chan = devm_kcalloc(ccp->dev, ccp->cmd_q_count, ccp 650 drivers/crypto/ccp/ccp-dmaengine.c sizeof(*(ccp->ccp_dma_chan)), ccp 652 drivers/crypto/ccp/ccp-dmaengine.c if (!ccp->ccp_dma_chan) ccp 655 drivers/crypto/ccp/ccp-dmaengine.c dma_cmd_cache_name = devm_kasprintf(ccp->dev, GFP_KERNEL, ccp 657 drivers/crypto/ccp/ccp-dmaengine.c ccp->name); ccp 661 drivers/crypto/ccp/ccp-dmaengine.c ccp->dma_cmd_cache = kmem_cache_create(dma_cmd_cache_name, ccp 665 drivers/crypto/ccp/ccp-dmaengine.c if (!ccp->dma_cmd_cache) ccp 668 drivers/crypto/ccp/ccp-dmaengine.c dma_desc_cache_name = devm_kasprintf(ccp->dev, GFP_KERNEL, ccp 670 drivers/crypto/ccp/ccp-dmaengine.c ccp->name); ccp 676 drivers/crypto/ccp/ccp-dmaengine.c ccp->dma_desc_cache = kmem_cache_create(dma_desc_cache_name, ccp 680 drivers/crypto/ccp/ccp-dmaengine.c if (!ccp->dma_desc_cache) { ccp 685 drivers/crypto/ccp/ccp-dmaengine.c dma_dev->dev = ccp->dev; ccp 686 drivers/crypto/ccp/ccp-dmaengine.c dma_dev->src_addr_widths = CCP_DMA_WIDTH(dma_get_mask(ccp->dev)); ccp 687 drivers/crypto/ccp/ccp-dmaengine.c dma_dev->dst_addr_widths = CCP_DMA_WIDTH(dma_get_mask(ccp->dev)); ccp 699 drivers/crypto/ccp/ccp-dmaengine.c if (ccp_get_dma_chan_attr(ccp) == DMA_PRIVATE) ccp 703 drivers/crypto/ccp/ccp-dmaengine.c for (i = 0; i < ccp->cmd_q_count; i++) { ccp 704 drivers/crypto/ccp/ccp-dmaengine.c chan = ccp->ccp_dma_chan + i; ccp 707 drivers/crypto/ccp/ccp-dmaengine.c chan->ccp = ccp; ccp 740 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_destroy(ccp->dma_desc_cache); ccp 743 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_destroy(ccp->dma_cmd_cache); ccp 748 drivers/crypto/ccp/ccp-dmaengine.c void ccp_dmaengine_unregister(struct ccp_device *ccp) ccp 750 drivers/crypto/ccp/ccp-dmaengine.c struct dma_device *dma_dev = &ccp->dma_dev; ccp 757 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_destroy(ccp->dma_desc_cache); ccp 758 drivers/crypto/ccp/ccp-dmaengine.c kmem_cache_destroy(ccp->dma_cmd_cache); ccp 55 drivers/crypto/ccp/ccp-ops.c #define CCP_NEW_JOBID(ccp) ((ccp->vdata->version == CCP_VERSION(3, 0)) ? \ ccp 56 drivers/crypto/ccp/ccp-ops.c ccp_gen_jobid(ccp) : 0) ccp 58 drivers/crypto/ccp/ccp-ops.c static u32 ccp_gen_jobid(struct ccp_device *ccp) ccp 60 drivers/crypto/ccp/ccp-ops.c return atomic_inc_return(&ccp->current_id) & CCP_JOBID_MASK; ccp 146 drivers/crypto/ccp/ccp-ops.c wa->dev = cmd_q->ccp->dev; ccp 261 drivers/crypto/ccp/ccp-ops.c ret = ccp_init_sg_workarea(&data->sg_wa, cmd_q->ccp->dev, sg, sg_len, ccp 439 drivers/crypto/ccp/ccp-ops.c return cmd_q->ccp->vdata->perform->passthru(&op); ccp 494 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 577 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->aes(&op); ccp 678 drivers/crypto/ccp/ccp-ops.c jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 743 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->aes(&op); ccp 791 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->aes(&op); ccp 849 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->aes(&op); ccp 933 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 1031 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->aes(&op); ccp 1128 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 1140 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version == CCP_VERSION(3, 0)) ccp 1150 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version == CCP_VERSION(3, 0)) { ccp 1233 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->xts_aes(&op); ccp 1286 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0)) ccp 1289 drivers/crypto/ccp/ccp-ops.c if (!cmd_q->ccp->vdata->perform->des3) ccp 1317 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 1430 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->des3(&op); ccp 1501 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version < CCP_VERSION(4, 0) ccp 1507 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version < CCP_VERSION(4, 0) ccp 1523 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version == CCP_VERSION(3, 0)) { ccp 1576 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version != CCP_VERSION(3, 0)) ccp 1587 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version != CCP_VERSION(3, 0)) ccp 1627 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 1686 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->sha(&op); ccp 1696 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->sha(&op); ccp 1824 drivers/crypto/ccp/ccp-ops.c if (rsa->key_size > cmd_q->ccp->vdata->rsamax) ccp 1832 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 1846 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0)) { ccp 1851 drivers/crypto/ccp/ccp-ops.c op.sb_key = cmd_q->ccp->vdata->perform->sballoc(cmd_q, ccp 1874 drivers/crypto/ccp/ccp-ops.c if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0)) { ccp 1922 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->rsa(&op); ccp 1941 drivers/crypto/ccp/ccp-ops.c cmd_q->ccp->vdata->perform->sbfree(cmd_q, op.sb_key, sb_count); ccp 1974 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 2050 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->passthru(&op); ccp 2104 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 2136 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->passthru(&op); ccp 2166 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 2224 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->ecc(&op); ccp 2289 drivers/crypto/ccp/ccp-ops.c op.jobid = CCP_NEW_JOBID(cmd_q->ccp); ccp 2382 drivers/crypto/ccp/ccp-ops.c ret = cmd_q->ccp->vdata->perform->ecc(&op); ccp 2454 drivers/crypto/ccp/ccp-ops.c cmd_q->free_slots = cmd_q->ccp->vdata->perform->get_free_slots(cmd_q); ccp 2095 drivers/infiniband/hw/qib/qib_mad.c static int cc_get_classportinfo(struct ib_cc_mad *ccp, ccp 2099 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_classportinfo_attr *)ccp->mgmt_data; ccp 2101 drivers/infiniband/hw/qib/qib_mad.c memset(ccp->mgmt_data, 0, sizeof(ccp->mgmt_data)); ccp 2112 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2115 drivers/infiniband/hw/qib/qib_mad.c static int cc_get_congestion_info(struct ib_cc_mad *ccp, ccp 2119 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_info_attr *)ccp->mgmt_data; ccp 2123 drivers/infiniband/hw/qib/qib_mad.c memset(ccp->mgmt_data, 0, sizeof(ccp->mgmt_data)); ccp 2128 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2131 drivers/infiniband/hw/qib/qib_mad.c static int cc_get_congestion_setting(struct ib_cc_mad *ccp, ccp 2136 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_congestion_setting_attr *)ccp->mgmt_data; ccp 2141 drivers/infiniband/hw/qib/qib_mad.c memset(ccp->mgmt_data, 0, sizeof(ccp->mgmt_data)); ccp 2159 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2162 drivers/infiniband/hw/qib/qib_mad.c static int cc_get_congestion_control_table(struct ib_cc_mad *ccp, ccp 2166 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_table_attr *)ccp->mgmt_data; ccp 2169 drivers/infiniband/hw/qib/qib_mad.c u32 cct_block_index = be32_to_cpu(ccp->attr_mod); ccp 2179 drivers/infiniband/hw/qib/qib_mad.c memset(ccp->mgmt_data, 0, sizeof(ccp->mgmt_data)); ccp 2192 drivers/infiniband/hw/qib/qib_mad.c ccp->attr_mod = cpu_to_be32(cct_block_index); ccp 2209 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2212 drivers/infiniband/hw/qib/qib_mad.c return reply_failure((struct ib_smp *) ccp); ccp 2215 drivers/infiniband/hw/qib/qib_mad.c static int cc_set_congestion_setting(struct ib_cc_mad *ccp, ccp 2219 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_congestion_setting_attr *)ccp->mgmt_data; ccp 2240 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2243 drivers/infiniband/hw/qib/qib_mad.c static int cc_set_congestion_control_table(struct ib_cc_mad *ccp, ccp 2247 drivers/infiniband/hw/qib/qib_mad.c (struct ib_cc_table_attr *)ccp->mgmt_data; ccp 2250 drivers/infiniband/hw/qib/qib_mad.c u32 cct_block_index = be32_to_cpu(ccp->attr_mod); ccp 2293 drivers/infiniband/hw/qib/qib_mad.c return reply((struct ib_smp *) ccp); ccp 2296 drivers/infiniband/hw/qib/qib_mad.c return reply_failure((struct ib_smp *) ccp); ccp 2300 drivers/infiniband/hw/qib/qib_mad.c struct ib_cc_mad *ccp, int mad_flags) ccp 2309 drivers/infiniband/hw/qib/qib_mad.c struct ib_cc_mad *ccp = (struct ib_cc_mad *)out_mad; ccp 2315 drivers/infiniband/hw/qib/qib_mad.c if (ccp->class_version != 2) { ccp 2316 drivers/infiniband/hw/qib/qib_mad.c ccp->status |= IB_SMP_UNSUP_VERSION; ccp 2317 drivers/infiniband/hw/qib/qib_mad.c ret = reply((struct ib_smp *)ccp); ccp 2321 drivers/infiniband/hw/qib/qib_mad.c ret = check_cc_key(ibp, ccp, mad_flags); ccp 2325 drivers/infiniband/hw/qib/qib_mad.c switch (ccp->method) { ccp 2327 drivers/infiniband/hw/qib/qib_mad.c switch (ccp->attr_id) { ccp 2329 drivers/infiniband/hw/qib/qib_mad.c ret = cc_get_classportinfo(ccp, ibdev); ccp 2333 drivers/infiniband/hw/qib/qib_mad.c ret = cc_get_congestion_info(ccp, ibdev, port); ccp 2337 drivers/infiniband/hw/qib/qib_mad.c ret = cc_get_congestion_setting(ccp, ibdev, port); ccp 2341 drivers/infiniband/hw/qib/qib_mad.c ret = cc_get_congestion_control_table(ccp, ibdev, port); ccp 2346 drivers/infiniband/hw/qib/qib_mad.c ccp->status |= IB_SMP_UNSUP_METH_ATTR; ccp 2347 drivers/infiniband/hw/qib/qib_mad.c ret = reply((struct ib_smp *) ccp); ccp 2352 drivers/infiniband/hw/qib/qib_mad.c switch (ccp->attr_id) { ccp 2354 drivers/infiniband/hw/qib/qib_mad.c ret = cc_set_congestion_setting(ccp, ibdev, port); ccp 2358 drivers/infiniband/hw/qib/qib_mad.c ret = cc_set_congestion_control_table(ccp, ibdev, port); ccp 2363 drivers/infiniband/hw/qib/qib_mad.c ccp->status |= IB_SMP_UNSUP_METH_ATTR; ccp 2364 drivers/infiniband/hw/qib/qib_mad.c ret = reply((struct ib_smp *) ccp); ccp 2379 drivers/infiniband/hw/qib/qib_mad.c ccp->status |= IB_SMP_UNSUP_METHOD; ccp 2380 drivers/infiniband/hw/qib/qib_mad.c ret = reply((struct ib_smp *) ccp); ccp 642 include/linux/ccp.h struct ccp_device *ccp;