Lines Matching refs:drv_info
168 static struct ffa_drv_info *drv_info; variable
274 mutex_lock(&drv_info->rx_lock); in __ffa_partition_info_get()
281 mutex_unlock(&drv_info->rx_lock); in __ffa_partition_info_get()
288 memcpy(buffer, drv_info->rx_buffer, sizeof(*buffer) * count); in __ffa_partition_info_get()
292 mutex_unlock(&drv_info->rx_lock); in __ffa_partition_info_get()
471 mem_region->sender_id = drv_info->vm_id; in ffa_setup_and_transmit()
538 buffer = drv_info->tx_buffer; in ffa_memory_ops()
539 mutex_lock(&drv_info->tx_lock); in ffa_memory_ops()
545 mutex_unlock(&drv_info->tx_lock); in ffa_memory_ops()
570 return drv_info->version; in ffa_api_version_get()
602 return ffa_msg_send_direct_req(drv_info->vm_id, dev->vm_id, in ffa_sync_send_receive()
692 ffa_dev_set_drvdata(ffa_dev, drv_info); in ffa_setup_partitions()
709 drv_info = kzalloc(sizeof(*drv_info), GFP_KERNEL); in ffa_init()
710 if (!drv_info) { in ffa_init()
715 ret = ffa_version_check(&drv_info->version); in ffa_init()
719 if (ffa_id_get(&drv_info->vm_id)) { in ffa_init()
725 drv_info->rx_buffer = alloc_pages_exact(RXTX_BUFFER_SIZE, GFP_KERNEL); in ffa_init()
726 if (!drv_info->rx_buffer) { in ffa_init()
731 drv_info->tx_buffer = alloc_pages_exact(RXTX_BUFFER_SIZE, GFP_KERNEL); in ffa_init()
732 if (!drv_info->tx_buffer) { in ffa_init()
737 ret = ffa_rxtx_map(virt_to_phys(drv_info->tx_buffer), in ffa_init()
738 virt_to_phys(drv_info->rx_buffer), in ffa_init()
745 mutex_init(&drv_info->rx_lock); in ffa_init()
746 mutex_init(&drv_info->tx_lock); in ffa_init()
752 if (drv_info->tx_buffer) in ffa_init()
753 free_pages_exact(drv_info->tx_buffer, RXTX_BUFFER_SIZE); in ffa_init()
754 free_pages_exact(drv_info->rx_buffer, RXTX_BUFFER_SIZE); in ffa_init()
756 kfree(drv_info); in ffa_init()
765 ffa_rxtx_unmap(drv_info->vm_id); in ffa_exit()
766 free_pages_exact(drv_info->tx_buffer, RXTX_BUFFER_SIZE); in ffa_exit()
767 free_pages_exact(drv_info->rx_buffer, RXTX_BUFFER_SIZE); in ffa_exit()
768 kfree(drv_info); in ffa_exit()