From a70a98b30b69ffc7ecb78fcb7e9d3f6ea7fd8d76 Mon Sep 17 00:00:00 2001 From: Oded Gabbay Date: Thu, 30 Apr 2015 18:08:36 +0300 Subject: [PATCH] Increase limit of signal events to 4096 Signed-off-by: Oded Gabbay Reviewed-by: Ben Goz --- include/linux/kfd_ioctl.h | 2 ++ src/events.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/kfd_ioctl.h b/include/linux/kfd_ioctl.h index 09a22cc681..3316967170 100644 --- a/include/linux/kfd_ioctl.h +++ b/include/linux/kfd_ioctl.h @@ -169,6 +169,8 @@ struct kfd_ioctl_dbg_wave_control_args { #define KFD_IOC_WAIT_RESULT_TIMEOUT 1 #define KFD_IOC_WAIT_RESULT_FAIL 2 +#define KFD_SIGNAL_EVENT_LIMIT 4096 + struct kfd_ioctl_create_event_args { uint64_t event_page_offset; /* from KFD */ uint32_t event_trigger_data; /* from KFD - signal events only */ diff --git a/src/events.c b/src/events.c index 8b057b0fc7..d64f601ebd 100644 --- a/src/events.c +++ b/src/events.c @@ -77,7 +77,7 @@ hsaKmtCreateEvent( } if (events_page == NULL && args.event_page_offset > 0) { - events_page = mmap(NULL, 4096, PROT_WRITE | PROT_READ, + events_page = mmap(NULL, KFD_SIGNAL_EVENT_LIMIT * 8, PROT_WRITE | PROT_READ, MAP_SHARED, kfd_fd, args.event_page_offset); if (events_page == NULL) { hsaKmtDestroyEvent(e); @@ -85,7 +85,7 @@ hsaKmtCreateEvent( } } - if (args.event_page_offset > 0 && args.event_slot_index < 256) + if (args.event_page_offset > 0 && args.event_slot_index < KFD_SIGNAL_EVENT_LIMIT) e->EventData.HWData2 = (HSAuint64)&events_page[args.event_slot_index]; e->EventId = args.event_id;