Lines Matching +full:0 +full:xe

217 static const u16 adls_rpls_ids[] = { INTEL_RPLS_IDS(NOP), 0 };
233 static const u16 adlp_rplu_ids[] = { INTEL_RPLU_IDS(NOP), 0 };
273 static const u16 dg2_g10_ids[] = { INTEL_DG2_G10_IDS(NOP), INTEL_ATS_M150_IDS(NOP), 0 };
274 static const u16 dg2_g11_ids[] = { INTEL_DG2_G11_IDS(NOP), INTEL_ATS_M75_IDS(NOP), 0 };
275 static const u16 dg2_g12_ids[] = { INTEL_DG2_G12_IDS(NOP), 0 };
391 if (negative && strcmp(devices, "!*") == 0) in device_id_in_list()
393 if (!negative && strcmp(devices, "*") == 0) in device_id_in_list()
403 if (negative && tok[0] == '!') in device_id_in_list()
405 else if ((negative && tok[0] != '!') || in device_id_in_list()
406 (!negative && tok[0] == '!')) in device_id_in_list()
409 if (kstrtou16(tok, 16, &val) == 0 && val == device_id) { in device_id_in_list()
431 find_subplatform(const struct xe_device *xe, const struct xe_device_desc *desc) in find_subplatform() argument
438 if (*id == xe->info.devid) in find_subplatform()
449 static void read_gmdid(struct xe_device *xe, enum xe_gmdid_type type, u32 *ver, u32 *revid) in read_gmdid() argument
451 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in read_gmdid()
455 KUNIT_STATIC_STUB_REDIRECT(read_gmdid, xe, type, ver, revid); in read_gmdid()
457 if (IS_SRIOV_VF(xe)) { in read_gmdid()
458 struct xe_gt *gt = xe_root_mmio_gt(xe); in read_gmdid()
478 gt->info.id = 0; in read_gmdid()
486 val = xe_gt_sriov_vf_bootstrap(gt) ? 0 : xe_gt_sriov_vf_gmdid(gt); in read_gmdid()
492 gt->info.id = 0; in read_gmdid()
517 static void handle_gmdid(struct xe_device *xe, in handle_gmdid() argument
528 read_gmdid(xe, GMDID_GRAPHICS, &ver, graphics_revid); in handle_gmdid()
530 for (int i = 0; i < ARRAY_SIZE(graphics_ips); i++) { in handle_gmdid()
539 drm_err(&xe->drm, "Hardware reports unknown graphics version %u.%02u\n", in handle_gmdid()
543 read_gmdid(xe, GMDID_MEDIA, &ver, media_revid); in handle_gmdid()
545 if (ver == 0) in handle_gmdid()
548 for (int i = 0; i < ARRAY_SIZE(media_ips); i++) { in handle_gmdid()
557 drm_err(&xe->drm, "Hardware reports unknown media version %u.%02u\n", in handle_gmdid()
566 static int xe_info_init_early(struct xe_device *xe, in xe_info_init_early() argument
572 xe->info.platform_name = desc->platform_name; in xe_info_init_early()
573 xe->info.platform = desc->platform; in xe_info_init_early()
574 xe->info.subplatform = subplatform_desc ? in xe_info_init_early()
577 xe->info.dma_mask_size = desc->dma_mask_size; in xe_info_init_early()
578 xe->info.is_dgfx = desc->is_dgfx; in xe_info_init_early()
579 xe->info.has_heci_gscfi = desc->has_heci_gscfi; in xe_info_init_early()
580 xe->info.has_heci_cscfi = desc->has_heci_cscfi; in xe_info_init_early()
581 xe->info.has_llc = desc->has_llc; in xe_info_init_early()
582 xe->info.has_pxp = desc->has_pxp; in xe_info_init_early()
583 xe->info.has_sriov = desc->has_sriov; in xe_info_init_early()
584 xe->info.skip_guc_pc = desc->skip_guc_pc; in xe_info_init_early()
585 xe->info.skip_mtcfg = desc->skip_mtcfg; in xe_info_init_early()
586 xe->info.skip_pcode = desc->skip_pcode; in xe_info_init_early()
588 xe->info.probe_display = IS_ENABLED(CONFIG_DRM_XE_DISPLAY) && in xe_info_init_early()
591 xe->info.tile_count = 1 + desc->max_remote_tiles; in xe_info_init_early()
593 err = xe_tile_init_early(xe_device_get_root_tile(xe), xe, 0); in xe_info_init_early()
597 return 0; in xe_info_init_early()
606 static int xe_info_init(struct xe_device *xe, in xe_info_init() argument
609 u32 graphics_gmdid_revid = 0, media_gmdid_revid = 0; in xe_info_init()
628 xe->info.step = xe_step_pre_gmdid_get(xe); in xe_info_init()
630 xe_assert(xe, !desc->pre_gmdid_media_ip); in xe_info_init()
631 handle_gmdid(xe, &graphics_ip, &media_ip, in xe_info_init()
633 xe->info.step = xe_step_gmdid_get(xe, in xe_info_init()
646 xe->info.graphics_verx100 = graphics_ip->verx100; in xe_info_init()
647 xe->info.graphics_name = graphics_ip->name; in xe_info_init()
651 xe->info.media_verx100 = media_ip->verx100; in xe_info_init()
652 xe->info.media_name = media_ip->name; in xe_info_init()
655 xe->info.media_name = "none"; in xe_info_init()
659 xe->info.vram_flags = graphics_desc->vram_flags; in xe_info_init()
660 xe->info.va_bits = graphics_desc->va_bits; in xe_info_init()
661 xe->info.vm_max_level = graphics_desc->vm_max_level; in xe_info_init()
662 xe->info.has_asid = graphics_desc->has_asid; in xe_info_init()
663 xe->info.has_atomic_enable_pte_bit = graphics_desc->has_atomic_enable_pte_bit; in xe_info_init()
664 if (xe->info.platform != XE_PVC) in xe_info_init()
665 xe->info.has_device_atomics_on_smem = 1; in xe_info_init()
668 xe->info.has_flat_ccs = graphics_desc->has_flat_ccs; in xe_info_init()
670 xe->info.has_range_tlb_invalidation = graphics_desc->has_range_tlb_invalidation; in xe_info_init()
671 xe->info.has_usm = graphics_desc->has_usm; in xe_info_init()
672 xe->info.has_64bit_timestamp = graphics_desc->has_64bit_timestamp; in xe_info_init()
674 for_each_remote_tile(tile, xe, id) { in xe_info_init()
677 err = xe_tile_init_early(tile, xe, id); in xe_info_init()
688 for_each_tile(tile, xe, id) { in xe_info_init()
690 gt->info.id = xe->info.gt_count++; in xe_info_init()
695 if (MEDIA_VER(xe) < 13 && media_desc) in xe_info_init()
698 if (MEDIA_VER(xe) < 13 || !media_desc) in xe_info_init()
720 drm_WARN_ON(&xe->drm, id != 0); in xe_info_init()
721 gt->info.id = xe->info.gt_count++; in xe_info_init()
724 return 0; in xe_info_init()
729 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_remove() local
731 if (IS_SRIOV_PF(xe)) in xe_pci_remove()
732 xe_pci_sriov_configure(pdev, 0); in xe_pci_remove()
734 if (xe_survivability_mode_is_enabled(xe)) in xe_pci_remove()
737 xe_device_remove(xe); in xe_pci_remove()
738 xe_pm_runtime_fini(xe); in xe_pci_remove()
764 struct xe_device *xe; in xe_pci_probe() local
770 "by xe driver in this kernel version. To force Xe probe,\n" in xe_pci_probe()
771 "use xe.force_probe='%04x' and i915.force_probe='!%04x'\n" in xe_pci_probe()
792 xe = xe_device_create(pdev, ent); in xe_pci_probe()
793 if (IS_ERR(xe)) in xe_pci_probe()
794 return PTR_ERR(xe); in xe_pci_probe()
796 pci_set_drvdata(pdev, &xe->drm); in xe_pci_probe()
798 xe_pm_assert_unbounded_bridge(xe); in xe_pci_probe()
799 subplatform_desc = find_subplatform(xe, desc); in xe_pci_probe()
803 err = xe_info_init_early(xe, desc, subplatform_desc); in xe_pci_probe()
807 err = xe_device_probe_early(xe); in xe_pci_probe()
815 if (xe_survivability_mode_is_enabled(xe)) in xe_pci_probe()
816 return 0; in xe_pci_probe()
821 err = xe_info_init(xe, desc); in xe_pci_probe()
825 err = xe_display_probe(xe); in xe_pci_probe()
829 …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()
832 xe->info.devid, xe->info.revid, in xe_pci_probe()
833 xe->info.is_dgfx, in xe_pci_probe()
834 xe->info.graphics_name, in xe_pci_probe()
835 xe->info.graphics_verx100 / 100, in xe_pci_probe()
836 xe->info.graphics_verx100 % 100, in xe_pci_probe()
837 xe->info.media_name, in xe_pci_probe()
838 xe->info.media_verx100 / 100, in xe_pci_probe()
839 xe->info.media_verx100 % 100, in xe_pci_probe()
840 str_yes_no(xe->info.probe_display), in xe_pci_probe()
841 xe->info.dma_mask_size, xe->info.tile_count, in xe_pci_probe()
842 xe->info.has_heci_gscfi, xe->info.has_heci_cscfi); in xe_pci_probe()
844 drm_dbg(&xe->drm, "Stepping = (G:%s, M:%s, B:%s)\n", in xe_pci_probe()
845 xe_step_name(xe->info.step.graphics), in xe_pci_probe()
846 xe_step_name(xe->info.step.media), in xe_pci_probe()
847 xe_step_name(xe->info.step.basedie)); in xe_pci_probe()
849 drm_dbg(&xe->drm, "SR-IOV support: %s (mode: %s)\n", in xe_pci_probe()
850 str_yes_no(xe_device_has_sriov(xe)), in xe_pci_probe()
851 xe_sriov_mode_to_string(xe_device_sriov_mode(xe))); in xe_pci_probe()
853 err = xe_pm_init_early(xe); in xe_pci_probe()
857 err = xe_device_probe(xe); in xe_pci_probe()
861 err = xe_pm_init(xe); in xe_pci_probe()
865 drm_dbg(&xe->drm, "d3cold: capable=%s\n", in xe_pci_probe()
866 str_yes_no(xe->d3cold.capable)); in xe_pci_probe()
868 return 0; in xe_pci_probe()
883 struct xe_device *xe = pdev_to_xe_device(pdev); in d3cold_toggle() local
886 if (!xe->d3cold.capable) in d3cold_toggle()
906 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_suspend() local
909 if (xe_survivability_mode_is_enabled(xe)) in xe_pci_suspend()
912 err = xe_pm_suspend(xe); in xe_pci_suspend()
926 return 0; in xe_pci_suspend()
953 return 0; in xe_pci_resume()
959 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_suspend() local
962 err = xe_pm_runtime_suspend(xe); in xe_pci_runtime_suspend()
968 if (xe->d3cold.allowed) { in xe_pci_runtime_suspend()
978 return 0; in xe_pci_runtime_suspend()
984 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_resume() local
993 if (xe->d3cold.allowed) { in xe_pci_runtime_resume()
1001 return xe_pm_runtime_resume(xe); in xe_pci_runtime_resume()
1007 struct xe_device *xe = pdev_to_xe_device(pdev); in xe_pci_runtime_idle() local
1009 xe_pm_d3cold_allowed_toggle(xe); in xe_pci_runtime_idle()
1011 return 0; in xe_pci_runtime_idle()