kernel: bump 6.6 to 6.6.66 (#13214)

This commit is contained in:
Beginner 2024-12-16 20:30:22 +08:00 committed by GitHub
parent b7305e23ef
commit 23d466fba0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
75 changed files with 157 additions and 198 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .64 LINUX_VERSION-6.6 = .66
LINUX_KERNEL_HASH-6.6.64 = 065fd93fa6cb422f650fb563f15d3e0107c85009f766405993d795fd39796ab1 LINUX_KERNEL_HASH-6.6.66 = 9d757937c4661c2f512c62641b74ef74eff9bb13dc5dbcbaaa108c21152f1e52

View File

@ -1,41 +0,0 @@
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;
}

View File

@ -19,7 +19,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_hvs.c --- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/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_PANIC1);
dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2); dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2);

View File

@ -14,7 +14,7 @@ We don't agree with upstream revert so undo it.
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/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) pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS; xhci->quirks |= XHCI_BROKEN_STREAMS;

View File

@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
- reg - reg
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/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)) if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk); return PTR_ERR(uap->clk);

View File

@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
} }
--- a/drivers/mmc/core/quirks.h --- a/drivers/mmc/core/quirks.h
+++ b/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_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_DISCARD), MMC_QUIRK_BROKEN_SD_DISCARD),
@ -2013,10 +2013,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
sdhci_dumpregs(host); sdhci_dumpregs(host);
--- a/include/linux/mmc/card.h --- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h
@@ -296,6 +296,7 @@ struct mmc_card { @@ -297,6 +297,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_SD_DISCARD (1<<14) /* Disable broken SD discard support */
#define MMC_QUIRK_BROKEN_SD_CACHE (1<<15) /* Disable broken SD cache support */ #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_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 */ +#define MMC_QUIRK_ERASE_BROKEN (1<<31) /* Skip erase */
bool written_flag; /* Indicates eMMC has been written since power on */ bool written_flag; /* Indicates eMMC has been written since power on */

View File

@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
* For devices with more than one control interface, we assume the * For devices with more than one control interface, we assume the
--- a/sound/usb/quirks.c --- a/sound/usb/quirks.c
+++ b/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), QUIRK_FLAG_ALIGN_TRANSFER),
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
QUIRK_FLAG_ALIGN_TRANSFER), QUIRK_FLAG_ALIGN_TRANSFER),

View File

@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later * non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it * 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, .endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth, .check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth, .reset_bandwidth = xhci_reset_bandwidth,

View File

@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/hid/hid-ids.h --- a/drivers/hid/hid-ids.h
+++ b/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_VENDOR_ID_BAANTO 0x2453
#define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100 #define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d #define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201 #define USB_DEVICE_ID_FLIP_KVM 0x3201
@@ -1405,6 +1408,9 @@ @@ -1406,6 +1409,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014

View File

@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct display_timing rocktech_rk070er9427_timing = { static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 }, .pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 }, .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", .compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h, .data = &rocktech_rk043fn48h,
}, { }, {

View File

@ -46,7 +46,7 @@ Acked-by: Maxime Ripard <maxime@cerno.tech>
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000, .clock = 9000,
.hdisplay = 480, .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", .compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e, .data = &friendlyarm_hd702e,
}, { }, {

View File

@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
/* /*
* A cached value of the page's pageblock's migratetype, used when the page is * 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 * 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)) { if (IS_ENABLED(CONFIG_CMA)) {
/* /*
* Balance movable allocations between regular and CMA areas by * Balance movable allocations between regular and CMA areas by

View File

@ -165,7 +165,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static const struct drm_display_mode innolux_at070tn92_mode = { static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333, .clock = 33333,
.hdisplay = 800, .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", .compatible = "innolux,at043tn24",
.data = &innolux_at043tn24, .data = &innolux_at043tn24,
}, { }, {

View File

@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/net/bluetooth/hci_sync.c --- a/net/bluetooth/hci_sync.c
+++ b/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) static int hci_dev_setup_sync(struct hci_dev *hdev)
{ {
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int ret = 0; int ret = 0;
bool invalid_bdaddr; bool invalid_bdaddr;
size_t i; 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); test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) { if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) && if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&

View File

@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/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) { if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT; xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
@ -52,9 +52,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
addr = xhci_trb_virt_to_dma(new_seg, new_deq); addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h --- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h
@@ -1662,6 +1662,9 @@ struct xhci_hcd { @@ -1663,6 +1663,9 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48) #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
#define XHCI_ETRON_HOST BIT_ULL(49)
+/* Downstream VLI fixes */ +/* Downstream VLI fixes */
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56) +#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)

View File

@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/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_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS; xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;

View File

@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Allow 3 retries for everything but isoc, set CErr = 3 */ /* Allow 3 retries for everything but isoc, set CErr = 3 */
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/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_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK; xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH; xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h --- a/drivers/usb/host/xhci.h
+++ b/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 */ /* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56) #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)

View File

@ -64,7 +64,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
{ {
struct pci_dev *pdev = to_pci_dev(dev); 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_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH; xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG; xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c --- a/drivers/usb/host/xhci-ring.c
+++ b/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; return 1;
} }
@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* This is very similar to what ehci-q.c qtd_fill() does */ /* 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, int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
struct urb *urb, int slot_id, unsigned int ep_index) 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); check_trb_math(urb, enqd_len);
@ -133,7 +133,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id, giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
start_cycle, start_trb); start_cycle, start_trb);
return 0; 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 */ /* Event on completion */
field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state); field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
@ -144,7 +144,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0; return 0;
--- a/drivers/usb/host/xhci.h --- a/drivers/usb/host/xhci.h
+++ b/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 */ /* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56) #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57) #define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)

View File

@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Global Debug LSP MUX Select */ /* Global Debug LSP MUX Select */
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */ #define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff) #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_max_burst_prd: max periodic ESS transmit burst size
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize * @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
* @clear_stall_protocol: endpoint number that requires a delayed status phase * @clear_stall_protocol: endpoint number that requires a delayed status phase
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @hsphy_interface: "utmi" or "ulpi" * @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise * @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs * @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_max_burst_prd;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol; u8 clear_stall_protocol;

