Re: [PATCH 4/6] usb: make xhci platform driver use 64 bit or 32 bit DMA

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

 



On Tue, Mar 8, 2016 at 8:59 AM, Timur Tabi <timur@xxxxxxxxxxxxxx> wrote:
>> +       /* Try setting the coherent_dma_mask to 64 bits, then try 32 bits
>> */
>> +       ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
>> +       if (ret) {
>> +               ret = dma_set_mask_and_coherent(&pdev->dev,
>> DMA_BIT_MASK(32));
>> +               if (ret)
>> +                       return ret;
>> +       }
>
>
> I still do not understand what situation would cause a 64-bit mask to fail,
> but a 32-bit mask to succeed.  If the driver says that the device can
> support 64-bit DMA, why would that ever fail?  That means that the device
> can DMA anywhere, so there are no restrictions.

Can anyone help me understand this?  It's been a month since I posted
this question, and I haven't gotten an answer.  I see the whole
try-64-and-then-32-bit-masks code in a number of places, but I've
never understood why it's necessary.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux