On 2018-04-24 09:14 AM, Luc Van Oostenryck wrote: > The method (*hqd_destroy) is defined as using an 'uint32_t' > as 3rd argument but the the actual implementation of this > method and all its calls actually uses an 'enum kfd_preempt_type' > for this argument. > > Fix this by using 'enum kfd_preempt_type' for (*hqd_destroy) too. > > Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck at gmail.com> Interesting. I'm surprised I never saw a compiler warning about a function pointer type mismatch. I guess C isn't picky about integer types as long as the size is the same. Anyway, this patch is Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com> > --- > drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h > index 237289a72..2890e8581 100644 > --- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h > +++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h > @@ -298,7 +298,7 @@ struct kfd2kgd_calls { > bool (*hqd_is_occupied)(struct kgd_dev *kgd, uint64_t queue_address, > uint32_t pipe_id, uint32_t queue_id); > > - int (*hqd_destroy)(struct kgd_dev *kgd, void *mqd, uint32_t reset_type, > + int (*hqd_destroy)(struct kgd_dev *kgd, void *mqd, enum kfd_preempt_type reset_type, > unsigned int timeout, uint32_t pipe_id, > uint32_t queue_id); >