[PATCH v2 06/11] Documentation: mmc: sdhci-of-arasan: Add ability to export card clock

2016-06-13 Thread Douglas Anderson
the SDHCI card clock using a standard device tree mechanism so that the PHY can get access to it and query the card clock frequency. Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Rob Herring <r...@kernel.org> --- Changes in v2: - Adjust commit message wording (Ro

[PATCH v2 11/11] arm64: dts: rockchip: Provide emmcclk to PHY for rk3399

2016-06-13 Thread Douglas Anderson
Previous changes in this series allowed exposing the card clock from the rk3399 SDHCI device and allowed consuming the card clock in the rk3399 eMMC PHY. Hook things up in the main rk3399 dtsi file. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: None arch/arm6

[PATCH v2 05/11] arm64: dts: rockchip: Add soc-ctl-syscon to sdhci for rk3399

2016-06-13 Thread Douglas Anderson
On rk3399 we'd like to be able to properly set corecfg registers in the Arasan SDHCI component. Specify the syscon to enable that. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: None arch/arm64/boot/dts/rockchip/rk3399.dtsi | 1 + 1 file changed, 1 ins

[PATCH v2 07/11] mmc: sdhci-of-arasan: Add ability to export card clock

2016-06-13 Thread Douglas Anderson
the PHY a good chance to query our clock. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: None drivers/mmc/host/sdhci-of-arasan.c | 125 - 1 file changed, 122 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/sdhci-of-ar

[PATCH v2 04/11] mmc: sdhci-of-arasan: Properly set corecfg_baseclkfreq on rk3399

2016-06-13 Thread Douglas Anderson
r SoCs. Note that a specific compatible string for rk3399 is already in use and so we add that to the table to match rk3399. [1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: - Reorder include

[PATCH v2 02/11] mmc: sdhci-of-arasan: Always power the PHY off/on when clock changes

2016-06-13 Thread Douglas Anderson
ms if picked without that change. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: None drivers/mmc/host/sdhci-of-arasan.c | 23 --- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/ho

[PATCH v2 0/11] Changes to support 150 MHz eMMC on rk3399

2016-06-13 Thread Douglas Anderson
HCI (Shawn) Douglas Anderson (11): phy: rockchip-emmc: Increase lock time allowance mmc: sdhci-of-arasan: Always power the PHY off/on when clock changes Documentation: mmc: sdhci-of-arasan: Add soc-ctl-syscon for corecfg regs mmc: sdhci-of-arasan: Properly set corecfg_baseclkfreq on rk3

[PATCH v2 03/11] Documentation: mmc: sdhci-of-arasan: Add soc-ctl-syscon for corecfg regs

2016-06-13 Thread Douglas Anderson
[1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Rob Herring <r...@kernel.org> --- Changes in v2: - Clean up description of rk3399 PHY (Shawn) - Add Rob Herring's Ack. .../devicetree/bindings/

[PATCH v2 01/11] phy: rockchip-emmc: Increase lock time allowance

2016-06-13 Thread Douglas Anderson
to at least 50 MHz before, though this reliance wasn't documented anywhere. This change will be even more useful in future changes where we actually need to be able to wait for a DLL lock at slower clock speeds. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: - In

[PATCH v2 09/11] phy: rockchip-emmc: Minor code cleanup in rockchip_emmc_phy_power_on/off()

2016-06-13 Thread Douglas Anderson
There's no reason to store the return value of rockchip_emmc_phy_power() in a variable nor to check it. Just return it. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: - Move code cleanup before set phyctrl_frqsel based on card clock (Shawn) drivers/phy/phy-ro

[PATCH v2 08/11] Documentation: phy: Let the rockchip eMMC PHY get an exported card clock

2016-06-13 Thread Douglas Anderson
om/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v2: - List out clocks and clock names (Rob) Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt | 9 + 1 file changed, 9 insertions(+) diff --git a/Docume

[PATCH v3 0/15] Changes to support 150 MHz eMMC on rk3399

2016-06-20 Thread Douglas Anderson
mmc: configure default output tap delay phy: rockchip-emmc: reindent the register definitions Douglas Anderson (11): phy: rockchip-emmc: Increase lock time allowance mmc: sdhci-of-arasan: Always power the PHY off/on when clock changes Documentation: mmc: sdhci-of-arasan: Add soc-ctl-sys

[PATCH v3 11/15] mmc: sdhci-of-arasan: Add ability to export card clock

2016-06-20 Thread Douglas Anderson
the PHY a good chance to query our clock. Signed-off-by: Douglas Anderson <diand...@chromium.org> Reviewed-by: Heiko Stuebner <he...@sntech.de> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add dependency on COMMON_CLK (actually in v2.1) (Guenter Roeck) - Add colle

[PATCH v3 06/15] mmc: sdhci-of-arasan: Always power the PHY off/on when clock changes

2016-06-20 Thread Douglas Anderson
ms if picked without that change. Signed-off-by: Douglas Anderson <diand...@chromium.org> Reviewed-by: Shawn Lin <shawn@rock-chips.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add collected tags Changes in v2: None drivers/mmc/host/sdhci-of-arasan.

[PATCH v3 05/15] phy: rockchip-emmc: Increase lock time allowance

2016-06-20 Thread Douglas Anderson
to at least 50 MHz before, though this reliance wasn't documented anywhere. This change will be even more useful in future changes where we actually need to be able to wait for a DLL lock at slower clock speeds. Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay A

[PATCH v3 12/15] Documentation: phy: Let the rockchip eMMC PHY get an exported card clock

2016-06-20 Thread Douglas Anderson
om/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Acked-by: Rob Herring <r...@kernel.org> Reviewed-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add collected t

[PATCH v3 15/15] arm64: dts: rockchip: Provide emmcclk to PHY for rk3399

2016-06-20 Thread Douglas Anderson
Previous changes in this series allowed exposing the card clock from the rk3399 SDHCI device and allowed consuming the card clock in the rk3399 eMMC PHY. Hook things up in the main rk3399 dtsi file. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebn

[PATCH v3 03/15] phy: rockchip-emmc: configure default output tap delay

2016-06-20 Thread Douglas Anderson
..@chromium.org> Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add Brian's PHY patches into my series Changes in v2: None drivers/phy/phy-rockchip-emm

[PATCH v3 08/15] mmc: sdhci-of-arasan: Properly set corecfg_baseclkfreq on rk3399

2016-06-20 Thread Douglas Anderson
r SoCs. Note that a specific compatible string for rk3399 is already in use and so we add that to the table to match rk3399. [1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> Reviewed-by: Heiko Stuebner <he.

[PATCH v3 14/15] phy: rockchip-emmc: Set phyctrl_frqsel based on card clock

2016-06-20 Thread Douglas Anderson
series, since performance is still good but signal integrity problems are less prevelant at 150 MHz. [1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> --- Ch

[PATCH v3 07/15] Documentation: mmc: sdhci-of-arasan: Add soc-ctl-syscon for corecfg regs

2016-06-20 Thread Douglas Anderson
[1]: https://arasan.com/wp-content/media/eMMC-5-1-Total-Solution_Rev-1-3.pdf Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Rob Herring <r...@kernel.org> Reviewed-by: Heiko Stuebner <he...@sntech.de> Reviewed-by: Shawn Lin <shawn@rock-chips.com> ---

[PATCH v3 13/15] phy: rockchip-emmc: Minor code cleanup in rockchip_emmc_phy_power_on/off()

2016-06-20 Thread Douglas Anderson
There's no reason to store the return value of rockchip_emmc_phy_power() in a variable nor to check it. Just return it. Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Reviewed-by: Shawn Lin <shawn@rock-chips.com>

[PATCH v3 02/15] phy: rockchip-emmc: configure frequency range and drive impedance

2016-06-20 Thread Douglas Anderson
org> Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add Brian's PHY patches into my series Changes in v2: - Drop 170 MHz comment (only applicable to a su

[PATCH v3 09/15] arm64: dts: rockchip: Add soc-ctl-syscon to sdhci for rk3399

2016-06-20 Thread Douglas Anderson
On rk3399 we'd like to be able to properly set corecfg registers in the Arasan SDHCI component. Specify the syscon to enable that. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add collected tags Changes

[PATCH v3 04/15] phy: rockchip-emmc: reindent the register definitions

2016-06-20 Thread Douglas Anderson
From: Brian Norris <briannor...@chromium.org> Some of the spacing was wrong (spaces instead of tabs), and due to longer entries added later, the columns weren't aligned. Let's get everything consistent. Signed-off-by: Brian Norris <briannor...@chromium.org> Signed-off-by: Douglas And

[PATCH v3 10/15] Documentation: mmc: sdhci-of-arasan: Add ability to export card clock

2016-06-20 Thread Douglas Anderson
the SDHCI card clock using a standard device tree mechanism so that the PHY can get access to it and query the card clock frequency. Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Rob Herring <r...@kernel.org> Reviewed-by: Heiko Stuebner <he...@sntech.de>

[PATCH v3 01/15] phy: rockchip-emmc: give DLL some extra time to be ready

2016-06-20 Thread Douglas Anderson
wn Lin <shawn@rock-chips.com> Signed-off-by: Brian Norris <briannor...@chromium.org> Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v3: - Add Brian's

[PATCH 3/3] phy: rockchip-emmc: Wait even longer for the DLL to lock

2016-06-27 Thread Douglas Anderson
Two times out of 2000 reboots I ran into the error message "rockchip_emmc_phy_power: dllrdy timeout". Presumably there is some corner case where the DLL just takes a little longer to timeout. Let's give it even more time to handle these corner cases. Signed-off-by: Douglas Ander

[PATCH 1/3] mmc: sdhci-of-arasan: Revert: Always power the PHY off/on when clock changes

2016-06-27 Thread Douglas Anderson
without this one. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- drivers/mmc/host/sdhci-of-arasan.c | 21 ++--- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c index 678f

[PATCH 0/3] mmc: Fixes for 150 MHz Rockchip eMMC series

2016-06-27 Thread Douglas Anderson
as appropriate. Douglas Anderson (3): mmc: sdhci-of-arasan: Revert: Always power the PHY off/on when clock changes phy: rockchip-emmc: Be tolerant to card clock of 0 in power on phy: rockchip-emmc: Wait even longer for the DLL to lock drivers/mmc/host/sdhci-of-arasan.c | 21 +++ drivers/phy

[PATCH 2/3] phy: rockchip-emmc: Be tolerant to card clock of 0 in power on

2016-06-27 Thread Douglas Anderson
: this patch should help with suspend/resume where the system will try to turn the PHY back on when the clock is 0. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- drivers/phy/phy-rockchip-emmc.c | 59 ++--- 1 file changed, 37 insertions(+), 22 del

[PATCH] regulator: pwm: Fix regulator ramp delay for continuous mode

2016-06-27 Thread Douglas Anderson
is way too much. We'll try to be dynamic and use 10% Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Note that this patch is atop Boris's recent PWM regulator fixes. If desired it wouldn't be too hard to write it atop the old code, though quite honestly anyone using a PWM reg

[PATCH v6 19/22] usb: dwc2: host: Add dwc2_hcd_get_future_frame_number() call

2016-01-28 Thread Douglas Anderson
("usb: dwc2: host: Properly set even/odd frame"). Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - Add Stefan's Tested-by.

[PATCH v6 22/22] usb: dwc2: host: If using uframe scheduler, end splits better

2016-01-28 Thread Douglas Anderson
her things that were scheduled to happen. No known test cases are improved by this patch except that the scheduler code doesn't yell about MISSES constantly anymore. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren &

[PATCH v6 21/22] usb: dwc2: host: Totally redo the microframe scheduler

2016-01-28 Thread Douglas Anderson
USB audio + some keyboards) crackles less. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Removed incorrect limit on number of channels (Heiko Stuebner). - F

[PATCH v6 20/22] usb: dwc2: host: Properly set even/odd frame

2016-01-28 Thread Douglas Anderson
USB webcam + USB audio + keyboards) has less audio crackling than before. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - Add Stefan's Te

[PATCH v6 01/22] usb: dwc2: rockchip: Make the max_transfer_size automatic

2016-01-28 Thread Douglas Anderson
params. - If we can remove the 65535 limit, we can transfer more! Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: John Youn <johny...@synopsys.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v6: None Changes in v5: None Changes in v4: - Add John's A

[PATCH v6 09/22] usb: dwc2: host: Giveback URB in tasklet context

2016-01-28 Thread Douglas Anderson
ve got an overall win here. Note that when playing USB audio and using a USB webcam and having several USB keyboards plugged in, the crackling on the USB audio device is noticably reduced with this patch. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <

[PATCH v6 07/22] usb: dwc2: host: Add scheduler tracing

2016-01-28 Thread Douglas Anderson
In preparation for future changes to the scheduler let's add some tracing that makes it easy for us to see what's happening. By default this tracing will be off. By changing "core.h" you can easily trace to ftrace, the console, or nowhere. Signed-off-by: Douglas Anderson <diand...

[PATCH v6 0/22] usb: dwc2: host: Fix and speed up all the stuff, especially with splits

2016-01-28 Thread Douglas Anderson
needs delay change. - Totally rewrote uframe scheduler again after writing test code. - uframe scheduler atop delayed bandwidth release patches. Douglas Anderson (22): usb: dwc2: rockchip: Make the max_transfer_size automatic usb: dwc2: host: Get aligned DMA in a more supported way usb: d

[PATCH v6 06/22] usb: dwc2: host: fix split transfer schedule sequence

2016-01-28 Thread Douglas Anderson
and often see keys dropped or repeated. After this change the above setup works properly. This patch is based on a previous patch proposed by Yunzhi Li ("usb: dwc2: hcd: fix periodic transfer schedule sequence") Signed-off-by: Douglas Anderson <diand...@chromium.org> Signed-off

[PATCH v6 04/22] usb: dwc2: host: Avoid use of chan->qh after qh freed

2016-01-28 Thread Douglas Anderson
e sure that whenever we free qh we also make sure we remove a reference from its channel. The bug fixed here doesn't appear to be new--I believe I just got lucky and happened to see it while stress testing. Signed-off-by: Douglas Anderson <diand...@chromium.org> Reviewed-by: Kever Yang <

[PATCH v6 03/22] usb: dwc2: host: Set host_rx_fifo_size to 525 for rk3066

2016-01-28 Thread Douglas Anderson
o allocate the extra 48 / 60 bytes of FIFO that we're currently wasting. NOTE: no known bugs are fixed by this patch, but it seems like a simple fix and ought to fix someone. Signed-off-by: Douglas Anderson <diand...@chromium.org> Reviewed-by: Kever Yang <kever.y...@rock-chips.com> Tes

[PATCH v6 02/22] usb: dwc2: host: Get aligned DMA in a more supported way

2016-01-28 Thread Douglas Anderson
of removing the 65535 max transfer size limit. NOTE: The actual code to allocate the aligned buffers is ripped almost completely from the tegra EHCI driver. At some point in the future we may want to add this functionality to the USB core to share more code everywhere. Signed-off-by: Douglas Anderson

[PATCH v6 11/22] usb: dwc2: host: There's not really a TT for the root hub

2016-01-28 Thread Douglas Anderson
ask me where I got a full speed USB hub or whether the massive amount of dust that accumulated on it while it was in my junk box affected its funtionality. Just smile and nod. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v6: - There's not really a TT for the root hub

[PATCH v6 13/22] usb: dwc2: host: Rename some fields in struct dwc2_qh

2016-01-28 Thread Douglas Anderson
next_active_frame" makes it more obvious that this field is constantly changing. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - A

[PATCH v6 14/22] usb: dwc2: host: Reorder things in hcd_queue.c

2016-01-28 Thread Douglas Anderson
() since it calls that. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - Add Stefan's Tested-by. Changes in v5: None Changes in v4

[PATCH v6 12/22] usb: dwc2: host: Use periodic interrupt even with DMA

2016-01-28 Thread Douglas Anderson
gt; Microsoft Wireless Keyboard 2000 in port 1. -> Das Keyboard in port 2. -> Jabra Speaker in port 3 -> Logitech, Inc. Webcam C600 in port 4 -> Microsoft Sidewinder X6 Keyboard in port 5 ...and I'm playing music on the USB speaker and capturing video from the webcam. Sign

[PATCH v6 08/22] usb: dwc2: host: Add a delay before releasing periodic bandwidth

2016-01-28 Thread Douglas Anderson
ehavior and just add the proper delay. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - Add Stefan's Tested-by. Changes in v5: None Cha

[PATCH v6 05/22] usb: dwc2: host: Always add to the tail of queues

2016-01-28 Thread Douglas Anderson
. That means last in first out. Doh. Go through and just always add to the tail. Doing this makes things much happier when I've got: * 7-port USB 2.0 Single-TT hub * - Microsoft 2.4 GHz Transceiver v7.0 dongle * - Jabra speakerphone playing music Signed-off-by: Douglas Anderson <diand...@chromium.

[PATCH v6 10/22] usb: dwc2: host: Properly set the HFIR

2016-01-28 Thread Douglas Anderson
6.604.041 6.604.166 ... 6.607.541 6.607.667 6.607.792 6.607.917 ... 6.611.417 6.611.543 6.611.668 6.611.793 After: 6.215.159 6.215.284 6.215.408 6.215.533 6.215.658 ... 6.470.658 6.470.783 6.470.907 ... 6.726.032 6.726.157 6.725.281 6.725.406

[PATCH v6 17/22] usb: dwc2: host: Manage frame nums better in scheduler

2016-01-28 Thread Douglas Anderson
ing it works), so maybe a future patch (or a future version of this patch?) could remove that parameter. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Fix

[PATCH v6 18/22] usb: dwc2: host: Schedule periodic right away if it's time

2016-01-28 Thread Douglas Anderson
In dwc2_hcd_qh_deactivate() we will put some things on the periodic_sched_ready list. These things won't be taken off the ready list until the next SOF, which might be a little late. Let's put them on right away. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko St

[PATCH v6 16/22] usb: dwc2: host: Add scheduler logging for missed SOFs

2016-01-28 Thread Douglas Anderson
e near zero. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.wah...@i2se.com> --- Changes in v6: - Add Heiko's Tested-by. - Add Stefan's Tested-by. Changes in v5: None Changes in v4: - Add schedu

[PATCH v6 15/22] usb: dwc2: host: Split code out to make dwc2_do_reserve()

2016-01-28 Thread Douglas Anderson
This no-op change splits code out of dwc2_schedule_periodic() into a dwc2_do_reserve() function. This makes it a little easier to follow the logic. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <he...@sntech.de> Tested-by: Stefan Wahren <stefan.

[PATCH] ARM: errata: Workaround errata A12 818325/852422 A17 852423

2016-02-26 Thread Douglas Anderson
ened to do a FW update. Note that in ARM64 presumably PSCI will be universal and fixes like this will end up in ATF. Hopefully we are nearing the end of this style of errata workaround. Signed-off-by: Douglas Anderson <diand...@chromium.org> Signed-off-by: Huang Tao <huang...@rock-chips.com> Sig

[PATCH v4 15/21] usb: dwc2: host: Add scheduler logging for missed SOFs

2016-01-20 Thread Douglas Anderson
e near zero. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Add scheduler logging for missed SOFs new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.h | 3 ++- drivers/usb/dwc2/hcd.c | 2 +- drivers/usb/dwc2/hcd_intr.c | 12 +++

[PATCH v4 13/21] usb: dwc2: host: Reorder things in hcd_queue.c

2016-01-20 Thread Douglas Anderson
() since it calls that. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Reorder things in hcd_queue.c new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/hcd_queue.c | 600 +-- 1 file changed, 300 inse

[PATCH v4 14/21] usb: dwc2: host: Split code out to make dwc2_do_reserve()

2016-01-20 Thread Douglas Anderson
This no-op change splits code out of dwc2_schedule_periodic() into a dwc2_do_reserve() function. This makes it a little easier to follow the logic. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Split code out to make dwc2_do_reserve() new for v4. Changes

[PATCH v4 05/21] usb: dwc2: host: Avoid use of chan->qh after qh freed

2016-01-20 Thread Douglas Anderson
e sure that whenever we free qh we also make sure we remove a reference from its channel. The bug fixed here doesn't appear to be new--I believe I just got lucky and happened to see it while stress testing. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Avoid use

[PATCH v4 11/21] usb: dwc2: host: Use periodic interrupt even with DMA

2016-01-20 Thread Douglas Anderson
gt; Microsoft Wireless Keyboard 2000 in port 1. -> Das Keyboard in port 2. -> Jabra Speaker in port 3 -> Logitech, Inc. Webcam C600 in port 4 -> Microsoft Sidewinder X6 Keyboard in port 5 ...and I'm playing music on the USB speaker and capturing video from the webca

[PATCH v4 12/21] usb: dwc2: host: Rename some fields in struct dwc2_qh

2016-01-20 Thread Douglas Anderson
next_active_frame" makes it more obvious that this field is constantly changing. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Rename some fields in struct dwc2_qh new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/hcd.h | 20

[PATCH v4 01/21] usb: dwc2: rockchip: Make the max_transfer_size automatic

2016-01-20 Thread Douglas Anderson
params. - If we can remove the 65535 limit, we can transfer more! Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: John Youn <johny...@synopsys.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v4: - Add John's Acks from <https://patchwork.kerne

[PATCH v4 09/21] usb: dwc2: host: Add a delay before releasing periodic bandwidth

2016-01-20 Thread Douglas Anderson
ehavior and just add the proper delay. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Moved periodic bandwidth release delay patch earlier again. Changes in v3: - Moved periodic bandwidth release delay patch later in the series. Changes in v2: - Periodic bandwidt

[PATCH v4 10/21] usb: dwc2: host: Giveback URB in tasklet context

2016-01-20 Thread Douglas Anderson
ve got an overall win here. Note that when playing USB audio and using a USB webcam and having several USB keyboards plugged in, the crackling on the USB audio device is noticably reduced with this patch. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <

[PATCH v4 03/21] usb: dwc2: host: Set host_rx_fifo_size to 528 for rk3066

2016-01-20 Thread Douglas Anderson
seems like a simple fix and ought to fix someone. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Set host_rx_fifo_size to 528 for rk3066 new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 d

[PATCH v4 02/21] usb: dwc2: host: Get aligned DMA in a more supported way

2016-01-20 Thread Douglas Anderson
of removing the 65535 max transfer size limit. NOTE: The actual code to allocate the aligned buffers is ripped almost completely from the tegra EHCI driver. At some point in the future we may want to add this functionality to the USB core to share more code everywhere. Signed-off-by: Douglas Anderson

[PATCH v4 07/21] usb: dwc2: hcd: fix split transfer schedule sequence

2016-01-20 Thread Douglas Anderson
and often see keys dropped or repeated. After this change the above setup works properly. This patch is based on a previous patch proposed by Yunzhi Li ("usb: dwc2: hcd: fix periodic transfer schedule sequence") Signed-off-by: Douglas Anderson <diand...@chromium.org> Signed-off

[PATCH v4 04/21] usb: dwc2: host: Set host_perio_tx_fifo_size to 304 for rk3066

2016-01-20 Thread Douglas Anderson
have been filled before where it no longer is. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Set host_perio_tx_fifo_size to 304 for rk3066 new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/platform.c | 2 +- 1 file changed, 1 insertion

[PATCH v4 08/21] usb: dwc2: host: Add scheduler tracing

2016-01-20 Thread Douglas Anderson
In preparation for future changes to the scheduler let's add some tracing that makes it easy for us to see what's happening. By default this tracing will be off. By changing "core.h" you can easily trace to ftrace, the console, or nowhere. Signed-off-by: Douglas Anderson <diand...

[PATCH v4 06/21] usb: dwc2: host: Always add to the tail of queues

2016-01-20 Thread Douglas Anderson
. That means last in first out. Doh. Go through and just always add to the tail. Doing this makes things much happier when I've got: * 7-port USB 2.0 Single-TT hub * - Microsoft 2.4 GHz Transceiver v7.0 dongle * - Jabra speakerphone playing music Signed-off-by: Douglas Anderson <diand...@chromium.

[PATCH v4 18/21] usb: dwc2: host: Add dwc2_hcd_get_future_frame_number() call

2016-01-20 Thread Douglas Anderson
("usb: dwc2: host: Properly set even/odd frame"). Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Add dwc2_hcd_get_future_frame_number() call new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.h | 4 drivers/usb/

[PATCH v4 16/21] usb: dwc2: host: Manage frame nums better in scheduler

2016-01-20 Thread Douglas Anderson
ing it works), so maybe a future patch (or a future version of this patch?) could remove that parameter. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Manage frame nums better in scheduler new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2

[PATCH v4 19/21] usb: dwc2: host: Properly set even/odd frame

2016-01-20 Thread Douglas Anderson
USB webcam + USB audio + keyboards) has less audio crackling than before. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Properly set even/odd frame new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.c | 92 +++

