kernel: bump 5.4 to 5.4.75
Manually rebased patches:
bcm27xx:
patches-5.4/950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
bcm53xx:
patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
layerscape:
patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch
patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
Removed since could be reverse-applied by quilt:
mediatek:
patches-5.4/0700-arm-dts-mt7623-add-missing-pause-for-switchport.patch
All modifications made by update_kernel.sh
Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64
Run-tested: ipq806x/R7800, x86_64
No dmesg regressions, everything functional
Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64]
Rebase of 802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
This commit is contained in:
committed by
Adrian Schmutzler
parent
d4521fb132
commit
a47279154e
@@ -22,7 +22,7 @@ Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
|
||||
|
||||
--- a/drivers/bus/fsl-mc/mc-io.c
|
||||
+++ b/drivers/bus/fsl-mc/mc-io.c
|
||||
@@ -169,14 +169,16 @@ int __must_check fsl_mc_portal_allocate(
|
||||
@@ -174,14 +174,16 @@ int __must_check fsl_mc_portal_allocate(
|
||||
int error = -EINVAL;
|
||||
struct fsl_mc_resource *resource = NULL;
|
||||
struct fsl_mc_io *mc_io = NULL;
|
||||
|
||||
@@ -28,57 +28,21 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
#define DRV_NAME "flexcan"
|
||||
@@ -1942,7 +1943,7 @@ static int __maybe_unused flexcan_suspen
|
||||
{
|
||||
struct net_device *dev = dev_get_drvdata(device);
|
||||
struct flexcan_priv *priv = netdev_priv(dev);
|
||||
- int err = 0;
|
||||
+ int err;
|
||||
|
||||
if (netif_running(dev)) {
|
||||
/* if wakeup is enabled, enter stop mode
|
||||
@@ -1954,25 +1955,27 @@ static int __maybe_unused flexcan_suspen
|
||||
@@ -1954,9 +1955,7 @@ static int __maybe_unused flexcan_suspen
|
||||
if (err)
|
||||
return err;
|
||||
} else {
|
||||
- err = flexcan_chip_disable(priv);
|
||||
- if (err)
|
||||
- return err;
|
||||
+ flexcan_chip_stop(dev);
|
||||
+
|
||||
+ err = pm_runtime_force_suspend(device);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
- err = pm_runtime_force_suspend(device);
|
||||
+ pinctrl_pm_select_sleep_state(device);
|
||||
}
|
||||
netif_stop_queue(dev);
|
||||
netif_device_detach(dev);
|
||||
}
|
||||
priv->can.state = CAN_STATE_SLEEPING;
|
||||
|
||||
- return err;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int __maybe_unused flexcan_resume(struct device *device)
|
||||
{
|
||||
struct net_device *dev = dev_get_drvdata(device);
|
||||
struct flexcan_priv *priv = netdev_priv(dev);
|
||||
- int err = 0;
|
||||
+ int err;
|
||||
|
||||
priv->can.state = CAN_STATE_ERROR_ACTIVE;
|
||||
if (netif_running(dev)) {
|
||||
@@ -1984,15 +1987,19 @@ static int __maybe_unused flexcan_resume
|
||||
@@ -1982,7 +1981,9 @@ static int __maybe_unused flexcan_resume
|
||||
if (err)
|
||||
return err;
|
||||
} else {
|
||||
+ pinctrl_pm_select_default_state(device);
|
||||
+
|
||||
err = pm_runtime_force_resume(device);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
- err = flexcan_chip_enable(priv);
|
||||
+ err = flexcan_chip_start(dev);
|
||||
+ if (err)
|
||||
@@ -86,8 +50,3 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
||||
}
|
||||
}
|
||||
|
||||
- return err;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int __maybe_unused flexcan_runtime_suspend(struct device *device)
|
||||
|
||||
@@ -17,13 +17,13 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
|
||||
|
||||
--- a/drivers/i2c/busses/i2c-imx.c
|
||||
+++ b/drivers/i2c/busses/i2c-imx.c
|
||||
@@ -1113,7 +1113,8 @@ static int i2c_imx_probe(struct platform
|
||||
}
|
||||
@@ -1131,7 +1131,8 @@ static int i2c_imx_probe(struct platform
|
||||
goto rpm_disable;
|
||||
|
||||
/* Request IRQ */
|
||||
- ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, IRQF_SHARED,
|
||||
+ ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr,
|
||||
+ IRQF_SHARED | IRQF_NO_SUSPEND,
|
||||
pdev->name, i2c_imx);
|
||||
- ret = request_threaded_irq(irq, i2c_imx_isr, NULL, IRQF_SHARED,
|
||||
+ ret = request_threaded_irq(irq, i2c_imx_isr, NULL,
|
||||
+ IRQF_SHARED | IRQF_NO_SUSPEND,
|
||||
pdev->name, i2c_imx);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "can't claim irq %d\n", irq);
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
|
||||
|
||||
--- a/drivers/i2c/busses/i2c-imx.c
|
||||
+++ b/drivers/i2c/busses/i2c-imx.c
|
||||
@@ -1227,7 +1227,8 @@ static int __maybe_unused i2c_imx_runtim
|
||||
@@ -1229,7 +1229,8 @@ static int __maybe_unused i2c_imx_runtim
|
||||
{
|
||||
struct imx_i2c_struct *i2c_imx = dev_get_drvdata(dev);
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1237,14 +1238,28 @@ static int __maybe_unused i2c_imx_runtim
|
||||
@@ -1239,14 +1240,28 @@ static int __maybe_unused i2c_imx_runtim
|
||||
struct imx_i2c_struct *i2c_imx = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
|
||||
dev_dbg(&i2c_imx->adapter.dev, "<%s> exit with: %s: %d\n", __func__,
|
||||
(result < 0) ? "error" : "success msg",
|
||||
(result < 0) ? result : num);
|
||||
@@ -1259,7 +1269,7 @@ static int i2c_imx_resume(struct device
|
||||
@@ -1261,7 +1271,7 @@ static int i2c_imx_resume(struct device
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops i2c_imx_pm_ops = {
|
||||
|
||||
@@ -67,4 +67,4 @@ Signed-off-by: Peng Ma <peng.ma@nxp.com>
|
||||
+ i2c_del_adapter(&i2c_imx->adapter);
|
||||
clk_notifier_unregister:
|
||||
clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb);
|
||||
rpm_disable:
|
||||
free_irq(irq, i2c_imx);
|
||||
|
||||
@@ -68,7 +68,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
||||
*window_start = 8 * esdhc->div_ratio;
|
||||
*window_end = 4 * esdhc->div_ratio;
|
||||
} else {
|
||||
@@ -1050,6 +1050,19 @@ static int esdhc_execute_tuning(struct m
|
||||
@@ -1061,6 +1061,19 @@ static int esdhc_execute_tuning(struct m
|
||||
if (ret)
|
||||
break;
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
dwc->sysdev_is_parent = device_property_read_bool(dev,
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -953,6 +953,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -954,6 +954,7 @@ struct dwc3_scratchpad_array {
|
||||
* @nr_scratch: number of scratch buffers
|
||||
* @u1u2: only used on revisions <1.83a for workaround
|
||||
* @maximum_speed: maximum speed requested (mainly for testing purposes)
|
||||
@@ -44,7 +44,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* @revision: revision register contents
|
||||
* @version_type: VERSIONTYPE register contents, a sub release of a revision
|
||||
* @dr_mode: requested mode of operation
|
||||
@@ -1109,6 +1110,7 @@ struct dwc3 {
|
||||
@@ -1110,6 +1111,7 @@ struct dwc3 {
|
||||
u32 nr_scratch;
|
||||
u32 u1u2;
|
||||
u32 maximum_speed;
|
||||
@@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* All 3.1 IP version constants are greater than the 3.0 IP
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -3495,6 +3495,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -3525,6 +3525,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
dwc->gadget.sg_supported = true;
|
||||
dwc->gadget.name = "dwc3-gadget";
|
||||
dwc->gadget.lpm_capable = true;
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
||||
#include <linux/ulpi/interface.h>
|
||||
|
||||
#include <linux/phy/phy.h>
|
||||
@@ -1094,6 +1095,7 @@ struct dwc3 {
|
||||
@@ -1095,6 +1096,7 @@ struct dwc3 {
|
||||
void __iomem *regs;
|
||||
size_t regs_size;
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ Reviewed-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -1046,6 +1046,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1047,6 +1047,8 @@ struct dwc3_scratchpad_array {
|
||||
* 3 - Reserved
|
||||
* @dis_metastability_quirk: set to disable metastability quirk.
|
||||
* @dis_split_quirk: set to disable split boundary.
|
||||
@@ -53,7 +53,7 @@ Reviewed-by: Peter Chen <peter.chen@nxp.com>
|
||||
* @imod_interval: set the interrupt moderation interval in 250ns
|
||||
* increments or 0 to disable.
|
||||
*/
|
||||
@@ -1241,6 +1243,8 @@ struct dwc3 {
|
||||
@@ -1242,6 +1244,8 @@ struct dwc3 {
|
||||
|
||||
unsigned dis_split_quirk:1;
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ Reviewed-by: Jun Li <jun.li@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1920,12 +1972,9 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1931,12 +1983,9 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* bursts that are required to move all packets in this TD. Only SuperSpeed
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5361,6 +5361,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5364,6 +5364,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
|
||||
.find_raw_port_number = xhci_find_raw_port_number,
|
||||
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
|
||||
@@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
void xhci_init_driver(struct hc_driver *drv,
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -2143,6 +2143,16 @@ int xhci_find_raw_port_number(struct usb
|
||||
@@ -2144,6 +2144,16 @@ int xhci_find_raw_port_number(struct usb
|
||||
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
|
||||
|
||||
void xhci_hc_died(struct xhci_hcd *xhci);
|
||||
|
||||
@@ -37,6 +37,6 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
+#define XHCI_CDNS_HOST BIT_ULL(36)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5378,6 +5378,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
@@ -5381,6 +5381,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
drv->reset = over->reset;
|
||||
if (over->start)
|
||||
drv->start = over->start;
|
||||
@@ -35,7 +35,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
EXPORT_SYMBOL_GPL(xhci_init_driver);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1911,6 +1911,7 @@ struct xhci_driver_overrides {
|
||||
@@ -1912,6 +1912,7 @@ struct xhci_driver_overrides {
|
||||
size_t extra_priv_size;
|
||||
int (*reset)(struct usb_hcd *hcd);
|
||||
int (*start)(struct usb_hcd *hcd);
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1972,9 +1920,12 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1983,9 +1931,12 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
@@ -108,7 +108,7 @@ Reviewed-by: Jun Li <jun.li@nxp.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1920,12 +1971,16 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
@@ -1931,12 +1982,16 @@ static const struct dev_pm_ops dwc3_dev_
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id of_dwc3_match[] = {
|
||||
|
||||
Reference in New Issue
Block a user