[PATCH] Corrected the core clock speed for AMD HAINAN
Empty Message mutt-yassine-HP-1000-4480-19426451861488017513 Description: Binary data ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 2/2] drm/amdkfd: Signal eviction fence on process destruction (v2)
Yeah, that one looks important. Feel free to add an Acked-by: Christian König . Regards, Christian. Am 05.03.20 um 17:06 schrieb Felix Kuehling: [moving to public mailing list] Thank you. I'll also apply patch 2/2 to amd-staging-drm-next. It's not fixing a memory leak there, but it should make cleanup after process termination more efficient by avoiding delayed delete of BOs. Regards, Felix On 2020-03-04 10:46 p.m., Pan, Xinhui wrote: Series is Reviewed-by: xinhui pan 2020年3月5日 05:50,Kuehling, Felix 写道: Otherwise BOs may wait for the fence indefinitely and never be destroyed. v2: Signal the fence right after destroying queues to avoid unnecessary delaye-delete in kfd_process_wq_release Signed-off-by: Felix Kuehling --- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c index d5d4660221af..26f7f178b66d 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c @@ -625,6 +625,11 @@ static void kfd_process_notifier_release(struct mmu_notifier *mn, /* Indicate to other users that MM is no longer valid */ p->mm = NULL; + /* Signal the eviction fence after user mode queues are + * destroyed. This allows any BOs to be freed without + * triggering pointless evictions or waiting for fences. + */ + dma_fence_signal(p->ef); mutex_unlock(&p->mutex); -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] drm/amd/powerplay: revise the way to retrieve the board parameters
It can support different NV1x ASIC better. And this can guard no member got missing. Change-Id: Id5e6608f6be1b31ef1c0a5c1d399da295524ff43 Signed-off-by: Evan Quan --- drivers/gpu/drm/amd/include/atomfirmware.h | 102 + drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 99 ++-- 2 files changed, 130 insertions(+), 71 deletions(-) diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h index 70146518174c..a6f6e6bf5992 100644 --- a/drivers/gpu/drm/amd/include/atomfirmware.h +++ b/drivers/gpu/drm/amd/include/atomfirmware.h @@ -1876,6 +1876,108 @@ struct atom_smc_dpm_info_v4_6 uint32_t boardreserved[10]; }; +struct atom_smc_dpm_info_v4_7 +{ + struct atom_common_table_header table_header; +// SECTION: BOARD PARAMETERS +// I2C Control + struct smudpm_i2c_controller_config_v2 I2cControllers[8]; + + // SVI2 Board Parameters + uint16_t MaxVoltageStepGfx; // In mV(Q2) Max voltage step that SMU will request. Multiple steps are taken if voltage change exceeds this value. + uint16_t MaxVoltageStepSoc; // In mV(Q2) Max voltage step that SMU will request. Multiple steps are taken if voltage change exceeds this value. + + uint8_t VddGfxVrMapping; // Use VR_MAPPING* bitfields + uint8_t VddSocVrMapping; // Use VR_MAPPING* bitfields + uint8_t VddMem0VrMapping; // Use VR_MAPPING* bitfields + uint8_t VddMem1VrMapping; // Use VR_MAPPING* bitfields + + uint8_t GfxUlvPhaseSheddingMask; // set this to 1 to set PSI0/1 to 1 in ULV mode + uint8_t SocUlvPhaseSheddingMask; // set this to 1 to set PSI0/1 to 1 in ULV mode + uint8_t ExternalSensorPresent; // External RDI connected to TMON (aka TEMP IN) + uint8_t Padding8_V; + + // Telemetry Settings + uint16_t GfxMaxCurrent; // in Amps + uint8_t GfxOffset; // in Amps + uint8_t Padding_TelemetryGfx; + uint16_t SocMaxCurrent; // in Amps + uint8_t SocOffset; // in Amps + uint8_t Padding_TelemetrySoc; + + uint16_t Mem0MaxCurrent; // in Amps + uint8_t Mem0Offset; // in Amps + uint8_t Padding_TelemetryMem0; + + uint16_t Mem1MaxCurrent; // in Amps + uint8_t Mem1Offset; // in Amps + uint8_t Padding_TelemetryMem1; + + // GPIO Settings + uint8_t AcDcGpio;// GPIO pin configured for AC/DC switching + uint8_t AcDcPolarity;// GPIO polarity for AC/DC switching + uint8_t VR0HotGpio; // GPIO pin configured for VR0 HOT event + uint8_t VR0HotPolarity; // GPIO polarity for VR0 HOT event + + uint8_t VR1HotGpio; // GPIO pin configured for VR1 HOT event + uint8_t VR1HotPolarity; // GPIO polarity for VR1 HOT event + uint8_t GthrGpio;// GPIO pin configured for GTHR Event + uint8_t GthrPolarity;// replace GPIO polarity for GTHR + + // LED Display Settings + uint8_t LedPin0; // GPIO number for LedPin[0] + uint8_t LedPin1; // GPIO number for LedPin[1] + uint8_t LedPin2; // GPIO number for LedPin[2] + uint8_t padding8_4; + + // GFXCLK PLL Spread Spectrum + uint8_t PllGfxclkSpreadEnabled; // on or off + uint8_t PllGfxclkSpreadPercent; // Q4.4 + uint16_t PllGfxclkSpreadFreq; // kHz + + // GFXCLK DFLL Spread Spectrum + uint8_t DfllGfxclkSpreadEnabled; // on or off + uint8_t DfllGfxclkSpreadPercent; // Q4.4 + uint16_t DfllGfxclkSpreadFreq; // kHz + + // UCLK Spread Spectrum + uint8_t UclkSpreadEnabled; // on or off + uint8_t UclkSpreadPercent; // Q4.4 + uint16_t UclkSpreadFreq; // kHz + + // SOCCLK Spread Spectrum + uint8_t SoclkSpreadEnabled; // on or off + uint8_t SocclkSpreadPercent; // Q4.4 + uint16_t SocclkSpreadFreq; // kHz + + // Total board power + uint16_t TotalBoardPower; //Only needed for TCP Estimated case, where TCP = TGP+Total Board Power + uint16_t BoardPadding; + + // Mvdd Svi2 Div Ratio Setting + uint32_t MvddRatio; // This is used for MVDD Vid workaround. It has 16 fractional bits (Q16.16) + + // GPIO pins for I2C communications with 2nd controller for Input Telemetry Sequence + uint8_t GpioI2cScl; // Serial Clock + uint8_t GpioI2cSda; // Serial Data + uint16_t GpioPadding; + + // Additional LED Display Settings + uint8_t LedPin3; // GPIO number for LedPin[3] - PCIE GEN Speed + uint8_t LedPin4; // GPIO number for LedPin[4] - PMFW Error Status + uint16_t LedEnableMask; + + // Power Limit Scalars + uint8_t PowerLimitScalar[4];//[PPT_THROTTLER_COUNT] + + uint8_t MvddUlvPhaseSheddingMask; + uint8_t VddciUlvPhaseSheddingMask; + uint8_t Padding8_Psi1; + uint8_t Padding8_Psi2; + + uint32_t BoardReserved[5]; +}; + /*
[PATCH] drm/amd/powerplay: bump the NAVI10 smu-driver if version
To fit the latest SMC firmware 53.27 and eliminate the warning on driver loading. Change-Id: I3f524d03e53ec6778b7118ef72652a538eec4ace Signed-off-by: Evan Quan --- drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h index 3dc25a14ccc3..c030feb160f7 100644 --- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h +++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h @@ -28,7 +28,7 @@ #define SMU11_DRIVER_IF_VERSION_INV 0x #define SMU11_DRIVER_IF_VERSION_VG20 0x13 #define SMU11_DRIVER_IF_VERSION_ARCT 0x12 -#define SMU11_DRIVER_IF_VERSION_NV10 0x35 +#define SMU11_DRIVER_IF_VERSION_NV10 0x36 #define SMU11_DRIVER_IF_VERSION_NV14 0x36 /* MP Apertures */ -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] Corrected the core clock speed for AMD HAINAN
Please send a proper patch using git format-patch. Have you actually tested this patch? Can you provide the details of your specific board? The reason the clock as forced lower was due to stability issues with the higher clocks on most HAINAN boards. If it's working for you, I'd suggest just removing your specific board from that override check. Alex On Fri, Mar 6, 2020 at 3:03 AM Yassine Oudjana wrote: > > Empty Message > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
On Thu, 2020-03-05 at 20:29 +0200, Ville Syrjälä wrote: > On Thu, Mar 05, 2020 at 01:13:36PM -0500, Lyude Paul wrote: > > On Thu, 2020-03-05 at 15:11 +0200, Ville Syrjälä wrote: > > > On Wed, Mar 04, 2020 at 05:36:12PM -0500, Lyude Paul wrote: > > > > It's next to impossible for us to do connector probing on topologies > > > > without occasionally racing with userspace, since creating a connector > > > > itself causes a hotplug event which we have to send before probing the > > > > available PBN of a connector. Even if we didn't have this hotplug > > > > event > > > > sent, there's still always a chance that userspace started probing > > > > connectors before we finished probing the topology. > > > > > > > > This can be a problem when validating a new MST state since the > > > > connector will be shown as connected briefly, but without any > > > > available > > > > PBN - causing any atomic state which would enable said connector to > > > > fail > > > > with -ENOSPC. So, let's simply workaround this by telling userspace > > > > new > > > > MST connectors are disconnected until we've finished probing their > > > > PBN. > > > > Since we always send a hotplug event at the end of the link address > > > > probing process, userspace will still know to reprobe the connector > > > > when > > > > we're ready. > > > > > > > > Signed-off-by: Lyude Paul > > > > Fixes: cd82d82cbc04 ("drm/dp_mst: Add branch bandwidth validation to > > > > MST > > > > atomic check") > > > > Cc: Mikita Lipski > > > > Cc: Alex Deucher > > > > Cc: Sean Paul > > > > Cc: Hans de Goede > > > > --- > > > > drivers/gpu/drm/drm_dp_mst_topology.c | 13 + > > > > 1 file changed, 13 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c > > > > b/drivers/gpu/drm/drm_dp_mst_topology.c > > > > index 207eef08d12c..7b0ff0cff954 100644 > > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector > > > > *connector, > > > > ret = connector_status_connected; > > > > break; > > > > } > > > > + > > > > + /* We don't want to tell userspace the port is actually > > > > plugged into > > > > +* anything until we've finished probing it's available_pbn, > > > > otherwise > > > > > > "its" > > > > > > Why is the connector even registered before we've finished the probe? > > > > > Oops, I'm not sure how I did this by accident but the explanation I gave > > in > > the commit message was uh, completely wrong. I must have forgotten that I > > made > > sure we didn't expose connectors before probing their PBN back when I > > started > > my MST cleanup > > > > So: despite what I said before it's not actually when new connectors are > > created, it's when downstream hotplugs happen which means that the > > conenctor's > > always going to be there before we probe the available_pbn. > > Not sure I understand. You're saying this is going to change for already > existing connectors when something else gets plugged in, and either we > zero it out during the probe or it always was zero to begin with for > whatever reason? ok-me and Sean Paul did some playing around with available_pbn and full_pbn (I'll get into this one in a moment), and I also played around with a couple of different hubs and have a much better understanding of how this should work now. So: first off tl;dr available_pbn is absolutely not what we want in basically any scenario, we actually want to use the full_pbn field that we get when sending ENUM_PATH_RESOURCES. Second, full_pbn represents the _smallest_ bandwidth limitation encountered in the path between the root MSTB and each connected sink. Remember that there's technically a DisplayPort link trained between each branch device going down the topology, so that bandwidth limitation basically equates to "what is the lowest trained link rate that exists down the path to this port?". This also means that full_pbn will potentially change every time a new connector is plugged in, as some hubs will be clever and optimize the link rate they decide to use. Likewise, since there's not going to be anything trained on a disconnected port (e.g. ddps=0) there's no point in keeping full_pbn around for disconnected ports, since otherwise we might let userspace see a connected port with a stale full_pbn value. So-IMHO the behavior of not letting connectors show as connected until we also have their full_pbn probed should definitely be the right solution here. Especially if we want to eventually start pruning modes based on full_pbn at some point in the future. > > > I did just notice > > though that we send a hotplug on connection status notifications even > > before > > we've finished the PBN probe, so I might be able to improve on that as > > well. > > We still definitely want to report the connector as disconnected before
Re: [PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
final correction: I probably could actually get rid of this patch and do this a bit more nicely by just making sure that we reprobe path resources for connectors while under drm_dp_mst_topology_mgr->base.lock on CSNs, instead of punting it off to the link address work like we seem to be doing. So, going to try doing that instead. On Fri, 2020-03-06 at 15:03 -0500, Lyude Paul wrote: > On Thu, 2020-03-05 at 20:29 +0200, Ville Syrjälä wrote: > > On Thu, Mar 05, 2020 at 01:13:36PM -0500, Lyude Paul wrote: > > > On Thu, 2020-03-05 at 15:11 +0200, Ville Syrjälä wrote: > > > > On Wed, Mar 04, 2020 at 05:36:12PM -0500, Lyude Paul wrote: > > > > > It's next to impossible for us to do connector probing on topologies > > > > > without occasionally racing with userspace, since creating a > > > > > connector > > > > > itself causes a hotplug event which we have to send before probing > > > > > the > > > > > available PBN of a connector. Even if we didn't have this hotplug > > > > > event > > > > > sent, there's still always a chance that userspace started probing > > > > > connectors before we finished probing the topology. > > > > > > > > > > This can be a problem when validating a new MST state since the > > > > > connector will be shown as connected briefly, but without any > > > > > available > > > > > PBN - causing any atomic state which would enable said connector to > > > > > fail > > > > > with -ENOSPC. So, let's simply workaround this by telling userspace > > > > > new > > > > > MST connectors are disconnected until we've finished probing their > > > > > PBN. > > > > > Since we always send a hotplug event at the end of the link address > > > > > probing process, userspace will still know to reprobe the connector > > > > > when > > > > > we're ready. > > > > > > > > > > Signed-off-by: Lyude Paul > > > > > Fixes: cd82d82cbc04 ("drm/dp_mst: Add branch bandwidth validation to > > > > > MST > > > > > atomic check") > > > > > Cc: Mikita Lipski > > > > > Cc: Alex Deucher > > > > > Cc: Sean Paul > > > > > Cc: Hans de Goede > > > > > --- > > > > > drivers/gpu/drm/drm_dp_mst_topology.c | 13 + > > > > > 1 file changed, 13 insertions(+) > > > > > > > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c > > > > > b/drivers/gpu/drm/drm_dp_mst_topology.c > > > > > index 207eef08d12c..7b0ff0cff954 100644 > > > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector > > > > > *connector, > > > > > ret = connector_status_connected; > > > > > break; > > > > > } > > > > > + > > > > > + /* We don't want to tell userspace the port is actually > > > > > plugged into > > > > > + * anything until we've finished probing it's available_pbn, > > > > > otherwise > > > > > > > > "its" > > > > > > > > Why is the connector even registered before we've finished the probe? > > > > > > > Oops, I'm not sure how I did this by accident but the explanation I gave > > > in > > > the commit message was uh, completely wrong. I must have forgotten that > > > I > > > made > > > sure we didn't expose connectors before probing their PBN back when I > > > started > > > my MST cleanup > > > > > > So: despite what I said before it's not actually when new connectors are > > > created, it's when downstream hotplugs happen which means that the > > > conenctor's > > > always going to be there before we probe the available_pbn. > > > > Not sure I understand. You're saying this is going to change for already > > existing connectors when something else gets plugged in, and either we > > zero it out during the probe or it always was zero to begin with for > > whatever reason? > > ok-me and Sean Paul did some playing around with available_pbn and full_pbn > (I'll get into this one in a moment), and I also played around with a couple > of different hubs and have a much better understanding of how this should > work > now. > > So: first off tl;dr available_pbn is absolutely not what we want in > basically > any scenario, we actually want to use the full_pbn field that we get when > sending ENUM_PATH_RESOURCES. Second, full_pbn represents the _smallest_ > bandwidth limitation encountered in the path between the root MSTB and each > connected sink. Remember that there's technically a DisplayPort link trained > between each branch device going down the topology, so that bandwidth > limitation basically equates to "what is the lowest trained link rate that > exists down the path to this port?". This also means that full_pbn will > potentially change every time a new connector is plugged in, as some hubs > will be clever and optimize the link rate they decide to use. Likewise, > since there's not going to be anything trained on a disconnected port (e.g. > ddps=0) there's no point in keeping full_pbn around for disconnected ports, > since otherwise we might let users
[PATCH] drm/amdkfd: Consolidate duplicated bo alloc flags
ALLOC_MEM_FLAGS_* used are the same as the KFD_IOC_ALLOC_MEM_FLAGS_*, but they are interweavedly used in kernel driver, resulting in bad readability. For example, KFD_IOC_ALLOC_MEM_FLAGS_COHERENT is not referenced in kernel, and it functions implicitly in kernel through ALLOC_MEM_FLAGS_COHERENT, causing unnecessary confusion. Replace all occurrences of ALLOC_MEM_FLAGS_* with KFD_IOC_ALLOC_MEM_FLAGS_* to solve the problem. Change-Id: Iced6ed3698167296c97b14e7e4569883859d619c Signed-off-by: Yong Zhao --- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c| 6 ++-- .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 29 ++- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 13 + .../gpu/drm/amd/include/kgd_kfd_interface.h | 21 -- 4 files changed, 27 insertions(+), 42 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c index 726c91ab6761..abfbe89e805e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c @@ -29,6 +29,7 @@ #include #include #include "amdgpu_xgmi.h" +#include static const unsigned int compute_vmid_bitmap = 0xFF00; @@ -501,10 +502,11 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd, metadata_size, &metadata_flags); if (flags) { *flags = (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM) ? - ALLOC_MEM_FLAGS_VRAM : ALLOC_MEM_FLAGS_GTT; + KFD_IOC_ALLOC_MEM_FLAGS_VRAM + : KFD_IOC_ALLOC_MEM_FLAGS_GTT; if (bo->flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) - *flags |= ALLOC_MEM_FLAGS_PUBLIC; + *flags |= KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC; } out_put: diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c index e4481caed648..9dff792c9290 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c @@ -29,6 +29,7 @@ #include "amdgpu_vm.h" #include "amdgpu_amdkfd.h" #include "amdgpu_dma_buf.h" +#include /* BO flag to indicate a KFD userptr BO */ #define AMDGPU_AMDKFD_USERPTR_BO (1ULL << 63) @@ -400,18 +401,18 @@ static int vm_update_pds(struct amdgpu_vm *vm, struct amdgpu_sync *sync) static uint64_t get_pte_flags(struct amdgpu_device *adev, struct kgd_mem *mem) { struct amdgpu_device *bo_adev = amdgpu_ttm_adev(mem->bo->tbo.bdev); - bool coherent = mem->alloc_flags & ALLOC_MEM_FLAGS_COHERENT; + bool coherent = mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_COHERENT; uint32_t mapping_flags; mapping_flags = AMDGPU_VM_PAGE_READABLE; - if (mem->alloc_flags & ALLOC_MEM_FLAGS_WRITABLE) + if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE) mapping_flags |= AMDGPU_VM_PAGE_WRITEABLE; - if (mem->alloc_flags & ALLOC_MEM_FLAGS_EXECUTABLE) + if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE) mapping_flags |= AMDGPU_VM_PAGE_EXECUTABLE; switch (adev->asic_type) { case CHIP_ARCTURUS: - if (mem->alloc_flags & ALLOC_MEM_FLAGS_VRAM) { + if (mem->alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) { if (bo_adev == adev) mapping_flags |= coherent ? AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW; @@ -1160,24 +1161,24 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( /* * Check on which domain to allocate BO */ - if (flags & ALLOC_MEM_FLAGS_VRAM) { + if (flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) { domain = alloc_domain = AMDGPU_GEM_DOMAIN_VRAM; alloc_flags = AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE; - alloc_flags |= (flags & ALLOC_MEM_FLAGS_PUBLIC) ? + alloc_flags |= (flags & KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC) ? AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED : AMDGPU_GEM_CREATE_NO_CPU_ACCESS; - } else if (flags & ALLOC_MEM_FLAGS_GTT) { + } else if (flags & KFD_IOC_ALLOC_MEM_FLAGS_GTT) { domain = alloc_domain = AMDGPU_GEM_DOMAIN_GTT; alloc_flags = 0; - } else if (flags & ALLOC_MEM_FLAGS_USERPTR) { + } else if (flags & KFD_IOC_ALLOC_MEM_FLAGS_USERPTR) { domain = AMDGPU_GEM_DOMAIN_GTT; alloc_domain = AMDGPU_GEM_DOMAIN_CPU; alloc_flags = 0; if (!offset || !*offset) return -EINVAL; user_addr = untagged_addr(*offset); - } else if (flags & (ALLOC_MEM_FLAGS_DOORBELL | - ALLOC_MEM_FLAGS_MMIO_REMAP)) { + } else if (flags & (KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL | + KF