Re: [RFC PATCH v2 4/4] usb: xhci: Use temporary buffer to consolidate SG

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

 



Hi,
On 5/20/2020 10:20 PM, Alan Stern wrote:
> On Wed, May 20, 2020 at 06:41:16AM +0000, Tejas Joglekar wrote:
>>>> +	urb->transfer_buffer = temp;
>>>> +	urb->transfer_dma = dma_map_single(hcd->self.sysdev,
>>>> +					   urb->transfer_buffer,
>>>> +					   urb->transfer_buffer_length,
>>>> +					   dir);
>>>> +
>>>> +	if (dma_mapping_error(hcd->self.sysdev,
>>>> +			      urb->transfer_dma)) {
>>>> +		ret = -EAGAIN;
>>>> +		kfree(temp);
>>>> +	} else {
>>>> +		urb->transfer_flags |= URB_DMA_MAP_SINGLE;
>>>
>>> Not sure if using URB_DMA_MAP_SINGLE to flag that this urb is boucebuffered is
>>> appropriate.
>>>
>>> If Greg or Alan don't object then it's fine for me as well.
>>>
>>>
>>>
>> @Greg/Alan do you suggest any change for the flag here?
> 
> This requires care, because the core will already have set other flags 
> for this URB.  I don't remember the details and I don't have time to 
> check them now.  But it wouldn't be at all surprising if the core 
> doesn't expect an URB both to use SG and to use DMA_MAP_SINGLE.
> 
When this quirk is enabled and it is required to consolidate SG list to 
single buffer no other flags are set for the URB. Only question here is 
if it is good to use DMA_MAP_SINGLE flag for the consolidated SG list 
into a single temporary buffer.

> Alan Stern
> 
Thanks & Regards,
 Tejas Joglekar




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

  Powered by Linux