Am 29.12.2014 um 14:17 schrieb Oded Gabbay: > > > On 12/29/2014 03:06 PM, Christian König wrote: >> Am 29.12.2014 um 13:42 schrieb Oded Gabbay: >>> This patch reformats the ioctl definitions in kfd_ioctl.h to be >>> similar to the >>> drm ioctls definition style. >>> >>> Signed-off-by: Oded Gabbay <oded.gabbay at amd.com> >> >> You are aware that this is a kernel API breakage? > Yes, but as long as 3.19 isn't released yet, I'm allowed to do this, no ?
Strictly speaking only if you fix a bug with it, but since we are still pretty early in the cycle it's ok with we (especially since it looks like a valid cleanup). I'm just not sure what Dave/Linus think of this. Christian. > and I want this patch-set to be inserted to 3.19 so there won't be API > breakage afterwards. > >> >>> --- >>> drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 15 +++++++------ >>> include/uapi/linux/kfd_ioctl.h | 37 >>> +++++++++++++++++++------------- >>> 2 files changed, 30 insertions(+), 22 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c >>> b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c >>> index 5460ad2..390385f 100644 >>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c >>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c >>> @@ -524,35 +524,36 @@ static long kfd_ioctl(struct file *filep, >>> unsigned int >>> cmd, unsigned long arg) >>> switch (cmd) { >>> - case KFD_IOC_GET_VERSION: >>> + case AMDKFD_IOC_GET_VERSION: >>> retcode = kfd_ioctl_get_version(filep, process, kdata); >>> break; >>> - case KFD_IOC_CREATE_QUEUE: >>> + >>> + case AMDKFD_IOC_CREATE_QUEUE: >>> retcode = kfd_ioctl_create_queue(filep, process, >>> kdata); >>> break; >>> - case KFD_IOC_DESTROY_QUEUE: >>> + case AMDKFD_IOC_DESTROY_QUEUE: >>> retcode = kfd_ioctl_destroy_queue(filep, process, >>> kdata); >>> break; >>> - case KFD_IOC_SET_MEMORY_POLICY: >>> + case AMDKFD_IOC_SET_MEMORY_POLICY: >>> retcode = kfd_ioctl_set_memory_policy(filep, process, >>> kdata); >>> break; >>> - case KFD_IOC_GET_CLOCK_COUNTERS: >>> + case AMDKFD_IOC_GET_CLOCK_COUNTERS: >>> retcode = kfd_ioctl_get_clock_counters(filep, process, >>> kdata); >>> break; >>> - case KFD_IOC_GET_PROCESS_APERTURES: >>> + case AMDKFD_IOC_GET_PROCESS_APERTURES: >>> retcode = kfd_ioctl_get_process_apertures(filep, process, >>> kdata); >>> break; >>> - case KFD_IOC_UPDATE_QUEUE: >>> + case AMDKFD_IOC_UPDATE_QUEUE: >>> retcode = kfd_ioctl_update_queue(filep, process, >>> kdata); >>> break; >>> diff --git a/include/uapi/linux/kfd_ioctl.h >>> b/include/uapi/linux/kfd_ioctl.h >>> index 7acef41..05b53f6 100644 >>> --- a/include/uapi/linux/kfd_ioctl.h >>> +++ b/include/uapi/linux/kfd_ioctl.h >>> @@ -128,27 +128,34 @@ struct kfd_ioctl_get_process_apertures_args { >>> uint32_t pad; >>> }; >>> -#define KFD_IOC_MAGIC 'K' >>> +#define AMDKFD_IOCTL_BASE 'K' >>> +#define AMDKFD_IO(nr) _IO(AMDKFD_IOCTL_BASE, nr) >>> +#define AMDKFD_IOR(nr, type) _IOR(AMDKFD_IOCTL_BASE, nr, type) >>> +#define AMDKFD_IOW(nr, type) _IOW(AMDKFD_IOCTL_BASE, nr, type) >>> +#define AMDKFD_IOWR(nr, type) _IOWR(AMDKFD_IOCTL_BASE, nr, >>> type) >>> -#define KFD_IOC_GET_VERSION \ >>> - _IOR(KFD_IOC_MAGIC, 1, struct kfd_ioctl_get_version_args) >>> +#define AMDKFD_IOC_GET_VERSION \ >>> + AMDKFD_IOR(0x01, struct kfd_ioctl_get_version_args) >>> -#define KFD_IOC_CREATE_QUEUE \ >>> - _IOWR(KFD_IOC_MAGIC, 2, struct kfd_ioctl_create_queue_args) >>> +#define AMDKFD_IOC_CREATE_QUEUE \ >>> + AMDKFD_IOWR(0x02, struct kfd_ioctl_create_queue_args) >>> -#define KFD_IOC_DESTROY_QUEUE \ >>> - _IOWR(KFD_IOC_MAGIC, 3, struct kfd_ioctl_destroy_queue_args) >>> +#define AMDKFD_IOC_DESTROY_QUEUE \ >>> + AMDKFD_IOWR(0x03, struct kfd_ioctl_destroy_queue_args) >>> -#define KFD_IOC_SET_MEMORY_POLICY \ >>> - _IOW(KFD_IOC_MAGIC, 4, struct kfd_ioctl_set_memory_policy_args) >>> +#define AMDKFD_IOC_SET_MEMORY_POLICY \ >>> + AMDKFD_IOW(0x04, struct kfd_ioctl_set_memory_policy_args) >>> -#define KFD_IOC_GET_CLOCK_COUNTERS \ >>> - _IOWR(KFD_IOC_MAGIC, 5, struct kfd_ioctl_get_clock_counters_args) >>> +#define AMDKFD_IOC_GET_CLOCK_COUNTERS \ >>> + AMDKFD_IOWR(0x05, struct kfd_ioctl_get_clock_counters_args) >>> -#define KFD_IOC_GET_PROCESS_APERTURES \ >>> - _IOR(KFD_IOC_MAGIC, 6, struct >>> kfd_ioctl_get_process_apertures_args) >>> +#define AMDKFD_IOC_GET_PROCESS_APERTURES \ >>> + AMDKFD_IOR(0x06, struct kfd_ioctl_get_process_apertures_args) >>> -#define KFD_IOC_UPDATE_QUEUE \ >>> - _IOW(KFD_IOC_MAGIC, 7, struct kfd_ioctl_update_queue_args) >>> +#define AMDKFD_IOC_UPDATE_QUEUE \ >>> + AMDKFD_IOW(0x07, struct kfd_ioctl_update_queue_args) >>> + >>> +#define KFD_COMMAND_START 0x01 >>> +#define KFD_COMMAND_END 0x08 >> >> If you rename everything to AMDKFD_* you probably want to do so as >> well for >> KFD_COMMAND_(START|END). > > Thanks, I'll do that. > > Oded >> >> Regards, >> Christian. >> >>> #endif >>