@@ -283,18 +283,11 @@ static umf_result_t ze_memory_provider_allocation_split(void *provider,
283
283
return UMF_RESULT_ERROR_NOT_SUPPORTED ;
284
284
}
285
285
286
- struct ipc_data_t {
287
- ze_ipc_mem_handle_t ze_ipc_handle ;
288
- ze_memory_type_t memory_type ;
289
- //TODO: do we need size?
290
- size_t size ;
291
- };
292
-
293
286
static umf_result_t ze_memory_provider_get_ipc_handle_size (void * provider ,
294
287
size_t * size ) {
295
288
(void )provider ;
296
289
ASSERT (size != NULL );
297
- * size = sizeof (struct ipc_data_t );
290
+ * size = sizeof (ze_ipc_mem_handle_t );
298
291
return UMF_RESULT_SUCCESS ;
299
292
}
300
293
@@ -304,24 +297,19 @@ static umf_result_t ze_memory_provider_get_ipc_handle(void *provider,
304
297
void * providerIpcData ) {
305
298
ASSERT (ptr != NULL );
306
299
ASSERT (providerIpcData != NULL );
300
+ (void )size ;
307
301
ze_result_t ze_result ;
308
- ze_ipc_mem_handle_t ze_ipc_handle = {0 };
309
- struct ipc_data_t * ipc_data = (struct ipc_data_t * )providerIpcData ;
302
+ ze_ipc_mem_handle_t * ze_ipc_handle = (ze_ipc_mem_handle_t * )providerIpcData ;
310
303
struct ze_memory_provider_t * ze_provider =
311
304
(struct ze_memory_provider_t * )provider ;
312
305
313
306
ze_result =
314
- g_ze_ops .zeMemGetIpcHandle (ze_provider -> context , ptr , & ze_ipc_handle );
307
+ g_ze_ops .zeMemGetIpcHandle (ze_provider -> context , ptr , ze_ipc_handle );
315
308
if (ze_result != ZE_RESULT_SUCCESS ) {
316
309
LOG_ERR ("zeMemGetIpcHandle() failed." );
317
310
return UMF_RESULT_ERROR_MEMORY_PROVIDER_SPECIFIC ;
318
311
}
319
312
320
- memcpy (& (ipc_data -> ze_ipc_handle ), & ze_ipc_handle ,
321
- sizeof (ze_ipc_mem_handle_t ));
322
- ipc_data -> memory_type = ze_provider -> memory_type ;
323
- ipc_data -> size = size ;
324
-
325
313
return UMF_RESULT_SUCCESS ;
326
314
}
327
315
@@ -332,7 +320,7 @@ static umf_result_t ze_memory_provider_put_ipc_handle(void *provider,
332
320
ze_result_t ze_result ;
333
321
struct ze_memory_provider_t * ze_provider =
334
322
(struct ze_memory_provider_t * )provider ;
335
- struct ipc_data_t * ipc_data = (struct ipc_data_t * )providerIpcData ;
323
+ ze_ipc_mem_handle_t * ze_ipc_handle = (ze_ipc_mem_handle_t * )providerIpcData ;
336
324
337
325
if (g_ze_ops .zeMemPutIpcHandle == NULL ) {
338
326
// g_ze_ops.zeMemPutIpcHandle can be NULL because it was introduced
@@ -341,8 +329,8 @@ static umf_result_t ze_memory_provider_put_ipc_handle(void *provider,
341
329
return UMF_RESULT_SUCCESS ;
342
330
}
343
331
344
- ze_result = g_ze_ops . zeMemPutIpcHandle ( ze_provider -> context ,
345
- ipc_data -> ze_ipc_handle );
332
+ ze_result =
333
+ g_ze_ops . zeMemPutIpcHandle ( ze_provider -> context , * ze_ipc_handle );
346
334
if (ze_result != ZE_RESULT_SUCCESS ) {
347
335
LOG_ERR ("zeMemPutIpcHandle() failed." );
348
336
return UMF_RESULT_ERROR_MEMORY_PROVIDER_SPECIFIC ;
@@ -357,13 +345,12 @@ static umf_result_t ze_memory_provider_open_ipc_handle(void *provider,
357
345
ASSERT (providerIpcData != NULL );
358
346
ASSERT (ptr != NULL );
359
347
ze_result_t ze_result ;
360
- struct ipc_data_t * ipc_data = (struct ipc_data_t * )providerIpcData ;
348
+ ze_ipc_mem_handle_t * ze_ipc_handle = (ze_ipc_mem_handle_t * )providerIpcData ;
361
349
struct ze_memory_provider_t * ze_provider =
362
350
(struct ze_memory_provider_t * )provider ;
363
351
364
- ze_result =
365
- g_ze_ops .zeMemOpenIpcHandle (ze_provider -> context , ze_provider -> device ,
366
- ipc_data -> ze_ipc_handle , 0 , ptr );
352
+ ze_result = g_ze_ops .zeMemOpenIpcHandle (
353
+ ze_provider -> context , ze_provider -> device , * ze_ipc_handle , 0 , ptr );
367
354
if (ze_result != ZE_RESULT_SUCCESS ) {
368
355
LOG_ERR ("zeMemOpenIpcHandle() failed." );
369
356
return UMF_RESULT_ERROR_MEMORY_PROVIDER_SPECIFIC ;
0 commit comments