On Fri, Aug 13, 2010 at 9:45 AM, Jesse Barnes <jbar...@virtuousgeek.org> wrote: > On Fri, 13 Aug 2010 09:33:35 +1000 > Dave Airlie <airl...@gmail.com> wrote: > >> On Fri, Aug 13, 2010 at 7:30 AM, Geert Uytterhoeven >> <ge...@linux-m68k.org> wrote: >> > On Fri, Aug 6, 2010 at 05:55, Benjamin Herrenschmidt >> > <b...@kernel.crashing.org> wrote: >> >> (For some reason I thought that went in ages ago ...) >> >> >> >> This fixes support for PCI domains in what should hopefully be a backward >> >> compatible way along with a change to libdrm. >> >> >> >> When the interface version is set to 1.4, we assume userspace understands >> >> domains and the world is at peace. We thus pass proper domain numbers >> >> instead of 0 to userspace. >> >> >> >> The newer libdrm will then try 1.4 first, and fallback to 1.1, along with >> >> ignoring domains in the later case (well, except on alpha of course) >> >> >> >> Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> >> >> --- >> >> drivers/gpu/drm/drm_ioctl.c | 1 + >> >> include/drm/drmP.h | 18 +++++++++++++----- >> >> include/drm/drm_core.h | 2 +- >> >> 3 files changed, 15 insertions(+), 6 deletions(-) >> > >> >> diff --git a/include/drm/drmP.h b/include/drm/drmP.h >> >> index c1b9871..6d4bad5 100644 >> >> --- a/include/drm/drmP.h >> >> +++ b/include/drm/drmP.h >> >> @@ -1071,11 +1071,19 @@ static __inline__ int >> >> drm_core_check_feature(struct drm_device *dev, >> >> return ((dev->driver->driver_features & feature) ? 1 : 0); >> >> } >> >> >> >> -#ifdef __alpha__ >> >> -#define drm_get_pci_domain(dev) dev->hose->index >> >> -#else >> >> -#define drm_get_pci_domain(dev) 0 >> >> -#endif >> >> +static inline int drm_get_pci_domain(struct drm_device *dev) >> >> +{ >> >> +#ifndef __alpha__ >> >> + /* For historical reasons, drm_get_pci_domain() is busticated >> >> + * on most archs and has to remain so for userspace interface >> >> + * < 1.4, except on alpha which was right from the beginning >> >> + */ >> >> + if (dev->if_version < 0x10004) >> >> + return 0; >> >> +#endif /* __alpha__ */ >> >> + >> >> + return pci_domain_nr(dev->pdev->bus); >> > >> > error: implicit declaration of function ‘pci_domain_nr’ >> > on m68k without PCI. >> >> I don't think I want to add an ifdef CONFIG_PCI into the drm layer for >> this, since we seem to be okay everywhere else, >> >> lets ask jbarnes, not sure if its safe to just add this to the >> !CONFIG_PCI section of the linux/pci.h > > Hm, so pci_domain_nr should just return 0 on platforms where > CONFIG_PCI_DOMAINS isn't set. I'd expect that to be the case when > CONFIG_PCI=n... Maybe we just need to shuffle the definition around?
I suspect something like the attached would suffice. Or maybe moving the CONFIG_PCI_DOMAINS checkout outside CONFIG_PCI. Dave.
mydiff
Description: Binary data
------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev
-- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel