All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org,
	Abhijit Mahajan <abhijit.mahajan@avagotech.com>,
	Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>,
	linux-scsi@vger.kernel.org, jcm@redhat.com, timur@codeaurora.org,
	linux-kernel@vger.kernel.org,
	Sreekanth Reddy <sreekanth.reddy@avagotech.com>,
	Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>,
	cov@codeaurora.org, linux-arm-msm@vger.kernel.org,
	agross@codeaurora.org, MPT-FusionLinux.pdl@avagotech.com,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails
Date: Tue, 10 Nov 2015 12:35:35 -0800	[thread overview]
Message-ID: <1447187735.2187.58.camel@HansenPartnership.com> (raw)
In-Reply-To: <564252DA.5000004@codeaurora.org>

On Tue, 2015-11-10 at 15:26 -0500, Sinan Kaya wrote:
> 
> On 11/10/2015 3:05 PM, James Bottomley wrote:
> > OK, you don't seem to be understanding the problem: the Altix isn't a
> > LSI card, it was a SGI platform.
> 
> Got it.
> 
> > It was the platform where we first
> > discovered the issue that a lot of storage cards didn't work because it
> > by default had no memory below 4GB.  The reason coherent masks were
> > introduced was initially so the Altix could manufacture and manage a
> > region of memory in the lower 4GB region and we would guarantee to make
> > allocations from it so the storage cards would then work on that
> > platform.
> 
> I can't fix the issue if the card cannot do 64 bit DMA when IOMMU is not 
> there. I need IOMMU enabled all the time for this card.

That depends on the limitations of your platform.  The Altix only used
an iommu to manufacture the coherent memory for the descriptors, but the
card itself mostly operated in bypass mode (using 64 bit physical
addresses rather than iommu remapped ones), so all accesses except for
the few firmware descriptor ones didn't use an iommu.  Apparently this
was for performance reasons.

So, to recap, the card itself *can* do 64 bit DMA.  The limitation is
that the RDPQ descriptors need to be all in the same region of 4G memory
and the way the driver ensures this is to set the 64 bit coherent mask
after using the 32 bit one to allocate the RDPQ pools.

James



WARNING: multiple messages have this Message-ID (diff)
From: James.Bottomley@HansenPartnership.com (James Bottomley)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails
Date: Tue, 10 Nov 2015 12:35:35 -0800	[thread overview]
Message-ID: <1447187735.2187.58.camel@HansenPartnership.com> (raw)
In-Reply-To: <564252DA.5000004@codeaurora.org>

On Tue, 2015-11-10 at 15:26 -0500, Sinan Kaya wrote:
> 
> On 11/10/2015 3:05 PM, James Bottomley wrote:
> > OK, you don't seem to be understanding the problem: the Altix isn't a
> > LSI card, it was a SGI platform.
> 
> Got it.
> 
> > It was the platform where we first
> > discovered the issue that a lot of storage cards didn't work because it
> > by default had no memory below 4GB.  The reason coherent masks were
> > introduced was initially so the Altix could manufacture and manage a
> > region of memory in the lower 4GB region and we would guarantee to make
> > allocations from it so the storage cards would then work on that
> > platform.
> 
> I can't fix the issue if the card cannot do 64 bit DMA when IOMMU is not 
> there. I need IOMMU enabled all the time for this card.

That depends on the limitations of your platform.  The Altix only used
an iommu to manufacture the coherent memory for the descriptors, but the
card itself mostly operated in bypass mode (using 64 bit physical
addresses rather than iommu remapped ones), so all accesses except for
the few firmware descriptor ones didn't use an iommu.  Apparently this
was for performance reasons.

So, to recap, the card itself *can* do 64 bit DMA.  The limitation is
that the RDPQ descriptors need to be all in the same region of 4G memory
and the way the driver ensures this is to set the 64 bit coherent mask
after using the 32 bit one to allocate the RDPQ pools.

James

  reply	other threads:[~2015-11-10 20:35 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-09  1:57 [PATCH V2 0/3] scsi: mptxsas: updates for ARM64 Sinan Kaya
2015-11-09  1:57 ` Sinan Kaya
2015-11-09  1:57 ` [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails Sinan Kaya
2015-11-09  1:57   ` Sinan Kaya
2015-11-09  7:09   ` Hannes Reinecke
2015-11-09  7:09     ` Hannes Reinecke
2015-11-09  8:59     ` Arnd Bergmann
2015-11-09  8:59       ` Arnd Bergmann
2015-11-09 14:07       ` Sinan Kaya
2015-11-09 14:07         ` Sinan Kaya
2015-11-09 14:33         ` Arnd Bergmann
2015-11-09 14:33           ` Arnd Bergmann
2015-11-09 23:22           ` Sinan Kaya
2015-11-09 23:22             ` Sinan Kaya
2015-11-09 23:29             ` Timur Tabi
2015-11-09 23:29               ` Timur Tabi
2015-11-10  8:38             ` Arnd Bergmann
2015-11-10  8:38               ` Arnd Bergmann
2015-11-10 16:06               ` Sinan Kaya
2015-11-10 16:06                 ` Sinan Kaya
2015-11-10 16:47                 ` Arnd Bergmann
2015-11-10 16:47                   ` Arnd Bergmann
2015-11-10 17:00                   ` Timur Tabi
2015-11-10 17:00                     ` Timur Tabi
2015-11-10 19:13                     ` Arnd Bergmann
2015-11-10 19:13                       ` Arnd Bergmann
2015-11-10 21:03                       ` Timur Tabi
2015-11-10 21:03                         ` Timur Tabi
2015-11-10 21:54                         ` Arnd Bergmann
2015-11-10 21:54                           ` Arnd Bergmann
2015-11-10 21:59                           ` Timur Tabi
2015-11-10 21:59                             ` Timur Tabi
2015-11-10 22:08                             ` Arnd Bergmann
2015-11-10 22:08                               ` Arnd Bergmann
2015-11-10 17:19                   ` Sinan Kaya
2015-11-10 17:19                     ` Sinan Kaya
2015-11-10 18:27                     ` James Bottomley
2015-11-10 18:27                       ` James Bottomley
2015-11-10 19:14                       ` Sinan Kaya
2015-11-10 19:14                         ` Sinan Kaya
2015-11-10 19:43                         ` James Bottomley
2015-11-10 19:43                           ` James Bottomley
2015-11-10 19:56                           ` Sinan Kaya
2015-11-10 19:56                             ` Sinan Kaya
2015-11-10 20:05                             ` James Bottomley
2015-11-10 20:05                               ` James Bottomley
2015-11-10 20:26                               ` Sinan Kaya
2015-11-10 20:26                                 ` Sinan Kaya
2015-11-10 20:35                                 ` James Bottomley [this message]
2015-11-10 20:35                                   ` James Bottomley
2015-11-10 19:56                     ` Arnd Bergmann
2015-11-10 19:56                       ` Arnd Bergmann
2015-11-10 20:58                       ` Sinan Kaya
2015-11-10 20:58                         ` Sinan Kaya
2015-11-10 22:06                         ` Arnd Bergmann
2015-11-10 22:06                           ` Arnd Bergmann
2015-11-09 14:00     ` Sinan Kaya
2015-11-09 14:00       ` Sinan Kaya
2015-11-09  1:57 ` [PATCH V2 2/3] scsi: fix compiler warning for sg Sinan Kaya
2015-11-09  1:57   ` Sinan Kaya
2015-11-09 14:14   ` Andy Shevchenko
2015-11-09 14:14     ` Andy Shevchenko
2015-11-10  3:21     ` Sinan Kaya
2015-11-10  3:21       ` Sinan Kaya
2015-11-10  3:21       ` Sinan Kaya
2015-11-10  3:26       ` Timur Tabi
2015-11-10  3:26         ` Timur Tabi
2015-11-10  4:51         ` Sinan Kaya
2015-11-10  4:51           ` Sinan Kaya
2015-11-10  4:53           ` Timur Tabi
2015-11-10  4:53             ` Timur Tabi
2015-11-10  9:23             ` Andy Shevchenko
2015-11-10  9:23               ` Andy Shevchenko
2015-11-10 10:09             ` Arnd Bergmann
2015-11-10 10:09               ` Arnd Bergmann
2015-11-09  1:57 ` [PATCH V2 3/3] scsi: mptxsas: offload IRQ execution Sinan Kaya
2015-11-09  1:57   ` Sinan Kaya
2015-11-09  7:15   ` Hannes Reinecke
2015-11-09  7:15     ` Hannes Reinecke
2015-11-09 14:01     ` Sinan Kaya
2015-11-09 14:01       ` Sinan Kaya
2015-11-10  5:59     ` Sinan Kaya
2015-11-10  5:59       ` Sinan Kaya
2015-11-10  5:59       ` Sinan Kaya
2016-03-16 15:31       ` Christopher Covington
2016-03-16 15:31         ` Christopher Covington

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=1447187735.2187.58.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=MPT-FusionLinux.pdl@avagotech.com \
    --cc=abhijit.mahajan@avagotech.com \
    --cc=agross@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=cov@codeaurora.org \
    --cc=hare@suse.de \
    --cc=jcm@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nagalakshmi.nandigama@avagotech.com \
    --cc=okaya@codeaurora.org \
    --cc=praveen.krishnamoorthy@avagotech.com \
    --cc=sreekanth.reddy@avagotech.com \
    --cc=timur@codeaurora.org \
    /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.