<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/dwc2/core.h, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-05-22T08:40:32Z</updated>
<entry>
<title>usb: dwc2: Fix gadget DMA unmap direction</title>
<updated>2021-05-22T08:40:32Z</updated>
<author>
<name>Phil Elwell</name>
</author>
<published>2021-05-06T11:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ffaf604283d773dd0b69df96a842d8af91b2f3fc'/>
<id>urn:sha1:ffaf604283d773dd0b69df96a842d8af91b2f3fc</id>
<content type='text'>
commit 75a41ce46bae6cbe7d3bb2584eb844291d642874 upstream.

The dwc2 gadget support maps and unmaps DMA buffers as necessary. When
mapping and unmapping it uses the direction of the endpoint to select
the direction of the DMA transfer, but this fails for Control OUT
transfers because the unmap occurs after the endpoint direction has
been reversed for the status phase.

A possible solution would be to unmap the buffer before the direction
is changed, but a safer, less invasive fix is to remember the buffer
direction independently of the endpoint direction.

Fixes: fe0b94abcdf6 ("usb: dwc2: gadget: manage ep0 state in software")
Acked-by: Minas Harutyunyan &lt;Minas.Harutyunyan@synopsys.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Phil Elwell &lt;phil@raspberrypi.com&gt;
Link: https://lore.kernel.org/r/20210506112200.2893922-1-phil@raspberrypi.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Fix interval type issue</title>
<updated>2018-05-25T14:13:03Z</updated>
<author>
<name>Grigor Tovmasyan</name>
</author>
<published>2018-02-06T15:07:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fba46ae2cd7a5117299c435d71adcaf30acd8b01'/>
<id>urn:sha1:fba46ae2cd7a5117299c435d71adcaf30acd8b01</id>
<content type='text'>
[ Upstream commit 12814a3f8f9b247531d7863170cc82b3fe4218fd ]

The maximum value that unsigned char can hold is 255, meanwhile
the maximum value of interval is  2^(bIntervalMax-1)=2^15.