[PATCH v4 17/21] usb: dwc2: host: Schedule periodic right away if it's time

2016-01-20 Thread Douglas Anderson
In dwc2_hcd_qh_deactivate() we will put some things on the periodic_sched_ready list. These things won't be taken off the ready list until the next SOF, which might be a little late. Let's put them on right away. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes

[PATCH v4 20/21] usb: dwc2: host: Totally redo the microframe scheduler

2016-01-20 Thread Douglas Anderson
USB audio + some keyboards) crackles less. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - Figured out what the microframe scheduler was supposed to do. - Microframe rewrite is totally different from v3, hopefully more right. - Microframe rewrite is later in the seri

[PATCH v4 0/21] usb: dwc2: host: Fix and speed up all the stuff, especially with splits

2016-01-20 Thread Douglas Anderson
y rewrote uframe scheduler again after writing test code. - uframe scheduler atop delayed bandwidth release patches. Douglas Anderson (21): usb: dwc2: rockchip: Make the max_transfer_size automatic usb: dwc2: host: Get aligned DMA in a more supported way usb: dwc2: host: Set host_rx_fifo_s

[PATCH v4 21/21] usb: dwc2: host: If using uframe scheduler, end splits better

2016-01-20 Thread Douglas Anderson
her things that were scheduled to happen. No known test cases are improved by this patch except that the scheduler code doesn't yell about MISSES constantly anymore. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v4: - If using uframe scheduler, end splits better new for v4

