All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: "Thomas Gleixner" <tglx@linutronix.de>,
	"Dave Airlie" <airlied@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Andy Lutomirski" <luto@amacapital.net>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Suresh Siddha" <sbsiddha@gmail.com>,
	"Ingo Molnar" <mingo@elte.hu>,
	"Antonino Daplas" <adaplas@gmail.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	ville.syrjala@linux.intel.com,
	"venkatesh.pallipadi@intel.com" <venkatesh.pallipadi@intel.com>,
	"Jean-Christophe Plagniol-Villard" <plagnioj@jcrosoft.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	linux-fbdev <linux-fbdev@vger.kernel.org>,
	"David Vrabel" <david.vrabel@citrix.com>,
	"Casey Leedom" <leedom@chelsio.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Toshi Kani" <toshi.kani@hp.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Stefan Bader" <stefan.bader@canonical.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Jan Beulich" <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH v7 5/9] PCI: Add pci_iomap_wc() variants
Date: Sat, 27 Jun 2015 09:54:31 +1000	[thread overview]
Message-ID: <1435362871.26815.24.camel@kernel.crashing.org> (raw)
In-Reply-To: <CAB=NE6XwczF6FYXV=RHyK=7ikVk_tGp+h9ouWPyORNENq4+=Kw@mail.gmail.com>

On Fri, 2015-06-26 at 15:41 -0700, Luis R. Rodriguez wrote:

> > It wasn't nullified for the main user at the time, the fb. And I
> > mentioned an IB adapter or two for which the code had been hand
> tuned.
> 
> This still means there could be some affected drivers when used on
> powerpc, no?

Yes. In fact what about things like ARM who also have barriers in their
writel() ? Won't they also break WC ?

I'm trying to work with the architect and designers here to figure out
exactly where we stand and what we can do. As spelled out by our
architecture, things don't look great, because basically, we only have
attribute bit (garded) which when not set implies both WC and out of
order (& prefetch), and unclear barrier semantics in that case as well.

I *think* we might be able to settle with something along the lines of
"writel_relaxed() will allow combine on a WC mapping" but how I'm going
to get there is TBD.

It would be interesting to clarify the semantics of using the relaxed
accessors in combination with WC anyway. I wouldn't mind if the
definition involved also relaxing general ordering :-) It would
definitely make my life easier.

Cheers,
Ben.



WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: "Thomas Gleixner" <tglx@linutronix.de>,
	"Dave Airlie" <airlied@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Andy Lutomirski" <luto@amacapital.net>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Suresh Siddha" <sbsiddha@gmail.com>,
	"Ingo Molnar" <mingo@elte.hu>,
	"Antonino Daplas" <adaplas@gmail.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	ville.syrjala@linux.intel.com,
	"venkatesh.pallipadi@intel.com" <venkatesh.pallipadi@intel.com>,
	"Jean-Christophe Plagniol-Villard" <plagnioj@jcrosoft.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	linux-fbdev <linux-fbdev@vger.kernel.org>,
	"David Vrabel" <david.vrabel@citrix.com>,
	"Casey Leedom" <leedom@chelsio.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Toshi Kani" <toshi.kani@hp.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Stefan Bader" <stefan.bader@canonical.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Jan Beulich" <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH v7 5/9] PCI: Add pci_iomap_wc() variants
Date: Fri, 26 Jun 2015 23:54:31 +0000	[thread overview]
Message-ID: <1435362871.26815.24.camel@kernel.crashing.org> (raw)
In-Reply-To: <CAB=NE6XwczF6FYXV=RHyK=7ikVk_tGp+h9ouWPyORNENq4+=Kw@mail.gmail.com>

On Fri, 2015-06-26 at 15:41 -0700, Luis R. Rodriguez wrote:

> > It wasn't nullified for the main user at the time, the fb. And I
> > mentioned an IB adapter or two for which the code had been hand
> tuned.
> 
> This still means there could be some affected drivers when used on
> powerpc, no?

Yes. In fact what about things like ARM who also have barriers in their
writel() ? Won't they also break WC ?

I'm trying to work with the architect and designers here to figure out
exactly where we stand and what we can do. As spelled out by our
architecture, things don't look great, because basically, we only have
attribute bit (garded) which when not set implies both WC and out of
order (& prefetch), and unclear barrier semantics in that case as well.

I *think* we might be able to settle with something along the lines of
"writel_relaxed() will allow combine on a WC mapping" but how I'm going
to get there is TBD.

