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]

 



Hi,

On 18/11/19 10:51 PM, Robin Murphy wrote:
> On 16/11/2019 4:35 pm, Christoph Hellwig wrote:
>> On Fri, Nov 15, 2019 at 07:48:23PM +0530, Kishon Vijay Abraham I wrote:
>>> I think the fix on 5.3 was useful for platform drivers (where the platform
>>> driver will set dma_set_mask as 32bits) even when the system itself supports
>>> LPAE.
>>
>> Well, we can also use the bus_dma_mask for PCI(e) root port quirks,
>> as we do that for the VIA ones on x86.  But I think the OF parsing code
>> is missing something here, and Robin did plan to look into that.
> 
> Right, the correct way to describe this is with "dma-ranges" on the host bridge
> node, and there are patches queued in linux-next to (finally) handle that
> properly for the way we bodge dynamically-discovered endpoints through
> of_dma_configure().

Tried linux-next after adding dma-ranges property to the DRA7 RC dt node and
don't see the issue anymore.

Thanks
Kishon

> 
> Robin.
> 
>>> We should find a way to set the DMA mask of of the PCI device based on the DMA
>>> mask of the PCI controller in the SoC. One option would be to change the
>>> pci_drivers all over the kernel to set DMA mask to be based on the DMA mask of
>>> the PCI controller (the PCI device hierarchy should get a reference to the
>>> device pointer of the PCI controller). Or is there a better way to handle this?
>>
>> No.  The driver sets the device capabilities.  bus_dma_mask handles
>> the system limitations.
>>



[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