mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH]: Re: qla1280.c broken on SGI visws, PCI coherency problem
       [not found]   ` <439DE50B.90007@sgi.com>
@ 2005-12-12 21:24     ` Christoph Hellwig
  2005-12-12 21:31       ` Jesse Barnes
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Hellwig @ 2005-12-12 21:24 UTC (permalink / raw)
  To: Michael Reed; +Cc: Michael Joosten, linux-scsi, linux-kernel

On Mon, Dec 12, 2005 at 03:00:59PM -0600, Michael Reed wrote:
> (The subject of this email isn't quite accurate.  It's not
> a pci coherency problem, it's a pio write ordering problem.)
> 
> I've been asked to pass along the suggestion that "mmiowb"
> should be implemented for the platform.
> 
> Given that I've been unable to unearth the chipset documentation
> for the Vis WS, I can only hope that you've got some good ideas
> on how this might be accomplished.
> 
> I agree that replacing the pio read which flushed the preceeding
> pio write with mmiowb() is what has likely broken the driver.  If you
> restore them,  please make it either mmiowb or pio read, but not both.
> 
> Perhaps something like this?  It's not the most elegant solution....

Yeah, it's not that nice.  After all we don't use mmio at all on visw but
pio.  So why do we need the flushing at all?

> --- old/drivers/scsi/qla1280.c        2005-12-05 12:39:36.000000000 -0600
> +++ new/drivers/scsi/qla1280.c      2005-12-12 14:42:11.146215122 -0600
> @@ -401,6 +401,10 @@
>  #include "ql1280_fw.h"
>  #include "ql1040_fw.h"
> 
> +#ifdef CONFIG_X86_VISWS
> +  #undef mmiowb
> +  #define mmiowb() RD_REG_WORD(&ha->iobase->id_l)
> +#endif

Macros with implicit arguments are pretty horrible.  If we want to go down
that road we should add a macro that expands to either version depending
on the config flags.

While we're at it, does anyone know whyt the ioread* interface doesn't
provide the _relaxed version?  I'd really love to switch qla1280 over to it
given that it needs to support both mmio and pio.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH]: Re: qla1280.c broken on SGI visws, PCI coherency problem
  2005-12-12 21:24     ` [PATCH]: Re: qla1280.c broken on SGI visws, PCI coherency problem Christoph Hellwig
@ 2005-12-12 21:31       ` Jesse Barnes
  0 siblings, 0 replies; 2+ messages in thread
From: Jesse Barnes @ 2005-12-12 21:31 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Michael Reed, Michael Joosten, linux-scsi, linux-kernel

On Monday, December 12, 2005 1:24 pm, Christoph Hellwig wrote:
> While we're at it, does anyone know whyt the ioread* interface doesn't
> provide the _relaxed version?  I'd really love to switch qla1280 over
> to it given that it needs to support both mmio and pio.

Back when ioread was being discussed on linux-arch, I remember Linus 
saying that perhaps *all* ioreads should be relaxed wrt. DMA (unlike the 
current mmio accessor functions), but I'm not sure if those are the 
semantics we finally settled on.  If not, an ioread*_relaxed would be 
nice to add for the platforms that can support it.

Jesse

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-12-12 21:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <4399D6EB.4080603@c-lab.de>
     [not found] ` <439A17BE.5000904@sgi.com>
     [not found]   ` <439DE50B.90007@sgi.com>
2005-12-12 21:24     ` [PATCH]: Re: qla1280.c broken on SGI visws, PCI coherency problem Christoph Hellwig
2005-12-12 21:31       ` Jesse Barnes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®