[PATCH v5 06/21] usb: dwc2: host: Always add to the tail of queues

2016-01-22 Thread Douglas Anderson
. That means last in first out. Doh. Go through and just always add to the tail. Doing this makes things much happier when I've got: * 7-port USB 2.0 Single-TT hub * - Microsoft 2.4 GHz Transceiver v7.0 dongle * - Jabra speakerphone playing music Signed-off-by: Douglas Anderson <diand...@chromium.

[PATCH v5 11/21] usb: dwc2: host: Use periodic interrupt even with DMA

2016-01-22 Thread Douglas Anderson
gt; Microsoft Wireless Keyboard 2000 in port 1. -> Das Keyboard in port 2. -> Jabra Speaker in port 3 -> Logitech, Inc. Webcam C600 in port 4 -> Microsoft Sidewinder X6 Keyboard in port 5 ...and I'm playing music on the USB speaker and capturing video from the webca

[PATCH v5 07/21] usb: dwc2: hcd: fix split transfer schedule sequence

2016-01-22 Thread Douglas Anderson
and often see keys dropped or repeated. After this change the above setup works properly. This patch is based on a previous patch proposed by Yunzhi Li ("usb: dwc2: hcd: fix periodic transfer schedule sequence") Signed-off-by: Douglas Anderson <diand...@chromium.org> Signed-off

