Lines Matching +full:0 +full:xe
16 #define GEN12_GUNIT_NVM_BASE 0x00102040
17 #define GEN12_DEBUG_NVM_BASE 0x00101018
19 #define GEN12_CNTL_PROTECTED_NVM_REG 0x0010100C
21 #define GEN12_GUNIT_NVM_SIZE 0x80
22 #define GEN12_DEBUG_NVM_SIZE 0x4
29 [0] = { .name = "DESCRIPTOR", },
44 static bool xe_nvm_non_posted_erase(struct xe_device *xe) in xe_nvm_non_posted_erase() argument
46 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in xe_nvm_non_posted_erase()
48 if (xe->info.platform != XE_BATTLEMAGE) in xe_nvm_non_posted_erase()
54 static bool xe_nvm_writable_override(struct xe_device *xe) in xe_nvm_writable_override() argument
56 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in xe_nvm_writable_override()
60 switch (xe->info.platform) { in xe_nvm_writable_override()
74 drm_err(&xe->drm, "Unknown platform\n"); in xe_nvm_writable_override()
82 drm_info(&xe->drm, "NVM access overridden by jumper\n"); in xe_nvm_writable_override()
86 int xe_nvm_init(struct xe_device *xe) in xe_nvm_init() argument
88 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in xe_nvm_init()
93 if (!xe->info.has_gsc_nvm) in xe_nvm_init()
94 return 0; in xe_nvm_init()
97 if (IS_SRIOV_VF(xe)) in xe_nvm_init()
98 return 0; in xe_nvm_init()
101 if (WARN_ON(xe->nvm)) in xe_nvm_init()
104 xe->nvm = kzalloc(sizeof(*nvm), GFP_KERNEL); in xe_nvm_init()
105 if (!xe->nvm) in xe_nvm_init()
108 nvm = xe->nvm; in xe_nvm_init()
110 nvm->writable_override = xe_nvm_writable_override(xe); in xe_nvm_init()
111 nvm->non_posted_erase = xe_nvm_non_posted_erase(xe); in xe_nvm_init()
112 nvm->bar.parent = &pdev->resource[0]; in xe_nvm_init()
113 nvm->bar.start = GEN12_GUNIT_NVM_BASE + pdev->resource[0].start; in xe_nvm_init()
119 nvm->bar2.parent = &pdev->resource[0]; in xe_nvm_init()
120 nvm->bar2.start = GEN12_DEBUG_NVM_BASE + pdev->resource[0].start; in xe_nvm_init()
134 drm_err(&xe->drm, "xe-nvm aux init failed %d\n", ret); in xe_nvm_init()
140 drm_err(&xe->drm, "xe-nvm aux add failed %d\n", ret); in xe_nvm_init()
144 return 0; in xe_nvm_init()
148 xe->nvm = NULL; in xe_nvm_init()
152 void xe_nvm_fini(struct xe_device *xe) in xe_nvm_fini() argument
154 struct intel_dg_nvm_dev *nvm = xe->nvm; in xe_nvm_fini()
156 if (!xe->info.has_gsc_nvm) in xe_nvm_fini()
160 if (IS_SRIOV_VF(xe)) in xe_nvm_fini()
169 xe->nvm = NULL; in xe_nvm_fini()