View File

@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#ifdef CONFIG_ACPI_SPCR_TABLE #ifdef CONFIG_ACPI_SPCR_TABLE
static const struct vendor_data vendor_qdt_qdf2400_e44 = { static const struct vendor_data vendor_qdt_qdf2400_e44 = {
.reg_offset = pl011_std_offsets, .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
}, },
}; };
@ -118,7 +118,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static const struct amba_id pl011_ids[] = { static const struct amba_id pl011_ids[] = {
{ {
.id = 0x00041011, .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)) if (platform_driver_register(&arm_sbsa_uart_platform_driver))
pr_warn("could not register SBSA UART platform driver\n"); pr_warn("could not register SBSA UART platform driver\n");

View File

@ -655,7 +655,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ | dispctrl &= ~(SCALER_DISPCTRL_DMAEIRQ |
SCALER_DISPCTRL_SLVWREIRQ | SCALER_DISPCTRL_SLVWREIRQ |
SCALER_DISPCTRL_SLVRDEIRQ | 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 /* Recompute Composite Output Buffer (COB) allocations for the displays
*/ */

View File

@ -99,7 +99,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
reg = HVS_READ(SCALER_DISPECTRL); reg = HVS_READ(SCALER_DISPECTRL);
reg &= ~SCALER_DISPECTRL_DSP2_MUX_MASK; 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); HVS_WRITE(SCALER_DISPCTRL, dispctrl);

View File

@ -16,7 +16,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_hvs.c --- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/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; return 0;
} }
@ -94,7 +94,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) static int vc4_hvs_bind(struct device *dev, struct device *master, void *data)
{ {
struct platform_device *pdev = to_platform_device(dev); 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_dev *vc4 = to_vc4_dev(drm);
struct vc4_hvs *hvs = NULL; struct vc4_hvs *hvs = NULL;
int ret; int ret;
@ -102,7 +102,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
hvs = __vc4_hvs_alloc(vc4, NULL); hvs = __vc4_hvs_alloc(vc4, NULL);
if (IS_ERR(hvs)) 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) if (ret)
return ret; return ret;

View File

@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
VC4_REG32(SCALER_DISPCTRL), VC4_REG32(SCALER_DISPCTRL),
VC4_REG32(SCALER_DISPSTAT), VC4_REG32(SCALER_DISPSTAT),
VC4_REG32(SCALER_DISPID), 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); return PTR_ERR(hvs->regs);
hvs->regset.base = hvs->regs; hvs->regset.base = hvs->regs;

View File

@ -68,7 +68,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
hvs->pdev = pdev; hvs->pdev = pdev;
spin_lock_init(&hvs->mm_lock); 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 drm_device *drm = dev_get_drvdata(master);
struct vc4_dev *vc4 = to_vc4_dev(drm); struct vc4_dev *vc4 = to_vc4_dev(drm);
struct vc4_hvs *hvs = NULL; struct vc4_hvs *hvs = NULL;

View File

@ -30,7 +30,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1872,6 +1872,7 @@ static void vc4_hdmi_encoder_post_crtc_e @@ -1868,6 +1868,7 @@ static void vc4_hdmi_encoder_post_crtc_e
VC4_HD_VID_CTL_CLRRGB | VC4_HD_VID_CTL_CLRRGB |
VC4_HD_VID_CTL_UNDERFLOW_ENABLE | VC4_HD_VID_CTL_UNDERFLOW_ENABLE |
VC4_HD_VID_CTL_FRAME_COUNTER_RESET | VC4_HD_VID_CTL_FRAME_COUNTER_RESET |

View File

@ -35,7 +35,7 @@ Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
dispctrl |= SCALER_DISPCTRL_DISPEIRQ(0) | dispctrl |= SCALER_DISPCTRL_DISPEIRQ(0) |
SCALER_DISPCTRL_DISPEIRQ(1) | SCALER_DISPCTRL_DISPEIRQ(1) |
SCALER_DISPCTRL_DISPEIRQ(2); 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 else
hvs->dlist = hvs->regs + SCALER5_DLIST_START; hvs->dlist = hvs->regs + SCALER5_DLIST_START;
@ -46,7 +46,7 @@ Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
/* Upload filter kernels. We only have the one for now, so we /* Upload filter kernels. We only have the one for now, so we
* keep it around for the lifetime of the driver. * 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) if (ret)
return ret; return ret;

View File

@ -734,7 +734,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
vc4->hvs = hvs; 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; return 0;
} }
@ -860,7 +860,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* /*
* Recompute Composite Output Buffer (COB) allocations for the * 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); HVS_WRITE(SCALER_DISPBASE0, reg);
break; break;
@ -892,7 +892,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
default: default:
return -EINVAL; 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); return PTR_ERR(hvs);
hvs->regset.base = hvs->regs; hvs->regset.base = hvs->regs;
@ -912,7 +912,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct rpi_firmware *firmware; struct rpi_firmware *firmware;
struct device_node *node; struct device_node *node;
unsigned int max_rate; 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) if (!firmware)
return -EPROBE_DEFER; return -EPROBE_DEFER;
@ -934,7 +934,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
max_rate = rpi_firmware_clk_get_max_rate(firmware, max_rate = rpi_firmware_clk_get_max_rate(firmware,
RPI_FIRMWARE_CORE_CLK_ID); RPI_FIRMWARE_CORE_CLK_ID);
rpi_firmware_put(firmware); 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"); dev_err(&pdev->dev, "Couldn't enable the core clock\n");
return ret; return ret;
} }
@ -990,7 +990,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (ret) if (ret)
return 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) if (ret)
return ret; return ret;
@ -1007,7 +1007,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
return 0; 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_remove_node(node);
drm_mm_takedown(&vc4->hvs->lbm_mm); drm_mm_takedown(&vc4->hvs->lbm_mm);
@ -1015,7 +1015,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
clk_disable_unprepare(hvs->core_clk); clk_disable_unprepare(hvs->core_clk);
vc4->hvs = NULL; 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[] = { static const struct of_device_id vc4_hvs_dt_match[] = {
{ .compatible = "brcm,bcm2711-hvs" }, { .compatible = "brcm,bcm2711-hvs" },

View File

@ -20,7 +20,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1112,6 +1112,7 @@ static void vc4_hdmi_encoder_post_crtc_d @@ -1108,6 +1108,7 @@ static void vc4_hdmi_encoder_post_crtc_d
{ {
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
struct drm_device *drm = vc4_hdmi->connector.dev; struct drm_device *drm = vc4_hdmi->connector.dev;
@ -28,7 +28,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
unsigned long flags; unsigned long flags;
int idx; int idx;
@@ -1128,14 +1129,25 @@ static void vc4_hdmi_encoder_post_crtc_d @@ -1124,14 +1125,25 @@ static void vc4_hdmi_encoder_post_crtc_d
HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_CLRRGB); HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_CLRRGB);
@ -58,7 +58,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
vc4_hdmi_disable_scrambling(encoder); vc4_hdmi_disable_scrambling(encoder);
@@ -1763,7 +1775,6 @@ static void vc4_hdmi_encoder_pre_crtc_co @@ -1759,7 +1771,6 @@ static void vc4_hdmi_encoder_pre_crtc_co
goto err_put_runtime_pm; goto err_put_runtime_pm;
} }
@ -66,7 +66,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
vc4_hdmi_cec_update_clk_div(vc4_hdmi); vc4_hdmi_cec_update_clk_div(vc4_hdmi);
if (tmds_char_rate > 297000000) if (tmds_char_rate > 297000000)
@@ -1868,6 +1879,7 @@ static void vc4_hdmi_encoder_post_crtc_e @@ -1864,6 +1875,7 @@ static void vc4_hdmi_encoder_post_crtc_e
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
HDMI_WRITE(HDMI_VID_CTL, HDMI_WRITE(HDMI_VID_CTL,
@ -74,7 +74,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
VC4_HD_VID_CTL_ENABLE | VC4_HD_VID_CTL_ENABLE |
VC4_HD_VID_CTL_CLRRGB | VC4_HD_VID_CTL_CLRRGB |
VC4_HD_VID_CTL_UNDERFLOW_ENABLE | VC4_HD_VID_CTL_UNDERFLOW_ENABLE |
@@ -3761,7 +3773,9 @@ static int vc4_hdmi_bind(struct device * @@ -3757,7 +3769,9 @@ static int vc4_hdmi_bind(struct device *
return ret; return ret;
if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") || if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") ||
@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
HDMI_READ(HDMI_VID_CTL) & VC4_HD_VID_CTL_ENABLE) { HDMI_READ(HDMI_VID_CTL) & VC4_HD_VID_CTL_ENABLE) {
clk_prepare_enable(vc4_hdmi->pixel_clock); clk_prepare_enable(vc4_hdmi->pixel_clock);
clk_prepare_enable(vc4_hdmi->hsm_clock); clk_prepare_enable(vc4_hdmi->hsm_clock);
@@ -3895,10 +3909,66 @@ static const struct vc4_hdmi_variant bcm @@ -3891,10 +3905,66 @@ static const struct vc4_hdmi_variant bcm
.hp_detect = vc5_hdmi_hp_detect, .hp_detect = vc5_hdmi_hp_detect,
}; };

View File

@ -75,7 +75,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
}, },
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -3922,7 +3922,7 @@ static const struct vc4_hdmi_variant bcm @@ -3918,7 +3918,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_2, PHY_LANE_2,
PHY_LANE_CK, PHY_LANE_CK,
}, },
@ -84,7 +84,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
.external_irq_controller = true, .external_irq_controller = true,
.init_resources = vc5_hdmi_init_resources, .init_resources = vc5_hdmi_init_resources,
@@ -3949,7 +3949,7 @@ static const struct vc4_hdmi_variant bcm @@ -3945,7 +3945,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_2, PHY_LANE_2,
PHY_LANE_CK, PHY_LANE_CK,
}, },

View File

@ -23,7 +23,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
/** /**
* struct panel_desc - Describes a simple panel. * 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, .lanes = 4,
}; };
@ -33,7 +33,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
static const struct of_device_id dsi_of_match[] = { static const struct of_device_id dsi_of_match[] = {
{ {
.compatible = "auo,b080uan01", .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", .compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts .data = &osd101t2045_53ts
}, { }, {

View File

@ -273,7 +273,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
else else
dlist_size = 4096; 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; const struct vc6_csc_coeff_entry *coeffs;
unsigned int i; unsigned int i;
@ -295,7 +295,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
coeffs = &csc_coeffs[i / 3][i % 3]; 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; reg = 0;
top = 3840; top = 3840;
@ -320,7 +320,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
VC4_SET_FIELD(top, SCALER6_DISPX_COB_TOP) | VC4_SET_FIELD(top, SCALER6_DISPX_COB_TOP) |
VC4_SET_FIELD(base, SCALER6_DISPX_COB_BASE)); VC4_SET_FIELD(base, SCALER6_DISPX_COB_BASE));
break; 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.base = hvs->regs;
@ -332,7 +332,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
hvs->regset.regs = vc6_hvs_regs; hvs->regset.regs = vc6_hvs_regs;
hvs->regset.nregs = ARRAY_SIZE(vc6_hvs_regs); hvs->regset.nregs = ARRAY_SIZE(vc6_hvs_regs);
} else { } 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[] = { static const struct of_device_id vc4_hvs_dt_match[] = {
{ .compatible = "brcm,bcm2711-hvs" }, { .compatible = "brcm,bcm2711-hvs" },
{ .compatible = "brcm,bcm2712-hvs" }, { .compatible = "brcm,bcm2712-hvs" },

View File

@ -16,7 +16,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hvs.c --- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/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_C23(x) (0xa03c + ((x) * 0x3000))
#define CFC1_N_MA_CSC_COEFF_C24(x) (0xa040 + ((x) * 0x3000)) #define CFC1_N_MA_CSC_COEFF_C24(x) (0xa040 + ((x) * 0x3000))
@ -34,7 +34,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
/* 4 S2.22 multiplication factors, and 1 S9.15 addititive element for each of 3 /* 4 S2.22 multiplication factors, and 1 S9.15 addititive element for each of 3
* output components * 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_MAP0), 0xffffffff);
HVS_WRITE(SCALER6(PRI_MAP1), 0xffffffff); HVS_WRITE(SCALER6(PRI_MAP1), 0xffffffff);

View File

@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2607,7 +2607,13 @@ static int vc4_hdmi_audio_prepare(struct @@ -2603,7 +2603,13 @@ static int vc4_hdmi_audio_prepare(struct
VC4_HDMI_AUDIO_PACKET_CEA_MASK); VC4_HDMI_AUDIO_PACKET_CEA_MASK);
/* Set the MAI threshold */ /* Set the MAI threshold */

