Re: [RFT] iommu/amd: use subsys_initcall() on amdv2 iommu

From: Oded Gabbay
Date: Wed Mar 16 2016 - 03:03:19 EST


On Wed, Mar 16, 2016 at 12:12 AM, Luis R. Rodriguez <mcgrof@xxxxxxxxxx> wrote:
> We need to ensure amd iommu v2 initializes before
> driver uses such as drivers/gpu/drm/amd/amdkfd/kfd_module.c,
> to do this make its init routine a subsys_initcall() which
> ensures its load init is called first than modules when
> built-in.
>
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
> ---
>
> Can someone test if this patch enables both CONFIG_AMD_IOMMU_V2 and
> CONFIG_HSA_AMD to be =y (built-in) without any conflicts ?
>
> drivers/iommu/amd_iommu_v2.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/amd_iommu_v2.c b/drivers/iommu/amd_iommu_v2.c
> index 56999d2fac07..60df645b9927 100644
> --- a/drivers/iommu/amd_iommu_v2.c
> +++ b/drivers/iommu/amd_iommu_v2.c
> @@ -1004,5 +1004,5 @@ static void __exit amd_iommu_v2_exit(void)
> destroy_workqueue(iommu_wq);
> }
>
> -module_init(amd_iommu_v2_init);
> +subsys_initcall(amd_iommu_v2_init);
> module_exit(amd_iommu_v2_exit);
> --
> 2.7.2
>

fwiw, we currently have this covered by the ugly hack of putting iommu
subsystem in front of gpu subsystem in the main drivers makefile (See
1bacc894c227fad8a727eb99728df708eba57654)

Oded