module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
-@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic
+@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic
*/
switch (hid->collection->usage) {
case HID_GD_MOUSE:
interval = hid_mousepoll_interval;
break;
case HID_GD_JOYSTICK:
-@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic
+@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic
interval = hid_kbpoll_interval;
break;
}
ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
if (ddc) {
panel->ddc = of_find_i2c_adapter_by_node(ddc);
-@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya
+@@ -2264,6 +2245,32 @@ static const struct panel_desc friendlya
},
};
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a
+@@ -2444,6 +2451,38 @@ static const struct panel_desc innolux_a
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
};
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_
+@@ -3857,6 +3896,31 @@ static const struct panel_desc rocktech_
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor
+@@ -4801,6 +4865,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
.compatible = "giantplus,gpg482739qs5",
.data = &giantplus_gpg482739qs5
}, {
-@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor
+@@ -4822,6 +4889,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
.compatible = "innolux,at070tn92",
.data = &innolux_at070tn92,
}, {
-@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor
+@@ -4981,6 +5051,9 @@ static const struct of_device_id platfor
.compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h,
}, {
.compatible = "rocktech,rk070er9427",
.data = &rocktech_rk070er9427,
}, {
-@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10
+@@ -5337,6 +5410,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4,
};
static const struct of_device_id dsi_of_match[] = {
{
.compatible = "auo,b080uan01",
-@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_
+@@ -5360,20 +5436,137 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts
}, {
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states);
+@@ -234,6 +234,27 @@ EXPORT_SYMBOL(node_states);
gfp_t gfp_allowed_mask __read_mostly = GFP_BOOT_MASK;
#ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
unsigned int pageblock_order __read_mostly;
#endif
-@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) {
/*
* Balance movable allocations between regular and CMA areas by
},
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1320,6 +1320,24 @@ static void dwc3_config_threshold(struct
+@@ -1322,6 +1322,24 @@ static void dwc3_config_threshold(struct
}
}
/**
* dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure
-@@ -1387,6 +1405,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1389,6 +1407,8 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_config_soc_bus(dwc);
ret = dwc3_phy_power_on(dwc);
if (ret)
goto err_exit_phy;
-@@ -1491,6 +1511,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1493,6 +1513,24 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_writel(dwc->regs, DWC3_LLUCTL, reg);
}
return 0;
err_power_off_phy:
-@@ -1676,6 +1714,7 @@ static void dwc3_get_properties(struct d
+@@ -1678,6 +1716,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num;
/* default to highest possible threshold */
lpm_nyet_threshold = 0xf;
-@@ -1696,6 +1735,9 @@ static void dwc3_get_properties(struct d
+@@ -1698,6 +1737,9 @@ static void dwc3_get_properties(struct d
*/
tx_fifo_resize_max_num = 6;
dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1810,6 +1852,9 @@ static void dwc3_get_properties(struct d
+@@ -1812,6 +1854,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk");
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
-@@ -1827,6 +1872,8 @@ static void dwc3_get_properties(struct d
+@@ -1829,6 +1874,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
}
-@@ -2185,6 +2232,12 @@ static int dwc3_probe(struct platform_de
+@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
if (IS_ERR(dwc->usb_psy))
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1337,6 +1341,7 @@ struct dwc3 {
+@@ -1338,6 +1342,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1486,6 +1486,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1488,6 +1488,9 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY)) {
if (dwc->maximum_speed == USB_SPEED_FULL ||
dwc->maximum_speed == USB_SPEED_HIGH)
-@@ -1832,6 +1835,8 @@ static void dwc3_get_properties(struct d
+@@ -1834,6 +1837,8 @@ static void dwc3_get_properties(struct d
"snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk");
* @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
* running based on ref_clk
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
-@@ -1385,6 +1388,7 @@ struct dwc3 {
+@@ -1386,6 +1389,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
#include <linux/numa_memblks.h>
+#include <linux/cma.h>
#include <asm/numa.h>
+ #include <acpi/acpi_numa.h>
- #define FAKE_NODE_MIN_SIZE ((u64)32 << 20)
-@@ -51,6 +52,7 @@ static int __init emu_setup_memblk(struc
+@@ -52,6 +53,7 @@ static int __init emu_setup_memblk(struc
{
struct numa_memblk *eb = &ei->blk[ei->nr_blks];
struct numa_memblk *pb = &pi->blk[phys_blk];
if (ei->nr_blks >= NR_NODE_MEMBLKS) {
pr_err("NUMA: Too many emulated memblks, failing emulation\n");
-@@ -62,6 +64,10 @@ static int __init emu_setup_memblk(struc
+@@ -63,6 +65,10 @@ static int __init emu_setup_memblk(struc
eb->end = pb->start + size;
eb->nid = nid;
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1480,6 +1480,12 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1482,6 +1482,12 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->dis_tx_ipgap_linecheck_quirk)
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
if (dwc->parkmode_disable_ss_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
-@@ -1831,6 +1837,10 @@ static void dwc3_get_properties(struct d
+@@ -1833,6 +1839,10 @@ static void dwc3_get_properties(struct d
"snps,resume-hs-terminations");
dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
"snps,ulpi-ext-vbus-drv");
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
* Superspeed instances.
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
-@@ -1386,6 +1390,8 @@ struct dwc3 {
+@@ -1387,6 +1391,8 @@ struct dwc3 {
unsigned dis_tx_ipgap_linecheck_quirk:1;
unsigned resume_hs_terminations:1;
unsigned ulpi_ext_vbus_drv:1;
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
-@@ -2106,6 +2106,7 @@ static void nvme_free_host_mem(struct nv
+@@ -2109,6 +2109,7 @@ static void nvme_free_host_mem(struct nv
dev->nr_host_mem_descs = 0;
}
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
u32 chunk_size)
{
-@@ -2174,9 +2175,11 @@ out:
+@@ -2177,9 +2178,11 @@ out:
dev->host_mem_descs = NULL;
return -ENOMEM;
}
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
u64 chunk_size;
-@@ -2189,6 +2192,7 @@ static int nvme_alloc_host_mem(struct nv
+@@ -2192,6 +2195,7 @@ static int nvme_alloc_host_mem(struct nv
nvme_free_host_mem(dev);
}
}
drivers/clk/clk-en7523.c | 93 ++++++++++++++--------------------------
1 file changed, 33 insertions(+), 60 deletions(-)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index fdd8ea989ed2..60dc938144d7 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -76,11 +76,6 @@ struct en_rst_data {
int (*hw_init)(struct platform_device *pdev,
struct clk_hw_onecell_data *clk_data);
};
-@@ -595,32 +590,6 @@ static void en7581_register_clocks(struct device *dev, struct clk_hw_onecell_dat
+@@ -596,32 +591,6 @@ static void en7581_register_clocks(struc
clk_data->num = EN7523_NUM_CLOCKS;
}
static int en7523_reset_update(struct reset_controller_dev *rcdev,
unsigned long id, bool assert)
{
-@@ -670,23 +639,18 @@ static int en7523_reset_xlate(struct reset_controller_dev *rcdev,
+@@ -671,23 +640,18 @@ static int en7523_reset_xlate(struct res
return rst_data->idx_map[reset_spec->args[0]];
}
base = devm_platform_ioremap_resource(pdev, 1);
if (IS_ERR(base))
return PTR_ERR(base);
-@@ -695,13 +659,13 @@ static int en7523_reset_register(struct platform_device *pdev,
+@@ -696,13 +660,13 @@ static int en7523_reset_register(struct
if (!rst_data)
return -ENOMEM;
rst_data->rcdev.of_node = dev->of_node;
rst_data->rcdev.of_reset_n_cells = 1;
rst_data->rcdev.owner = THIS_MODULE;
-@@ -710,6 +674,32 @@ static int en7523_reset_register(struct platform_device *pdev,
+@@ -711,6 +675,32 @@ static int en7523_reset_register(struct
return devm_reset_controller_register(dev, &rst_data->rcdev);
}
static int en7523_clk_probe(struct platform_device *pdev)
{
struct device_node *node = pdev->dev.of_node;
-@@ -728,19 +718,7 @@ static int en7523_clk_probe(struct platform_device *pdev)
+@@ -729,19 +719,7 @@ static int en7523_clk_probe(struct platf
if (r)
return r;
}
static const struct en_clk_soc_data en7523_data = {
-@@ -758,11 +736,6 @@ static const struct en_clk_soc_data en7581_data = {
+@@ -759,11 +737,6 @@ static const struct en_clk_soc_data en75
.enable = en7581_pci_enable,
.disable = en7581_pci_disable,
},
.hw_init = en7581_clk_hw_init,
};
---
-2.39.5
-
drivers/clk/clk-en7523.c | 32 +++++++++++++-------------------
1 file changed, 13 insertions(+), 19 deletions(-)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index 60dc938144d7..e52c5460e927 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -39,8 +39,8 @@
struct en_clk_desc {
int id;
-@@ -645,15 +645,9 @@ static const struct reset_control_ops en7581_reset_ops = {
+@@ -646,15 +646,9 @@ static const struct reset_control_ops en
.status = en7523_reset_status,
};
rst_data = devm_kzalloc(dev, sizeof(*rst_data), GFP_KERNEL);
if (!rst_data)
-@@ -677,27 +671,27 @@ static int en7581_reset_register(struct platform_device *pdev)
+@@ -678,27 +672,27 @@ static int en7581_reset_register(struct
static int en7581_clk_hw_init(struct platform_device *pdev,
struct clk_hw_onecell_data *clk_data)
{
}
static int en7523_clk_probe(struct platform_device *pdev)
---
-2.39.5
-
drivers/clk/clk-en7523.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index e52c5460e927..513730e5b953 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
-@@ -477,7 +477,6 @@ static int en7581_pci_enable(struct clk_hw *hw)
+@@ -478,7 +478,6 @@ static int en7581_pci_enable(struct clk_
REG_PCI_CONTROL_PERSTOUT;
val = readl(np_base + REG_PCI_CONTROL);
writel(val | mask, np_base + REG_PCI_CONTROL);
return 0;
}
---
-2.39.5
-
drivers/clk/clk-en7523.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index 495c0d607c7d..3a4b7ed40af4 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -75,6 +75,7 @@ struct en_rst_data {
const struct clk_ops pcie_ops;
int (*hw_init)(struct platform_device *pdev,
struct clk_hw_onecell_data *clk_data);
-@@ -504,8 +505,6 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_dat
+@@ -503,8 +504,6 @@ static void en7523_register_clocks(struc
u32 rate;
int i;
for (i = 0; i < ARRAY_SIZE(en7523_base_clks); i++) {
const struct en_clk_desc *desc = &en7523_base_clks[i];
u32 reg = desc->div_reg ? desc->div_reg : desc->base_reg;
-@@ -587,8 +586,6 @@ static void en7581_register_clocks(struct device *dev, struct clk_hw_onecell_dat
+@@ -586,8 +585,6 @@ static void en7581_register_clocks(struc
hw = en7523_register_pcie_clk(dev, base);
clk_data->hws[EN7523_CLK_PCIE] = hw;
}
static int en7523_reset_update(struct reset_controller_dev *rcdev,
-@@ -702,13 +699,15 @@ static int en7523_clk_probe(struct platform_device *pdev)
+@@ -701,13 +698,15 @@ static int en7523_clk_probe(struct platf
struct clk_hw_onecell_data *clk_data;
int r;
r = soc_data->hw_init(pdev, clk_data);
if (r)
return r;
-@@ -717,6 +716,7 @@ static int en7523_clk_probe(struct platform_device *pdev)
+@@ -716,6 +715,7 @@ static int en7523_clk_probe(struct platf
}
static const struct en_clk_soc_data en7523_data = {
.pcie_ops = {
.is_enabled = en7523_pci_is_enabled,
.prepare = en7523_pci_prepare,
-@@ -726,6 +726,8 @@ static const struct en_clk_soc_data en7523_data = {
+@@ -725,6 +725,8 @@ static const struct en_clk_soc_data en75
};
static const struct en_clk_soc_data en7581_data = {
.pcie_ops = {
.is_enabled = en7581_pci_is_enabled,
.enable = en7581_pci_enable,
---
-2.39.5
-
drivers/clk/clk-en7523.c | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index 3a4b7ed40af4..6a763bc9ac1a 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
-@@ -91,6 +91,7 @@ static const u32 emi7581_base[] = { 540000000, 480000000, 400000000, 300000000 }
+@@ -91,6 +91,7 @@ static const u32 emi7581_base[] = { 5400
static const u32 bus7581_base[] = { 600000000, 540000000 };
static const u32 npu7581_base[] = { 800000000, 750000000, 720000000, 600000000 };
static const u32 crypto_base[] = { 540000000, 480000000 };
static const struct en_clk_desc en7523_base_clks[] = {
{
-@@ -281,6 +282,15 @@ static const struct en_clk_desc en7581_base_clks[] = {
+@@ -281,6 +282,15 @@ static const struct en_clk_desc en7581_b
.base_shift = 0,
.base_values = crypto_base,
.n_base_values = ARRAY_SIZE(crypto_base),
}
};
---
-2.39.5
-
drivers/clk/clk-en7523.c | 64 ++++++++++++++++++++++++++++++++++++----
1 file changed, 59 insertions(+), 5 deletions(-)
-diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
-index 15bbdeb60b8e..08cc8e5acf43 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -9,6 +9,7 @@
static u32 en7523_get_base_rate(const struct en_clk_desc *desc, u32 val)
{
if (!desc->base_bits)
-@@ -552,7 +603,8 @@ static int en7523_clk_hw_init(struct platform_device *pdev,
+@@ -552,7 +603,8 @@ static int en7523_clk_hw_init(struct pla
en7523_register_clocks(&pdev->dev, clk_data, base, np_base);
}
static void en7581_register_clocks(struct device *dev, struct clk_hw_onecell_data *clk_data,
-@@ -652,7 +704,8 @@ static const struct reset_control_ops en7581_reset_ops = {
+@@ -652,7 +704,8 @@ static const struct reset_control_ops en
.status = en7523_reset_status,
};
{
struct en_rst_data *rst_data;
-@@ -661,10 +714,10 @@ static int en7581_reset_register(struct device *dev, void __iomem *base)
+@@ -661,10 +714,10 @@ static int en7581_reset_register(struct
return -ENOMEM;
rst_data->bank_ofs = en7581_rst_ofs;
rst_data->rcdev.of_xlate = en7523_reset_xlate;
rst_data->rcdev.ops = &en7581_reset_ops;
rst_data->rcdev.of_node = dev->of_node;
-@@ -698,7 +751,8 @@ static int en7581_clk_hw_init(struct platform_device *pdev,
+@@ -698,7 +751,8 @@ static int en7581_clk_hw_init(struct pla
val = readl(base + REG_NP_SCU_PCIC);
writel(val | 3, base + REG_NP_SCU_PCIC);
}
static int en7523_clk_probe(struct platform_device *pdev)
---
-2.39.5
-
Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
-index fe2c5c1baf43..a8471367175b 100644
--- a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
+++ b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
@@ -64,8 +64,6 @@ allOf:
- reg:
- minItems: 2
+ - description: scu base address
+ - description: misc scu base address
- '#reset-cells': false
-
- if:
properties:
compatible:
-@@ -85,6 +83,7 @@ examples:
+@@ -89,6 +87,7 @@ examples:
reg = <0x1fa20000 0x400>,
<0x1fb00000 0x1000>;
#clock-cells = <1>;
};
- |
---
-2.39.5
-
.../bindings/clock/airoha,en7523-scu.yaml | 23 +++++++------------
1 file changed, 8 insertions(+), 15 deletions(-)
-diff --git a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
-index 84353fd09428..fe2c5c1baf43 100644
--- a/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
+++ b/Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml
@@ -34,8 +34,10 @@ properties:
- - description: misc scu base address
+ minItems: 2
- '#reset-cells': false
-
-@@ -73,11 +73,7 @@ allOf:
+ - if:
+ properties:
+@@ -71,11 +71,7 @@ allOf:
then:
properties:
reg:
additionalProperties: false
-@@ -96,12 +92,9 @@ examples:
+@@ -95,12 +91,9 @@ examples:
#address-cells = <2>;
#size-cells = <2>;
#clock-cells = <1>;
#reset-cells = <1>;
};
---
-2.39.5
-
1 file changed, 61 insertions(+)
create mode 100644 include/dt-bindings/reset/airoha,en7523-reset.h
-diff --git a/include/dt-bindings/reset/airoha,en7523-reset.h b/include/dt-bindings/reset/airoha,en7523-reset.h
-new file mode 100644
-index 000000000000..211e8a23a21c
--- /dev/null
+++ b/include/dt-bindings/reset/airoha,en7523-reset.h
@@ -0,0 +1,61 @@
+#define EN7523_XPON_MAC_RST 41
+
+#endif /* __DT_BINDINGS_RESET_CONTROLLER_AIROHA_EN7523_H_ */
---
-2.39.5
-
include/dt-bindings/clock/en7523-clk.h | 2 --
1 file changed, 2 deletions(-)
-diff --git a/include/dt-bindings/clock/en7523-clk.h b/include/dt-bindings/clock/en7523-clk.h
-index 717d23a5e5ae..28e56745ccff 100644
--- a/include/dt-bindings/clock/en7523-clk.h
+++ b/include/dt-bindings/clock/en7523-clk.h
@@ -12,6 +12,4 @@
-#define EN7523_NUM_CLOCKS 8
-
#endif /* _DT_BINDINGS_CLOCK_AIROHA_EN7523_H_ */
---
-2.39.5
-
include/dt-bindings/clock/en7523-clk.h | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/include/dt-bindings/clock/en7523-clk.h b/include/dt-bindings/clock/en7523-clk.h
-index 28e56745ccff..edfa64045f52 100644
--- a/include/dt-bindings/clock/en7523-clk.h
+++ b/include/dt-bindings/clock/en7523-clk.h
@@ -12,4 +12,6 @@
+#define EN7581_CLK_EMMC 8
+
#endif /* _DT_BINDINGS_CLOCK_AIROHA_EN7523_H_ */
---
-2.39.5
-
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3671,6 +3671,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
}
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
-@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void)
+@@ -2197,10 +2197,12 @@ void __init init_mm_internals(void)
start_shepherd_timer();
#endif
#ifdef CONFIG_PROC_FS
-LINUX_VERSION-6.12 = .66
-LINUX_KERNEL_HASH-6.12.66 = ba3897a1c060b05a03cb4dda6f20d8c75e6f73c88b217744823a915056536eaf
+LINUX_VERSION-6.12 = .67
+LINUX_KERNEL_HASH-6.12.67 = 16805dc62e1fa5ef8a3f466f3f44a2efb171b5206d6840ced4ba5475cf12c432
| NETIF_F_HW_CSUM
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
-@@ -897,7 +897,7 @@ static int macvlan_hwtstamp_set(struct n
+@@ -903,7 +903,7 @@ static int macvlan_hwtstamp_set(struct n
static struct lock_class_key macvlan_netdev_addr_lock_key;
#define ALWAYS_ON_OFFLOADS \
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_regis
+@@ -433,7 +433,8 @@ static int rockchip_usb2phy_extcon_regis
rockchip_usb2phy_extcon_cable);
if (IS_ERR(edev))
+ "failed to allocate extcon device\n");
ret = devm_extcon_dev_register(rphy->dev, edev);
- if (ret) {
+ if (ret)
init.parent_names = &clk_name;
init.num_parents = 1;
} else {
-@@ -1407,11 +1425,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1408,16 +1426,26 @@ static int rockchip_usb2phy_probe(struct
if (IS_ERR(rphy->phy_reset))
return PTR_ERR(rphy->phy_reset);
+ rphy->num_clks = ret < 0 ? 0 : ret;
ret = rockchip_usb2phy_clk480m_register(rphy);
- if (ret) {
-@@ -1419,6 +1439,14 @@ static int rockchip_usb2phy_probe(struct
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "failed to register 480m output clock\n");
+ ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks);
+ if (ret)
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1524,6 +1524,30 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1521,6 +1521,30 @@ static int rk3128_usb2phy_tuning(struct
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
}
static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy)
{
int ret;
-@@ -1952,6 +1976,84 @@ static const struct rockchip_usb2phy_cfg
+@@ -1949,6 +1973,84 @@ static const struct rockchip_usb2phy_cfg
{ /* sentinel */ }
};
static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
{
.reg = 0x0000,
-@@ -2123,6 +2225,7 @@ static const struct of_device_id rockchi
+@@ -2120,6 +2222,7 @@ static const struct of_device_id rockchi
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
{ .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
}
static unsigned long
-@@ -577,7 +567,6 @@ static int rockchip_usb2phy_power_on(str
+@@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(str
{
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
int ret;
dev_dbg(&rport->phy->dev, "port power on\n");
-@@ -589,7 +578,7 @@ static int rockchip_usb2phy_power_on(str
+@@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(str
if (ret)
return ret;
if (ret) {
clk_disable_unprepare(rphy->clk480m);
return ret;
-@@ -618,7 +607,6 @@ static int rockchip_usb2phy_power_off(st
+@@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(st
{
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
int ret;
dev_dbg(&rport->phy->dev, "port power off\n");
-@@ -626,7 +614,7 @@ static int rockchip_usb2phy_power_off(st
+@@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(st
if (rport->suspended)
return 0;
if (ret)
return ret;
-@@ -790,28 +778,22 @@ static const char *chg_to_string(enum po
+@@ -787,28 +775,22 @@ static const char *chg_to_string(enum po
static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy,
bool en)
{
}
#define CHG_DCD_POLL_TIME (100 * HZ / 1000)
-@@ -823,7 +805,6 @@ static void rockchip_chg_detect_work(str
+@@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(str
struct rockchip_usb2phy_port *rport =
container_of(work, struct rockchip_usb2phy_port, chg_work.work);
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
- struct regmap *base = get_reg_base(rphy);
- bool is_dcd, tmout, vout;
+ bool is_dcd, tmout, vout, vbus_attach;
unsigned long delay;
@@ -834,7 +815,7 @@ static void rockchip_chg_detect_work(str
- if (!rport->suspended)
rockchip_usb2phy_power_off(rport->phy);
/* put the controller in non-driving mode */
-- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
-+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
+ if (!vbus_attach)
+- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
++ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
/* Start DCD processing stage 1 */
rockchip_chg_enable_dcd(rphy, true);
rphy->chg_state = USB_CHG_STATE_WAIT_FOR_DCD;
-@@ -897,7 +878,7 @@ static void rockchip_chg_detect_work(str
- fallthrough;
+@@ -898,7 +879,7 @@ static void rockchip_chg_detect_work(str
case USB_CHG_STATE_DETECTED:
/* put the controller in normal mode */
-- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
-+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
+ if (!vbus_attach)
+- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
++ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work);
dev_dbg(&rport->phy->dev, "charger = %s\n",
chg_to_string(rphy->chg_type));
-@@ -1352,29 +1333,14 @@ static int rockchip_usb2phy_probe(struct
+@@ -1353,29 +1334,14 @@ static int rockchip_usb2phy_probe(struct
if (!rphy)
return -ENOMEM;
}
static unsigned long
-@@ -1335,9 +1360,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1336,9 +1361,13 @@ static int rockchip_usb2phy_probe(struct
if (!dev->parent || !dev->parent->of_node ||
of_property_present(np, "rockchip,usbgrf")) {
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1519,6 +1519,28 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1516,6 +1516,28 @@ static int rk3128_usb2phy_tuning(struct
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
}
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
{
int ret;
-@@ -1901,6 +1923,57 @@ static const struct rockchip_usb2phy_cfg
+@@ -1898,6 +1920,57 @@ static const struct rockchip_usb2phy_cfg
{ /* sentinel */ }
};
static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
{
.reg = 0xfe8a0000,
-@@ -2219,6 +2292,7 @@ static const struct of_device_id rockchi
+@@ -2216,6 +2289,7 @@ static const struct of_device_id rockchi
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },