-LINUX_VERSION-6.6 = .65
-LINUX_KERNEL_HASH-6.6.65 = 7ae1476e8b4c86e7754e581d45d6fbce5932bfefce934758a2907d6d79eca3e0
+LINUX_VERSION-6.6 = .66
+LINUX_KERNEL_HASH-6.6.66 = 9d757937c4661c2f512c62641b74ef74eff9bb13dc5dbcbaaa108c21152f1e52
return PTR_ERR(pb_base);
@@ -428,6 +510,95 @@ static void en7523_register_clocks(struc
- clk_data->num = EN7523_NUM_CLOCKS;
+ clk_data->hws[EN7523_CLK_PCIE] = hw;
}
+static int en7523_reset_update(struct reset_controller_dev *rcdev,
void __iomem *base, void __iomem *np_base)
{
@@ -449,6 +436,49 @@ static void en7523_register_clocks(struc
- clk_data->num = EN7523_NUM_CLOCKS;
+ clk_data->hws[EN7523_CLK_PCIE] = hw;
}
+static int en7523_clk_hw_init(struct platform_device *pdev,
val >>= desc->div_shift;
val &= (1 << desc->div_bits) - 1;
-@@ -416,9 +409,12 @@ static void en7523_register_clocks(struc
+@@ -418,9 +411,12 @@ static void en7523_register_clocks(struc
for (i = 0; i < ARRAY_SIZE(en7523_base_clks); i++) {
const struct en_clk_desc *desc = &en7523_base_clks[i];
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
-@@ -893,10 +894,10 @@ static void tcp_v6_send_response(const s
+@@ -891,10 +892,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1);
if (tsecr) {
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1508,8 +1508,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1506,8 +1506,8 @@ struct sk_buff *inet_gro_receive(struct
goto out;
NAPI_GRO_CB(skb)->proto = proto;
+++ /dev/null
-From 7508b889b8c8058e53ceeec90a1e3cc998897e16 Mon Sep 17 00:00:00 2001
-From: Dom Cobley <popcornmix@gmail.com>
-Date: Tue, 6 Dec 2022 15:05:56 +0000
-Subject: [PATCH 0029/1085] vc4_hdmi: Avoid log spam for audio start failure
-
-We regularly get dmesg error reports of:
-[ 18.184066] hdmi-audio-codec hdmi-audio-codec.3.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19
-[ 18.184098] MAI: soc_pcm_open() failed (-19)
-
-Currently I get 30 of these when booting to desktop.
-We always say, ignore they are harmless, but removing them would be good.
-
-A bit of investigation shows, for me, the errors are all generated by second, unused hdmi interface.
-
-It shows as an alsa device, and pulseaudio attempts to open it (numerous times), generating a kernel
-error message each time.
-
-systemctl --user restart pulseaudio.service generates 6 additional error messages.
-
-The error messages all come through:
-https://github.com/raspberrypi/linux/blob/a009a9c0d79dfec114ee5102ec3d3325a172c952/sound/soc/soc-pcm.c#L39
-
-which suggests returning ENOTSUPP, rather that ENODEV will be quiet. And indeed it is.
-
-Note: earlier kernels do not have the quiet ENOTSUPP, so additional cherry-picks will be needed to backport
-Signed-off-by: Dom Cobley <popcornmix@gmail.com>
----
- drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/vc4/vc4_hdmi.c
-+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -2404,7 +2404,7 @@ static int vc4_hdmi_audio_startup(struct
- }
-
- if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) {
-- ret = -ENODEV;
-+ ret = -ENOTSUPP;
- goto out_dev_exit;
- }
-
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
-@@ -1368,6 +1368,17 @@ static int vc4_hvs_bind(struct device *d
+@@ -1379,6 +1379,17 @@ static int vc4_hvs_bind(struct device *d
dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC1);
dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -490,8 +490,10 @@ static void xhci_pci_quirks(struct devic
+@@ -480,8 +480,10 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS;
- reg
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -2808,6 +2808,11 @@ static int pl011_probe(struct amba_devic
+@@ -2815,6 +2815,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk);
}
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
+@@ -143,6 +143,14 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_DISCARD),
sdhci_dumpregs(host);
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
-@@ -296,6 +296,7 @@ struct mmc_card {
- #define MMC_QUIRK_BROKEN_SD_DISCARD (1<<14) /* Disable broken SD discard support */
+@@ -297,6 +297,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_SD_CACHE (1<<15) /* Disable broken SD cache support */
#define MMC_QUIRK_BROKEN_CACHE_FLUSH (1<<16) /* Don't flush cache until the write has occurred */
+ #define MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY (1<<17) /* Disable broken SD poweroff notify support */
+#define MMC_QUIRK_ERASE_BROKEN (1<<31) /* Skip erase */
bool written_flag; /* Indicates eMMC has been written since power on */
* For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
-@@ -2212,6 +2212,8 @@ static const struct usb_audio_quirk_flag
+@@ -2233,6 +2233,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
QUIRK_FLAG_ALIGN_TRANSFER),
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5328,6 +5431,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5347,6 +5450,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
-@@ -242,6 +242,9 @@
+@@ -243,6 +243,9 @@
#define USB_VENDOR_ID_BAANTO 0x2453
#define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1405,6 +1408,9 @@
+@@ -1406,6 +1409,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4427,6 +4452,9 @@ static const struct of_device_id platfor
+@@ -4452,6 +4477,9 @@ static const struct of_device_id platfor
.compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h,
}, {
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4302,6 +4328,9 @@ static const struct of_device_id platfor
+@@ -4327,6 +4353,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
/*
* A cached value of the page's pageblock's migratetype, used when the page is
* put on a pcplist. Used to avoid the pageblock migratetype lookup when
-@@ -2094,12 +2115,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2109,12 +2130,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) {
/*
* Balance movable allocations between regular and CMA areas by
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4352,6 +4384,9 @@ static const struct of_device_id platfor
+@@ -4377,6 +4409,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4865,6 +4865,7 @@ static const struct {
+@@ -4872,6 +4872,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4893,7 +4894,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4900,7 +4901,8 @@ static int hci_dev_setup_sync(struct hci
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -493,6 +493,7 @@ static void xhci_pci_quirks(struct devic
+@@ -483,6 +483,7 @@ static void xhci_pci_quirks(struct devic
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1662,6 +1662,9 @@ struct xhci_hcd {
- #define XHCI_WRITE_64_HI_LO BIT_ULL(47)
+@@ -1663,6 +1663,9 @@ struct xhci_hcd {
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
+ #define XHCI_ETRON_HOST BIT_ULL(49)
+/* Downstream VLI fixes */
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -494,6 +494,7 @@ static void xhci_pci_quirks(struct devic
+@@ -484,6 +484,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
/* Allow 3 retries for everything but isoc, set CErr = 3 */
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -495,6 +495,7 @@ static void xhci_pci_quirks(struct devic
+@@ -485,6 +485,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1664,6 +1664,7 @@ struct xhci_hcd {
+@@ -1665,6 +1665,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
{
struct pci_dev *pdev = to_pci_dev(dev);
-@@ -496,6 +508,8 @@ static void xhci_pci_quirks(struct devic
+@@ -486,6 +498,8 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3679,6 +3679,48 @@ static int xhci_align_td(struct xhci_hcd
+@@ -3674,6 +3674,48 @@ static int xhci_align_td(struct xhci_hcd
return 1;
}
/* This is very similar to what ehci-q.c qtd_fill() does */
int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
struct urb *urb, int slot_id, unsigned int ep_index)
-@@ -3835,6 +3877,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3830,6 +3872,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
}
check_trb_math(urb, enqd_len);
giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
start_cycle, start_trb);
return 0;
-@@ -3970,6 +4014,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3979,6 +4023,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
/* Event on completion */
field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
return 0;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1665,6 +1665,7 @@ struct xhci_hcd {
+@@ -1666,6 +1666,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
/* Global Debug LSP MUX Select */
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
-@@ -1061,6 +1064,7 @@ struct dwc3_scratchpad_array {
+@@ -1062,6 +1065,7 @@ struct dwc3_scratchpad_array {
* @tx_max_burst_prd: max periodic ESS transmit burst size
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
* @clear_stall_protocol: endpoint number that requires a delayed status phase
* @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
-@@ -1298,6 +1302,7 @@ struct dwc3 {
+@@ -1299,6 +1303,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
#ifdef CONFIG_ACPI_SPCR_TABLE
static const struct vendor_data vendor_qdt_qdf2400_e44 = {
.reg_offset = pl011_std_offsets,
-@@ -2979,6 +2993,86 @@ static struct platform_driver arm_sbsa_u
+@@ -2986,6 +3000,86 @@ static struct platform_driver arm_sbsa_u
},
};
static const struct amba_id pl011_ids[] = {
{
.id = 0x00041011,
-@@ -3012,6 +3106,8 @@ static int __init pl011_init(void)
+@@ -3019,6 +3113,8 @@ static int __init pl011_init(void)
if (platform_driver_register(&arm_sbsa_uart_platform_driver))
pr_warn("could not register SBSA UART platform driver\n");
dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ |
SCALER_DISPCTRL_SLVWREIRQ |
SCALER_DISPCTRL_SLVRDEIRQ |
-@@ -1398,7 +1404,7 @@ static int vc4_hvs_bind(struct device *d
+@@ -1409,7 +1415,7 @@ static int vc4_hvs_bind(struct device *d
/* Recompute Composite Output Buffer (COB) allocations for the displays
*/
reg = HVS_READ(SCALER_DISPECTRL);
reg &= ~SCALER_DISPECTRL_DSP2_MUX_MASK;
-@@ -1440,6 +1371,86 @@ static int vc4_hvs_bind(struct device *d
+@@ -1451,6 +1382,86 @@ static int vc4_hvs_bind(struct device *d
HVS_WRITE(SCALER_DISPCTRL, dispctrl);
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
-@@ -1374,6 +1374,77 @@ static int vc4_hvs_hw_init(struct vc4_hv
+@@ -1385,6 +1385,77 @@ static int vc4_hvs_hw_init(struct vc4_hv
return 0;
}
static int vc4_hvs_bind(struct device *dev, struct device *master, void *data)
{
struct platform_device *pdev = to_platform_device(dev);
-@@ -1381,7 +1452,6 @@ static int vc4_hvs_bind(struct device *d
+@@ -1392,7 +1463,6 @@ static int vc4_hvs_bind(struct device *d
struct vc4_dev *vc4 = to_vc4_dev(drm);
struct vc4_hvs *hvs = NULL;
int ret;
hvs = __vc4_hvs_alloc(vc4, NULL);
if (IS_ERR(hvs))
-@@ -1451,59 +1521,9 @@ static int vc4_hvs_bind(struct device *d
+@@ -1462,59 +1532,9 @@ static int vc4_hvs_bind(struct device *d
if (ret)
return ret;
VC4_REG32(SCALER_DISPCTRL),
VC4_REG32(SCALER_DISPSTAT),
VC4_REG32(SCALER_DISPID),
-@@ -1462,8 +1462,8 @@ static int vc4_hvs_bind(struct device *d
+@@ -1473,8 +1473,8 @@ static int vc4_hvs_bind(struct device *d
return PTR_ERR(hvs->regs);
hvs->regset.base = hvs->regs;
hvs->pdev = pdev;
spin_lock_init(&hvs->mm_lock);
-@@ -1451,16 +1454,17 @@ static int vc4_hvs_bind(struct device *d
+@@ -1462,16 +1465,17 @@ static int vc4_hvs_bind(struct device *d
struct drm_device *drm = dev_get_drvdata(master);
struct vc4_dev *vc4 = to_vc4_dev(drm);
struct vc4_hvs *hvs = NULL;
dispctrl |= SCALER_DISPCTRL_DISPEIRQ(0) |
SCALER_DISPCTRL_DISPEIRQ(1) |
SCALER_DISPCTRL_DISPEIRQ(2);
-@@ -1512,6 +1514,10 @@ static int vc4_hvs_bind(struct device *d
+@@ -1523,6 +1525,10 @@ static int vc4_hvs_bind(struct device *d
else
hvs->dlist = hvs->regs + SCALER5_DLIST_START;
/* Upload filter kernels. We only have the one for now, so we
* keep it around for the lifetime of the driver.
*/
-@@ -1521,10 +1527,6 @@ static int vc4_hvs_bind(struct device *d
+@@ -1532,10 +1538,6 @@ static int vc4_hvs_bind(struct device *d
if (ret)
return ret;
vc4->hvs = hvs;
-@@ -1379,10 +1715,124 @@ static int vc4_hvs_hw_init(struct vc4_hv
+@@ -1390,10 +1726,124 @@ static int vc4_hvs_hw_init(struct vc4_hv
return 0;
}
/*
* Recompute Composite Output Buffer (COB) allocations for the
-@@ -1443,6 +1893,31 @@ static int vc4_hvs_cob_init(struct vc4_h
+@@ -1454,6 +1904,31 @@ static int vc4_hvs_cob_init(struct vc4_h
HVS_WRITE(SCALER_DISPBASE0, reg);
break;
default:
return -EINVAL;
}
-@@ -1468,10 +1943,16 @@ static int vc4_hvs_bind(struct device *d
+@@ -1479,10 +1954,16 @@ static int vc4_hvs_bind(struct device *d
return PTR_ERR(hvs);
hvs->regset.base = hvs->regs;
struct rpi_firmware *firmware;
struct device_node *node;
unsigned int max_rate;
-@@ -1485,12 +1966,20 @@ static int vc4_hvs_bind(struct device *d
+@@ -1496,12 +1977,20 @@ static int vc4_hvs_bind(struct device *d
if (!firmware)
return -EPROBE_DEFER;
max_rate = rpi_firmware_clk_get_max_rate(firmware,
RPI_FIRMWARE_CORE_CLK_ID);
rpi_firmware_put(firmware);
-@@ -1507,14 +1996,51 @@ static int vc4_hvs_bind(struct device *d
+@@ -1518,14 +2007,51 @@ static int vc4_hvs_bind(struct device *d
dev_err(&pdev->dev, "Couldn't enable the core clock\n");
return ret;
}
if (ret)
return ret;
-@@ -1531,10 +2057,12 @@ static int vc4_hvs_bind(struct device *d
+@@ -1542,10 +2068,12 @@ static int vc4_hvs_bind(struct device *d
if (ret)
return ret;
return 0;
}
-@@ -1559,6 +2087,7 @@ static void vc4_hvs_unbind(struct device
+@@ -1570,6 +2098,7 @@ static void vc4_hvs_unbind(struct device
drm_mm_remove_node(node);
drm_mm_takedown(&vc4->hvs->lbm_mm);
clk_disable_unprepare(hvs->core_clk);
vc4->hvs = NULL;
-@@ -1581,6 +2110,7 @@ static void vc4_hvs_dev_remove(struct pl
+@@ -1592,6 +2121,7 @@ static void vc4_hvs_dev_remove(struct pl
static const struct of_device_id vc4_hvs_dt_match[] = {
{ .compatible = "brcm,bcm2711-hvs" },
/**
* struct panel_desc - Describes a simple panel.
-@@ -4875,6 +4876,9 @@ static const struct panel_desc_dsi osd10
+@@ -4903,6 +4904,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4,
};
static const struct of_device_id dsi_of_match[] = {
{
.compatible = "auo,b080uan01",
-@@ -4898,20 +4902,137 @@ static const struct of_device_id dsi_of_
+@@ -4926,20 +4930,137 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts
}, {
else
dlist_size = 4096;
-@@ -1894,14 +1953,17 @@ static int vc6_hvs_hw_init(struct vc4_hv
+@@ -1905,14 +1964,17 @@ static int vc6_hvs_hw_init(struct vc4_hv
const struct vc6_csc_coeff_entry *coeffs;
unsigned int i;
for (i = 0; i < 6; i++) {
coeffs = &csc_coeffs[i / 3][i % 3];
-@@ -2000,21 +2062,21 @@ static int vc4_hvs_cob_init(struct vc4_h
+@@ -2011,21 +2073,21 @@ static int vc4_hvs_cob_init(struct vc4_h
reg = 0;
top = 3840;
VC4_SET_FIELD(top, SCALER6_DISPX_COB_TOP) |
VC4_SET_FIELD(base, SCALER6_DISPX_COB_BASE));
break;
-@@ -2045,7 +2107,10 @@ static int vc4_hvs_bind(struct device *d
+@@ -2056,7 +2118,10 @@ static int vc4_hvs_bind(struct device *d
hvs->regset.base = hvs->regs;
hvs->regset.regs = vc6_hvs_regs;
hvs->regset.nregs = ARRAY_SIZE(vc6_hvs_regs);
} else {
-@@ -2212,6 +2277,7 @@ static void vc4_hvs_dev_remove(struct pl
+@@ -2223,6 +2288,7 @@ static void vc4_hvs_dev_remove(struct pl
static const struct of_device_id vc4_hvs_dt_match[] = {
{ .compatible = "brcm,bcm2711-hvs" },
{ .compatible = "brcm,bcm2712-hvs" },
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
-@@ -1892,6 +1892,17 @@ static int vc4_hvs_hw_init(struct vc4_hv
+@@ -1903,6 +1903,17 @@ static int vc4_hvs_hw_init(struct vc4_hv
#define CFC1_N_MA_CSC_COEFF_C23(x) (0xa03c + ((x) * 0x3000))
#define CFC1_N_MA_CSC_COEFF_C24(x) (0xa040 + ((x) * 0x3000))
/* 4 S2.22 multiplication factors, and 1 S9.15 addititive element for each of 3
* output components
*/
-@@ -1962,31 +1973,43 @@ static int vc6_hvs_hw_init(struct vc4_hv
+@@ -1973,31 +1984,43 @@ static int vc6_hvs_hw_init(struct vc4_hv
HVS_WRITE(SCALER6(PRI_MAP0), 0xffffffff);
HVS_WRITE(SCALER6(PRI_MAP1), 0xffffffff);
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -3033,6 +3033,8 @@ static int pl011_axi_probe(struct platfo
+@@ -3040,6 +3040,8 @@ static int pl011_axi_probe(struct platfo
uap->port.iotype = vendor->access_32b ? UPIO_MEM32 : UPIO_MEM;
uap->port.irq = irq;
uap->port.ops = &amba_pl011_pops;
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
/* Global Status Register */
-@@ -1116,10 +1117,12 @@ struct dwc3_scratchpad_array {
+@@ -1117,10 +1118,12 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend.
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
* VBUS with an external supply.
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis
-@@ -1346,6 +1349,7 @@ struct dwc3 {
+@@ -1347,6 +1350,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
-@@ -264,6 +264,8 @@ static void mmc_release_card(struct devi
+@@ -266,6 +266,8 @@ static void mmc_release_card(struct devi
sdio_free_common_cis(card);
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
-@@ -320,6 +320,7 @@ struct mmc_card {
+@@ -321,6 +321,7 @@ struct mmc_card {
struct sd_switch_caps sw_caps; /* switch (CMD6) caps */
struct sd_ext_reg ext_power; /* SD extension reg for PM */
struct sd_ext_reg ext_perf; /* SD extension reg for PERF */
card->ext_perf.fno = fno;
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
-@@ -343,6 +343,8 @@ struct mmc_card {
+@@ -344,6 +344,8 @@ struct mmc_card {
unsigned int nr_parts;
struct workqueue_struct *complete_wq; /* Private workqueue */
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4865,7 +4865,8 @@ static const struct {
+@@ -4872,7 +4872,8 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
static int vc4_hvs_upload_linear_kernel(struct vc4_hvs *hvs,
struct drm_mm_node *space,
-@@ -2259,14 +2262,19 @@ static int vc4_hvs_bind(struct device *d
+@@ -2270,14 +2273,19 @@ static int vc4_hvs_bind(struct device *d
if (ret)
return ret;
ret = vc4_hvs_cob_init(hvs);
if (ret)
-@@ -2292,6 +2300,8 @@ static void vc4_hvs_unbind(struct device
+@@ -2303,6 +2311,8 @@ static void vc4_hvs_unbind(struct device
if (drm_mm_node_allocated(&vc4->hvs->mitchell_netravali_filter))
drm_mm_remove_node(&vc4->hvs->mitchell_netravali_filter);
--- a/drivers/mmc/core/card.h
+++ b/drivers/mmc/core/card.h
-@@ -84,6 +84,7 @@ struct mmc_fixup {
- #define CID_MANFID_TOSHIBA 0x11
+@@ -85,6 +85,7 @@ struct mmc_fixup {
+ #define CID_MANFID_GIGASTONE 0x12
#define CID_MANFID_MICRON 0x13
#define CID_MANFID_SAMSUNG 0x15
+#define CID_MANFID_SAMSUNG_SD 0x1b
#define CID_MANFID_HYNIX 0x90
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -25,6 +25,14 @@ static const struct mmc_fixup __maybe_un
- 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
- MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
+@@ -34,6 +34,14 @@ static const struct mmc_fixup __maybe_un
+ MMC_QUIRK_BROKEN_SD_CACHE | MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY,
+ EXT_CSD_REV_ANY),
+ /*
+ * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -3122,6 +3122,7 @@ static int __init pl011_init(void)
+@@ -3129,6 +3129,7 @@ static int __init pl011_init(void)
static void __exit pl011_exit(void)
{
platform_driver_unregister(&arm_sbsa_uart_platform_driver);
return 0;
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
-@@ -2312,7 +2312,10 @@ static void vc4_hvs_unbind(struct device
+@@ -2323,7 +2323,10 @@ static void vc4_hvs_unbind(struct device
drm_mm_remove_node(node);
drm_mm_takedown(&vc4->hvs->lbm_mm);
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -33,6 +33,18 @@ static const struct mmc_fixup __maybe_un
+@@ -42,6 +42,18 @@ static const struct mmc_fixup __maybe_un
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -162,6 +162,15 @@ static const struct mmc_fixup __maybe_un
+@@ -171,6 +171,15 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
-@@ -2963,7 +2963,9 @@ void __init numa_policy_init(void)
+@@ -2947,7 +2947,9 @@ void __init numa_policy_init(void)
/* Reset policy of current process to default */
void numa_default_policy(void)
{
}
/*
-@@ -2981,7 +2983,6 @@ static const char * const policy_modes[]
+@@ -2965,7 +2967,6 @@ static const char * const policy_modes[]
};
/**
* mpol_parse_str - parse string to mempolicy, for tmpfs mpol mount option.
* @str: string containing mempolicy to parse
-@@ -2994,13 +2995,18 @@ static const char * const policy_modes[]
+@@ -2978,13 +2979,18 @@ static const char * const policy_modes[]
*/
int mpol_parse_str(char *str, struct mempolicy **mpol)
{
if (flags)
*flags++ = '\0'; /* terminate mode string */
-@@ -3079,9 +3085,16 @@ int mpol_parse_str(char *str, struct mem
+@@ -3063,9 +3069,16 @@ int mpol_parse_str(char *str, struct mem
goto out;
}
/*
* Save nodes for mpol_to_str() to show the tmpfs mount options
-@@ -3114,7 +3127,29 @@ out:
+@@ -3098,7 +3111,29 @@ out:
*mpol = new;
return err;
}
if (xhci->quirks & XHCI_NEC_HOST)
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1660,6 +1660,7 @@ struct xhci_hcd {
- #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
+@@ -1661,6 +1661,7 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
-+#define XHCI_FAKE_DOORBELL BIT_ULL(49)
+ #define XHCI_ETRON_HOST BIT_ULL(49)
++#define XHCI_FAKE_DOORBELL BIT_ULL(50)
unsigned int num_active_eps;
unsigned int limit_active_eps;
int delta = sum_truesize - gso_skb->truesize;
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
-@@ -1261,8 +1261,7 @@ static int udp_v6_send_skb(struct sk_buf
+@@ -1258,8 +1258,7 @@ static int udp_v6_send_skb(struct sk_buf
kfree_skb(skb);
return -EINVAL;
}
set_bit(flag, tp->wk.flags);
schedule_work(&tp->wk.work);
}
-@@ -4520,8 +4523,7 @@ static void rtl_task(struct work_struct
+@@ -4526,8 +4529,7 @@ static void rtl_task(struct work_struct
rtnl_lock();
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
{
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */
-@@ -5197,6 +5255,7 @@ static int rtl_init_one(struct pci_dev *
+@@ -5203,6 +5261,7 @@ static int rtl_init_one(struct pci_dev *
raw_spin_lock_init(&tp->cfg9346_usage_lock);
raw_spin_lock_init(&tp->config25_lock);
raw_spin_lock_init(&tp->mac_ocp_lock);
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
struct pcpu_sw_netstats);
-@@ -5353,6 +5412,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5359,6 +5418,12 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
obj-$(CONFIG_R8169) += r8169.o
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5412,11 +5412,10 @@ static int rtl_init_one(struct pci_dev *
+@@ -5418,11 +5418,10 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
genphy_soft_reset(tp->phydev);
}
-@@ -5114,7 +5089,9 @@ static int r8169_mdio_register(struct rt
+@@ -5120,7 +5095,9 @@ static int r8169_mdio_register(struct rt
}
tp->phydev->mac_managed_pm = true;
phy_support_asym_pause(tp->phydev);
/* PHY will be woken up in rtl_open() */
-@@ -5249,7 +5226,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5255,7 +5232,6 @@ static int rtl_init_one(struct pci_dev *
tp->dev = dev;
tp->pci_dev = pdev;
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
rtl_enable_rxdvgate(tp);
fsleep(2000);
break;
-@@ -4105,8 +4163,7 @@ static unsigned int rtl_quirk_packet_pad
+@@ -4111,8 +4169,7 @@ static unsigned int rtl_quirk_packet_pad
switch (tp->mac_version) {
case RTL_GIGA_MAC_VER_34:
padto = max_t(unsigned int, padto, ETH_ZLEN);
break;
default:
-@@ -5141,7 +5198,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5147,7 +5204,7 @@ static void rtl_hw_initialize(struct rtl
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp);
break;
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5290,11 +5290,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5296,11 +5296,6 @@ static int rtl_init_one(struct pci_dev *
raw_spin_lock_init(&tp->mac_ocp_lock);
mutex_init(&tp->led_lock);
/* Get the *optional* external "ether_clk" used on some boards */
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
if (IS_ERR(tp->clk))
-@@ -5409,6 +5404,8 @@ static int rtl_init_one(struct pci_dev *
+@@ -5415,6 +5410,8 @@ static int rtl_init_one(struct pci_dev *
dev->hw_features |= NETIF_F_RXALL;
dev->hw_features |= NETIF_F_RXFCS;
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
char *buf, int buf_len)
{
-@@ -5442,10 +5493,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5448,10 +5499,12 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
u32 ocp_base;
};
-@@ -5069,6 +5071,8 @@ static void rtl_remove_one(struct pci_de
+@@ -5075,6 +5077,8 @@ static void rtl_remove_one(struct pci_de
cancel_work_sync(&tp->wk.work);
unregister_netdev(tp->dev);
if (tp->dash_type != RTL_DASH_NONE)
-@@ -5527,9 +5531,9 @@ static int rtl_init_one(struct pci_dev *
+@@ -5533,9 +5537,9 @@ static int rtl_init_one(struct pci_dev *
if (IS_ENABLED(CONFIG_R8169_LEDS)) {
if (rtl_is_8125(tp))
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5071,7 +5071,8 @@ static void rtl_remove_one(struct pci_de
+@@ -5077,7 +5077,8 @@ static void rtl_remove_one(struct pci_de
cancel_work_sync(&tp->wk.work);
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5112,12 +5112,10 @@ static void rtl_set_irq_mask(struct rtl8
+@@ -5118,12 +5118,10 @@ static void rtl_set_irq_mask(struct rtl8
tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
rtl_enable_rxdvgate(tp);
fsleep(2000);
break;
-@@ -4252,7 +4264,7 @@ static unsigned int rtl_quirk_packet_pad
+@@ -4258,7 +4270,7 @@ static unsigned int rtl_quirk_packet_pad
switch (tp->mac_version) {
case RTL_GIGA_MAC_VER_34:
padto = max_t(unsigned int, padto, ETH_ZLEN);
break;
default:
-@@ -5288,7 +5300,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5294,7 +5306,7 @@ static void rtl_hw_initialize(struct rtl
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp);
break;
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
+# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZSMALLOC is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8
# CONFIG_ZSWAP is not set
#include <linux/mutex.h>
#include <linux/err.h>
#include <linux/property.h>
-@@ -3470,3 +3471,5 @@ static int __init regmap_initcall(void)
+@@ -3483,3 +3484,5 @@ static int __init regmap_initcall(void)
return 0;
}
postcore_initcall(regmap_initcall);
#include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.h>
-@@ -377,8 +376,7 @@ flow_offload_lookup(struct nf_flowtable
+@@ -373,8 +372,7 @@ flow_offload_lookup(struct nf_flowtable
}
EXPORT_SYMBOL_GPL(flow_offload_lookup);
void (*iter)(struct nf_flowtable *flowtable,
struct flow_offload *flow, void *data),
void *data)
-@@ -439,6 +437,7 @@ static void nf_flow_offload_gc_step(stru
+@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru
nf_flow_offload_stats(flow_table, flow);
}
}
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
-@@ -471,6 +471,9 @@ static const struct sfp_quirk sfp_quirks
+@@ -472,6 +472,9 @@ static const struct sfp_quirk sfp_quirks
// FS 2.5G Base-T
SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
// 2500MBd NRZ in their EEPROM
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),
-@@ -2589,7 +2592,8 @@ static void sfp_sm_main(struct sfp *sfp,
+@@ -2590,7 +2593,8 @@ static void sfp_sm_main(struct sfp *sfp,
* or t_start_up, so assume there is a fault.
*/
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
init_done:
/* Create mdiobus and start trying for PHY */
-@@ -2843,10 +2847,12 @@ static void sfp_check_state(struct sfp *
+@@ -2844,10 +2848,12 @@ static void sfp_check_state(struct sfp *
mutex_lock(&sfp->st_mutex);
state = sfp_get_state(sfp);
changed = state ^ sfp->state;
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de
+@@ -1658,7 +1658,7 @@ static void device_links_purge(struct de
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
DL_FLAG_PM_RUNTIME)
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
-@@ -364,6 +364,8 @@ int mmc_add_card(struct mmc_card *card)
+@@ -366,6 +366,8 @@ int mmc_add_card(struct mmc_card *card)
mmc_add_card_debugfs(card);
card->dev.of_node = mmc_of_find_child_device(card->host, 0);
--- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c
-@@ -662,6 +662,23 @@ static struct pernet_operations nf_flow_
+@@ -658,6 +658,23 @@ static struct pernet_operations nf_flow_
.exit_batch = nf_flow_table_pernet_exit,
};
static int __init nf_flow_table_module_init(void)
{
int ret;
-@@ -674,8 +691,14 @@ static int __init nf_flow_table_module_i
+@@ -670,8 +687,14 @@ static int __init nf_flow_table_module_i
if (ret)
goto out_offload;
out_offload:
unregister_pernet_subsys(&nf_flow_table_net_ops);
return ret;
-@@ -683,6 +706,7 @@ out_offload:
+@@ -679,6 +702,7 @@ out_offload:
static void __exit nf_flow_table_module_exit(void)
{
spin_unlock_irqrestore(&data->lock, flags);
return 0;
-@@ -406,6 +445,8 @@ static int mtk_wdt_probe(struct platform
+@@ -412,6 +451,8 @@ static int mtk_wdt_probe(struct platform
wdt_data->toprgu_sw_rst_num);
if (err)
return err;
}
mtk_wdt->disable_wdt_extrst =
-@@ -444,6 +485,7 @@ static const struct of_device_id mtk_wdt
+@@ -450,6 +491,7 @@ static const struct of_device_id mtk_wdt
{ .compatible = "mediatek,mt6589-wdt" },
{ .compatible = "mediatek,mt6795-wdt", .data = &mt6795_data },
{ .compatible = "mediatek,mt7986-wdt", .data = &mt7986_data },
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3229,6 +3229,18 @@ static const struct usb_device_id uvc_id
+@@ -3249,6 +3249,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
-@@ -2415,6 +2415,13 @@ static void sfp_sm_module(struct sfp *sf
+@@ -2416,6 +2416,13 @@ static void sfp_sm_module(struct sfp *sf
return;
}
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
-@@ -662,10 +662,64 @@ static int sfp_i2c_write(struct sfp *sfp
+@@ -663,10 +663,64 @@ static int sfp_i2c_write(struct sfp *sfp
return ret == ARRAY_SIZE(msgs) ? len : 0;
}
sfp->i2c = i2c;
sfp->read = sfp_i2c_read;
-@@ -697,6 +751,29 @@ static int sfp_i2c_mdiobus_create(struct
+@@ -698,6 +752,29 @@ static int sfp_i2c_mdiobus_create(struct
return 0;
}
static void sfp_i2c_mdiobus_destroy(struct sfp *sfp)
{
mdiobus_unregister(sfp->i2c_mii);
-@@ -1870,8 +1947,15 @@ static void sfp_sm_fault(struct sfp *sfp
+@@ -1871,8 +1948,15 @@ static void sfp_sm_fault(struct sfp *sfp
static int sfp_sm_add_mdio_bus(struct sfp *sfp)
{
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -997,6 +997,8 @@ struct dwc3_scratchpad_array {
+@@ -998,6 +998,8 @@ struct dwc3_scratchpad_array {
* @bus_clk: clock for accessing the registers
* @ref_clk: reference clock
* @susp_clk: clock used when the SS phy is in low power (S3) state
* @reset: reset control
* @regs: base address for our registers
* @regs_size: address space size
-@@ -1169,6 +1171,8 @@ struct dwc3 {
+@@ -1170,6 +1172,8 @@ struct dwc3 {
struct clk *bus_clk;
struct clk *ref_clk;
struct clk *susp_clk;
}
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3672,7 +3672,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3667,7 +3667,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
full_len = urb->transfer_buffer_length;
/* If we have scatter/gather list, we use it. */
/* There is one xhci_hcd structure per controller */
struct xhci_hcd {
struct usb_hcd *main_hcd;
-@@ -1661,6 +1668,8 @@ struct xhci_hcd {
- #define XHCI_WRITE_64_HI_LO BIT_ULL(47)
+@@ -1662,6 +1669,8 @@ struct xhci_hcd {
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
+ #define XHCI_ETRON_HOST BIT_ULL(49)
+#define XHCI_LOCAL_BUFFER BIT_ULL(63)
+
unsigned int num_active_eps;
unsigned int limit_active_eps;
struct xhci_port *hw_ports;
-@@ -1690,6 +1699,8 @@ struct xhci_hcd {
+@@ -1691,6 +1700,8 @@ struct xhci_hcd {
struct list_head regset_list;
void *dbc;
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
-@@ -802,6 +802,7 @@ static const struct of_device_id dw8250_
- { .compatible = "cavium,octeon-3860-uart", .data = &dw8250_octeon_3860_data },
+@@ -803,6 +803,7 @@ static const struct of_device_id dw8250_
{ .compatible = "marvell,armada-38x-uart", .data = &dw8250_armada_38x_data },
{ .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data },
-+ { .compatible = "starfive,jh7100-hsuart", .data = &dw8250_starfive_jh7100_data },
- { .compatible = "starfive,jh7100-uart", .data = &dw8250_starfive_jh7100_data },
+ { .compatible = "sophgo,sg2044-uart", .data = &dw8250_skip_set_rate_data },
++ { .compatible = "starfive,jh7100-hsuart", .data = &dw8250_skip_set_rate_data },
+ { .compatible = "starfive,jh7100-uart", .data = &dw8250_skip_set_rate_data },
{ /* Sentinel */ }
};