View File

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/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.iotype = vendor->access_32b ? UPIO_MEM32 : UPIO_MEM;
uap->port.irq = irq; uap->port.irq = irq;
uap->port.ops = &amba_pl011_pops; uap->port.ops = &amba_pl011_pops;

View File

@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10) #define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
/* Global Status Register */ /* Global Status Register */
@@ -1116,10 +1117,12 @@ struct dwc3_scratchpad_array { @@ -1117,10 +1118,12 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend. * generation after resume from suspend.
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin * @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
* VBUS with an external supply. * VBUS with an external supply.
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value * @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis * 0 - -6dB de-emphasis
@@ -1346,6 +1349,7 @@ struct dwc3 { @@ -1347,6 +1350,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1; unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1; unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1; unsigned parkmode_disable_hs_quirk:1;

View File

@ -22,7 +22,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
#include <sound/pcm_drm_eld.h> #include <sound/pcm_drm_eld.h>
#include <sound/pcm_params.h> #include <sound/pcm_params.h>
#include <sound/soc.h> #include <sound/soc.h>
@@ -425,7 +426,7 @@ static void vc4_hdmi_handle_hotplug(stru @@ -421,7 +422,7 @@ static void vc4_hdmi_handle_hotplug(stru
enum drm_connector_status status) enum drm_connector_status status)
{ {
struct drm_connector *connector = &vc4_hdmi->connector; struct drm_connector *connector = &vc4_hdmi->connector;
@ -31,7 +31,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
int ret; int ret;
/* /*
@@ -443,12 +444,25 @@ static void vc4_hdmi_handle_hotplug(stru @@ -439,12 +440,25 @@ static void vc4_hdmi_handle_hotplug(stru
* the lock for now. * the lock for now.
*/ */
@ -58,7 +58,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
if (!edid) if (!edid)
return; return;
@@ -2701,8 +2715,23 @@ static int vc4_hdmi_audio_get_eld(struct @@ -2697,8 +2711,23 @@ static int vc4_hdmi_audio_get_eld(struct
return 0; return 0;
} }
@ -82,7 +82,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
.prepare = vc4_hdmi_audio_prepare, .prepare = vc4_hdmi_audio_prepare,
.audio_shutdown = vc4_hdmi_audio_shutdown, .audio_shutdown = vc4_hdmi_audio_shutdown,
.audio_startup = vc4_hdmi_audio_startup, .audio_startup = vc4_hdmi_audio_startup,
@@ -2722,6 +2751,22 @@ static void vc4_hdmi_audio_codec_release @@ -2718,6 +2747,22 @@ static void vc4_hdmi_audio_codec_release
vc4_hdmi->audio.codec_pdev = NULL; vc4_hdmi->audio.codec_pdev = NULL;
} }
@ -105,7 +105,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi)
{ {
const struct vc4_hdmi_register *mai_data = const struct vc4_hdmi_register *mai_data =
@@ -2851,6 +2896,8 @@ static int vc4_hdmi_audio_init(struct vc @@ -2847,6 +2892,8 @@ static int vc4_hdmi_audio_init(struct vc
dai_link->codecs->name = dev_name(&codec_pdev->dev); dai_link->codecs->name = dev_name(&codec_pdev->dev);
dai_link->platforms->name = dev_name(dev); dai_link->platforms->name = dev_name(dev);
@ -114,7 +114,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
card->dai_link = dai_link; card->dai_link = dai_link;
card->num_links = 1; card->num_links = 1;
card->name = vc4_hdmi->variant->card_name; card->name = vc4_hdmi->variant->card_name;
@@ -3711,6 +3758,8 @@ static int vc4_hdmi_bind(struct device * @@ -3707,6 +3754,8 @@ static int vc4_hdmi_bind(struct device *
if (ret) if (ret)
return ret; return ret;
@ -123,7 +123,7 @@ Signed-off-by: David Turner <david.turner@raspberrypi.com>
spin_lock_init(&vc4_hdmi->hw_lock); spin_lock_init(&vc4_hdmi->hw_lock);
INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq); INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq);
@@ -3823,8 +3872,16 @@ err_put_runtime_pm: @@ -3819,8 +3868,16 @@ err_put_runtime_pm:
return ret; return ret;
} }

View File

@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/bus.c --- a/drivers/mmc/core/bus.c
+++ b/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); sdio_free_common_cis(card);
@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/include/linux/mmc/card.h --- a/include/linux/mmc/card.h
+++ b/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_switch_caps sw_caps; /* switch (CMD6) caps */
struct sd_ext_reg ext_power; /* SD extension reg for PM */ struct sd_ext_reg ext_power; /* SD extension reg for PM */
struct sd_ext_reg ext_perf; /* SD extension reg for PERF */ struct sd_ext_reg ext_perf; /* SD extension reg for PERF */

View File

@ -31,7 +31,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2927,7 +2927,7 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre @@ -2923,7 +2923,7 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre
struct drm_connector *connector = &vc4_hdmi->connector; struct drm_connector *connector = &vc4_hdmi->connector;
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;

View File

@ -20,7 +20,7 @@ Signed-off-by: Michiel Vanbiervliet <michiel.vanbiervliet@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1893,14 +1893,15 @@ static void vc4_hdmi_encoder_post_crtc_e @@ -1889,14 +1889,15 @@ static void vc4_hdmi_encoder_post_crtc_e
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
HDMI_WRITE(HDMI_VID_CTL, HDMI_WRITE(HDMI_VID_CTL,

View File

@ -20,7 +20,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -609,6 +609,7 @@ static int vc4_hdmi_connector_atomic_che @@ -605,6 +605,7 @@ static int vc4_hdmi_connector_atomic_che
if (old_state->colorspace != new_state->colorspace || if (old_state->colorspace != new_state->colorspace ||
old_vc4_state->broadcast_rgb != new_vc4_state->broadcast_rgb || old_vc4_state->broadcast_rgb != new_vc4_state->broadcast_rgb ||
@ -28,7 +28,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
!drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { !drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) {
struct drm_crtc_state *crtc_state; struct drm_crtc_state *crtc_state;
@@ -635,6 +636,8 @@ static int vc4_hdmi_connector_get_proper @@ -631,6 +632,8 @@ static int vc4_hdmi_connector_get_proper
if (property == vc4_hdmi->broadcast_rgb_property) { if (property == vc4_hdmi->broadcast_rgb_property) {
*val = vc4_conn_state->broadcast_rgb; *val = vc4_conn_state->broadcast_rgb;
@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
} else { } else {
drm_dbg(drm, "Unknown property [PROP:%d:%s]\n", drm_dbg(drm, "Unknown property [PROP:%d:%s]\n",
property->base.id, property->name); property->base.id, property->name);
@@ -658,6 +661,9 @@ static int vc4_hdmi_connector_set_proper @@ -654,6 +657,9 @@ static int vc4_hdmi_connector_set_proper
if (property == vc4_hdmi->broadcast_rgb_property) { if (property == vc4_hdmi->broadcast_rgb_property) {
vc4_conn_state->broadcast_rgb = val; vc4_conn_state->broadcast_rgb = val;
return 0; return 0;
@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
} }
drm_dbg(drm, "Unknown property [PROP:%d:%s]\n", drm_dbg(drm, "Unknown property [PROP:%d:%s]\n",
@@ -702,6 +708,7 @@ vc4_hdmi_connector_duplicate_state(struc @@ -698,6 +704,7 @@ vc4_hdmi_connector_duplicate_state(struc
new_state->tmds_char_rate = vc4_state->tmds_char_rate; new_state->tmds_char_rate = vc4_state->tmds_char_rate;
new_state->output_bpc = vc4_state->output_bpc; new_state->output_bpc = vc4_state->output_bpc;
new_state->output_format = vc4_state->output_format; new_state->output_format = vc4_state->output_format;
@ -55,7 +55,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
new_state->broadcast_rgb = vc4_state->broadcast_rgb; new_state->broadcast_rgb = vc4_state->broadcast_rgb;
__drm_atomic_helper_connector_duplicate_state(connector, &new_state->base); __drm_atomic_helper_connector_duplicate_state(connector, &new_state->base);
@@ -750,6 +757,33 @@ vc4_hdmi_attach_broadcast_rgb_property(s @@ -746,6 +753,33 @@ vc4_hdmi_attach_broadcast_rgb_property(s
VC4_HDMI_BROADCAST_RGB_AUTO); VC4_HDMI_BROADCAST_RGB_AUTO);
} }
@ -89,7 +89,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static int vc4_hdmi_connector_init(struct drm_device *dev, static int vc4_hdmi_connector_init(struct drm_device *dev,
struct vc4_hdmi *vc4_hdmi) struct vc4_hdmi *vc4_hdmi)
{ {
@@ -800,6 +834,7 @@ static int vc4_hdmi_connector_init(struc @@ -796,6 +830,7 @@ static int vc4_hdmi_connector_init(struc
} }
vc4_hdmi_attach_broadcast_rgb_property(dev, vc4_hdmi); vc4_hdmi_attach_broadcast_rgb_property(dev, vc4_hdmi);
@ -97,7 +97,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drm_connector_attach_encoder(connector, encoder); drm_connector_attach_encoder(connector, encoder);
@@ -1970,6 +2005,10 @@ static void vc4_hdmi_encoder_atomic_mode @@ -1966,6 +2001,10 @@ static void vc4_hdmi_encoder_atomic_mode
&crtc_state->adjusted_mode); &crtc_state->adjusted_mode);
vc4_hdmi->output_bpc = vc4_state->output_bpc; vc4_hdmi->output_bpc = vc4_state->output_bpc;
vc4_hdmi->output_format = vc4_state->output_format; vc4_hdmi->output_format = vc4_state->output_format;
@ -108,7 +108,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
mutex_unlock(&vc4_hdmi->mutex); mutex_unlock(&vc4_hdmi->mutex);
} }
@@ -2128,6 +2167,26 @@ vc4_hdmi_encoder_compute_format(const st @@ -2124,6 +2163,26 @@ vc4_hdmi_encoder_compute_format(const st
const struct drm_display_info *info = &connector->display_info; const struct drm_display_info *info = &connector->display_info;
unsigned int format; unsigned int format;

View File

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2835,7 +2835,7 @@ static int vc4_hdmi_audio_init(struct vc @@ -2831,7 +2831,7 @@ static int vc4_hdmi_audio_init(struct vc
struct snd_soc_card *card = &vc4_hdmi->audio.card; struct snd_soc_card *card = &vc4_hdmi->audio.card;
struct device *dev = &vc4_hdmi->pdev->dev; struct device *dev = &vc4_hdmi->pdev->dev;
struct platform_device *codec_pdev; struct platform_device *codec_pdev;
@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int index, len; int index, len;
int ret; int ret;
@@ -2871,22 +2871,18 @@ static int vc4_hdmi_audio_init(struct vc @@ -2867,22 +2867,18 @@ static int vc4_hdmi_audio_init(struct vc
} }
/* /*

View File

@ -146,7 +146,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
card->ext_perf.fno = fno; card->ext_perf.fno = fno;
--- a/include/linux/mmc/card.h --- a/include/linux/mmc/card.h
+++ b/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; unsigned int nr_parts;
struct workqueue_struct *complete_wq; /* Private workqueue */ struct workqueue_struct *complete_wq; /* Private workqueue */

View File

@ -146,7 +146,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
}; };
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2273,7 +2273,9 @@ static int vc4_hdmi_encoder_atomic_check @@ -2269,7 +2269,9 @@ static int vc4_hdmi_encoder_atomic_check
unsigned long long tmds_bit_rate; unsigned long long tmds_bit_rate;
int ret; int ret;
@ -157,7 +157,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
if (mode->flags & DRM_MODE_FLAG_DBLCLK) { if (mode->flags & DRM_MODE_FLAG_DBLCLK) {
/* Only try to fixup DBLCLK modes to get 480i and 576i /* Only try to fixup DBLCLK modes to get 480i and 576i
* working. * working.
@@ -3984,6 +3986,7 @@ static const struct vc4_hdmi_variant bcm @@ -3980,6 +3982,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_CK, PHY_LANE_CK,
}, },
.unsupported_odd_h_timings = true, .unsupported_odd_h_timings = true,
@ -165,7 +165,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.external_irq_controller = true, .external_irq_controller = true,
.init_resources = vc5_hdmi_init_resources, .init_resources = vc5_hdmi_init_resources,
@@ -4013,6 +4016,7 @@ static const struct vc4_hdmi_variant bcm @@ -4009,6 +4012,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_2, PHY_LANE_2,
}, },
.unsupported_odd_h_timings = true, .unsupported_odd_h_timings = true,
@ -173,7 +173,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.external_irq_controller = true, .external_irq_controller = true,
.init_resources = vc5_hdmi_init_resources, .init_resources = vc5_hdmi_init_resources,
@@ -4042,6 +4046,7 @@ static const struct vc4_hdmi_variant bcm @@ -4038,6 +4042,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_CK, PHY_LANE_CK,
}, },
.unsupported_odd_h_timings = false, .unsupported_odd_h_timings = false,
@ -181,7 +181,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.external_irq_controller = true, .external_irq_controller = true,
.init_resources = vc5_hdmi_init_resources, .init_resources = vc5_hdmi_init_resources,
@@ -4069,6 +4074,7 @@ static const struct vc4_hdmi_variant bcm @@ -4065,6 +4070,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_CK, PHY_LANE_CK,
}, },
.unsupported_odd_h_timings = false, .unsupported_odd_h_timings = false,

View File

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/net/bluetooth/hci_sync.c --- a/net/bluetooth/hci_sync.c
+++ b/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 hci_dev_setup_sync(struct hci_dev *hdev)
{ {

View File

@ -40,7 +40,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static int vc4_hvs_upload_linear_kernel(struct vc4_hvs *hvs, static int vc4_hvs_upload_linear_kernel(struct vc4_hvs *hvs,
struct drm_mm_node *space, 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) if (ret)
return ret; return ret;
@ -62,7 +62,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
ret = vc4_hvs_cob_init(hvs); ret = vc4_hvs_cob_init(hvs);
if (ret) 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)) if (drm_mm_node_allocated(&vc4->hvs->mitchell_netravali_filter))
drm_mm_remove_node(&vc4->hvs->mitchell_netravali_filter); drm_mm_remove_node(&vc4->hvs->mitchell_netravali_filter);

View File

@ -20,8 +20,8 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/card.h --- a/drivers/mmc/core/card.h
+++ b/drivers/mmc/core/card.h +++ b/drivers/mmc/core/card.h
@@ -84,6 +84,7 @@ struct mmc_fixup { @@ -85,6 +85,7 @@ struct mmc_fixup {
#define CID_MANFID_TOSHIBA 0x11 #define CID_MANFID_GIGASTONE 0x12
#define CID_MANFID_MICRON 0x13 #define CID_MANFID_MICRON 0x13
#define CID_MANFID_SAMSUNG 0x15 #define CID_MANFID_SAMSUNG 0x15
+#define CID_MANFID_SAMSUNG_SD 0x1b +#define CID_MANFID_SAMSUNG_SD 0x1b
@ -30,9 +30,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define CID_MANFID_HYNIX 0x90 #define CID_MANFID_HYNIX 0x90
--- a/drivers/mmc/core/quirks.h --- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h
@@ -25,6 +25,14 @@ static const struct mmc_fixup __maybe_un @@ -34,6 +34,14 @@ static const struct mmc_fixup __maybe_un
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd, MMC_QUIRK_BROKEN_SD_CACHE | MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY,
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), EXT_CSD_REV_ANY),
+ /* + /*
+ * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache + * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache

View File

@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/tty/serial/amba-pl011.c --- a/drivers/tty/serial/amba-pl011.c
+++ b/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) static void __exit pl011_exit(void)
{ {
platform_driver_unregister(&arm_sbsa_uart_platform_driver); platform_driver_unregister(&arm_sbsa_uart_platform_driver);

View File

@ -30,7 +30,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1228,6 +1228,8 @@ static void vc4_hdmi_encoder_post_crtc_p @@ -1224,6 +1224,8 @@ static void vc4_hdmi_encoder_post_crtc_p
if (vc4_hdmi->variant->phy_disable) if (vc4_hdmi->variant->phy_disable)
vc4_hdmi->variant->phy_disable(vc4_hdmi); vc4_hdmi->variant->phy_disable(vc4_hdmi);
@ -39,7 +39,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
clk_disable_unprepare(vc4_hdmi->pixel_bvb_clock); clk_disable_unprepare(vc4_hdmi->pixel_bvb_clock);
clk_disable_unprepare(vc4_hdmi->pixel_clock); clk_disable_unprepare(vc4_hdmi->pixel_clock);
@@ -3728,6 +3730,8 @@ static int vc4_hdmi_runtime_suspend(stru @@ -3724,6 +3726,8 @@ static int vc4_hdmi_runtime_suspend(stru
struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
clk_disable_unprepare(vc4_hdmi->audio_clock); clk_disable_unprepare(vc4_hdmi->audio_clock);
@ -50,7 +50,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
return 0; return 0;
--- a/drivers/gpu/drm/vc4/vc4_hvs.c --- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/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_remove_node(node);
drm_mm_takedown(&vc4->hvs->lbm_mm); drm_mm_takedown(&vc4->hvs->lbm_mm);

View File

@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/quirks.h --- a/drivers/mmc/core/quirks.h
+++ b/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, 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY), MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/quirks.h --- a/drivers/mmc/core/quirks.h
+++ b/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("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN), MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),

View File

@ -23,7 +23,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
--- a/mm/mempolicy.c --- a/mm/mempolicy.c
+++ b/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 */ /* Reset policy of current process to default */
void numa_default_policy(void) void numa_default_policy(void)
{ {
@ -34,7 +34,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
} }
/* /*
@@ -2981,7 +2983,6 @@ static const char * const policy_modes[] @@ -2965,7 +2967,6 @@ static const char * const policy_modes[]
}; };
@ -42,7 +42,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
/** /**
* mpol_parse_str - parse string to mempolicy, for tmpfs mpol mount option. * mpol_parse_str - parse string to mempolicy, for tmpfs mpol mount option.
* @str: string containing mempolicy to parse * @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) int mpol_parse_str(char *str, struct mempolicy **mpol)
{ {
@ -62,7 +62,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
if (flags) if (flags)
*flags++ = '\0'; /* terminate mode string */ *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; goto out;
} }
@ -82,7 +82,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
/* /*
* Save nodes for mpol_to_str() to show the tmpfs mount options * Save nodes for mpol_to_str() to show the tmpfs mount options
@@ -3114,7 +3127,29 @@ out: @@ -3098,7 +3111,29 @@ out:
*mpol = new; *mpol = new;
return err; return err;
} }

View File

@ -29,7 +29,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
set_bit(flag, tp->wk.flags); set_bit(flag, tp->wk.flags);
schedule_work(&tp->wk.work); 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(); rtnl_lock();

View File

@ -296,7 +296,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type) static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
{ {
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */ /* 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->cfg9346_usage_lock);
raw_spin_lock_init(&tp->config25_lock); raw_spin_lock_init(&tp->config25_lock);
raw_spin_lock_init(&tp->mac_ocp_lock); raw_spin_lock_init(&tp->mac_ocp_lock);
@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev, dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
struct pcpu_sw_netstats); 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) if (rc)
return rc; return rc;

View File

@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
obj-$(CONFIG_R8169) += r8169.o obj-$(CONFIG_R8169) += r8169.o
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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) if (rc)
return rc; return rc;

View File

@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
genphy_soft_reset(tp->phydev); 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; tp->phydev->mac_managed_pm = true;
@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
phy_support_asym_pause(tp->phydev); phy_support_asym_pause(tp->phydev);
/* PHY will be woken up in rtl_open() */ /* 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->dev = dev;
tp->pci_dev = pdev; tp->pci_dev = pdev;
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1; tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;

View File

@ -311,7 +311,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rtl_enable_rxdvgate(tp); rtl_enable_rxdvgate(tp);
fsleep(2000); fsleep(2000);
break; 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) { switch (tp->mac_version) {
case RTL_GIGA_MAC_VER_34: case RTL_GIGA_MAC_VER_34:
@ -321,7 +321,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
padto = max_t(unsigned int, padto, ETH_ZLEN); padto = max_t(unsigned int, padto, ETH_ZLEN);
break; break;
default: 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: case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp); rtl_hw_init_8168g(tp);
break; break;

View File

@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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); raw_spin_lock_init(&tp->mac_ocp_lock);
mutex_init(&tp->led_lock); mutex_init(&tp->led_lock);
@ -28,7 +28,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
/* Get the *optional* external "ether_clk" used on some boards */ /* Get the *optional* external "ether_clk" used on some boards */
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk"); tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
if (IS_ERR(tp->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_RXALL;
dev->hw_features |= NETIF_F_RXFCS; dev->hw_features |= NETIF_F_RXFCS;

View File

@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
void r8169_get_led_name(struct rtl8169_private *tp, int idx, void r8169_get_led_name(struct rtl8169_private *tp, int idx,
char *buf, int buf_len) 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) if (rc)
return rc; return rc;

View File

@ -124,7 +124,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 ocp_base; 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); cancel_work_sync(&tp->wk.work);
@ -133,7 +133,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
unregister_netdev(tp->dev); unregister_netdev(tp->dev);
if (tp->dash_type != RTL_DASH_NONE) 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 (IS_ENABLED(CONFIG_R8169_LEDS)) {
if (rtl_is_8125(tp)) if (rtl_is_8125(tp))

View File

@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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); cancel_work_sync(&tp->wk.work);

View File

@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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; tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
if (tp->mac_version <= RTL_GIGA_MAC_VER_06) if (tp->mac_version <= RTL_GIGA_MAC_VER_06)

View File

@ -215,7 +215,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rtl_enable_rxdvgate(tp); rtl_enable_rxdvgate(tp);
fsleep(2000); fsleep(2000);
break; 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) { switch (tp->mac_version) {
case RTL_GIGA_MAC_VER_34: case RTL_GIGA_MAC_VER_34:
@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
padto = max_t(unsigned int, padto, ETH_ZLEN); padto = max_t(unsigned int, padto, ETH_ZLEN);
break; break;
default: 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: case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp); rtl_hw_init_8168g(tp);
break; break;

View File

@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/property.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; return 0;
} }
postcore_initcall(regmap_initcall); postcore_initcall(regmap_initcall);

View File

@ -758,7 +758,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <net/netfilter/nf_flow_table.h> #include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_conntrack.h> #include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.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); EXPORT_SYMBOL_GPL(flow_offload_lookup);
@ -768,7 +768,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void (*iter)(struct nf_flowtable *flowtable, void (*iter)(struct nf_flowtable *flowtable,
struct flow_offload *flow, void *data), struct flow_offload *flow, void *data),
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); nf_flow_offload_stats(flow_table, flow);
} }
} }

View File

@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/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 // FS 2.5G Base-T
SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g), SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
// 2500MBd NRZ in their EEPROM // 2500MBd NRZ in their EEPROM
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), 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. * or t_start_up, so assume there is a fault.
*/ */
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
init_done: init_done:
/* Create mdiobus and start trying for PHY */ /* 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); mutex_lock(&sfp->st_mutex);
state = sfp_get_state(sfp); state = sfp_get_state(sfp);
changed = state ^ sfp->state; changed = state ^ sfp->state;

View File

@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/base/core.c --- a/drivers/base/core.c
+++ b/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 | \ #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
DL_FLAG_PM_RUNTIME) DL_FLAG_PM_RUNTIME)

View File

@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mmc/core/bus.c --- a/drivers/mmc/core/bus.c
+++ b/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); mmc_add_card_debugfs(card);
card->dev.of_node = mmc_of_find_child_device(card->host, 0); card->dev.of_node = mmc_of_find_child_device(card->host, 0);

View File

@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/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, .exit_batch = nf_flow_table_pernet_exit,
}; };
@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
static int __init nf_flow_table_module_init(void) static int __init nf_flow_table_module_init(void)
{ {
int ret; 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) if (ret)
goto out_offload; goto out_offload;
@ -49,7 +49,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
out_offload: out_offload:
unregister_pernet_subsys(&nf_flow_table_net_ops); unregister_pernet_subsys(&nf_flow_table_net_ops);
return ret; return ret;
@@ -683,6 +706,7 @@ out_offload: @@ -679,6 +702,7 @@ out_offload:
static void __exit nf_flow_table_module_exit(void) static void __exit nf_flow_table_module_exit(void)
{ {

View File

@ -106,7 +106,7 @@ Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
spin_unlock_irqrestore(&data->lock, flags); spin_unlock_irqrestore(&data->lock, flags);
return 0; 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); wdt_data->toprgu_sw_rst_num);
if (err) if (err)
return err; return err;
@ -115,7 +115,7 @@ Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
} }
mtk_wdt->disable_wdt_extrst = 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,mt6589-wdt" },
{ .compatible = "mediatek,mt6795-wdt", .data = &mt6795_data }, { .compatible = "mediatek,mt6795-wdt", .data = &mt6795_data },
{ .compatible = "mediatek,mt7986-wdt", .data = &mt7986_data }, { .compatible = "mediatek,mt7986-wdt", .data = &mt7986_data },

View File

@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val) static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{ {
@@ -1345,6 +1346,7 @@ static int spinand_probe(struct spi_mem @@ -1346,6 +1347,7 @@ static int spinand_probe(struct spi_mem
if (ret) if (ret)
return ret; return ret;
@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0); ret = mtd_device_register(mtd, NULL, 0);
if (ret) if (ret)
goto err_spinand_cleanup; goto err_spinand_cleanup;
@@ -1352,6 +1354,7 @@ static int spinand_probe(struct spi_mem @@ -1353,6 +1355,7 @@ static int spinand_probe(struct spi_mem
return 0; return 0;
err_spinand_cleanup: err_spinand_cleanup:
@ -24,7 +24,7 @@
spinand_cleanup(spinand); spinand_cleanup(spinand);
return ret; return ret;
@@ -1370,6 +1373,7 @@ static int spinand_remove(struct spi_mem @@ -1371,6 +1374,7 @@ static int spinand_remove(struct spi_mem
if (ret) if (ret)
return ret; return ret;

View File

@ -76,7 +76,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
static const struct tsens_ops ops_generic_v1 = { static const struct tsens_ops ops_generic_v1 = {
.init = init_common, .init = init_common,
.calibrate = calibrate_v1, .calibrate = calibrate_v1,
@@ -187,3 +234,16 @@ struct tsens_plat_data data_8976 = { @@ -194,3 +241,16 @@ struct tsens_plat_data data_8976 = {
.feat = &tsens_v1_feat, .feat = &tsens_v1_feat,
.fields = tsens_v1_regfields, .fields = tsens_v1_regfields,
}; };
@ -111,7 +111,7 @@ Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8974, data_9607; extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8974, data_9607;
/* TSENS v1 targets */ /* TSENS v1 targets */
-extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956; -extern struct tsens_plat_data data_tsens_v1, data_8937, data_8976, data_8956;
+extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956, data_ipq5018; +extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956, data_ipq5018;
/* TSENS v2 targets */ /* TSENS v2 targets */

View File

@ -10,7 +10,7 @@ Signed-off-by: hzy <hzyitc@outlook.com>
--- a/drivers/mtd/nand/spi/core.c --- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c
@@ -1086,7 +1086,7 @@ int spinand_match_and_init(struct spinan @@ -1087,7 +1087,7 @@ int spinand_match_and_init(struct spinan
if (rdid_method != info->devid.method) if (rdid_method != info->devid.method)
continue; continue;

View File

@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/drivers/usb/dwc3/core.h --- a/drivers/usb/dwc3/core.h
+++ b/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 * @bus_clk: clock for accessing the registers
* @ref_clk: reference clock * @ref_clk: reference clock
* @susp_clk: clock used when the SS phy is in low power (S3) state * @susp_clk: clock used when the SS phy is in low power (S3) state
@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* @reset: reset control * @reset: reset control
* @regs: base address for our registers * @regs: base address for our registers
* @regs_size: address space size * @regs_size: address space size
@@ -1169,6 +1171,8 @@ struct dwc3 { @@ -1170,6 +1172,8 @@ struct dwc3 {
struct clk *bus_clk; struct clk *bus_clk;
struct clk *ref_clk; struct clk *ref_clk;
struct clk *susp_clk; struct clk *susp_clk;

View File

@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
TxDescStartAddrLow = 0x20, TxDescStartAddrLow = 0x20,
TxDescStartAddrHigh = 0x24, TxDescStartAddrHigh = 0x24,
TxHDescStartAddrLow = 0x28, TxHDescStartAddrLow = 0x28,
@@ -5367,6 +5369,22 @@ static bool rtl_aspm_is_safe(struct rtl8 @@ -5373,6 +5375,22 @@ static bool rtl_aspm_is_safe(struct rtl8
return false; return false;
} }
@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
{ {
struct rtl8169_private *tp; struct rtl8169_private *tp;
@@ -5535,6 +5553,7 @@ static int rtl_init_one(struct pci_dev * @@ -5541,6 +5559,7 @@ static int rtl_init_one(struct pci_dev *
if (!tp->counters) if (!tp->counters)
return -ENOMEM; return -ENOMEM;