[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091023133152.1a15ba69@jbarnes-x200>
Date: Fri, 23 Oct 2009 13:31:52 +0900
From: Jesse Barnes <jbarnes@...tuousgeek.org>
To: Eric Anholt <eric@...olt.net>
Cc: Suresh Siddha <suresh.b.siddha@...el.com>,
Thomas Hellstrom <thellstrom@...are.com>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>,
"H. Peter Anvin" <hpa@...or.com>,
Arjan van de Ven <arjan@...ux.intel.com>,
"x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jan Beulich <JBeulich@...ell.com>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Henrique de Moraes Holschuh <hmh@....eng.br>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
Tejun Heo <tj@...nel.org>,
Thomas Schlichter <thomas.schlichter@....de>,
"dri-devel@...ts.sourceforge.net" <dri-devel@...ts.sourceforge.net>,
Yinghai Lu <yinghai@...nel.org>, Ingo Molnar <mingo@...e.hu>,
Robert Hancock <hancockrwd@...il.com>
Subject: Re: [RFC Patch] use MTRR for write combining if PAT is not
available
On Thu, 22 Oct 2009 18:53:19 -0700
Eric Anholt <eric@...olt.net> wrote:
> On Thu, 2009-10-22 at 17:11 -0700, Suresh Siddha wrote:
> > On Thu, 2009-10-22 at 16:10 -0700, Jesse Barnes wrote:
> > > On Thu, 22 Oct 2009 14:47:30 -0700
> > > Suresh Siddha <suresh.b.siddha@...el.com> wrote:
> > >
> > > > On Thu, 2009-10-22 at 08:34 -0700, Eric Anholt wrote:
> > > > > Can we just not create the _wc sysfs entry if we don't have
> > > > > PAT? I don't think there's userland relying on its presence
> > > > > as opposed to the non-_wc entry.
> > > >
> > > > Yes indeed. Jesse do you see an issue with this? This is simple
> > > > and clean. Thanks Eric.
> > >
> > > Yeah, I think that will be fine. In fact, older versions of
> > > libpciaccess will behave better if we do it that way (iirc it only
> > > allocates an MTRR if the resource_wc file doesn't exist or fails
> > > to get mapped).
> >
> > Eric, care to send the patch?
>
> I don't have a patch, I was just suggesting a way to handle the
> submitter's problem that won't involve complicated changes that nobody
> else will be testing since everyone *should* have a graphics driver
> for their graphics hardware.
Here's a quick & dirty version, totally untested. A cleaner approach
would be to separate the WC mapping routines and hide the return
-EINVAL in arch specific code...
Jesse
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 0f6382f..41010bb 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -23,6 +23,9 @@
#include <linux/mm.h>
#include <linux/capability.h>
#include <linux/pci-aspm.h>
+#ifdef CONFIG_X86
+#include <asm/pat.h>
+#endif
#include "pci.h"
static int sysfs_initialized; /* = 0 */
@@ -730,6 +733,10 @@ static int
pci_mmap_resource_wc(struct kobject *kobj, struct bin_attribute *attr,
struct vm_area_struct *vma)
{
+#ifdef CONFIG_X86
+ if (!pat_enabled)
+ return -EINVAL;
+#endif
return pci_mmap_resource(kobj, attr, vma, 1);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists