Lines Matching refs:dev_entry
114 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
118 spin_lock(&dev_entry->cb_spinlock);
120 list_for_each_entry(cb, &dev_entry->cb_list, debugfs_list) {
134 spin_unlock(&dev_entry->cb_spinlock);
145 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
149 spin_lock(&dev_entry->cs_spinlock);
151 list_for_each_entry(cs, &dev_entry->cs_list, debugfs_list) {
165 spin_unlock(&dev_entry->cs_spinlock);
176 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
180 spin_lock(&dev_entry->cs_job_spinlock);
182 list_for_each_entry(job, &dev_entry->cs_job_list, debugfs_list) {
202 spin_unlock(&dev_entry->cs_job_spinlock);
213 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
219 spin_lock(&dev_entry->userptr_spinlock);
221 list_for_each_entry(userptr, &dev_entry->userptr_list, debugfs_list) {
233 spin_unlock(&dev_entry->userptr_spinlock);
244 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
258 mutex_lock(&dev_entry->ctx_mem_hash_mutex);
260 list_for_each_entry(ctx, &dev_entry->ctx_mem_hash_list, debugfs_list) {
329 mutex_unlock(&dev_entry->ctx_mem_hash_mutex);
331 ctx = hl_get_compute_ctx(dev_entry->hdev);
359 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
367 spin_lock(&dev_entry->userptr_spinlock);
369 list_for_each_entry(userptr, &dev_entry->userptr_list, debugfs_list) {
370 if (dev_entry->userptr_lookup >= userptr->addr &&
371 dev_entry->userptr_lookup < userptr->addr + userptr->size) {
380 if (dev_entry->userptr_lookup >= sg_start &&
381 dev_entry->userptr_lookup < sg_end) {
382 dma_addr += (dev_entry->userptr_lookup -
391 dev_entry->userptr_lookup,
400 spin_unlock(&dev_entry->userptr_spinlock);
413 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
421 dev_entry->userptr_lookup = value;
429 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
430 struct hl_device *hdev = dev_entry->hdev;
433 u64 virt_addr = dev_entry->mmu_addr, phys_addr;
436 if (dev_entry->mmu_asid == HL_KERNEL_ASID_ID)
455 (dev_entry->mmu_addr != hops_info.scrambled_vaddr))
458 dev_entry->mmu_asid, dev_entry->mmu_addr,
464 dev_entry->mmu_asid, dev_entry->mmu_addr, phys_addr);
476 if (dev_entry->mmu_asid != HL_KERNEL_ASID_ID)
487 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
488 struct hl_device *hdev = dev_entry->hdev;
504 rc = kstrtouint(kbuf, 10, &dev_entry->mmu_asid);
510 rc = kstrtoull(c+3, 16, &dev_entry->mmu_addr);
525 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
526 struct hl_device *hdev = dev_entry->hdev;
529 if (!dev_entry->mmu_cap_mask) {
534 rc = hdev->asic_funcs->ack_mmu_errors(hdev, dev_entry->mmu_cap_mask);
549 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
550 struct hl_device *hdev = dev_entry->hdev;
565 rc = kstrtoull(kbuf, 16, &dev_entry->mmu_cap_mask);
579 struct hl_dbg_device_entry *dev_entry = entry->dev_entry;
580 struct hl_device *hdev = dev_entry->hdev;
1565 static void add_secured_nodes(struct hl_dbg_device_entry *dev_entry, struct dentry *root)
1570 &dev_entry->i2c_bus);
1575 &dev_entry->i2c_addr);
1580 &dev_entry->i2c_reg);
1585 &dev_entry->i2c_len);
1590 dev_entry,
1596 dev_entry,
1602 dev_entry,
1608 dev_entry,
1612 static void add_files_to_device(struct hl_device *hdev, struct hl_dbg_device_entry *dev_entry,
1627 dev_entry,
1633 &dev_entry->addr);
1638 dev_entry,
1644 dev_entry,
1650 dev_entry,
1656 dev_entry,
1662 dev_entry,
1668 dev_entry,
1674 dev_entry,
1680 dev_entry,
1686 dev_entry,
1692 &dev_entry->data_dma_blob_desc);
1697 dev_entry,
1703 &dev_entry->mon_dump_blob_desc);
1713 dev_entry,
1719 dev_entry,
1727 for (i = 0, entry = dev_entry->entry_arr ; i < count ; i++, entry++) {
1734 entry->dev_entry = dev_entry;
1740 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1743 dev_entry->hdev = hdev;
1744 dev_entry->entry_arr = kmalloc_array(count, sizeof(struct hl_debugfs_entry), GFP_KERNEL);
1745 if (!dev_entry->entry_arr)
1748 dev_entry->data_dma_blob_desc.size = 0;
1749 dev_entry->data_dma_blob_desc.data = NULL;
1750 dev_entry->mon_dump_blob_desc.size = 0;
1751 dev_entry->mon_dump_blob_desc.data = NULL;
1753 INIT_LIST_HEAD(&dev_entry->file_list);
1754 INIT_LIST_HEAD(&dev_entry->cb_list);
1755 INIT_LIST_HEAD(&dev_entry->cs_list);
1756 INIT_LIST_HEAD(&dev_entry->cs_job_list);
1757 INIT_LIST_HEAD(&dev_entry->userptr_list);
1758 INIT_LIST_HEAD(&dev_entry->ctx_mem_hash_list);
1759 mutex_init(&dev_entry->file_mutex);
1760 init_rwsem(&dev_entry->state_dump_sem);
1761 spin_lock_init(&dev_entry->cb_spinlock);
1762 spin_lock_init(&dev_entry->cs_spinlock);
1763 spin_lock_init(&dev_entry->cs_job_spinlock);
1764 spin_lock_init(&dev_entry->userptr_spinlock);
1765 mutex_init(&dev_entry->ctx_mem_hash_mutex);
1789 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1791 dev_entry->root = debugfs_create_dir(dev_name(hdev->dev), hl_debug_root);
1793 add_files_to_device(hdev, dev_entry, dev_entry->root);
1795 add_secured_nodes(dev_entry, dev_entry->root);
1807 struct hl_dbg_device_entry *dev_entry = &hpriv->hdev->hl_debugfs;
1809 mutex_lock(&dev_entry->file_mutex);
1810 list_add(&hpriv->debugfs_list, &dev_entry->file_list);
1811 mutex_unlock(&dev_entry->file_mutex);
1816 struct hl_dbg_device_entry *dev_entry = &hpriv->hdev->hl_debugfs;
1818 mutex_lock(&dev_entry->file_mutex);
1820 mutex_unlock(&dev_entry->file_mutex);
1825 struct hl_dbg_device_entry *dev_entry = &cb->hdev->hl_debugfs;
1827 spin_lock(&dev_entry->cb_spinlock);
1828 list_add(&cb->debugfs_list, &dev_entry->cb_list);
1829 spin_unlock(&dev_entry->cb_spinlock);
1834 struct hl_dbg_device_entry *dev_entry = &cb->hdev->hl_debugfs;
1836 spin_lock(&dev_entry->cb_spinlock);
1838 spin_unlock(&dev_entry->cb_spinlock);
1843 struct hl_dbg_device_entry *dev_entry = &cs->ctx->hdev->hl_debugfs;
1845 spin_lock(&dev_entry->cs_spinlock);
1846 list_add(&cs->debugfs_list, &dev_entry->cs_list);
1847 spin_unlock(&dev_entry->cs_spinlock);
1852 struct hl_dbg_device_entry *dev_entry = &cs->ctx->hdev->hl_debugfs;
1854 spin_lock(&dev_entry->cs_spinlock);
1856 spin_unlock(&dev_entry->cs_spinlock);
1861 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1863 spin_lock(&dev_entry->cs_job_spinlock);
1864 list_add(&job->debugfs_list, &dev_entry->cs_job_list);
1865 spin_unlock(&dev_entry->cs_job_spinlock);
1870 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1872 spin_lock(&dev_entry->cs_job_spinlock);
1874 spin_unlock(&dev_entry->cs_job_spinlock);
1879 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1881 spin_lock(&dev_entry->userptr_spinlock);
1882 list_add(&userptr->debugfs_list, &dev_entry->userptr_list);
1883 spin_unlock(&dev_entry->userptr_spinlock);
1889 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1891 spin_lock(&dev_entry->userptr_spinlock);
1893 spin_unlock(&dev_entry->userptr_spinlock);
1898 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1900 mutex_lock(&dev_entry->ctx_mem_hash_mutex);
1901 list_add(&ctx->debugfs_list, &dev_entry->ctx_mem_hash_list);
1902 mutex_unlock(&dev_entry->ctx_mem_hash_mutex);
1907 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1909 mutex_lock(&dev_entry->ctx_mem_hash_mutex);
1911 mutex_unlock(&dev_entry->ctx_mem_hash_mutex);
1924 struct hl_dbg_device_entry *dev_entry = &hdev->hl_debugfs;
1926 down_write(&dev_entry->state_dump_sem);
1928 dev_entry->state_dump_head = (dev_entry->state_dump_head + 1) %
1929 ARRAY_SIZE(dev_entry->state_dump);
1930 vfree(dev_entry->state_dump[dev_entry->state_dump_head]);
1931 dev_entry->state_dump[dev_entry->state_dump_head] = data;
1933 up_write(&dev_entry->state_dump_sem);