It would be interesting to clarify the semantics of using the relaxed
accessors in combination with WC anyway. I wouldn't mind if the
definition involved also relaxing general ordering :-) It would
definitely make my life easier.

Cheers,
Ben.



WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: linux-fbdev <linux-fbdev@vger.kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	ville.syrjala@linux.intel.com,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Dave Airlie <airlied@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	Casey Leedom <leedom@chelsio.com>,
	Antonino Daplas <adaplas@gmail.com>,
	Suresh Siddha <sbsiddha@gmail.com>,
	Stefan Bader <stefan.bader@canonical.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Juergen Gross <jgross@suse.com>, Toshi Kani <toshi.kani@hp.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vg>
Subject: Re: [PATCH v7 5/9] PCI: Add pci_iomap_wc() variants
Date: Sat, 27 Jun 2015 09:54:31 +1000	[thread overview]
Message-ID: <1435362871.26815.24.camel@kernel.crashing.org> (raw)
In-Reply-To: <CAB=NE6XwczF6FYXV=RHyK=7ikVk_tGp+h9ouWPyORNENq4+=Kw@mail.gmail.com>

On Fri, 2015-06-26 at 15:41 -0700, Luis R. Rodriguez wrote:

> > It wasn't nullified for the main user at the time, the fb. And I
> > mentioned an IB adapter or two for which the code had been hand
> tuned.
> 
> This still means there could be some affected drivers when used on
> powerpc, no?

Yes. In fact what about things like ARM who also have barriers in their
writel() ? Won't they also break WC ?

I'm trying to work with the architect and designers here to figure out
exactly where we stand and what we can do. As spelled out by our
architecture, things don't look great, because basically, we only have
attribute bit (garded) which when not set implies both WC and out of
order (& prefetch), and unclear barrier semantics in that case as well.

I *think* we might be able to settle with something along the lines of
"writel_relaxed() will allow combine on a WC mapping" but how I'm going
to get there is TBD.

It would be interesting to clarify the semantics of using the relaxed
accessors in combination with WC anyway. I wouldn't mind if the
definition involved also relaxing general ordering :-) It would
definitely make my life easier.

