From: "Luis R. Rodriguez" <mcgrof@kernel.org> To: joro@8bytes.org, oded.gabbay@amd.com, christian.koenig@amd.com Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, "Luis R. Rodriguez" <mcgrof@kernel.org> Subject: [RFT v2] iommu/amd: use subsys_initcall() on amdv2 iommu Date: Tue, 29 Mar 2016 10:41:53 -0700 [thread overview] Message-ID: <1459273313-5139-1-git-send-email-mcgrof@kernel.org> (raw) In-Reply-To: <20160316171719.GE2195@8bytes.org> 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. This reverts the old work around implemented through commit 1bacc894c227fad8a7 ("drivers: Move iommu/ before gpu/ in Makefile"), instead of making the dependency implicit by linker order this makes the ordering requirement explicit through proper kernel APIs. Cc: Oded Gabbay <oded.gabbay@amd.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> --- This goes along with the revert included. Can someone please test? drivers/Makefile | 6 ++---- drivers/iommu/amd_iommu_v2.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index 8f5d076baeb0..cc3cfbddc376 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -50,10 +50,7 @@ obj-$(CONFIG_RESET_CONTROLLER) += reset/ obj-y += tty/ obj-y += char/ -# iommu/ comes before gpu as gpu are using iommu controllers -obj-$(CONFIG_IOMMU_SUPPORT) += iommu/ - -# gpu/ comes after char for AGP vs DRM startup and after iommu +# gpu/ comes after char for AGP vs DRM startup obj-y += gpu/ obj-$(CONFIG_CONNECTOR) += connector/ @@ -146,6 +143,7 @@ obj-y += clk/ obj-$(CONFIG_MAILBOX) += mailbox/ obj-$(CONFIG_HWSPINLOCK) += hwspinlock/ +obj-$(CONFIG_IOMMU_SUPPORT) += iommu/ obj-$(CONFIG_REMOTEPROC) += remoteproc/ obj-$(CONFIG_RPMSG) += rpmsg/ 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
WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <mcgrof-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> To: joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org, oded.gabbay-5C7GfCeVMHo@public.gmane.org, christian.koenig-5C7GfCeVMHo@public.gmane.org Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Luis R. Rodriguez" <mcgrof-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Subject: [RFT v2] iommu/amd: use subsys_initcall() on amdv2 iommu Date: Tue, 29 Mar 2016 10:41:53 -0700 [thread overview] Message-ID: <1459273313-5139-1-git-send-email-mcgrof@kernel.org> (raw) In-Reply-To: <20160316171719.GE2195-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> 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. This reverts the old work around implemented through commit 1bacc894c227fad8a7 ("drivers: Move iommu/ before gpu/ in Makefile"), instead of making the dependency implicit by linker order this makes the ordering requirement explicit through proper kernel APIs. Cc: Oded Gabbay <oded.gabbay@amd.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> --- This goes along with the revert included. Can someone please test? drivers/Makefile | 6 ++---- drivers/iommu/amd_iommu_v2.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index 8f5d076baeb0..cc3cfbddc376 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -50,10 +50,7 @@ obj-$(CONFIG_RESET_CONTROLLER) += reset/ obj-y += tty/ obj-y += char/ -# iommu/ comes before gpu as gpu are using iommu controllers -obj-$(CONFIG_IOMMU_SUPPORT) += iommu/ - -# gpu/ comes after char for AGP vs DRM startup and after iommu +# gpu/ comes after char for AGP vs DRM startup obj-y += gpu/ obj-$(CONFIG_CONNECTOR) += connector/ @@ -146,6 +143,7 @@ obj-y += clk/ obj-$(CONFIG_MAILBOX) += mailbox/ obj-$(CONFIG_HWSPINLOCK) += hwspinlock/ +obj-$(CONFIG_IOMMU_SUPPORT) += iommu/ obj-$(CONFIG_REMOTEPROC) += remoteproc/ obj-$(CONFIG_RPMSG) += rpmsg/ 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 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2016-03-29 17:42 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-03-15 22:12 [RFT] iommu/amd: use subsys_initcall() on amdv2 iommu Luis R. Rodriguez 2016-03-16 7:02 ` Oded Gabbay 2016-03-16 7:02 ` Oded Gabbay 2016-03-16 10:14 ` Joerg Roedel 2016-03-16 10:14 ` Joerg Roedel 2016-03-16 10:16 ` Oded Gabbay 2016-03-16 16:17 ` Luis R. Rodriguez 2016-03-16 16:39 ` Joerg Roedel 2016-03-16 16:57 ` Luis R. Rodriguez 2016-03-16 17:17 ` Joerg Roedel 2016-03-16 17:17 ` Joerg Roedel 2016-03-29 17:41 ` Luis R. Rodriguez [this message] 2016-03-29 17:41 ` [RFT v2] " Luis R. Rodriguez 2016-04-09 0:25 ` Luis R. Rodriguez 2016-04-09 0:25 ` Luis R. Rodriguez 2016-04-11 13:28 ` Christian König 2016-04-11 13:28 ` Christian König 2016-04-11 13:39 ` Oded Gabbay 2016-04-11 13:39 ` Oded Gabbay 2016-04-11 13:52 ` Christian König 2016-04-11 13:52 ` Christian König 2016-04-12 22:07 ` Luis R. Rodriguez 2016-04-12 22:07 ` Luis R. Rodriguez 2016-04-18 6:48 ` Oded Gabbay 2016-04-18 6:48 ` Oded Gabbay [not found] ` <CAFCwf12SJ-dTv6PC0_KfHbtC9951xb_4v8wu5uSjXO-V3TgdkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2016-04-18 6:55 ` Luis R. Rodriguez 2016-04-18 7:02 ` Oded Gabbay 2016-04-18 7:02 ` Oded Gabbay 2016-04-18 12:03 ` Luis R. Rodriguez 2016-04-18 12:03 ` Luis R. Rodriguez 2016-04-19 2:02 ` Wan Zongshun 2016-04-19 2:02 ` Wan Zongshun 2016-05-27 0:12 ` Luis R. Rodriguez 2016-05-27 0:12 ` Luis R. Rodriguez 2016-04-25 10:23 ` Joerg Roedel 2016-04-25 10:23 ` Joerg Roedel 2016-05-27 0:46 ` Luis R. Rodriguez 2016-05-27 1:18 ` [RFT v3] drm: use late_initcall() for amdkfd and radeon Luis R. Rodriguez 2016-05-29 14:49 ` Oded Gabbay 2016-05-29 14:49 ` Oded Gabbay 2016-05-31 17:15 ` Luis R. Rodriguez 2016-05-31 17:15 ` Luis R. Rodriguez 2016-05-31 17:33 ` Oded Gabbay 2016-05-31 17:33 ` Oded Gabbay 2016-05-29 18:27 ` Daniel Vetter 2016-05-29 18:27 ` Daniel Vetter 2016-05-31 16:58 ` Luis R. Rodriguez 2016-05-31 19:04 ` Daniel Vetter 2016-05-31 19:04 ` Daniel Vetter 2016-06-01 21:11 ` Luis R. Rodriguez 2016-11-10 22:12 ` Luis R. Rodriguez 2016-11-10 22:12 ` Luis R. Rodriguez
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1459273313-5139-1-git-send-email-mcgrof@kernel.org \ --to=mcgrof@kernel.org \ --cc=christian.koenig@amd.com \ --cc=iommu@lists.linux-foundation.org \ --cc=joro@8bytes.org \ --cc=linux-kernel@vger.kernel.org \ --cc=oded.gabbay@amd.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.