[PATCH v5 05/21] usb: dwc2: host: Avoid use of chan->qh after qh freed

2016-01-22 Thread Douglas Anderson
e sure that whenever we free qh we also make sure we remove a reference from its channel. The bug fixed here doesn't appear to be new--I believe I just got lucky and happened to see it while stress testing. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None C

[PATCH v5 01/21] usb: dwc2: rockchip: Make the max_transfer_size automatic

2016-01-22 Thread Douglas Anderson
params. - If we can remove the 65535 limit, we can transfer more! Signed-off-by: Douglas Anderson <diand...@chromium.org> Acked-by: John Youn <johny...@synopsys.com> Tested-by: Heiko Stuebner <he...@sntech.de> --- Changes in v5: None Changes in v4: - Add John's Acks from <h

[PATCH v5 12/21] usb: dwc2: host: Rename some fields in struct dwc2_qh

2016-01-22 Thread Douglas Anderson
next_active_frame" makes it more obvious that this field is constantly changing. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Rename some fields in struct dwc2_qh new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/hcd.h

[PATCH v5 21/21] usb: dwc2: host: If using uframe scheduler, end splits better

2016-01-22 Thread Douglas Anderson
her things that were scheduled to happen. No known test cases are improved by this patch except that the scheduler code doesn't yell about MISSES constantly anymore. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - If using uframe scheduler, end s

