Lines Matching defs:gpu

107 	return top_dev->gpu;
118 if (top_dev->gpu && top_dev->gpu->adev->pdev == pdev) {
119 device = top_dev->gpu;
278 if (iolink->gpu && kfd_devcgroup_check_permission(iolink->gpu))
318 if (mem->gpu && kfd_devcgroup_check_permission(mem->gpu))
350 if (cache->gpu && kfd_devcgroup_check_permission(cache->gpu))
432 if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu))
441 if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu))
448 if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu))
453 dev->gpu ? dev->node_props.simd_count : 0);
477 dev->gpu ? (dev->node_props.array_count *
478 NUM_XCC(dev->gpu->xcc_mask)) : 0);
510 if (dev->gpu) {
512 __ilog2_u32(dev->gpu->kfd->device_info.num_of_watch_points);
524 if (dev->gpu->adev->asic_type == CHIP_TONGA)
534 dev->gpu->kfd->mec_fw_version);
540 dev->gpu->kfd->sdma_fw_version);
542 dev->gpu->adev->unique_id);
544 NUM_XCC(dev->gpu->xcc_mask));
996 if (!kdev->gpu) {
1092 static uint32_t kfd_generate_gpu_id(struct kfd_node *gpu)
1099 if (!gpu)
1102 local_mem_size = gpu->local_mem_info.local_mem_size_private +
1103 gpu->local_mem_info.local_mem_size_public;
1104 buf[0] = gpu->adev->pdev->devfn;
1105 buf[1] = gpu->adev->pdev->subsystem_vendor |
1106 (gpu->adev->pdev->subsystem_device << 16);
1107 buf[2] = pci_domain_nr(gpu->adev->pdev->bus);
1108 buf[3] = gpu->adev->pdev->device;
1109 buf[4] = gpu->adev->pdev->bus->number;
1112 buf[7] = (ffs(gpu->xcc_mask) - 1) | (NUM_XCC(gpu->xcc_mask) << 16);
1119 /* kfd_assign_gpu - Attach @gpu to the correct kfd topology device. If
1124 static struct kfd_topology_device *kfd_assign_gpu(struct kfd_node *gpu)
1140 if (!dev->gpu && (dev->node_props.simd_count > 0)) {
1141 dev->gpu = gpu;
1145 mem->gpu = dev->gpu;
1147 cache->gpu = dev->gpu;
1149 iolink->gpu = dev->gpu;
1151 p2plink->gpu = dev->gpu;
1183 amdgpu_amdkfd_get_local_mem_info(dev->gpu->adev, &local_mem_info,
1184 dev->gpu->xcp);
1202 pcie_capability_read_dword(target_gpu_dev->gpu->adev->pdev,
1209 /* set gpu (dev) flags. */
1211 if (!dev->gpu->kfd->pci_atomic_requested ||
1212 dev->gpu->adev->asic_type == CHIP_HAWAII)
1223 if (!to_dev->gpu &&
1227 if (to_dev->gpu) {
1233 KFD_GC_VERSION(to_dev->gpu) == IP_VERSION(9, 4, 0))) {
1245 if (!dev || !dev->gpu)
1259 if (!peer_dev->gpu &&
1266 dev->node_props.hive_id = pci_dev_id(dev->gpu->adev->pdev);
1339 if (cpu_dev->gpu)
1392 if (kfd_dev_is_large_bar(kdev->gpu)) {
1422 kdev->gpu->adev,
1423 peer->gpu->adev))
1499 if (WARN_ON(!new_dev->gpu))
1515 if (!dev->gpu || !dev->gpu->adev ||
1516 (dev->gpu->kfd->hive_id &&
1517 dev->gpu->kfd->hive_id == new_dev->gpu->kfd->hive_id))
1761 static int kfd_topology_add_device_locked(struct kfd_node *gpu, uint32_t gpu_id,
1771 COMPUTE_UNIT_GPU, gpu,
1795 *dev = kfd_assign_gpu(gpu);
1804 kfd_fill_cache_non_crat_info(*dev, gpu);
1825 if (KFD_GC_VERSION(dev->gpu) >= IP_VERSION(11, 0, 0) &&
1826 KFD_GC_VERSION(dev->gpu) < IP_VERSION(12, 0, 0)) {
1827 uint32_t mes_api_rev = (dev->gpu->adev->mes.sched_version &
1830 uint32_t mes_rev = dev->gpu->adev->mes.sched_version &
1841 switch (KFD_GC_VERSION(dev->gpu)) {
1843 firmware_supported = dev->gpu->kfd->mec_fw_version >= 459 + 32768;
1850 firmware_supported = dev->gpu->kfd->mec_fw_version >= 459;
1853 firmware_supported = dev->gpu->kfd->mec_fw_version >= 60;
1856 firmware_supported = dev->gpu->kfd->mec_fw_version >= 51;
1861 firmware_supported = dev->gpu->kfd->mec_fw_version >= 144;
1868 firmware_supported = dev->gpu->kfd->mec_fw_version >= 89;
1893 if (kfd_dbg_has_ttmps_always_setup(dev->gpu))
1896 if (KFD_GC_VERSION(dev->gpu) < IP_VERSION(10, 0, 0)) {
1897 if (KFD_GC_VERSION(dev->gpu) == IP_VERSION(9, 4, 3))
1906 if (KFD_GC_VERSION(dev->gpu) >= IP_VERSION(9, 4, 2))
1913 if (KFD_GC_VERSION(dev->gpu) >= IP_VERSION(11, 0, 0))
1921 int kfd_topology_add_device(struct kfd_node *gpu)
1928 const char *asic_name = amdgpu_asic_name[gpu->adev->asic_type];
1930 gpu_id = kfd_generate_gpu_id(gpu);
1931 if (gpu->xcp && !gpu->xcp->ddev) {
1932 dev_warn(gpu->adev->dev,
1940 /* Check to see if this gpu device exists in the topology_device_list.
1941 * If so, assign the gpu to that device,
1942 * else create a Virtual CRAT for this gpu device and then parse that
1943 * CRAT to create a new topology device. Once created assign the gpu to
1947 dev = kfd_assign_gpu(gpu);
1949 res = kfd_topology_add_device_locked(gpu, gpu_id, &dev);
1955 gpu->id = gpu_id;
1967 amdgpu_amdkfd_get_cu_info(dev->gpu->adev, &cu_info);
1980 gpu->kfd->device_info.gfx_target_version;
1981 dev->node_props.vendor_id = gpu->adev->pdev->vendor;
1982 dev->node_props.device_id = gpu->adev->pdev->device;
1984 ((dev->gpu->adev->rev_id << HSA_CAP_ASIC_REVISION_SHIFT) &
1987 dev->node_props.location_id = pci_dev_id(gpu->adev->pdev);
1988 if (KFD_GC_VERSION(dev->gpu->kfd) == IP_VERSION(9, 4, 3))
1989 dev->node_props.location_id |= dev->gpu->node_id;
1991 dev->node_props.domain = pci_domain_nr(gpu->adev->pdev->bus);
1993 amdgpu_amdkfd_get_max_engine_clock_in_mhz(dev->gpu->adev);
1997 if (gpu->xcp)
1998 dev->node_props.drm_render_minor = gpu->xcp->ddev->render->index;
2001 gpu->kfd->shared_resources.drm_render_minor;
2003 dev->node_props.hive_id = gpu->kfd->hive_id;
2004 dev->node_props.num_sdma_engines = kfd_get_num_sdma_engines(gpu);
2006 kfd_get_num_xgmi_sdma_engines(gpu);
2008 gpu->kfd->device_info.num_sdma_queues_per_engine -
2009 gpu->kfd->device_info.num_reserved_sdma_queues_per_engine;
2010 dev->node_props.num_gws = (dev->gpu->gws &&
2011 dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ?
2012 dev->gpu->adev->gds.gws_size : 0;
2013 dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm);
2018 switch (dev->gpu->adev->asic_type) {
2038 if (KFD_GC_VERSION(dev->gpu) < IP_VERSION(9, 0, 1))
2040 dev->gpu->adev->asic_type);
2056 if (dev->gpu->adev->asic_type == CHIP_CARRIZO) {
2064 ((dev->gpu->adev->ras_enabled & BIT(AMDGPU_RAS_BLOCK__GFX)) != 0) ?
2067 ((dev->gpu->adev->ras_enabled & BIT(AMDGPU_RAS_BLOCK__UMC)) != 0) ?
2070 if (KFD_GC_VERSION(dev->gpu) != IP_VERSION(9, 0, 1))
2071 dev->node_props.capability |= (dev->gpu->adev->ras_enabled != 0) ?
2074 if (KFD_IS_SVM_API_SUPPORTED(dev->gpu->adev))
2077 if (dev->gpu->adev->gmc.is_app_apu ||
2078 dev->gpu->adev->gmc.xgmi.connected_to_cpu)
2150 int kfd_topology_remove_device(struct kfd_node *gpu)
2160 if (dev->gpu == gpu) {
2201 *kdev = top_dev->gpu;
2255 if (!dev->gpu) {
2260 seq_printf(m, "Node %u, gpu_id %x:\n", i++, dev->gpu->id);
2261 r = dqm_debugfs_hqds(m, dev->gpu->dqm);
2280 if (!dev->gpu) {
2285 seq_printf(m, "Node %u, gpu_id %x:\n", i++, dev->gpu->id);
2286 r = pm_debugfs_runlist(m, &dev->gpu->dqm->packet_mgr);