hsakmt: Undo HSAKMT prefix for PAGE_SHIFT

We had skipped doing it for PAGE_SIZE, but it should be left as the
regular PAGE_SHIFT name, especially for users who are using different
headers. We want PAGE_SHIFT and PAGE_SIZE to be consistent with one
another, so set them both explicitly to the same value if either
of them is undefined

Change-Id: I121d81c48409dd77351b59a192d824e2419a2410
Signed-off-by: Kent Russell <kent.russell@amd.com>
This commit is contained in:
Kent Russell
2024-09-17 09:29:27 -04:00
والد ff6e1b44bf
کامیت daad183bf8
8فایلهای تغییر یافته به همراه30 افزوده شده و 27 حذف شده
+7 -7
مشاهده پرونده
@@ -3748,7 +3748,7 @@ HSAKMT_STATUS hsakmt_fmm_share_memory(void *MemoryAddress,
HsaSharedMemoryStruct *SharedMemoryStruct =
to_hsa_shared_memory_struct(SharedMemoryHandle);
if (SizeInBytes >= (1ULL << ((sizeof(HSAuint32) * 8) + HSAKMT_PAGE_SHIFT)))
if (SizeInBytes >= (1ULL << ((sizeof(HSAuint32) * 8) + PAGE_SHIFT)))
return HSAKMT_STATUS_INVALID_PARAMETER;
aperture = fmm_find_aperture(MemoryAddress, &ApeInfo);
@@ -3784,7 +3784,7 @@ HSAKMT_STATUS hsakmt_fmm_share_memory(void *MemoryAddress,
memcpy(SharedMemoryStruct->ShareHandle, exportArgs.share_handle,
sizeof(SharedMemoryStruct->ShareHandle));
SharedMemoryStruct->ApeInfo = ApeInfo;
SharedMemoryStruct->SizeInPages = (HSAuint32) (SizeInBytes >> HSAKMT_PAGE_SHIFT);
SharedMemoryStruct->SizeInPages = (HSAuint32) (SizeInBytes >> PAGE_SHIFT);
SharedMemoryStruct->ExportGpuId = gpu_id;
return HSAKMT_STATUS_SUCCESS;
@@ -3821,7 +3821,7 @@ HSAKMT_STATUS hsakmt_fmm_register_shared_memory(const HsaSharedMemoryHandle *Sha
pthread_mutex_lock(&aperture->fmm_mutex);
reservedMem = aperture_allocate_area(aperture, NULL,
(SizeInPages << HSAKMT_PAGE_SHIFT));
(SizeInPages << PAGE_SHIFT));
pthread_mutex_unlock(&aperture->fmm_mutex);
if (!reservedMem) {
err = HSAKMT_STATUS_NO_MEMORY;
@@ -3838,7 +3838,7 @@ HSAKMT_STATUS hsakmt_fmm_register_shared_memory(const HsaSharedMemoryHandle *Sha
pthread_mutex_lock(&aperture->fmm_mutex);
mflags.Value = importArgs.flags;
obj = aperture_allocate_object(aperture, reservedMem, importArgs.handle,
(SizeInPages << HSAKMT_PAGE_SHIFT), mflags);
(SizeInPages << PAGE_SHIFT), mflags);
if (!obj) {
err = HSAKMT_STATUS_NO_MEMORY;
goto err_free_mem;
@@ -3854,7 +3854,7 @@ HSAKMT_STATUS hsakmt_fmm_register_shared_memory(const HsaSharedMemoryHandle *Sha
goto err_free_obj;
}
obj->node_id = gpu_mem[gpu_mem_id].node_id;
ret = fmm_map_to_cpu(reservedMem, (SizeInPages << HSAKMT_PAGE_SHIFT),
ret = fmm_map_to_cpu(reservedMem, (SizeInPages << PAGE_SHIFT),
true, gpu_mem[gpu_mem_id].drm_render_fd,
importArgs.mmap_offset);
@@ -3865,7 +3865,7 @@ HSAKMT_STATUS hsakmt_fmm_register_shared_memory(const HsaSharedMemoryHandle *Sha
}
*MemoryAddress = reservedMem;
*SizeInBytes = (SizeInPages << HSAKMT_PAGE_SHIFT);
*SizeInBytes = (SizeInPages << PAGE_SHIFT);
if (gpu_id_array_size > 0) {
obj->registered_device_id_array = gpu_id_array;
@@ -3878,7 +3878,7 @@ err_free_obj:
pthread_mutex_lock(&aperture->fmm_mutex);
vm_remove_object(aperture, obj);
err_free_mem:
aperture_release_area(aperture, reservedMem, (SizeInPages << HSAKMT_PAGE_SHIFT));
aperture_release_area(aperture, reservedMem, (SizeInPages << PAGE_SHIFT));
pthread_mutex_unlock(&aperture->fmm_mutex);
err_free_buffer:
freeArgs.handle = importArgs.handle;
+2 -5
مشاهده پرونده
@@ -33,11 +33,8 @@ unsigned long hsakmt_system_properties_count;
pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER;
bool hsakmt_is_dgpu;
#ifndef PAGE_SIZE
int PAGE_SIZE;
#endif
int HSAKMT_PAGE_SHIFT;
int hsakmt_page_size;
int hsakmt_page_shift;
/* whether to check all dGPUs in the topology support SVM API */
bool hsakmt_is_svm_api_supported;
+6 -2
مشاهده پرونده
@@ -67,9 +67,13 @@ extern HsaVersionInfo hsakmt_kfd_version_info;
/* Might be defined in limits.h on platforms where it is constant (used by musl) */
/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */
#ifndef PAGE_SIZE
extern int PAGE_SIZE;
extern int hsakmt_page_size;
#define PAGE_SIZE hsakmt_page_size
#endif
#ifndef PAGE_SHIFT
extern int hsakmt_page_shift;
#define PAGE_SHIFT hsakmt_page_shift
#endif
extern int HSAKMT_PAGE_SHIFT;
/* VI HW bug requires this virtual address alignment */
#define TONGA_PAGE_SIZE 0x8000
+2 -4
مشاهده پرونده
@@ -114,10 +114,8 @@ static void clear_after_fork(void)
static inline void init_page_size(void)
{
#ifndef PAGE_SIZE
PAGE_SIZE = sysconf(_SC_PAGESIZE);
#endif
HSAKMT_PAGE_SHIFT = ffs(PAGE_SIZE) - 1;
hsakmt_page_size = sysconf(_SC_PAGESIZE);
hsakmt_page_shift = ffs(hsakmt_page_size) - 1;
}
static HSAKMT_STATUS init_vars_from_env(void)