Signed-off-by: Grigor Tovmasyan &lt;tovmasya@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Revert "usb: dwc2: gadget: fix TX FIFO size and address initialization"</title>
<updated>2016-10-18T11:21:40Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2016-10-18T00:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3fa9538539ac737096c81f3315a14670b1609092'/>
<id>urn:sha1:3fa9538539ac737096c81f3315a14670b1609092</id>
<content type='text'>
This reverts commit aa381a7259c3 ("usb: dwc2: gadget: fix TX FIFO size
and address initialization").

The original commit removed the FIFO size programming per endpoint. The
DPTXFSIZn register is also used for DIEPTXFn and the SIZE field is r/w
in dedicated fifo mode. So it isn't appropriate to simply remove this
initialization as it might break existing behavior.

Also, some cores might not have enough fifo space to handle the
programming method used in the reverted patch, resulting in fifo
initialization failure.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Cc: Robert Baldyga &lt;r.baldyga@samsung.com&gt;
Cc: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'usb-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next</title>
<updated>2016-09-14T18:37:50Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2016-09-14T18:37:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=81522637485dd6ec9de4279c9714d58f884b6091'/>
<id>urn:sha1:81522637485dd6ec9de4279c9714d58f884b6091</id>
<content type='text'>
Felipe writes:

usb: patches for v4.9 merge window

This time around we have 92 non-merge commits. Most
of the changes are in drivers/usb/gadget (40.3%)
with drivers/usb/gadget/function being the most
active directory (27.2%).

As for UDC drivers, only dwc3 (26.5%) and dwc2
(12.7%) have really been active.

The most important changes for dwc3 are better
support for scatterlist and, again, throughput
improvements. While on dwc2 got some minor stability
fixes related to soft reset and FIFO usage.

Felipe Tonello has done some good work fixing up our
f_midi gadget and Tal Shorer has implemented a nice
API change for our ULPI bus.

Apart from these, we have our usual set of
non-critical fixes, spelling fixes, build warning
fixes, etc.
</content>
</entry>
<entry>
<title>usb: dwc2: Add delay to core soft reset</title>
<updated>2016-09-08T11:02:52Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2016-09-08T02:39:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fef6bc37dbafe0d6d71c808c8867a8c5ab4b9816'/>
<id>urn:sha1:fef6bc37dbafe0d6d71c808c8867a8c5ab4b9816</id>
<content type='text'>
Add a delay to the core soft reset function to account for the IDDIG
debounce filter.

If the current mode is host, either due to the force mode bit being
set (which persists after core reset) or the connector id pin, a core
soft reset will temporarily reset the mode to device and a delay from
the IDDIG debounce filter will occur before going back to host mode.

Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: gadget: fix TX FIFO size and address initialization</title>
<updated>2016-08-31T07:06:05Z</updated>
<author>
<name>Robert Baldyga</name>
</author>
<published>2016-08-29T20:38:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa381a7259c3f53727bcaa8c5f9359e940a0e3fd'/>
<id>urn:sha1:aa381a7259c3f53727bcaa8c5f9359e940a0e3fd</id>
<content type='text'>
According to DWC2 documentation, DPTxFSize field of DPTXFSIZn register
is read only, which means that software cannot change FIFO size.

Register description says:
"The value of this register is the Largest Device Mode Periodic Tx Data
FIFO Depth (parameter OTG_TX_DPERIO_DFIFO_DEPTH_n), as specified during
coreConsultant configuration."

That means, that we have to setup only FIFO start addresses (DPTxFStAddr),
taking into account reset values of DPTxFSize.

Initialize FIFO start addresses properly and remove unneeded core related
to incorrect FIFO size initialization.

Signed-off-by: Robert Baldyga &lt;r.baldyga@samsung.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Add reset control to dwc2</title>
<updated>2016-08-22T07:45:11Z</updated>
<author>
<name>Dinh Nguyen</name>
</author>
<published>2016-08-10T13:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83f8da562f8b5275fa1095b45762996971f7c607'/>
<id>urn:sha1:83f8da562f8b5275fa1095b45762996971f7c607</id>
<content type='text'>
Allow for platforms that have a reset controller driver in place to bring
the USB IP out of reset.

Signed-off-by: Dinh Nguyen &lt;dinguyen@opensource.altera.com&gt;
Acked-by: John Youn &lt;johnyoun@synopsys.com&gt;
Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: gadget: Final fixes for BDMA ISOC</title>
<updated>2016-06-21T07:50:16Z</updated>
<author>
<name>Vardan Mikayelyan</name>
</author>
<published>2016-05-26T01:07:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=837e9f00bf9966d64abc1bce678271099a72423b'/>
<id>urn:sha1:837e9f00bf9966d64abc1bce678271099a72423b</id>
<content type='text'>
Done fixes and tested hsotg gadget's BDMA mode. Tested Control,
Bulk, Isoc, Inter transfers. Added code for isoc transfers,
removed unusable code, done minor fixes. Affected functions
and IRQ handlers:
- dwc2_hsotg_start_req(),
- dwc2_hsotg_ep_enable(),
- dwc2_hsotg_ep_queue(),
- dwc2_hsotg_handle_outdone(),
- GINTSTS_GOUTNAKEFF handler,

Removed 'has_correct_parity' flag from 'dwc2_hsotg_ep' struct.
Before this patch series, to set the data pid the DWC2 gadget
driver was toggling the even/odd until it match, then were
leaving it set. But now I have added mechanism to set pid and
excluded all code where this flag was set.

Tested-by: John Keeping &lt;john@metanate.com&gt;
Signed-off-by: Vardan Mikayelyan &lt;mvardan@synopsys.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: gadget: Corrected interval calculation</title>
<updated>2016-06-21T07:49:29Z</updated>
<author>
<name>Vardan Mikayelyan</name>
</author>
<published>2016-05-26T01:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=142bd33fcd185d850178f7f8697ecbeaaa18e257'/>
<id>urn:sha1:142bd33fcd185d850178f7f8697ecbeaaa18e257</id>
<content type='text'>
Calculate the interval according to the USB 2.0 specification section
9.6.6.

Tested-by: John Keeping &lt;john@metanate.com&gt;
Signed-off-by: Vardan Mikayelyan &lt;mvardan@synopsys.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: gadget: Add dwc2_gadget_incr_frame_num()</title>
<updated>2016-06-21T07:49:21Z</updated>
<author>
<name>Vardan Mikayelyan</name>
</author>
<published>2016-05-26T01:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92d1635d781ac17fc7d886b0c126838083f3c2b9'/>
<id>urn:sha1:92d1635d781ac17fc7d886b0c126838083f3c2b9</id>
<content type='text'>
Increases and checks targeted frame number of current ep
if overrun happened, sets flag and masks with DSTS_SOFFN_LIMIT

Added following fields to struct dwc2_hsotg_ep
-target_frame: Targeted frame num to setup next ISOC transfer
-frame_overrun: Indicates SOF number overrun in DSTS

Tested-by: John Keeping &lt;john@metanate.com&gt;
Signed-off-by: Vardan Mikayelyan &lt;mvardan@synopsys.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
</feed>
