On Tue, Apr 19, 2016 at 10:02:52AM +0800, Wan Zongshun wrote: > > You have to take carefully to arrange the calling sequence for > iommuv1, iommuv2, kfd module, and drm like the following sequence : > v1 ->v2->kfd, drm. > > iommuv1 -- rootfs_initcall(fn) > IOMMUV2 -- device_initcall(fn) > kfd module -- late_initcall(fn) > drm -- late_initcall(fn)
Thanks, it turns out this is not exactly enough, given as Joerg notes: -- AMD-KFD on the other hand needs to be loaded before the radeon driver (but this it not enforced by symbols), because otherwise the radeon driver will not initialize the AMD-KFD driver. --- We have a theoretical race still possible between the kfd module and the drm driver. I'll reply to Joerg's e-mail with more feedback. Luis