Cheers,
Ben.

  reply	other threads:[~2015-06-27  0:18 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-19 22:08 [PATCH v7 0/9] pci: add pci_iomap_wc() and pci_ioremap_wc_bar() Luis R. Rodriguez
2015-06-19 22:08 ` Luis R. Rodriguez
2015-06-19 22:08 ` Luis R. Rodriguez
2015-06-19 22:08 ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 1/9] pci: add pci_ioremap_wc_bar() Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 2/9] video: fbdev: i740fb: use arch_phys_wc_add() and pci_ioremap_wc_bar() Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 3/9] video: fbdev: kyrofb: " Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 4/9] video: fbdev: gxt4500: use pci_ioremap_wc_bar() for framebuffer Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 5/9] PCI: Add pci_iomap_wc() variants Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-23 22:42   ` Benjamin Herrenschmidt
2015-06-23 22:42     ` Benjamin Herrenschmidt
2015-06-23 22:42     ` Benjamin Herrenschmidt
2015-06-24 16:38     ` Luis R. Rodriguez
2015-06-24 16:38       ` Luis R. Rodriguez
2015-06-24 16:38       ` Luis R. Rodriguez
2015-06-24 22:05       ` Benjamin Herrenschmidt
2015-06-24 22:05         ` Benjamin Herrenschmidt
2015-06-24 22:05         ` Benjamin Herrenschmidt
2015-06-24 22:29         ` Luis R. Rodriguez
2015-06-24 22:29           ` Luis R. Rodriguez
2015-06-24 22:29           ` Luis R. Rodriguez
2015-06-24 23:38           ` Benjamin Herrenschmidt
2015-06-24 23:38             ` Benjamin Herrenschmidt
2015-06-24 23:38             ` Benjamin Herrenschmidt
2015-06-25  0:08             ` Luis R. Rodriguez
2015-06-25  0:08               ` Luis R. Rodriguez
2015-06-25  0:08               ` Luis R. Rodriguez
2015-06-25  0:52               ` Benjamin Herrenschmidt
2015-06-25  0:52                 ` Benjamin Herrenschmidt
2015-06-25  0:52                 ` Benjamin Herrenschmidt
2015-06-25  0:58                 ` [Xen-devel] " Luis R. Rodriguez
2015-06-25  0:58                   ` Luis R. Rodriguez
2015-06-25  0:58                   ` Luis R. Rodriguez
2015-06-25  1:12                   ` Benjamin Herrenschmidt
2015-06-25  1:12                     ` Benjamin Herrenschmidt
2015-06-25  1:12                     ` Benjamin Herrenschmidt
2015-06-25 15:01             ` Casey Leedom
2015-06-25 15:01               ` Casey Leedom
2015-06-25 20:44               ` Arnd Bergmann
2015-06-25 20:44                 ` Arnd Bergmann
2015-06-25 20:44                 ` Arnd Bergmann
2015-06-25 21:40                 ` Casey Leedom
2015-06-25 21:40                   ` Casey Leedom
2015-06-25 22:51                   ` Benjamin Herrenschmidt
2015-06-25 22:51                     ` Benjamin Herrenschmidt
2015-06-25 22:51                     ` Benjamin Herrenschmidt
2015-06-26 19:31                     ` Luis R. Rodriguez
2015-06-26 19:31                       ` Luis R. Rodriguez
2015-06-26 19:31                       ` Luis R. Rodriguez
2015-06-26 22:04                       ` Benjamin Herrenschmidt
2015-06-26 22:04                         ` Benjamin Herrenschmidt
2015-06-26 22:04                         ` Benjamin Herrenschmidt
2015-06-26 22:41                         ` Luis R. Rodriguez
2015-06-26 23:54                           ` Benjamin Herrenschmidt [this message]
2015-06-26 23:54                             ` Benjamin Herrenschmidt
2015-06-26 23:54                             ` [Xen-devel] " Benjamin Herrenschmidt
2015-06-27  1:16                             ` Luis R. Rodriguez
2015-06-27  1:16                               ` Luis R. Rodriguez
2015-06-27  1:16                               ` [Xen-devel] " Luis R. Rodriguez
2015-06-26  2:02                   ` Benjamin Herrenschmidt
2015-06-26  2:02                     ` Benjamin Herrenschmidt
2015-06-26  2:02                     ` Benjamin Herrenschmidt
2015-06-26 16:24                     ` Casey Leedom
2015-06-26 16:24                       ` Casey Leedom
2015-06-26 22:00                       ` Benjamin Herrenschmidt
2015-06-26 22:00                         ` Benjamin Herrenschmidt
2015-06-26 22:00                         ` Benjamin Herrenschmidt
2015-07-02 18:49                         ` Luis R. Rodriguez
2015-07-02 18:49                           ` Luis R. Rodriguez
2015-07-02 18:49                           ` Luis R. Rodriguez
2015-07-02 22:26                           ` Benjamin Herrenschmidt
2015-07-02 22:26                             ` Benjamin Herrenschmidt
2015-07-02 22:26                             ` Benjamin Herrenschmidt
2015-07-03  0:14                           ` Casey Leedom
2015-07-03  0:14                             ` Casey Leedom
2015-07-03  0:14                             ` Casey Leedom
2015-06-19 22:08 ` [PATCH v7 6/9] lib: devres: add pcim_iomap_wc() variants Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 7/9] video: fbdev: arkfb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 8/9] video: fbdev: s3fb: " Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08 ` [PATCH v7 9/9] video: fbdev: vt8623fb: " Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-19 22:08   ` Luis R. Rodriguez
2015-06-23 10:53 ` [PATCH v7 0/9] pci: add pci_iomap_wc() and pci_ioremap_wc_bar() Arnd Bergmann
2015-06-23 10:53   ` Arnd Bergmann

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=1435362871.26815.24.camel@kernel.crashing.org \
    --to=benh@kernel.crashing.org \
    --cc=adaplas@gmail.com \
    --cc=airlied@redhat.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dave.hansen@linux.intel.com \
    --cc=david.vrabel@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=leedom@chelsio.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mcgrof@suse.com \
    --cc=mingo@elte.hu \
    --cc=mst@redhat.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=roger.pau@citrix.com \
    --cc=sbsiddha@gmail.com \
    --cc=stefan.bader@canonical.com \
    --cc=tglx@linutronix.de \
    --cc=tomi.valkeinen@ti.com \
    --cc=toshi.kani@hp.com \
    --cc=venkatesh.pallipadi@intel.com \
    --cc=ville.syrjala@linux.intel.com \
    --cc=xen-devel@lists.xensource.com \
    /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.