[PATCH v5 20/21] usb: dwc2: host: Totally redo the microframe scheduler

2016-01-22 Thread Douglas Anderson
USB audio + some keyboards) crackles less. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: - Moved defines outside of ifdef to avoid gadget-only compile error. Changes in v4: - Figured out what the microframe scheduler was supposed to do. - Microframe rewrite is totall

[PATCH v5 13/21] usb: dwc2: host: Reorder things in hcd_queue.c

2016-01-22 Thread Douglas Anderson
() since it calls that. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Reorder things in hcd_queue.c new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/hcd_queue.c | 600 +-- 1 file c

[PATCH v5 14/21] usb: dwc2: host: Split code out to make dwc2_do_reserve()

2016-01-22 Thread Douglas Anderson
This no-op change splits code out of dwc2_schedule_periodic() into a dwc2_do_reserve() function. This makes it a little easier to follow the logic. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Split code out to make dwc2_do_reserve() new

[PATCH v5 19/21] usb: dwc2: host: Properly set even/odd frame

2016-01-22 Thread Douglas Anderson
USB webcam + USB audio + keyboards) has less audio crackling than before. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Properly set even/odd frame new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.c | 92 ++

[PATCH v5 09/21] usb: dwc2: host: Add a delay before releasing periodic bandwidth

