Re: [PATCH v3 1/2] usb: dwc3: refactor gadget endpoint count calculation

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

 



hi,

Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> writes:
>>> - DWC_USB3_NUM indicates the number of Device mode single directional
>>>   endpoints, including OUT and IN endpoint 0.
>>>
>>> - DWC_USB3_NUM_IN_EPS indicates the maximum number of Device mode IN
>>>   endpoints active at any time, including control endpoint 0.
>>>
>>> It's possible to configure RTL such that DWC_USB3_NUM_EPS is equal to
>>> DWC_USB3_NUM_IN_EPS.
>>>
>>> dwc3-core calculates the number of OUT endpoints as DWC_USB3_NUM minus
>>> DWC_USB3_NUM_IN_EPS. If RTL has been configured with DWC_USB3_NUM_IN_EPS
>>> equal to DWC_USB3_NUM then dwc3-core will calculate the number of OUT
>>> endpoints as zero.
>>>
>>> For example a from dwc3_core_num_eps() shows:
>>> [    1.565000]  /usb0@f01d0000: found 8 IN and 0 OUT endpoints
>>>
>>> This patch refactors the endpoint calculation down to one variable
>>> dwc->num_eps taking care to maintain the current mapping of endpoints for
>>> fixed FPGA configurations as described in Table 4-7 of version 2.60a of the
>>> DWC USB3 databook.
>>>
>>> The endpoint mapping will then be EP-OUT, EP-IN etc, up to DWC_USB3_NUM.
>>> If DWC_USB3_NUM is odd then OUT will take the extra endpoint.
>>>
>>> Suggested-by: Felipe Balbi <balbi@xxxxxxxxxx>
>>> Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>
>>
>> This patch breaks gadget mode on dra7-evm that uses dwc3 core v2.02a.
>
> I had to do the patch work on 4.1 and then forward port to 4.11 since 
> the SoC I was working on wasn't booting on 4.11 and (predictably I 
> guess) missed some untestable paths on 4.1
>
> I have two SoCs to try this out on with 4.11+ now, so I'll send an 
> update shortly

I have updated patch in my queue already ;-)

-- 
balbi

Attachment: signature.asc
Description: PGP signature


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

  Powered by Linux