All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oded Gabbay <oded.gabbay@gmail.com>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: vw@iommu.org, "Joerg Roedel" <joro@8bytes.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	iommu@lists.linux-foundation.org,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
	"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [RFT v3] drm: use late_initcall() for amdkfd and radeon
Date: Tue, 31 May 2016 20:33:33 +0300	[thread overview]
Message-ID: <CAFCwf10n8CrGyJmv0uBP7NLCZeDqc0vGg4g3u8_EaQgSs+FFVw@mail.gmail.com> (raw)
In-Reply-To: <20160531171555.GH11948@wotan.suse.de>

On Tue, May 31, 2016 at 8:15 PM, Luis R. Rodriguez <mcgrof@kernel.org> wrote:
> On Sun, May 29, 2016 at 05:49:17PM +0300, Oded Gabbay wrote:
>> On Fri, May 27, 2016 at 4:18 AM, Luis R. Rodriguez <mcgrof@kernel.org> wrote:
>> > diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
>> > index b55aa740171f..1fa1b7f3a89c 100644
>> > --- a/drivers/gpu/drm/radeon/radeon_drv.c
>> > +++ b/drivers/gpu/drm/radeon/radeon_drv.c
>> > @@ -609,7 +609,7 @@ static void __exit radeon_exit(void)
>> >         radeon_unregister_atpx_handler();
>> >  }
>> >
>> > -module_init(radeon_init);
>> > +late_initcall(radeon_init);
>> >  module_exit(radeon_exit);
>>
>> Need to modify also amdgpu module_init
>
> Thanks, so other than considering the first two hunks are only for testing purposes
> (a proper [PATCH] will drop these hunks on the Makefile), you're suggestng this
> then, is that right?:

Yes, the below should cover the amdgpu case as well.
>
> ---
>  drivers/Makefile                        | 6 ++----
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_module.c | 2 +-
>  drivers/gpu/drm/radeon/radeon_drv.c     | 2 +-
>  4 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 0b6f3d60193d..0fbe3982041f 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/
> @@ -147,6 +144,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/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 1dab5f2b725b..1ca448f2b4d2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -589,7 +589,7 @@ static void __exit amdgpu_exit(void)
>         amdgpu_sync_fini();
>  }
>
> -module_init(amdgpu_init);
> +late_initcall(amdgpu_init);
>  module_exit(amdgpu_exit);
>
>  MODULE_AUTHOR(DRIVER_AUTHOR);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> index 850a5623661f..3d1dab8a31c7 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> @@ -141,7 +141,7 @@ static void __exit kfd_module_exit(void)
>         dev_info(kfd_device, "Removed module\n");
>  }
>
> -module_init(kfd_module_init);
> +late_initcall(kfd_module_init);
>  module_exit(kfd_module_exit);
>
>  MODULE_AUTHOR(KFD_DRIVER_AUTHOR);
> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
> index b55aa740171f..1fa1b7f3a89c 100644
> --- a/drivers/gpu/drm/radeon/radeon_drv.c
> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
> @@ -609,7 +609,7 @@ static void __exit radeon_exit(void)
>         radeon_unregister_atpx_handler();
>  }
>
> -module_init(radeon_init);
> +late_initcall(radeon_init);
>  module_exit(radeon_exit);
>
>  MODULE_AUTHOR(DRIVER_AUTHOR);
> --
> 2.8.2
>
>
>> I tested this on Kaveri, and amdkfd is working. For amdkfd that's
>> fine, but IMO that's not enough testing for radeon/amdgpu. I would
>> like to hear AMD's developers take on this.
>
> Sure. Hopefully the above extensions suffice. In the future we should be able
> to also replace the radeon amdkfd -EPROBE_DEFER kludge and the implicit
> sensitivity in Makefiles over GPU drivers and IOMMUs, but a bit more work is
> needed before that happens.
>
>   Luis

WARNING: multiple messages have this Message-ID (diff)
From: Oded Gabbay <oded.gabbay@gmail.com>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: vw@iommu.org, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
	"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
	iommu@lists.linux-foundation.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>