2016-01-22 Thread Douglas Anderson
ehavior and just add the proper delay. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Moved periodic bandwidth release delay patch earlier again. Changes in v3: - Moved periodic bandwidth release delay patch later in the series. Changes in v2: -

[PATCH v5 10/21] usb: dwc2: host: Giveback URB in tasklet context

2016-01-22 Thread Douglas Anderson
ve got an overall win here. Note that when playing USB audio and using a USB webcam and having several USB keyboards plugged in, the crackling on the USB audio device is noticably reduced with this patch. Signed-off-by: Douglas Anderson <diand...@chromium.org> Tested-by: Heiko Stuebner <

[PATCH v5 15/21] usb: dwc2: host: Add scheduler logging for missed SOFs

2016-01-22 Thread Douglas Anderson
e near zero. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Add scheduler logging for missed SOFs new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.h | 3 ++- drivers/usb/dwc2/hcd.c | 2 +- driver

[PATCH v5 16/21] usb: dwc2: host: Manage frame nums better in scheduler

2016-01-22 Thread Douglas Anderson
ing it works), so maybe a future patch (or a future version of this patch?) could remove that parameter. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Manage frame nums better in scheduler new for v4. Changes in v3: None Changes in v2: None

[PATCH v5 18/21] usb: dwc2: host: Add dwc2_hcd_get_future_frame_number() call

