Lines Matching +full:0 +full:xe

83 	.rel = 0,
185 .rel = 0,
236 static const u16 adls_rpls_ids[] = { INTEL_RPLS_IDS(NOP), 0 };
251 static const u16 adlp_rplu_ids[] = { INTEL_RPLU_IDS(NOP), 0 };
288 static const u16 dg2_g10_ids[] = { INTEL_DG2_G10_IDS(NOP), INTEL_ATS_M150_IDS(NOP), 0 };
289 static const u16 dg2_g11_ids[] = { INTEL_DG2_G11_IDS(NOP), INTEL_ATS_M75_IDS(NOP), 0 };
290 static const u16 dg2_g12_ids[] = { INTEL_DG2_G12_IDS(NOP), 0 };
414 if (negative && strcmp(devices, "!*") == 0) in device_id_in_list()
416 if (!negative && strcmp(devices, "*") == 0) in device_id_in_list()
426 if (negative && tok[0] == '!') in device_id_in_list()
428 else if ((negative && tok[0] != '!') || in device_id_in_list()
429 (!negative && tok[0] == '!')) in device_id_in_list()
432 if (kstrtou16(tok, 16, &val) == 0 && val == device_id) { in device_id_in_list()
454 find_subplatform(const struct xe_device *xe, const struct xe_device_desc *desc) in find_subplatform() argument
461 if (*id == xe->info.devid) in find_subplatform()
472 static void read_gmdid(struct xe_device *xe, enum xe_gmdid_type type, u32 *ver, u32 *revid) in read_gmdid() argument
474 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in read_gmdid()
478 KUNIT_STATIC_STUB_REDIRECT(read_gmdid, xe, type, ver, revid); in read_gmdid()
480 if (IS_SRIOV_VF(xe)) { in read_gmdid()
481 struct xe_gt *gt = xe_root_mmio_gt(xe); in read_gmdid()
501 gt->info.id = 0; in read_gmdid()
508 val = xe_gt_sriov_vf_bootstrap(gt) ? 0 : xe_gt_sriov_vf_gmdid(gt); in read_gmdid()
514 gt->info.id = 0; in read_gmdid()
541 static void handle_pre_gmdid(struct xe_device *xe, in handle_pre_gmdid() argument
545 xe->info.graphics_verx100 = graphics->ver * 100 + graphics->rel; in handle_pre_gmdid()
548 xe->info.media_verx100 = media->ver * 100 + media->rel; in handle_pre_gmdid()
556 static void handle_gmdid(struct xe_device *xe, in handle_gmdid() argument
564 read_gmdid(xe, GMDID_GRAPHICS, &ver, graphics_revid); in handle_gmdid()
566 for (int i = 0; i < ARRAY_SIZE(graphics_ip_map); i++) { in handle_gmdid()
568 xe->info.graphics_verx100 = ver; in handle_gmdid()
575 if (!xe->info.graphics_verx100) { in handle_gmdid()
576 drm_err(&xe->drm, "Hardware reports unknown graphics version %u.%02u\n", in handle_gmdid()
580 read_gmdid(xe, GMDID_MEDIA, &ver, media_revid); in handle_gmdid()
583 if (ver == 0) in handle_gmdid()
586 for (int i = 0; i < ARRAY_SIZE(media_ip_map); i++) { in handle_gmdid()
588 xe->info.media_verx100 = ver; in handle_gmdid()
595 if (!xe->info.media_verx100) { in handle_gmdid()
596 drm_err(&xe->drm, "Hardware reports unknown media version %u.%02u\n", in handle_gmdid()
605 static int xe_info_init_early(struct xe_device *xe, in xe_info_init_early() argument
611 xe->info.platform_name = desc->platform_name; in xe_info_init_early()
612 xe->info.platform = desc->platform; in xe_info_init_early()
613 xe->info.subplatform = subplatform_desc ? in xe_info_init_early()
616 xe->info.is_dgfx = desc->is_dgfx; in xe_info_init_early()
617 xe->info.has_heci_gscfi = desc->has_heci_gscfi; in xe_info_init_early()
618 xe->info.has_heci_cscfi = desc->has_heci_cscfi; in xe_info_init_early()
619 xe->info.has_llc = desc->has_llc; in xe_info_init_early()
620 xe->info.has_mmio_ext = desc->has_mmio_ext; in xe_info_init_early()
621 xe->info.has_sriov = desc->has_sriov; in xe_info_init_early()
622 xe->info.skip_guc_pc = desc->skip_guc_pc; in xe_info_init_early()
623 xe->info.skip_mtcfg = desc->skip_mtcfg; in xe_info_init_early()
624 xe->info.skip_pcode = desc->skip_pcode; in xe_info_init_early()
626 xe->info.probe_display = IS_ENABLED(CONFIG_DRM_XE_DISPLAY) && in xe_info_init_early()
630 err = xe_tile_init_early(xe_device_get_root_tile(xe), xe, 0); in xe_info_init_early()
634 return 0; in xe_info_init_early()
643 static int xe_info_init(struct xe_device *xe, in xe_info_init() argument
647 u32 graphics_gmdid_revid = 0, media_gmdid_revid = 0; in xe_info_init()
659 handle_pre_gmdid(xe, graphics_desc, media_desc); in xe_info_init()
660 xe->info.step = xe_step_pre_gmdid_get(xe); in xe_info_init()
662 xe_assert(xe, !media_desc); in xe_info_init()
663 handle_gmdid(xe, &graphics_desc, &media_desc, in xe_info_init()
665 xe->info.step = xe_step_gmdid_get(xe, in xe_info_init()
678 xe->info.graphics_name = graphics_desc->name; in xe_info_init()
679 xe->info.media_name = media_desc ? media_desc->name : "none"; in xe_info_init()
680 xe->info.tile_mmio_ext_size = graphics_desc->tile_mmio_ext_size; in xe_info_init()
682 xe->info.dma_mask_size = graphics_desc->dma_mask_size; in xe_info_init()
683 xe->info.vram_flags = graphics_desc->vram_flags; in xe_info_init()
684 xe->info.va_bits = graphics_desc->va_bits; in xe_info_init()
685 xe->info.vm_max_level = graphics_desc->vm_max_level; in xe_info_init()
686 xe->info.has_asid = graphics_desc->has_asid; in xe_info_init()
687 xe->info.has_atomic_enable_pte_bit = graphics_desc->has_atomic_enable_pte_bit; in xe_info_init()
688 if (xe->info.platform != XE_PVC) in xe_info_init()
689 xe->info.has_device_atomics_on_smem = 1; in xe_info_init()
692 xe->info.has_flat_ccs = graphics_desc->has_flat_ccs; in xe_info_init()
694 xe->info.has_range_tlb_invalidation = graphics_desc->has_range_tlb_invalidation; in xe_info_init()
695 xe->info.has_usm = graphics_desc->has_usm; in xe_info_init()
706 xe->info.tile_count = 1 + graphics_desc->max_remote_tiles; in xe_info_init()
708 for_each_remote_tile(tile, xe, id) { in xe_info_init()
711 err = xe_tile_init_early(tile, xe, id); in xe_info_init()
716 for_each_tile(tile, xe, id) { in xe_info_init()
718 gt->info.id = xe->info.gt_count++; in xe_info_init()
723 if (MEDIA_VER(xe) < 13 && media_desc) in xe_info_init()
726 if (MEDIA_VER(xe) < 13 || !media_desc) in xe_info_init()
748 drm_WARN_ON(&xe->drm, id != 0); in xe_info_init()
749 gt->info.id = xe->info.gt_count++; in xe_info_init()
752 return 0; in xe_info_init()
757 struct xe_device *xe; in xe_pci_remove() local
759 xe = pdev_to_xe_device(pdev); in xe_pci_remove()
760 if (!xe) /* driver load aborted, nothing to cleanup */ in xe_pci_remove()
763 if (IS_SRIOV_PF(xe)) in xe_pci_remove()
764 xe_pci_sriov_configure(pdev, 0); in xe_pci_remove()
766 xe_device_remove(xe); in xe_pci_remove()
767 xe_pm_runtime_fini(xe); in xe_pci_remove()
794 struct xe_device *xe; in xe_pci_probe() local
800 "by xe driver in this kernel version. To force Xe probe,\n" in xe_pci_probe()
801 "use xe.force_probe='%04x' and i915.force_probe='!%04x'\n" in xe_pci_probe()
822 xe = xe_device_create(pdev, ent); in xe_pci_probe()
823 if (IS_ERR(xe)) in xe_pci_probe()
824 return PTR_ERR(xe); in xe_pci_probe()
826 pci_set_drvdata(pdev, &xe->drm); in xe_pci_probe()
828 xe_pm_assert_unbounded_bridge(xe); in xe_pci_probe()
829 subplatform_desc = find_subplatform(xe, desc); in xe_pci_probe()
833 err = xe_info_init_early(xe, desc, subplatform_desc); in xe_pci_probe()
837 err = xe_device_probe_early(xe); in xe_pci_probe()
841 err = xe_info_init(xe, desc->graphics, desc->media); in xe_pci_probe()
845 err = xe_display_probe(xe); in xe_pci_probe()
849 …drm_dbg(&xe->drm, "%s %s %04x:%04x dgfx:%d gfx:%s (%d.%02d) media:%s (%d.%02d) display:%s dma_m_s:… in xe_pci_probe()
852 xe->info.devid, xe->info.revid, in xe_pci_probe()
853 xe->info.is_dgfx, in xe_pci_probe()
854 xe->info.graphics_name, in xe_pci_probe()
855 xe->info.graphics_verx100 / 100, in xe_pci_probe()
856 xe->info.graphics_verx100 % 100, in xe_pci_probe()
857 xe->info.media_name, in xe_pci_probe()
858 xe->info.media_verx100 / 100, in xe_pci_probe()
859 xe->info.media_verx100 % 100, in xe_pci_probe()
860 str_yes_no(xe->info.probe_display), in xe_pci_probe()
861 xe->info.dma_mask_size, xe->info.tile_count, in xe_pci_probe()
862 xe->info.has_heci_gscfi, xe->info.has_heci_cscfi); in xe_pci_probe()
864 drm_dbg(&xe->drm, "Stepping = (G:%s, M:%s, B:%s)\n", in xe_pci_probe()
865 xe_step_name(xe->info.step.graphics), in xe_pci_probe()
866 xe_step_name(xe->info.step.media), in xe_pci_probe()
867 xe_step_name(xe->info.step.basedie)); in xe_pci_probe()
869 drm_dbg(&xe->drm, "SR-IOV support: %s (mode: %s)\n", in xe_pci_probe()
870 str_yes_no(xe_device_has_sriov(xe)), in xe_pci_probe()
871 xe_sriov_mode_to_string(xe_device_sriov_mode(xe))); in xe_pci_probe()
873 err = xe_pm_init_early(xe); in xe_pci_probe()
877 err = xe_device_probe(xe); in xe_pci_probe()
881 err = xe_pm_init(xe); in xe_pci_probe()
885 drm_dbg(&xe->drm, "d3cold: capable=%s\n", in xe_pci_probe()
886 str_yes_no(xe->d3cold.capable)); in xe_pci_probe()
888 return 0; in xe_pci_probe()
903 struct xe_device *xe = pdev_to_xe_device(pdev); in d3cold_toggle() local
906 if (!xe->d3cold.capable) in d3cold_toggle()
942 return 0; in xe_pci_suspend()
969 return 0; in xe_pci_resume()
975 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_suspend() local
978 err = xe_pm_runtime_suspend(xe); in xe_pci_runtime_suspend()
984 if (xe->d3cold.allowed) { in xe_pci_runtime_suspend()
994 return 0; in xe_pci_runtime_suspend()
1000 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_resume() local
1009 if (xe->d3cold.allowed) { in xe_pci_runtime_resume()
1017 return xe_pm_runtime_resume(xe); in xe_pci_runtime_resume()
1023 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_idle() local
1025 xe_pm_d3cold_allowed_toggle(xe); in xe_pci_runtime_idle()
1027 return 0; in xe_pci_runtime_idle()