diff --git a/linux-5.10/rk3568_patch/kernel.patch b/linux-5.10/rk3568_patch/kernel.patch index dcbf6262a656c1a7e63bb01cbab593615d3757c3..6ee10afd39e7c19d4ed86408e24b56692d7e8606 100644 --- a/linux-5.10/rk3568_patch/kernel.patch +++ b/linux-5.10/rk3568_patch/kernel.patch @@ -456,7 +456,7 @@ index 7f94669e9..346e466c2 100644 region. - interrupts : The interrupt number to the cpu. The interrupt specifier format diff --git a/Makefile b/Makefile -index 8ae72cc7d..ba3d542a9 100644 +index 93ef6b257..23e94234b 100644 --- a/Makefile +++ b/Makefile @@ -494,7 +494,7 @@ LINUXINCLUDE := \ @@ -103601,10 +103601,10 @@ index 4999caff3..b47d477f4 100644 * UpdateCapsule() depends on the system being reset via * ResetSystem(). diff --git a/drivers/Kconfig b/drivers/Kconfig -index 12e0cceac..e683e9f1e 100644 +index 3584901f1..753f7ba51 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig -@@ -244,4 +244,7 @@ source "drivers/accesstokenid/Kconfig" +@@ -242,4 +242,7 @@ source "drivers/accesstokenid/Kconfig" source "drivers/hooks/Kconfig" @@ -103613,10 +103613,10 @@ index 12e0cceac..e683e9f1e 100644 +source "drivers/rk_nand/Kconfig" endmenu diff --git a/drivers/Makefile b/drivers/Makefile -index 8ec75883a..5ffe117f9 100644 +index f13d70df6..3ec690272 100644 --- a/drivers/Makefile +++ b/drivers/Makefile -@@ -195,3 +195,5 @@ obj-$(CONFIG_DRIVERS_HDF) += hdf/ +@@ -194,3 +194,5 @@ obj-$(CONFIG_COUNTER) += counter/ obj-$(CONFIG_MOST) += most/ obj-$(CONFIG_ACCESS_TOKENID) += accesstokenid/ obj-$(CONFIG_VENDOR_HOOKS) += hooks/ @@ -119815,7 +119815,7 @@ index e363ae04a..f1327e7fe 100644 list_del(&priv->node); } diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c -index ebee0ad55..56fecf202 100644 +index 8e159fb6a..ffe4eec2d 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -688,8 +688,12 @@ static ssize_t show_##file_name \ @@ -119832,7 +119832,7 @@ index ebee0ad55..56fecf202 100644 show_one(cpuinfo_transition_latency, cpuinfo.transition_latency); show_one(scaling_min_freq, min); show_one(scaling_max_freq, max); -@@ -2536,6 +2540,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy, +@@ -2535,6 +2539,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy, return ret; } @@ -931464,7 +931464,7 @@ index 000000000..d71989b0f +#endif /* __DWMAC_RK_TOOL_H__ */ + diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c -index 6ef30252b..bb0c0e44b 100644 +index e7fbc9b30..0fac2a260 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -11,6 +11,7 @@ @@ -1580151,10 +1580151,10 @@ index aa9e0e31e..e1c667e8f 100644 module_platform_driver(rockchip_thermal_driver); diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c -index 17de8a9b9..c83fb45e1 100644 +index d9e34ac37..595046139 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c -@@ -540,6 +540,7 @@ int thermal_zone_device_is_enabled(struct thermal_zone_device *tz) +@@ -542,6 +542,7 @@ int thermal_zone_device_is_enabled(struct thermal_zone_device *tz) return mode == THERMAL_DEVICE_ENABLED; } @@ -1580987,6 +1580987,18 @@ index 110a19c51..dd41c694c 100644 spin_unlock_irqrestore(&port->lock, flags); serial8250_rpm_put(up); +diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c +index 78acc270e..6314498de 100644 +--- a/drivers/tty/vt/keyboard.c ++++ b/drivers/tty/vt/keyboard.c +@@ -488,6 +488,7 @@ static void fn_hold(struct vc_data *vc) + { + struct tty_struct *tty = vc->port.tty; + ++ chg_vc_kbd_led(kbd, VC_SCROLLOCK); + if (rep || !tty) + return; + diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c old mode 100644 new mode 100755 @@ -1581238,7 +1581250,7 @@ index 1c2c04079..fc3341f2b diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c old mode 100644 new mode 100755 -index 95a9bae72..c1395d568 +index 3f406519d..6f5f89f5f --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1826,7 +1826,8 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id) @@ -1581251,7 +1581263,7 @@ index 95a9bae72..c1395d568 } else { /* root hub */ const struct hc_driver *drv = bus_to_hcd(hdev->bus)->driver; -@@ -5322,7 +5323,8 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, +@@ -5331,7 +5332,8 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, done: hub_port_disable(hub, port1, 1); if (hcd->driver->relinquish_port && !hub->hdev->parent) { @@ -1581314,10 +1581326,10 @@ index 641e4251c..03c68ba22 diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c old mode 100644 new mode 100755 -index 7207a36c6..46ad220e4 +index 449f19c36..dd86059a8 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c -@@ -4518,6 +4518,14 @@ static int dwc2_hsotg_udc_start(struct usb_gadget *gadget, +@@ -4529,6 +4529,14 @@ static int dwc2_hsotg_udc_start(struct usb_gadget *gadget, goto err; } @@ -1581332,7 +1581344,7 @@ index 7207a36c6..46ad220e4 if (!IS_ERR_OR_NULL(hsotg->uphy)) otg_set_peripheral(hsotg->uphy->otg, &hsotg->gadget); -@@ -4577,6 +4585,11 @@ static int dwc2_hsotg_udc_stop(struct usb_gadget *gadget) +@@ -4588,6 +4596,11 @@ static int dwc2_hsotg_udc_stop(struct usb_gadget *gadget) if (hsotg->dr_mode == USB_DR_MODE_PERIPHERAL) dwc2_lowlevel_hw_disable(hsotg); @@ -1581509,7 +1581521,7 @@ index d5f4ec1b7..4989ec761 diff --git a/drivers/usb/dwc2/hcd_queue.c b/drivers/usb/dwc2/hcd_queue.c old mode 100644 new mode 100755 -index 68bbac64b..9d2b92a37 +index 94af71e98..b2e0721a3 --- a/drivers/usb/dwc2/hcd_queue.c +++ b/drivers/usb/dwc2/hcd_queue.c @@ -730,8 +730,14 @@ static int dwc2_uframe_schedule_split(struct dwc2_hsotg *hsotg, @@ -1583287,10 +1583299,10 @@ index 3cd294264..658739410 diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c old mode 100644 new mode 100755 -index 8b236394a..c9b5fbd55 +index e9a87e1f4..2138b3627 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c -@@ -405,6 +405,7 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned int cmd, +@@ -416,6 +416,7 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned int cmd, return ret; } @@ -1583298,7 +1583310,7 @@ index 8b236394a..c9b5fbd55 static int dwc3_send_clear_stall_ep_cmd(struct dwc3_ep *dep) { -@@ -628,8 +629,192 @@ static int dwc3_gadget_set_ep_config(struct dwc3_ep *dep, unsigned int action) +@@ -639,8 +640,192 @@ static int dwc3_gadget_set_ep_config(struct dwc3_ep *dep, unsigned int action) return dwc3_send_gadget_ep_cmd(dep, DWC3_DEPCMD_SETEPCONFIG, ¶ms); } @@ -1583493,7 +1583505,7 @@ index 8b236394a..c9b5fbd55 /** * __dwc3_gadget_ep_enable - initializes a hw endpoint -@@ -648,6 +833,10 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action) +@@ -659,6 +844,10 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action) int ret; if (!(dep->flags & DWC3_EP_ENABLED)) { @@ -1583504,7 +1583516,7 @@ index 8b236394a..c9b5fbd55 ret = dwc3_gadget_start_config(dep); if (ret) return ret; -@@ -730,8 +919,16 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action) +@@ -741,8 +930,16 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action) * All stream eps will reinitiate stream on NoStream * rejection until we can determine that the host can * prime after the first transfer. @@ -1583522,7 +1583534,7 @@ index 8b236394a..c9b5fbd55 } } -@@ -802,7 +999,7 @@ static int __dwc3_gadget_ep_disable(struct dwc3_ep *dep) +@@ -813,7 +1010,7 @@ static int __dwc3_gadget_ep_disable(struct dwc3_ep *dep) dep->stream_capable = false; dep->type = 0; @@ -1583531,7 +1583543,7 @@ index 8b236394a..c9b5fbd55 return 0; } -@@ -1404,7 +1601,7 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep) +@@ -1415,7 +1612,7 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep) dwc3_stop_active_transfer(dep, true, true); list_for_each_entry_safe(req, tmp, &dep->started_list, list) @@ -1583540,7 +1583552,7 @@ index 8b236394a..c9b5fbd55 /* If ep isn't started, then there's no end transfer pending */ if (!(dep->flags & DWC3_EP_END_TRANSFER_PENDING)) -@@ -1620,7 +1817,7 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) +@@ -1631,7 +1828,7 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) struct dwc3 *dwc = dep->dwc; if (!dep->endpoint.desc || !dwc->pullups_connected || !dwc->connected) { @@ -1583549,7 +1583561,7 @@ index 8b236394a..c9b5fbd55 dep->name); return -ESHUTDOWN; } -@@ -1733,10 +1930,25 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep) +@@ -1744,10 +1941,25 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep) { struct dwc3_request *req; struct dwc3_request *tmp; @@ -1583576,7 +1583588,7 @@ index 8b236394a..c9b5fbd55 } } -@@ -1780,7 +1992,8 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, +@@ -1791,7 +2003,8 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, * cancelled. */ list_for_each_entry_safe(r, t, &dep->started_list, list) @@ -1583586,7 +1583598,7 @@ index 8b236394a..c9b5fbd55 dep->flags &= ~DWC3_EP_WAIT_TRANSFER_COMPLETE; -@@ -1801,8 +2014,6 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) +@@ -1812,8 +2025,6 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) { struct dwc3_gadget_ep_cmd_params params; struct dwc3 *dwc = dep->dwc; @@ -1583595,7 +1583607,7 @@ index 8b236394a..c9b5fbd55 int ret; if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) { -@@ -1851,16 +2062,14 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) +@@ -1862,16 +2073,14 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) dwc3_stop_active_transfer(dep, true, true); @@ -1583614,7 +1583626,7 @@ index 8b236394a..c9b5fbd55 ret = dwc3_send_clear_stall_ep_cmd(dep); if (ret) { dev_err(dwc->dev, "failed to clear STALL on %s\n", -@@ -2059,6 +2268,102 @@ static void dwc3_stop_active_transfers(struct dwc3 *dwc) +@@ -2070,6 +2279,102 @@ static void dwc3_stop_active_transfers(struct dwc3 *dwc) } } @@ -1583717,7 +1583729,7 @@ index 8b236394a..c9b5fbd55 static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend) { u32 reg; -@@ -2081,6 +2386,7 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend) +@@ -2092,6 +2397,7 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend) if (dwc->has_hibernation) reg |= DWC3_DCTL_KEEP_CONNECT; @@ -1583725,7 +1583737,7 @@ index 8b236394a..c9b5fbd55 dwc->pullups_connected = true; } else { reg &= ~DWC3_DCTL_RUN_STOP; -@@ -2111,10 +2417,12 @@ static int __dwc3_gadget_start(struct dwc3 *dwc); +@@ -2122,10 +2428,12 @@ static int __dwc3_gadget_start(struct dwc3 *dwc); static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on) { struct dwc3 *dwc = gadget_to_dwc(g); @@ -1583738,7 +1583750,7 @@ index 8b236394a..c9b5fbd55 /* * Per databook, when we want to stop the gadget, if a control transfer -@@ -2205,8 +2513,7 @@ static void dwc3_gadget_enable_irq(struct dwc3 *dwc) +@@ -2216,8 +2524,7 @@ static void dwc3_gadget_enable_irq(struct dwc3 *dwc) u32 reg; /* Enable all but Start and End of Frame IRQs */ @@ -1583748,7 +1583760,7 @@ index 8b236394a..c9b5fbd55 DWC3_DEVTEN_CMDCMPLTEN | DWC3_DEVTEN_ERRTICERREN | DWC3_DEVTEN_WKUPEVTEN | -@@ -2219,7 +2526,7 @@ static void dwc3_gadget_enable_irq(struct dwc3 *dwc) +@@ -2230,7 +2537,7 @@ static void dwc3_gadget_enable_irq(struct dwc3 *dwc) /* On 2.30a and above this bit enables U3/L2-L1 Suspend Events */ if (!DWC3_VER_IS_PRIOR(DWC3, 230A)) @@ -1583757,7 +1583769,7 @@ index 8b236394a..c9b5fbd55 dwc3_writel(dwc->regs, DWC3_DEVTEN, reg); } -@@ -2262,9 +2569,7 @@ static void dwc3_gadget_setup_nump(struct dwc3 *dwc) +@@ -2273,9 +2580,7 @@ static void dwc3_gadget_setup_nump(struct dwc3 *dwc) u32 reg; ram2_depth = DWC3_GHWPARAMS7_RAM2_DEPTH(dwc->hwparams.hwparams7); @@ -1583768,7 +1583780,7 @@ index 8b236394a..c9b5fbd55 nump = ((ram2_depth * mdwidth / 8) - 24 - 16) / 1024; nump = min_t(u32, nump, 16); -@@ -2282,6 +2587,15 @@ static int __dwc3_gadget_start(struct dwc3 *dwc) +@@ -2293,6 +2598,15 @@ static int __dwc3_gadget_start(struct dwc3 *dwc) int ret = 0; u32 reg; @@ -1583784,7 +1583796,7 @@ index 8b236394a..c9b5fbd55 /* * Use IMOD if enabled via dwc->imod_interval. Otherwise, if * the core supports IMOD, disable it. -@@ -2310,6 +2624,17 @@ static int __dwc3_gadget_start(struct dwc3 *dwc) +@@ -2321,6 +2635,17 @@ static int __dwc3_gadget_start(struct dwc3 *dwc) dwc3_gadget_setup_nump(dwc); @@ -1583802,7 +1583814,7 @@ index 8b236394a..c9b5fbd55 /* Start with SuperSpeed Default */ dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512); -@@ -2397,6 +2722,7 @@ static int dwc3_gadget_stop(struct usb_gadget *g) +@@ -2408,6 +2733,7 @@ static int dwc3_gadget_stop(struct usb_gadget *g) spin_lock_irqsave(&dwc->lock, flags); dwc->gadget_driver = NULL; @@ -1583810,7 +1583822,7 @@ index 8b236394a..c9b5fbd55 spin_unlock_irqrestore(&dwc->lock, flags); free_irq(dwc->irq_gadget, dwc->ev_buf); -@@ -2448,59 +2774,94 @@ static void dwc3_gadget_set_speed(struct usb_gadget *g, +@@ -2459,59 +2785,94 @@ static void dwc3_gadget_set_speed(struct usb_gadget *g, { struct dwc3 *dwc = gadget_to_dwc(g); unsigned long flags; @@ -1583952,7 +1583964,7 @@ index 8b236394a..c9b5fbd55 spin_unlock_irqrestore(&dwc->lock, flags); } -@@ -2512,7 +2873,11 @@ static const struct usb_gadget_ops dwc3_gadget_ops = { +@@ -2523,7 +2884,11 @@ static const struct usb_gadget_ops dwc3_gadget_ops = { .udc_start = dwc3_gadget_start, .udc_stop = dwc3_gadget_stop, .udc_set_speed = dwc3_gadget_set_speed, @@ -1583964,7 +1583976,7 @@ index 8b236394a..c9b5fbd55 }; /* -------------------------------------------------------------------------- */ -@@ -2535,12 +2900,10 @@ static int dwc3_gadget_init_control_endpoint(struct dwc3_ep *dep) +@@ -2546,12 +2911,10 @@ static int dwc3_gadget_init_control_endpoint(struct dwc3_ep *dep) static int dwc3_gadget_init_in_endpoint(struct dwc3_ep *dep) { struct dwc3 *dwc = dep->dwc; @@ -1583979,7 +1583991,7 @@ index 8b236394a..c9b5fbd55 /* MDWIDTH is represented in bits, we need it in bytes */ mdwidth /= 8; -@@ -2582,12 +2945,10 @@ static int dwc3_gadget_init_in_endpoint(struct dwc3_ep *dep) +@@ -2593,12 +2956,10 @@ static int dwc3_gadget_init_in_endpoint(struct dwc3_ep *dep) static int dwc3_gadget_init_out_endpoint(struct dwc3_ep *dep) { struct dwc3 *dwc = dep->dwc; @@ -1583994,7 +1584006,7 @@ index 8b236394a..c9b5fbd55 /* MDWIDTH is represented in bits, convert to bytes */ mdwidth /= 8; -@@ -2880,6 +3241,11 @@ static void dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep, +@@ -2891,6 +3252,11 @@ static void dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep, static bool dwc3_gadget_ep_should_continue(struct dwc3_ep *dep) { struct dwc3_request *req; @@ -1584006,27 +1584018,27 @@ index 8b236394a..c9b5fbd55 if (!list_empty(&dep->pending_list)) return true; -@@ -2907,6 +3273,9 @@ static bool dwc3_gadget_endpoint_trbs_complete(struct dwc3_ep *dep, +@@ -2918,6 +3284,9 @@ static bool dwc3_gadget_endpoint_trbs_complete(struct dwc3_ep *dep, struct dwc3 *dwc = dep->dwc; bool no_started_trb = true; + if (!dep->endpoint.desc) + return no_started_trb; + - dwc3_gadget_ep_cleanup_completed_requests(dep, event, status); + if (!dep->endpoint.desc) + return no_started_trb; - if (dep->flags & DWC3_EP_END_TRANSFER_PENDING) -@@ -2954,6 +3323,9 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep, +@@ -2968,6 +3337,9 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep, { int status = 0; + if (!dep->endpoint.desc) + return; + - if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) - dwc3_gadget_endpoint_frame_from_event(dep, event); + if (!dep->endpoint.desc) + return; -@@ -3145,7 +3517,7 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, +@@ -3170,7 +3542,7 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, static void dwc3_disconnect_gadget(struct dwc3 *dwc) { @@ -1584035,7 +1584047,7 @@ index 8b236394a..c9b5fbd55 spin_unlock(&dwc->lock); dwc->gadget_driver->disconnect(dwc->gadget); spin_lock(&dwc->lock); -@@ -3154,7 +3526,7 @@ static void dwc3_disconnect_gadget(struct dwc3 *dwc) +@@ -3179,7 +3551,7 @@ static void dwc3_disconnect_gadget(struct dwc3 *dwc) static void dwc3_suspend_gadget(struct dwc3 *dwc) { @@ -1584044,7 +1584056,7 @@ index 8b236394a..c9b5fbd55 spin_unlock(&dwc->lock); dwc->gadget_driver->suspend(dwc->gadget); spin_lock(&dwc->lock); -@@ -3163,7 +3535,7 @@ static void dwc3_suspend_gadget(struct dwc3 *dwc) +@@ -3188,7 +3560,7 @@ static void dwc3_suspend_gadget(struct dwc3 *dwc) static void dwc3_resume_gadget(struct dwc3 *dwc) { @@ -1584053,7 +1584065,7 @@ index 8b236394a..c9b5fbd55 spin_unlock(&dwc->lock); dwc->gadget_driver->resume(dwc->gadget); spin_lock(&dwc->lock); -@@ -3175,14 +3547,14 @@ static void dwc3_reset_gadget(struct dwc3 *dwc) +@@ -3200,14 +3572,14 @@ static void dwc3_reset_gadget(struct dwc3 *dwc) if (!dwc->gadget_driver) return; @@ -1584070,7 +1584082,7 @@ index 8b236394a..c9b5fbd55 bool interrupt) { struct dwc3_gadget_ep_cmd_params params; -@@ -3242,6 +3614,7 @@ static void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force, +@@ -3259,6 +3631,7 @@ static void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force, else dep->flags |= DWC3_EP_END_TRANSFER_PENDING; } @@ -1584078,7 +1584090,7 @@ index 8b236394a..c9b5fbd55 static void dwc3_clear_stall_all_ep(struct dwc3 *dwc) { -@@ -3356,12 +3729,18 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) +@@ -3373,12 +3746,18 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) struct dwc3_ep *dep; int ret; u32 reg; @@ -1584097,7 +1584109,7 @@ index 8b236394a..c9b5fbd55 /* * RAMClkSel is reset to 0 after USB reset, so it must be reprogrammed * each time on Connect Done. -@@ -3376,6 +3755,11 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) +@@ -3393,6 +3772,11 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512); dwc->gadget->ep0->maxpacket = 512; dwc->gadget->speed = USB_SPEED_SUPER_PLUS; @@ -1584109,7 +1584121,7 @@ index 8b236394a..c9b5fbd55 break; case DWC3_DSTS_SUPERSPEED: /* -@@ -3397,6 +3781,11 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) +@@ -3414,6 +3798,11 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512); dwc->gadget->ep0->maxpacket = 512; dwc->gadget->speed = USB_SPEED_SUPER; @@ -1584121,7 +1584133,7 @@ index 8b236394a..c9b5fbd55 break; case DWC3_DSTS_HIGHSPEED: dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(64); -@@ -3488,7 +3877,7 @@ static void dwc3_gadget_wakeup_interrupt(struct dwc3 *dwc) +@@ -3505,7 +3894,7 @@ static void dwc3_gadget_wakeup_interrupt(struct dwc3 *dwc) * implemented. */ @@ -1584130,7 +1584142,7 @@ index 8b236394a..c9b5fbd55 spin_unlock(&dwc->lock); dwc->gadget_driver->resume(dwc->gadget); spin_lock(&dwc->lock); -@@ -3656,7 +4045,7 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc, +@@ -3671,7 +4060,7 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc, case DWC3_DEVICE_EVENT_LINK_STATUS_CHANGE: dwc3_gadget_linksts_change_interrupt(dwc, event->event_info); break; @@ -1584139,7 +1584151,7 @@ index 8b236394a..c9b5fbd55 /* It changed to be suspend event for version 2.30a and above */ if (!DWC3_VER_IS_PRIOR(DWC3, 230A)) { /* -@@ -3900,6 +4289,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3915,6 +4304,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) dev->platform_data = dwc; dwc->gadget->ops = &dwc3_gadget_ops; dwc->gadget->speed = USB_SPEED_UNKNOWN; @@ -1584147,7 +1584159,7 @@ index 8b236394a..c9b5fbd55 dwc->gadget->sg_supported = true; dwc->gadget->name = "dwc3-gadget"; dwc->gadget->lpm_capable = !dwc->usb2_gadget_lpm_disable; -@@ -3926,6 +4316,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3941,6 +4331,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) dwc->revision); dwc->gadget->max_speed = dwc->maximum_speed; @@ -1584155,7 +1584167,7 @@ index 8b236394a..c9b5fbd55 /* * REVISIT: Here we should clear all pending IRQs to be -@@ -3942,7 +4333,10 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3957,7 +4348,10 @@ int dwc3_gadget_init(struct dwc3 *dwc) goto err5; } @@ -1584167,7 +1584179,7 @@ index 8b236394a..c9b5fbd55 return 0; -@@ -3997,9 +4391,10 @@ int dwc3_gadget_suspend(struct dwc3 *dwc) +@@ -4012,9 +4406,10 @@ int dwc3_gadget_suspend(struct dwc3 *dwc) int dwc3_gadget_resume(struct dwc3 *dwc) { @@ -1596272,7 +1596284,7 @@ index 7d499f356..d2ca41aea diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c old mode 100644 new mode 100755 -index 99562cc65..887644b39 +index 700e38e92..3b36e5353 --- a/drivers/usb/typec/tcpm/fusb302.c +++ b/drivers/usb/typec/tcpm/fusb302.c @@ -343,12 +343,11 @@ static int fusb302_sw_reset(struct fusb302_chip *chip) @@ -1653723,7 +1653735,7 @@ index 000000000..39c497774 + +#endif diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4948f0925..eed4f9e52 100644 +index a67583bfa..51f0715eb 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1366,7 +1366,7 @@ struct task_struct { @@ -1663113,10 +1663125,10 @@ index 55b74d7e5..f4c4e2404 100644 rootfs_initcall(populate_rootfs); +#endif diff --git a/init/main.c b/init/main.c -index 3a87bc79a..5aa7dadc9 100644 +index e8d5c6477..885ce026d 100644 --- a/init/main.c +++ b/init/main.c -@@ -1532,6 +1532,10 @@ static noinline void __init kernel_init_freeable(void) +@@ -1533,6 +1533,10 @@ static noinline void __init kernel_init_freeable(void) smp_init(); sched_init_smp(); @@ -1663127,7 +1663139,7 @@ index 3a87bc79a..5aa7dadc9 100644 padata_init(); page_alloc_init_late(); /* Initialize page ext after all struct pages are initialized. */ -@@ -1541,6 +1545,10 @@ static noinline void __init kernel_init_freeable(void) +@@ -1542,6 +1546,10 @@ static noinline void __init kernel_init_freeable(void) kunit_run_all_tests(); @@ -1663193,10 +1663205,10 @@ index d3b9b73cd..7d9c06b0a 100644 return -ENOMEM; } diff --git a/ipc/shm.c b/ipc/shm.c -index fce0b7b12..e25c7c610 100644 +index b418731d6..471ac3e74 100644 --- a/ipc/shm.c +++ b/ipc/shm.c -@@ -619,7 +619,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) +@@ -711,7 +711,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) ns->shm_tot + numpages > ns->shm_ctlall) return -ENOSPC; @@ -1663206,7 +1663218,7 @@ index fce0b7b12..e25c7c610 100644 return -ENOMEM; diff --git a/ipc/util.c b/ipc/util.c -index cc46cfa06..cfa0045e7 100644 +index 7c3601dad..bbb5190af 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -754,13 +754,21 @@ struct pid_namespace *ipc_seq_pid_ns(struct seq_file *s) @@ -1663931,10 +1663943,10 @@ index 08236798d..081d026f1 100644 }; +EXPORT_SYMBOL_GPL(freezer_cgrp_subsys); diff --git a/kernel/cpu.c b/kernel/cpu.c -index d33629370..e799bf115 100644 +index 4b27158d3..b076ccd1b 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -38,6 +38,8 @@ +@@ -39,6 +39,8 @@ #define CREATE_TRACE_POINTS #include @@ -1663943,7 +1663955,7 @@ index d33629370..e799bf115 100644 #include "smpboot.h" /** -@@ -273,11 +275,13 @@ void cpu_maps_update_begin(void) +@@ -274,11 +276,13 @@ void cpu_maps_update_begin(void) { mutex_lock(&cpu_add_remove_lock); } @@ -1663957,7 +1663969,7 @@ index d33629370..e799bf115 100644 /* * If set, cpu_up and cpu_down will return -EBUSY and do nothing. -@@ -1046,7 +1050,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen, +@@ -1053,7 +1057,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen, struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int prev_state, ret = 0; @@ -1664055,7 +1664067,7 @@ index 119b929dc..41430128d 100644 dev_info(dev, "EM: created perf domain\n"); diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index 2fc7d509a..da0b41914 100644 +index bf640fd61..b13fe337f 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -326,7 +326,7 @@ static int create_image(int platform_mode) @@ -1664706,10 +1664718,10 @@ index af6f23d8b..bce629531 100644 { /* The boot cpu is always logical cpu 0 */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 1dba7d70b..2ed1b74bb 100644 +index 6ac846836..bb5e17c14 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -46,6 +46,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_overutilized_tp); +@@ -47,6 +47,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_overutilized_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_cfs_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_se_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_update_nr_running_tp); @@ -1664723,7 +1664735,7 @@ index 1dba7d70b..2ed1b74bb 100644 DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); -@@ -659,7 +666,7 @@ int get_nohz_timer_target(void) +@@ -660,7 +667,7 @@ int get_nohz_timer_target(void) int i, cpu = smp_processor_id(), default_cpu = -1; struct sched_domain *sd; @@ -1664732,7 +1664744,7 @@ index 1dba7d70b..2ed1b74bb 100644 if (!idle_cpu(cpu)) return cpu; default_cpu = cpu; -@@ -679,8 +686,25 @@ int get_nohz_timer_target(void) +@@ -680,8 +687,25 @@ int get_nohz_timer_target(void) } } @@ -1664760,7 +1664772,7 @@ index 1dba7d70b..2ed1b74bb 100644 cpu = default_cpu; unlock: rcu_read_unlock(); -@@ -1769,7 +1793,10 @@ static inline bool is_cpu_allowed(struct task_struct *p, int cpu) +@@ -1770,7 +1794,10 @@ static inline bool is_cpu_allowed(struct task_struct *p, int cpu) if (is_per_cpu_kthread(p)) return cpu_online(cpu); @@ -1664772,7 +1664784,7 @@ index 1dba7d70b..2ed1b74bb 100644 } /* -@@ -2432,10 +2459,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) +@@ -2433,10 +2460,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) } fallthrough; case possible: @@ -1664784,7 +1664796,7 @@ index 1dba7d70b..2ed1b74bb 100644 case fail: #ifdef CONFIG_CPU_ISOLATION_OPT allow_iso = true; -@@ -2626,6 +2652,9 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags, +@@ -2627,6 +2653,9 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags, { int en_flags = ENQUEUE_WAKEUP | ENQUEUE_NOCLOCK; @@ -1664794,7 +1664806,7 @@ index 1dba7d70b..2ed1b74bb 100644 lockdep_assert_held(&rq->lock); if (p->sched_contributes_to_load) -@@ -3015,6 +3044,19 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) +@@ -3019,6 +3048,19 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) if (!(p->state & state)) goto unlock; @@ -1664814,7 +1664826,7 @@ index 1dba7d70b..2ed1b74bb 100644 trace_sched_waking(p); /* We're going to change ->state: */ -@@ -5000,7 +5042,7 @@ asmlinkage __visible void __sched preempt_schedule_irq(void) +@@ -5004,7 +5046,7 @@ asmlinkage __visible void __sched preempt_schedule_irq(void) int default_wake_function(wait_queue_entry_t *curr, unsigned mode, int wake_flags, void *key) { @@ -1664823,7 +1664835,7 @@ index 1dba7d70b..2ed1b74bb 100644 return try_to_wake_up(curr->private, mode, wake_flags); } EXPORT_SYMBOL(default_wake_function); -@@ -5709,16 +5751,19 @@ int sched_setscheduler(struct task_struct *p, int policy, +@@ -5713,16 +5755,19 @@ int sched_setscheduler(struct task_struct *p, int policy, { return _sched_setscheduler(p, policy, param, true); } @@ -1664843,7 +1664855,7 @@ index 1dba7d70b..2ed1b74bb 100644 /** * sched_setscheduler_nocheck - change the scheduling policy and/or RT priority of a thread from kernelspace. -@@ -5738,6 +5783,7 @@ int sched_setscheduler_nocheck(struct task_struct *p, int policy, +@@ -5742,6 +5787,7 @@ int sched_setscheduler_nocheck(struct task_struct *p, int policy, { return _sched_setscheduler(p, policy, param, false); }