Subject: Re: [RFT v3] drm: use late_initcall() for amdkfd and radeon
Date: Tue, 31 May 2016 20:33:33 +0300	[thread overview]
Message-ID: <CAFCwf10n8CrGyJmv0uBP7NLCZeDqc0vGg4g3u8_EaQgSs+FFVw@mail.gmail.com> (raw)
In-Reply-To: <20160531171555.GH11948@wotan.suse.de>

On Tue, May 31, 2016 at 8:15 PM, Luis R. Rodriguez <mcgrof@kernel.org> wrote:
> On Sun, May 29, 2016 at 05:49:17PM +0300, Oded Gabbay wrote:
>> On Fri, May 27, 2016 at 4:18 AM, Luis R. Rodriguez <mcgrof@kernel.org> wrote:
>> > diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
>> > index b55aa740171f..1fa1b7f3a89c 100644
>> > --- a/drivers/gpu/drm/radeon/radeon_drv.c
>> > +++ b/drivers/gpu/drm/radeon/radeon_drv.c
>> > @@ -609,7 +609,7 @@ static void __exit radeon_exit(void)
>> >         radeon_unregister_atpx_handler();
>> >  }
>> >
>> > -module_init(radeon_init);
>> > +late_initcall(radeon_init);
>> >  module_exit(radeon_exit);
>>
>> Need to modify also amdgpu module_init
>
> Thanks, so other than considering the first two hunks are only for testing purposes
> (a proper [PATCH] will drop these hunks on the Makefile), you're suggestng this
> then, is that right?:

Yes, the below should cover the amdgpu case as well.
>
> ---
>  drivers/Makefile                        | 6 ++----
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_module.c | 2 +-
>  drivers/gpu/drm/radeon/radeon_drv.c     | 2 +-
>  4 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 0b6f3d60193d..0fbe3982041f 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/
> @@ -147,6 +144,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/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 1dab5f2b725b..1ca448f2b4d2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -589,7 +589,7 @@ static void __exit amdgpu_exit(void)
>         amdgpu_sync_fini();
>  }
>
> -module_init(amdgpu_init);
> +late_initcall(amdgpu_init);
>  module_exit(amdgpu_exit);
>
>  MODULE_AUTHOR(DRIVER_AUTHOR);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> index 850a5623661f..3d1dab8a31c7 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
> @@ -141,7 +141,7 @@ static void __exit kfd_module_exit(void)
>         dev_info(kfd_device, "Removed module\n");
>  }
>
> -module_init(kfd_module_init);
> +late_initcall(kfd_module_init);
>  module_exit(kfd_module_exit);
>
>  MODULE_AUTHOR(KFD_DRIVER_AUTHOR);
> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
> index b55aa740171f..1fa1b7f3a89c 100644
> --- a/drivers/gpu/drm/radeon/radeon_drv.c
> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
> @@ -609,7 +609,7 @@ static void __exit radeon_exit(void)
>         radeon_unregister_atpx_handler();
>  }
>
> -module_init(radeon_init);
> +late_initcall(radeon_init);
>  module_exit(radeon_exit);
>
>  MODULE_AUTHOR(DRIVER_AUTHOR);
> --
> 2.8.2
>
>
>> I tested this on Kaveri, and amdkfd is working. For amdkfd that's
>> fine, but IMO that's not enough testing for radeon/amdgpu. I would
>> like to hear AMD's developers take on this.
>
> Sure. Hopefully the above extensions suffice. In the future we should be able
> to also replace the radeon amdkfd -EPROBE_DEFER kludge and the implicit
> sensitivity in Makefiles over GPU drivers and IOMMUs, but a bit more work is
> needed before that happens.
>
>   Luis
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2016-05-31 17:34 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               ` [RFT v2] " Luis R. Rodriguez
2016-03-29 17:41                 ` 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 [this message]
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=CAFCwf10n8CrGyJmv0uBP7NLCZeDqc0vGg4g3u8_EaQgSs+FFVw@mail.gmail.com \
    --to=oded.gabbay@gmail.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=vw@iommu.org \
    /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: link
Be 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.