Prev: ext4: Don't send extra barrier during fsync if there are no dirty pages.
Next: drivers/net/bnx2x: Adjust confusing if indentation
From: Michel Dänzer on 6 Aug 2010 03:20 On Fre, 2010-08-06 at 13:55 +1000, Benjamin Herrenschmidt 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 <benh(a)kernel.crashing.org> Reviewed-by: Michel Dänzer <michel(a)daenzer.net> Thanks for tackling this, Ben! -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Geert Uytterhoeven on 12 Aug 2010 17:40 On Fri, Aug 6, 2010 at 05:55, Benjamin Herrenschmidt <benh(a)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 <benh(a)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. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert(a)linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Dave Airlie on 12 Aug 2010 19:40 On Fri, Aug 13, 2010 at 7:30 AM, Geert Uytterhoeven <geert(a)linux-m68k.org> wrote: > On Fri, Aug 6, 2010 at 05:55, Benjamin Herrenschmidt > <benh(a)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 <benh(a)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 Dave. > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jesse Barnes on 12 Aug 2010 19:50 On Fri, 13 Aug 2010 09:33:35 +1000 Dave Airlie <airlied(a)gmail.com> wrote: > On Fri, Aug 13, 2010 at 7:30 AM, Geert Uytterhoeven > <geert(a)linux-m68k.org> wrote: > > On Fri, Aug 6, 2010 at 05:55, Benjamin Herrenschmidt > > <benh(a)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 <benh(a)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? -- Jesse Barnes, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Dave Airlie on 12 Aug 2010 20:30
On Fri, Aug 13, 2010 at 9:45 AM, Jesse Barnes <jbarnes(a)virtuousgeek.org> wrote: > On Fri, 13 Aug 2010 09:33:35 +1000 > Dave Airlie <airlied(a)gmail.com> wrote: > >> On Fri, Aug 13, 2010 at 7:30 AM, Geert Uytterhoeven >> <geert(a)linux-m68k.org> wrote: >> > On Fri, Aug 6, 2010 at 05:55, Benjamin Herrenschmidt >> > <benh(a)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 <benh(a)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. |