Lines Matching +full:aux +full:- +full:bus
1 // SPDX-License-Identifier: MIT
3 * Copyright(c) 2019-2025, Intel Corporation. All rights reserved.
38 struct auxiliary_device *aux = container_of(dev, struct auxiliary_device, dev); in xe_nvm_release_dev() local
39 struct intel_dg_nvm_dev *nvm = container_of(aux, struct intel_dg_nvm_dev, aux_dev); in xe_nvm_release_dev()
48 if (xe->info.platform != XE_BATTLEMAGE) in xe_nvm_non_posted_erase()
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()
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()
101 if (WARN_ON(xe->nvm)) in xe_nvm_init()
102 return -EFAULT; in xe_nvm_init()
104 xe->nvm = kzalloc(sizeof(*nvm), GFP_KERNEL); in xe_nvm_init()
105 if (!xe->nvm) in xe_nvm_init()
106 return -ENOMEM; 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()
114 nvm->bar.end = nvm->bar.start + GEN12_GUNIT_NVM_SIZE - 1; in xe_nvm_init()
115 nvm->bar.flags = IORESOURCE_MEM; in xe_nvm_init()
116 nvm->bar.desc = IORES_DESC_NONE; in xe_nvm_init()
117 nvm->regions = regions; 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()
121 nvm->bar2.end = nvm->bar2.start + GEN12_DEBUG_NVM_SIZE - 1; in xe_nvm_init()
122 nvm->bar2.flags = IORESOURCE_MEM; in xe_nvm_init()
123 nvm->bar2.desc = IORES_DESC_NONE; in xe_nvm_init()
125 aux_dev = &nvm->aux_dev; in xe_nvm_init()
127 aux_dev->name = "nvm"; in xe_nvm_init()
128 aux_dev->id = (pci_domain_nr(pdev->bus) << 16) | pci_dev_id(pdev); in xe_nvm_init()
129 aux_dev->dev.parent = &pdev->dev; in xe_nvm_init()
130 aux_dev->dev.release = xe_nvm_release_dev; 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()
148 xe->nvm = NULL; in xe_nvm_init()
154 struct intel_dg_nvm_dev *nvm = xe->nvm; in xe_nvm_fini()
156 if (!xe->info.has_gsc_nvm) in xe_nvm_fini()
167 auxiliary_device_delete(&nvm->aux_dev); in xe_nvm_fini()
168 auxiliary_device_uninit(&nvm->aux_dev); in xe_nvm_fini()
169 xe->nvm = NULL; in xe_nvm_fini()