Re: pci-usb/pci-sata broken with LPAE config after "reduce use of block bounce buffers"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 30, 2020 at 01:39:58PM +0530, Kishon Vijay Abraham I wrote:
> Hi Christoph,
> 
> On 30/01/20 1:28 pm, Christoph Hellwig wrote:
> > On Fri, Nov 15, 2019 at 04:29:31PM +0530, Kishon Vijay Abraham I wrote:
> >> Hi Christoph,
> >>
> >> I think we are encountering a case where the connected PCIe card (like PCIe USB
> >> card) supports 64-bit addressing and the ARM core supports 64-bit addressing
> >> but the PCIe controller in the SoC to which PCIe card is connected supports
> >> only 32-bits.
> >>
> >> Here dma APIs can provide an address above the 32 bit region to the PCIe card.
> >> However this will fail when the card tries to access the provided address via
> >> the PCIe controller.
> > 
> > What kernel version do you test?  The classic arm version of dma_capable
> > doesn't take the bus dma mask into account.  In Linux 5.5 I switched
> > ARM to use the generic version in
> > 
> > 130c1ccbf55 ("dma-direct: unify the dma_capable definitions")
> > 
> > so with that this case is supposed to work, without that it doesn't
> > have much of a chance.
> 
> I got into a new issue in 5.5 kernel with NVMe card wherein I get the
> below warn dump. This is different from the issue I initially posted
> seen with USB and SATA cards (I was getting a data mismatch then). With
> 5.5 kernel I don't see those issues anymore in USB card. I only see the
> below warn dump with NVMe card.

Can you throw in a little debug printk if this comes from
dma_direct_possible or swiotlb_map?



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux