Thread (14 messages) 14 messages, 3 authors, 2017-02-10

RE: [PATCH v3 2/3] USB3/DWC3: Add property "snps, incr-burst-type-adjustment" for INCR burst type

flat view

From: Jerry Huang <hidden>
Date: 2017-02-10 15:17:44
Also in: linux-arm-kernel, lkml

quoted
quoted
quoted
quoted
Why do you need the first field? Is the 2nd field used if the 1st is 0?
If not, then just use the presence of the property to enable or not.
The first field is one switch.
When it is 1, means undefined length INCR burst type enabled, we
can use
any length less than or equal to the largest-enabled burst length of
INCR4/8/16/32/64/128/256.
quoted
When it is zero, means INCRx burst mode enabled, we can use one
fixed
burst length of 1/4/8/16/32/64/128/256 byte.
quoted
So, the 2nd field is used if the 1st is 0, we need to select one
largest burst
length the USB controller can support.
quoted
If we don't want to change the value of this register (use the
default value),
we don't need to add this property to usb node.

Just make this a single value with 0 meaning INCR and 4/8/16/etc being
INCRx.
quoted
Maybe, I didn't describe it clearly.
According to DWC3 spec, the value "0" of field INCRBrstEna means INCRx
burst mode, 1 means INCR burst mode.
quoted
Regardless of the value of INCRBrstEna [bit0], we need to modify the other
field bit[1,2,3,4,5,6,7] to one INCR burst type  for the platform supported.
quoted
Ad you mentioned, if we just use a single value with 0 meaning INCR and
4/8/16/etc being INCRx.
quoted
I understand totally that when it is none-zero, we can use it for INCR burst
mode.
quoted
Then, when it is 0, how to select the INCRx value?
What I mean is:
<no prop> - burst disabled
Yes, I understand it.
0 - INCR burst. INCR is undefined length burst IIRC.
When INCR is undefined length, we need to set the max INCR type, too, such as when setting INCR16, controller can use any length less than or equal to the 16 byte.
4/8/16/etc. - INCR4/INCR8/INCR16/etc.
I understand it, too.
What case does this not cover?
According to Balbi's suggestion, I changed the property like below, you can see the detail in v4 (sent by 1/18/2017)
Property "snps,incr-burst-type-adjustment = <x>, <y>..." for USB3.0 DWC3.
When Just one value means INCRx mode with fix burst type.
When more than one value, means undefined length burst mode, USB controller can use the length less than or equal to the largest enabled burst length.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help