2016-01-22 Thread Douglas Anderson
("usb: dwc2: host: Properly set even/odd frame"). Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Add dwc2_hcd_get_future_frame_number() call new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/core.h | 4 driver

[PATCH v5 17/21] usb: dwc2: host: Schedule periodic right away if it's time

2016-01-22 Thread Douglas Anderson
In dwc2_hcd_qh_deactivate() we will put some things on the periodic_sched_ready list. These things won't be taken off the ready list until the next SOF, which might be a little late. Let's put them on right away. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5

[PATCH v5 08/21] usb: dwc2: host: Add scheduler tracing

2016-01-22 Thread Douglas Anderson
In preparation for future changes to the scheduler let's add some tracing that makes it easy for us to see what's happening. By default this tracing will be off. By changing "core.h" you can easily trace to ftrace, the console, or nowhere. Signed-off-by: Douglas Anderson <diand...

[PATCH v5 02/21] usb: dwc2: host: Get aligned DMA in a more supported way

2016-01-22 Thread Douglas Anderson
of removing the 65535 max transfer size limit. NOTE: The actual code to allocate the aligned buffers is ripped almost completely from the tegra EHCI driver. At some point in the future we may want to add this functionality to the USB core to share more code everywhere. Signed-off-by: Douglas Anderson

[PATCH v5 03/21] usb: dwc2: host: Set host_rx_fifo_size to 528 for rk3066

2016-01-22 Thread Douglas Anderson
seems like a simple fix and ought to fix someone. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Set host_rx_fifo_size to 528 for rk3066 new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/platform.c | 2 +- 1 file changed, 1

[PATCH v5 0/21] usb: dwc2: host: Fix and speed up all the stuff, especially with splits

2016-01-22 Thread Douglas Anderson
ma is not aligned (Julius Werner). - Periodic bandwidth release delay new for V2 - Commit message now says that URB giveback change needs delay change. - Totally rewrote uframe scheduler again after writing test code. - uframe scheduler atop delayed bandwidth release patches. Douglas Anderson (21): u

[PATCH v5 04/21] usb: dwc2: host: Set host_perio_tx_fifo_size to 304 for rk3066

2016-01-22 Thread Douglas Anderson
have been filled before where it no longer is. Signed-off-by: Douglas Anderson <diand...@chromium.org> --- Changes in v5: None Changes in v4: - Set host_perio_tx_fifo_size to 304 for rk3066 new for v4. Changes in v3: None Changes in v2: None drivers/usb/dwc2/platform.c | 2 +- 1 file chan

<    1   2   3   4   5   6   7   8   9   10   >