From: Greg Kroah-Hartman Date: Mon, 19 May 2025 16:02:40 +0000 (+0200) Subject: drop renesas rcar patch from older kernels as it broke the build X-Git-Tag: v5.15.184~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=da45439054c7a27218e1faeb2bc111943c3e98ab;p=thirdparty%2Fkernel%2Fstable-queue.git drop renesas rcar patch from older kernels as it broke the build --- diff --git a/queue-5.10/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch b/queue-5.10/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch deleted file mode 100644 index a2bf73e183..0000000000 --- a/queue-5.10/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 54c4c58713aaff76c2422ff5750e557ab3b100d7 Mon Sep 17 00:00:00 2001 -From: Claudiu Beznea -Date: Wed, 7 May 2025 15:50:28 +0300 -Subject: phy: renesas: rcar-gen3-usb2: Fix role detection on unbind/bind - -From: Claudiu Beznea - -commit 54c4c58713aaff76c2422ff5750e557ab3b100d7 upstream. - -It has been observed on the Renesas RZ/G3S SoC that unbinding and binding -the PHY driver leads to role autodetection failures. This issue occurs when -PHY 3 is the first initialized PHY. PHY 3 does not have an interrupt -associated with the USB2_INT_ENABLE register (as -rcar_gen3_int_enable[3] = 0). As a result, rcar_gen3_init_otg() is called -to initialize OTG without enabling PHY interrupts. - -To resolve this, add rcar_gen3_is_any_otg_rphy_initialized() and call it in -role_store(), role_show(), and rcar_gen3_init_otg(). At the same time, -rcar_gen3_init_otg() is only called when initialization for a PHY with -interrupt bits is in progress. As a result, the -struct rcar_gen3_phy::otg_initialized is no longer needed. - -Fixes: 549b6b55b005 ("phy: renesas: rcar-gen3-usb2: enable/disable independent irqs") -Cc: stable@vger.kernel.org -Reviewed-by: Yoshihiro Shimoda -Tested-by: Yoshihiro Shimoda -Reviewed-by: Lad Prabhakar -Signed-off-by: Claudiu Beznea -Link: https://lore.kernel.org/r/20250507125032.565017-2-claudiu.beznea.uj@bp.renesas.com -Signed-off-by: Vinod Koul -Signed-off-by: Greg Kroah-Hartman ---- - drivers/phy/renesas/phy-rcar-gen3-usb2.c | 33 +++++++++++++------------------ - 1 file changed, 14 insertions(+), 19 deletions(-) - ---- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c -+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -98,7 +98,6 @@ struct rcar_gen3_phy { - struct rcar_gen3_chan *ch; - u32 int_enable_bits; - bool initialized; -- bool otg_initialized; - bool powered; - }; - -@@ -288,16 +287,15 @@ static bool rcar_gen3_is_any_rphy_initia - return false; - } - --static bool rcar_gen3_needs_init_otg(struct rcar_gen3_chan *ch) -+static bool rcar_gen3_is_any_otg_rphy_initialized(struct rcar_gen3_chan *ch) - { -- int i; -- -- for (i = 0; i < NUM_OF_PHYS; i++) { -- if (ch->rphys[i].otg_initialized) -- return false; -+ for (enum rcar_gen3_phy_index i = PHY_INDEX_BOTH_HC; i <= PHY_INDEX_EHCI; -+ i++) { -+ if (ch->rphys[i].initialized) -+ return true; - } - -- return true; -+ return false; - } - - static bool rcar_gen3_are_all_rphys_power_off(struct rcar_gen3_chan *ch) -@@ -319,7 +317,7 @@ static ssize_t role_store(struct device - bool is_b_device; - enum phy_mode cur_mode, new_mode; - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - if (sysfs_streq(buf, "host")) -@@ -357,7 +355,7 @@ static ssize_t role_show(struct device * - { - struct rcar_gen3_chan *ch = dev_get_drvdata(dev); - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" : -@@ -370,6 +368,9 @@ static void rcar_gen3_init_otg(struct rc - void __iomem *usb2_base = ch->base; - u32 val; - -+ if (!ch->is_otg_channel || rcar_gen3_is_any_otg_rphy_initialized(ch)) -+ return; -+ - /* Should not use functions of read-modify-write a register */ - val = readl(usb2_base + USB2_LINECTRL1); - val = (val & ~USB2_LINECTRL1_DP_RPD) | USB2_LINECTRL1_DPRPD_EN | -@@ -432,12 +433,9 @@ static int rcar_gen3_phy_usb2_init(struc - writel(USB2_SPD_RSM_TIMSET_INIT, usb2_base + USB2_SPD_RSM_TIMSET); - writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); - -- /* Initialize otg part */ -- if (channel->is_otg_channel) { -- if (rcar_gen3_needs_init_otg(channel)) -- rcar_gen3_init_otg(channel); -- rphy->otg_initialized = true; -- } -+ /* Initialize otg part (only if we initialize a PHY with IRQs). */ -+ if (rphy->int_enable_bits) -+ rcar_gen3_init_otg(channel); - - rphy->initialized = true; - -@@ -453,9 +451,6 @@ static int rcar_gen3_phy_usb2_exit(struc - - rphy->initialized = false; - -- if (channel->is_otg_channel) -- rphy->otg_initialized = false; -- - val = readl(usb2_base + USB2_INT_ENABLE); - val &= ~rphy->int_enable_bits; - if (!rcar_gen3_is_any_rphy_initialized(channel)) diff --git a/queue-5.10/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch b/queue-5.10/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch index c6b6fb6090..9f08a3ccf9 100644 --- a/queue-5.10/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch +++ b/queue-5.10/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -430,8 +430,11 @@ static int rcar_gen3_phy_usb2_init(struc +@@ -429,8 +429,11 @@ static int rcar_gen3_phy_usb2_init(struc val = readl(usb2_base + USB2_INT_ENABLE); val |= USB2_INT_ENABLE_UCOM_INTEN | rphy->int_enable_bits; writel(val, usb2_base + USB2_INT_ENABLE); @@ -38,5 +38,5 @@ Signed-off-by: Greg Kroah-Hartman + writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); + } - /* Initialize otg part (only if we initialize a PHY with IRQs). */ - if (rphy->int_enable_bits) + /* Initialize otg part */ + if (channel->is_otg_channel) { diff --git a/queue-5.10/series b/queue-5.10/series index 20f7c692dd..aebcf178de 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -97,7 +97,6 @@ acpi-pptt-fix-processor-subtable-walk.patch alsa-es1968-add-error-handling-for-snd_pcm_hw_constraint_pow2.patch tracing-samples-initialize-trace_array_printk-with-the-correct-function.patch phy-fix-error-handling-in-tegra_xusb_port_init.patch -phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch wifi-mt76-disable-napi-on-driver-removal.patch dmaengine-ti-k3-udma-add-missing-locking.patch diff --git a/queue-5.15/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch b/queue-5.15/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch deleted file mode 100644 index 77976eaaac..0000000000 --- a/queue-5.15/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 54c4c58713aaff76c2422ff5750e557ab3b100d7 Mon Sep 17 00:00:00 2001 -From: Claudiu Beznea -Date: Wed, 7 May 2025 15:50:28 +0300 -Subject: phy: renesas: rcar-gen3-usb2: Fix role detection on unbind/bind - -From: Claudiu Beznea - -commit 54c4c58713aaff76c2422ff5750e557ab3b100d7 upstream. - -It has been observed on the Renesas RZ/G3S SoC that unbinding and binding -the PHY driver leads to role autodetection failures. This issue occurs when -PHY 3 is the first initialized PHY. PHY 3 does not have an interrupt -associated with the USB2_INT_ENABLE register (as -rcar_gen3_int_enable[3] = 0). As a result, rcar_gen3_init_otg() is called -to initialize OTG without enabling PHY interrupts. - -To resolve this, add rcar_gen3_is_any_otg_rphy_initialized() and call it in -role_store(), role_show(), and rcar_gen3_init_otg(). At the same time, -rcar_gen3_init_otg() is only called when initialization for a PHY with -interrupt bits is in progress. As a result, the -struct rcar_gen3_phy::otg_initialized is no longer needed. - -Fixes: 549b6b55b005 ("phy: renesas: rcar-gen3-usb2: enable/disable independent irqs") -Cc: stable@vger.kernel.org -Reviewed-by: Yoshihiro Shimoda -Tested-by: Yoshihiro Shimoda -Reviewed-by: Lad Prabhakar -Signed-off-by: Claudiu Beznea -Link: https://lore.kernel.org/r/20250507125032.565017-2-claudiu.beznea.uj@bp.renesas.com -Signed-off-by: Vinod Koul -Signed-off-by: Greg Kroah-Hartman ---- - drivers/phy/renesas/phy-rcar-gen3-usb2.c | 33 +++++++++++++------------------ - 1 file changed, 14 insertions(+), 19 deletions(-) - ---- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c -+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -103,7 +103,6 @@ struct rcar_gen3_phy { - struct rcar_gen3_chan *ch; - u32 int_enable_bits; - bool initialized; -- bool otg_initialized; - bool powered; - }; - -@@ -311,16 +310,15 @@ static bool rcar_gen3_is_any_rphy_initia - return false; - } - --static bool rcar_gen3_needs_init_otg(struct rcar_gen3_chan *ch) -+static bool rcar_gen3_is_any_otg_rphy_initialized(struct rcar_gen3_chan *ch) - { -- int i; -- -- for (i = 0; i < NUM_OF_PHYS; i++) { -- if (ch->rphys[i].otg_initialized) -- return false; -+ for (enum rcar_gen3_phy_index i = PHY_INDEX_BOTH_HC; i <= PHY_INDEX_EHCI; -+ i++) { -+ if (ch->rphys[i].initialized) -+ return true; - } - -- return true; -+ return false; - } - - static bool rcar_gen3_are_all_rphys_power_off(struct rcar_gen3_chan *ch) -@@ -342,7 +340,7 @@ static ssize_t role_store(struct device - bool is_b_device; - enum phy_mode cur_mode, new_mode; - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - if (sysfs_streq(buf, "host")) -@@ -380,7 +378,7 @@ static ssize_t role_show(struct device * - { - struct rcar_gen3_chan *ch = dev_get_drvdata(dev); - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" : -@@ -393,6 +391,9 @@ static void rcar_gen3_init_otg(struct rc - void __iomem *usb2_base = ch->base; - u32 val; - -+ if (!ch->is_otg_channel || rcar_gen3_is_any_otg_rphy_initialized(ch)) -+ return; -+ - /* Should not use functions of read-modify-write a register */ - val = readl(usb2_base + USB2_LINECTRL1); - val = (val & ~USB2_LINECTRL1_DP_RPD) | USB2_LINECTRL1_DPRPD_EN | -@@ -456,12 +457,9 @@ static int rcar_gen3_phy_usb2_init(struc - writel(USB2_SPD_RSM_TIMSET_INIT, usb2_base + USB2_SPD_RSM_TIMSET); - writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); - -- /* Initialize otg part */ -- if (channel->is_otg_channel) { -- if (rcar_gen3_needs_init_otg(channel)) -- rcar_gen3_init_otg(channel); -- rphy->otg_initialized = true; -- } -+ /* Initialize otg part (only if we initialize a PHY with IRQs). */ -+ if (rphy->int_enable_bits) -+ rcar_gen3_init_otg(channel); - - rphy->initialized = true; - -@@ -477,9 +475,6 @@ static int rcar_gen3_phy_usb2_exit(struc - - rphy->initialized = false; - -- if (channel->is_otg_channel) -- rphy->otg_initialized = false; -- - val = readl(usb2_base + USB2_INT_ENABLE); - val &= ~rphy->int_enable_bits; - if (!rcar_gen3_is_any_rphy_initialized(channel)) diff --git a/queue-5.15/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch b/queue-5.15/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch index 0a0d9631f5..53c2750e5d 100644 --- a/queue-5.15/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch +++ b/queue-5.15/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -454,8 +454,11 @@ static int rcar_gen3_phy_usb2_init(struc +@@ -453,8 +453,11 @@ static int rcar_gen3_phy_usb2_init(struc val = readl(usb2_base + USB2_INT_ENABLE); val |= USB2_INT_ENABLE_UCOM_INTEN | rphy->int_enable_bits; writel(val, usb2_base + USB2_INT_ENABLE); @@ -38,5 +38,5 @@ Signed-off-by: Greg Kroah-Hartman + writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); + } - /* Initialize otg part (only if we initialize a PHY with IRQs). */ - if (rphy->int_enable_bits) + /* Initialize otg part */ + if (channel->is_otg_channel) { diff --git a/queue-5.15/series b/queue-5.15/series index 6bf21ad815..7c0c400610 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -37,7 +37,6 @@ ftrace-fix-preemption-accounting-for-stacktrace-trigger-command.patch ftrace-fix-preemption-accounting-for-stacktrace-filter-command.patch tracing-samples-initialize-trace_array_printk-with-the-correct-function.patch phy-fix-error-handling-in-tegra_xusb_port_init.patch -phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch wifi-mt76-disable-napi-on-driver-removal.patch dmaengine-ti-k3-udma-add-missing-locking.patch diff --git a/queue-5.4/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch b/queue-5.4/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch deleted file mode 100644 index dcad9380dd..0000000000 --- a/queue-5.4/phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 54c4c58713aaff76c2422ff5750e557ab3b100d7 Mon Sep 17 00:00:00 2001 -From: Claudiu Beznea -Date: Wed, 7 May 2025 15:50:28 +0300 -Subject: phy: renesas: rcar-gen3-usb2: Fix role detection on unbind/bind - -From: Claudiu Beznea - -commit 54c4c58713aaff76c2422ff5750e557ab3b100d7 upstream. - -It has been observed on the Renesas RZ/G3S SoC that unbinding and binding -the PHY driver leads to role autodetection failures. This issue occurs when -PHY 3 is the first initialized PHY. PHY 3 does not have an interrupt -associated with the USB2_INT_ENABLE register (as -rcar_gen3_int_enable[3] = 0). As a result, rcar_gen3_init_otg() is called -to initialize OTG without enabling PHY interrupts. - -To resolve this, add rcar_gen3_is_any_otg_rphy_initialized() and call it in -role_store(), role_show(), and rcar_gen3_init_otg(). At the same time, -rcar_gen3_init_otg() is only called when initialization for a PHY with -interrupt bits is in progress. As a result, the -struct rcar_gen3_phy::otg_initialized is no longer needed. - -Fixes: 549b6b55b005 ("phy: renesas: rcar-gen3-usb2: enable/disable independent irqs") -Cc: stable@vger.kernel.org -Reviewed-by: Yoshihiro Shimoda -Tested-by: Yoshihiro Shimoda -Reviewed-by: Lad Prabhakar -Signed-off-by: Claudiu Beznea -Link: https://lore.kernel.org/r/20250507125032.565017-2-claudiu.beznea.uj@bp.renesas.com -Signed-off-by: Vinod Koul -Signed-off-by: Greg Kroah-Hartman ---- - drivers/phy/renesas/phy-rcar-gen3-usb2.c | 33 +++++++++++++------------------ - 1 file changed, 14 insertions(+), 19 deletions(-) - ---- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c -+++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -98,7 +98,6 @@ struct rcar_gen3_phy { - struct rcar_gen3_chan *ch; - u32 int_enable_bits; - bool initialized; -- bool otg_initialized; - bool powered; - }; - -@@ -288,16 +287,15 @@ static bool rcar_gen3_is_any_rphy_initia - return false; - } - --static bool rcar_gen3_needs_init_otg(struct rcar_gen3_chan *ch) -+static bool rcar_gen3_is_any_otg_rphy_initialized(struct rcar_gen3_chan *ch) - { -- int i; -- -- for (i = 0; i < NUM_OF_PHYS; i++) { -- if (ch->rphys[i].otg_initialized) -- return false; -+ for (enum rcar_gen3_phy_index i = PHY_INDEX_BOTH_HC; i <= PHY_INDEX_EHCI; -+ i++) { -+ if (ch->rphys[i].initialized) -+ return true; - } - -- return true; -+ return false; - } - - static bool rcar_gen3_are_all_rphys_power_off(struct rcar_gen3_chan *ch) -@@ -319,7 +317,7 @@ static ssize_t role_store(struct device - bool is_b_device; - enum phy_mode cur_mode, new_mode; - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - if (sysfs_streq(buf, "host")) -@@ -357,7 +355,7 @@ static ssize_t role_show(struct device * - { - struct rcar_gen3_chan *ch = dev_get_drvdata(dev); - -- if (!ch->is_otg_channel || !rcar_gen3_is_any_rphy_initialized(ch)) -+ if (!ch->is_otg_channel || !rcar_gen3_is_any_otg_rphy_initialized(ch)) - return -EIO; - - return sprintf(buf, "%s\n", rcar_gen3_is_host(ch) ? "host" : -@@ -370,6 +368,9 @@ static void rcar_gen3_init_otg(struct rc - void __iomem *usb2_base = ch->base; - u32 val; - -+ if (!ch->is_otg_channel || rcar_gen3_is_any_otg_rphy_initialized(ch)) -+ return; -+ - /* Should not use functions of read-modify-write a register */ - val = readl(usb2_base + USB2_LINECTRL1); - val = (val & ~USB2_LINECTRL1_DP_RPD) | USB2_LINECTRL1_DPRPD_EN | -@@ -430,12 +431,9 @@ static int rcar_gen3_phy_usb2_init(struc - writel(USB2_SPD_RSM_TIMSET_INIT, usb2_base + USB2_SPD_RSM_TIMSET); - writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); - -- /* Initialize otg part */ -- if (channel->is_otg_channel) { -- if (rcar_gen3_needs_init_otg(channel)) -- rcar_gen3_init_otg(channel); -- rphy->otg_initialized = true; -- } -+ /* Initialize otg part (only if we initialize a PHY with IRQs). */ -+ if (rphy->int_enable_bits) -+ rcar_gen3_init_otg(channel); - - rphy->initialized = true; - -@@ -451,9 +449,6 @@ static int rcar_gen3_phy_usb2_exit(struc - - rphy->initialized = false; - -- if (channel->is_otg_channel) -- rphy->otg_initialized = false; -- - val = readl(usb2_base + USB2_INT_ENABLE); - val &= ~rphy->int_enable_bits; - if (!rcar_gen3_is_any_rphy_initialized(channel)) diff --git a/queue-5.4/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch b/queue-5.4/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch index 38cb079579..94ebe9d237 100644 --- a/queue-5.4/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch +++ b/queue-5.4/phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c -@@ -428,8 +428,11 @@ static int rcar_gen3_phy_usb2_init(struc +@@ -427,8 +427,11 @@ static int rcar_gen3_phy_usb2_init(struc val = readl(usb2_base + USB2_INT_ENABLE); val |= USB2_INT_ENABLE_UCOM_INTEN | rphy->int_enable_bits; writel(val, usb2_base + USB2_INT_ENABLE); @@ -38,5 +38,5 @@ Signed-off-by: Greg Kroah-Hartman + writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET); + } - /* Initialize otg part (only if we initialize a PHY with IRQs). */ - if (rphy->int_enable_bits) + /* Initialize otg part */ + if (channel->is_otg_channel) { diff --git a/queue-5.4/series b/queue-5.4/series index 830ff745ea..9121330090 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -78,5 +78,4 @@ dmaengine-revert-dmaengine-dmatest-fix-dmatest-waiting-less-when-interrupted.pat acpi-pptt-fix-processor-subtable-walk.patch alsa-es1968-add-error-handling-for-snd_pcm_hw_constraint_pow2.patch phy-fix-error-handling-in-tegra_xusb_port_init.patch -phy-renesas-rcar-gen3-usb2-fix-role-detection-on-unbind-bind.patch phy-renesas-rcar-gen3-usb2-set-timing-registers-only-once.patch