Re: [Nouveau] [PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions

From: Vince Hsu
Date: Tue Jan 06 2015 - 07:27:30 EST



On 01/06/2015 07:49 PM, Thierry Reding wrote:
* PGP Signed by an unknown key

On Mon, Jan 05, 2015 at 08:50:18PM +0100, Alexandre Courbot wrote:
On Mon, Jan 5, 2015 at 4:32 PM, Thierry Reding <thierry.reding@xxxxxxxxx> wrote:
On Tue, Dec 30, 2014 at 11:18:34AM +0800, Vince Hsu wrote:
Hi Emil,

On 12/30/2014 10:34 AM, Emil Velikov wrote:
On 23/12/14 10:40, Vince Hsu wrote:
This patch adds some checks in the suspend/resume functions to distinguish
the dGPU and mobile GPU and exports some variables/functions so that the
nouveau platform device can reuse them.

Hi Vince,

Afaiu one needs to export a symbol as it's used by another module or
subsystem. With the follow up two patches you are not doing either one,
so I'd assume that you can just omit the EXPORT_* changes.
The nouveau platform device driver is built as another module -
nouveau_platform.ko. :)
I'd like to hear the opinion of the nouveau people and Alex, but I'd
very much prefer if nouveau_platform.o was simply linked into the
nouveau.ko module. I don't see any good reason to keep it separate.
Yep, I agree. The decision to host platform support in a separate
module looks misleaded if it results in additional exports that we
would otherwise avoid. IIUC I did this to be able to use the module
convenience macros to register the platform driver.

Something like the attached patch (untested) ought to do it.
This patch alone won't be enough for the reason I mentioned above.
However, if Vince doesn't mind handling the platform driver
registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
this would be the way to go.
If we do the conversion to generic power domains, the only Tegra-
specific API remaining will be the access to the fuse registers for the
speedo value. At that point we wouldn't need the ARCH_TEGRA dependency
any longer and could always build the platform driver along with the PCI
driver.
Do we really want the platform driver always built with the PCI driver even
there is no dependency between them. Actually I have some patches to
build the platform driver with !CONFIG_PCI and would like to post them maybe
later.

Thanks,
Vince


I guess we could do that even now if we simply #ifdef the various Tegra-
specific parts. That in turn would have the advantage that we don't need
to #ifdef the driver registration code. And it would help separate
things in case anybody wanted to use one of the SoC GPUs in a non-Tegra
SoC.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/