kernel: bump 6.6 to 6.6.88

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.88

Manually rebased:
 - bcm27xx/patches-6.6/950-0327-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch[1]
 - bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch[2]
 - generic/hack-6.6/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch[3]
 - generic/pending-6.6/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch[4]

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=f249c05416ea0bef24c9dbed0e653d2fad87b127
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=1fea7726276e5d6526ecd4e7ccb4c91a6135deb5
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=95f17738b86fd198924d874a5639bcdc49c7e5b8
4. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=a2874f0dff63829d1f540003e2d83adb610ee64a

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18607
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Mieczyslaw Nalewaj 2025-04-30 13:22:33 +02:00 committed by Hauke Mehrtens
parent a0f45a4f3f
commit a72a2fd7e0
66 changed files with 170 additions and 162 deletions

View file

@ -22,7 +22,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
--- a/drivers/of/irq.c --- a/drivers/of/irq.c
+++ b/drivers/of/irq.c +++ b/drivers/of/irq.c
@@ -89,6 +89,8 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent); @@ -94,6 +94,8 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent);
* drawing board. * drawing board.
*/ */
static const char * const of_irq_imap_abusers[] = { static const char * const of_irq_imap_abusers[] = {

View file

@ -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
@@ -1408,6 +1411,9 @@ @@ -1439,6 +1442,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

@ -343,7 +343,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20058,6 +20058,14 @@ T: git git://linuxtv.org/media_tree.git @@ -20059,6 +20059,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/sony,imx415.yaml F: Documentation/devicetree/bindings/media/i2c/sony,imx415.yaml
F: drivers/media/i2c/imx415.c F: drivers/media/i2c/imx415.c

View file

@ -177,7 +177,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20066,6 +20066,14 @@ T: git git://linuxtv.org/media_tree.git @@ -20067,6 +20067,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
F: drivers/media/i2c/imx477.c F: drivers/media/i2c/imx477.c

View file

@ -132,7 +132,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20063,6 +20063,7 @@ M: Raspberry Pi Kernel Maintenance <kern @@ -20064,6 +20064,7 @@ M: Raspberry Pi Kernel Maintenance <kern
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
S: Maintained S: Maintained
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git

View file

@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/ov7251.c --- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c
@@ -1541,7 +1541,7 @@ static int ov7251_init_ctrls(struct ov72 @@ -1543,7 +1543,7 @@ static int ov7251_init_ctrls(struct ov72
s64 pixel_rate; s64 pixel_rate;
int hblank; int hblank;
@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
ov7251->ctrls.lock = &ov7251->lock; ov7251->ctrls.lock = &ov7251->lock;
v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops, v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
@@ -1600,6 +1600,7 @@ static int ov7251_init_ctrls(struct ov72 @@ -1602,6 +1602,7 @@ static int ov7251_init_ctrls(struct ov72
static int ov7251_probe(struct i2c_client *client) static int ov7251_probe(struct i2c_client *client)
{ {
@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
struct device *dev = &client->dev; struct device *dev = &client->dev;
struct ov7251 *ov7251; struct ov7251 *ov7251;
unsigned int rate = 0, clk_rate = 0; unsigned int rate = 0, clk_rate = 0;
@@ -1690,6 +1691,15 @@ static int ov7251_probe(struct i2c_clien @@ -1692,6 +1693,15 @@ static int ov7251_probe(struct i2c_clien
goto destroy_mutex; goto destroy_mutex;
} }

View file

@ -14,13 +14,13 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/ov7251.c --- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c
@@ -1676,7 +1676,8 @@ static int ov7251_probe(struct i2c_clien @@ -1678,7 +1678,8 @@ static int ov7251_probe(struct i2c_clien
return PTR_ERR(ov7251->analog_regulator); return PTR_ERR(ov7251->analog_regulator);
} }
- ov7251->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_HIGH); - ov7251->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
+ ov7251->enable_gpio = devm_gpiod_get_optional(dev, "enable", + ov7251->enable_gpio = devm_gpiod_get_optional(dev, "enable",
+ GPIOD_OUT_HIGH); + GPIOD_OUT_LOW);
if (IS_ERR(ov7251->enable_gpio)) { if (IS_ERR(ov7251->enable_gpio)) {
dev_err(dev, "cannot get enable gpio\n"); dev_err(dev, "cannot get enable gpio\n");
return PTR_ERR(ov7251->enable_gpio); return PTR_ERR(ov7251->enable_gpio);

View file

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/ov7251.c --- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c
@@ -1344,6 +1344,14 @@ static int ov7251_s_stream(struct v4l2_s @@ -1346,6 +1346,14 @@ static int ov7251_s_stream(struct v4l2_s
if (ret < 0) if (ret < 0)
goto err_power_down; goto err_power_down;

View file

@ -62,7 +62,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const unsigned long supported_xclk_rates[] = { static const unsigned long supported_xclk_rates[] = {
[OV7251_19_2_MHZ] = 19200000, [OV7251_19_2_MHZ] = 19200000,
[OV7251_24_MHZ] = 24000000, [OV7251_24_MHZ] = 24000000,
@@ -1372,6 +1384,23 @@ static int ov7251_s_stream(struct v4l2_s @@ -1374,6 +1386,23 @@ static int ov7251_s_stream(struct v4l2_s
dev_err(ov7251->dev, "could not sync v4l2 controls\n"); dev_err(ov7251->dev, "could not sync v4l2 controls\n");
goto err_power_down; goto err_power_down;
} }

View file

@ -138,7 +138,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20107,6 +20107,14 @@ T: git git://linuxtv.org/media_tree.git @@ -20108,6 +20108,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/imx519.yaml F: Documentation/devicetree/bindings/media/i2c/imx519.yaml
F: drivers/media/i2c/imx519.c F: drivers/media/i2c/imx519.c

View file

@ -271,7 +271,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20112,7 +20112,7 @@ M: Raspberry Pi Kernel Maintenance <kern @@ -20113,7 +20113,7 @@ M: Raspberry Pi Kernel Maintenance <kern
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
S: Maintained S: Maintained
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git

View file

@ -291,7 +291,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+ }; + };
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20013,7 +20013,7 @@ M: Sakari Ailus <sakari.ailus@linux.inte @@ -20014,7 +20014,7 @@ M: Sakari Ailus <sakari.ailus@linux.inte
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
S: Maintained S: Maintained
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git

View file

@ -1019,41 +1019,47 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
clk_disable_unprepare(pcie->clk); clk_disable_unprepare(pcie->clk);
return ret; return ret;
} }
@@ -1599,6 +1970,33 @@ static int brcm_pcie_probe(struct platfo @@ -1595,8 +1966,38 @@ static int brcm_pcie_probe(struct platfo
dev_err(pcie->dev, "probe of internal MSI failed"); if (pci_msi_enabled()) {
goto fail; struct device_node *msi_np = of_parse_phandle(pcie->np, "msi-parent", 0);
}
+ } else if (pci_msi_enabled() && msi_np != pcie->np) {
+ /* Use RC_BAR1 for MIP access */
+ u64 msi_pci_addr;
+ u64 msi_phys_addr;
+
+ if (of_property_read_u64(msi_np, "brcm,msi-pci-addr", &msi_pci_addr)) {
+ dev_err(pcie->dev, "Unable to find MSI PCI address\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ if (of_property_read_u64(msi_np, "reg", &msi_phys_addr)) {
+ dev_err(pcie->dev, "Unable to find MSI physical address\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ writel(lower_32_bits(msi_pci_addr) | brcm_pcie_encode_ibar_size(0x1000),
+ pcie->base + PCIE_MISC_RC_BAR1_CONFIG_LO);
+ writel(upper_32_bits(msi_pci_addr),
+ pcie->base + PCIE_MISC_RC_BAR1_CONFIG_HI);
+
+ writel(lower_32_bits(msi_phys_addr) |
+ PCIE_MISC_UBUS_BAR1_CONFIG_REMAP_ACCESS_ENABLE_MASK,
+ pcie->base + PCIE_MISC_UBUS_BAR1_CONFIG_REMAP);
+ writel(upper_32_bits(msi_phys_addr),
+ pcie->base + PCIE_MISC_UBUS_BAR1_CONFIG_REMAP_HI);
}
bridge->ops = pcie->type == BCM7425 ? &brcm7425_pcie_ops : &brcm_pcie_ops; - if (msi_np == pcie->np)
@@ -1615,6 +2013,8 @@ static int brcm_pcie_probe(struct platfo + if (msi_np == pcie->np) {
ret = brcm_pcie_enable_msi(pcie);
+ } else {
+ /* Use RC_BAR1 for MIP access */
+ u64 msi_pci_addr;
+ u64 msi_phys_addr;
+
+ if (of_property_read_u64(msi_np, "brcm,msi-pci-addr", &msi_pci_addr)) {
+ dev_err(pcie->dev, "Unable to find MSI PCI address\n");
+ ret = -EINVAL;
+ of_node_put(msi_np);
+ goto fail;
+ }
+
+ if (of_property_read_u64(msi_np, "reg", &msi_phys_addr)) {
+ dev_err(pcie->dev, "Unable to find MSI physical address\n");
+ ret = -EINVAL;
+ of_node_put(msi_np);
+ goto fail;
+ }
+
+ writel(lower_32_bits(msi_pci_addr) | brcm_pcie_encode_ibar_size(0x1000),
+ pcie->base + PCIE_MISC_RC_BAR1_CONFIG_LO);
+ writel(upper_32_bits(msi_pci_addr),
+ pcie->base + PCIE_MISC_RC_BAR1_CONFIG_HI);
+
+ writel(lower_32_bits(msi_phys_addr) |
+ PCIE_MISC_UBUS_BAR1_CONFIG_REMAP_ACCESS_ENABLE_MASK,
+ pcie->base + PCIE_MISC_UBUS_BAR1_CONFIG_REMAP);
+ writel(upper_32_bits(msi_phys_addr),
+ pcie->base + PCIE_MISC_UBUS_BAR1_CONFIG_REMAP_HI);
+ }
of_node_put(msi_np);
@@ -1620,6 +2021,8 @@ static int brcm_pcie_probe(struct platfo
return ret; return ret;
} }

View file

@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -460,6 +460,40 @@ static int dw_i2s_set_tdm_slot(struct sn @@ -459,6 +459,40 @@ static int dw_i2s_set_tdm_slot(struct sn
return 0; return 0;
} }
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int dw_i2s_dai_probe(struct snd_soc_dai *dai) static int dw_i2s_dai_probe(struct snd_soc_dai *dai)
{ {
struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai); struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai);
@@ -476,6 +510,7 @@ static const struct snd_soc_dai_ops dw_i @@ -475,6 +509,7 @@ static const struct snd_soc_dai_ops dw_i
.trigger = dw_i2s_trigger, .trigger = dw_i2s_trigger,
.set_fmt = dw_i2s_set_fmt, .set_fmt = dw_i2s_set_fmt,
.set_tdm_slot = dw_i2s_set_tdm_slot, .set_tdm_slot = dw_i2s_set_tdm_slot,

View file

@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -248,7 +248,7 @@ static void dw_i2s_config(struct dw_i2s_ @@ -247,7 +247,7 @@ static void dw_i2s_config(struct dw_i2s_
{ {
u32 ch_reg; u32 ch_reg;
struct i2s_clk_config_data *config = &dev->config; struct i2s_clk_config_data *config = &dev->config;
@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
i2s_disable_channels(dev, stream); i2s_disable_channels(dev, stream);
@@ -260,6 +260,7 @@ static void dw_i2s_config(struct dw_i2s_ @@ -259,6 +259,7 @@ static void dw_i2s_config(struct dw_i2s_
dev->fifo_th - 1); dev->fifo_th - 1);
i2s_write_reg(dev->i2s_base, TER(ch_reg), TER_TXCHEN | i2s_write_reg(dev->i2s_base, TER(ch_reg), TER_TXCHEN |
dev->tdm_mask << TER_TXSLOT_SHIFT); dev->tdm_mask << TER_TXSLOT_SHIFT);
@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
} else { } else {
i2s_write_reg(dev->i2s_base, RCR(ch_reg), i2s_write_reg(dev->i2s_base, RCR(ch_reg),
dev->xfer_resolution); dev->xfer_resolution);
@@ -267,9 +268,15 @@ static void dw_i2s_config(struct dw_i2s_ @@ -266,9 +267,15 @@ static void dw_i2s_config(struct dw_i2s_
dev->fifo_th - 1); dev->fifo_th - 1);
i2s_write_reg(dev->i2s_base, RER(ch_reg), RER_RXCHEN | i2s_write_reg(dev->i2s_base, RER(ch_reg), RER_RXCHEN |
dev->tdm_mask << RER_RXSLOT_SHIFT); dev->tdm_mask << RER_RXSLOT_SHIFT);

View file

@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#include <sound/pcm.h> #include <sound/pcm.h>
#include <sound/pcm_params.h> #include <sound/pcm_params.h>
#include <sound/soc.h> #include <sound/soc.h>
@@ -208,15 +208,10 @@ static void i2s_start(struct dw_i2s_dev @@ -206,15 +206,10 @@ static void i2s_start(struct dw_i2s_dev
i2s_write_reg(dev->i2s_base, CER, 1); i2s_write_reg(dev->i2s_base, CER, 1);
} }
@ -37,9 +37,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
- else - else
- i2s_write_reg(dev->i2s_base, IRER, 0); - i2s_write_reg(dev->i2s_base, IRER, 0);
if (dev->use_pio || dev->is_jh7110) if (!(dev->use_pio || dev->is_jh7110))
i2s_disable_irqs(dev, substream->stream, 8); i2s_disable_dma(dev, substream->stream);
@@ -225,23 +220,15 @@ static void i2s_stop(struct dw_i2s_dev * @@ -224,23 +219,15 @@ static void i2s_stop(struct dw_i2s_dev *
if (!dev->active) { if (!dev->active) {
i2s_write_reg(dev->i2s_base, CER, 0); i2s_write_reg(dev->i2s_base, CER, 0);
@ -67,7 +67,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
} }
static void dw_i2s_config(struct dw_i2s_dev *dev, int stream) static void dw_i2s_config(struct dw_i2s_dev *dev, int stream)
@@ -354,6 +341,62 @@ static int dw_i2s_hw_params(struct snd_p @@ -353,6 +340,62 @@ static int dw_i2s_hw_params(struct snd_p
return 0; return 0;
} }
@ -130,7 +130,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int dw_i2s_prepare(struct snd_pcm_substream *substream, static int dw_i2s_prepare(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
@@ -381,9 +424,12 @@ static int dw_i2s_trigger(struct snd_pcm @@ -380,9 +423,12 @@ static int dw_i2s_trigger(struct snd_pcm
i2s_start(dev, substream); i2s_start(dev, substream);
break; break;
@ -144,7 +144,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dev->active--; dev->active--;
i2s_stop(dev, substream); i2s_stop(dev, substream);
break; break;
@@ -512,6 +558,7 @@ static int dw_i2s_dai_probe(struct snd_s @@ -511,6 +557,7 @@ static int dw_i2s_dai_probe(struct snd_s
static const struct snd_soc_dai_ops dw_i2s_dai_ops = { static const struct snd_soc_dai_ops dw_i2s_dai_ops = {
.probe = dw_i2s_dai_probe, .probe = dw_i2s_dai_probe,
.startup = dw_i2s_startup, .startup = dw_i2s_startup,

View file

@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -271,23 +271,34 @@ static int dw_i2s_hw_params(struct snd_p @@ -270,23 +270,34 @@ static int dw_i2s_hw_params(struct snd_p
{ {
struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai); struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai);
struct i2s_clk_config_data *config = &dev->config; struct i2s_clk_config_data *config = &dev->config;
@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dev->ccr = 0x10; dev->ccr = 0x10;
dev->xfer_resolution = 0x05; dev->xfer_resolution = 0x05;
break; break;
@@ -519,24 +530,21 @@ static int dw_i2s_set_bclk_ratio(struct @@ -518,24 +529,21 @@ static int dw_i2s_set_bclk_ratio(struct
struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(cpu_dai); struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(cpu_dai);
struct i2s_clk_config_data *config = &dev->config; struct i2s_clk_config_data *config = &dev->config;

View file

@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -528,11 +528,8 @@ static int dw_i2s_set_bclk_ratio(struct @@ -527,11 +527,8 @@ static int dw_i2s_set_bclk_ratio(struct
unsigned int ratio) unsigned int ratio)
{ {
struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(cpu_dai); struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(cpu_dai);

View file

@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/media/i2c/ov7251.c --- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c
@@ -1063,7 +1063,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr @@ -1065,7 +1065,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr
case V4L2_CID_EXPOSURE: case V4L2_CID_EXPOSURE:
ret = ov7251_set_exposure(ov7251, ctrl->val); ret = ov7251_set_exposure(ov7251, ctrl->val);
break; break;
@ -27,7 +27,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
ret = ov7251_set_gain(ov7251, ctrl->val); ret = ov7251_set_gain(ov7251, ctrl->val);
break; break;
case V4L2_CID_TEST_PATTERN: case V4L2_CID_TEST_PATTERN:
@@ -1588,7 +1588,7 @@ static int ov7251_init_ctrls(struct ov72 @@ -1590,7 +1590,7 @@ static int ov7251_init_ctrls(struct ov72
ov7251->exposure = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops, ov7251->exposure = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
V4L2_CID_EXPOSURE, 1, 32, 1, 32); V4L2_CID_EXPOSURE, 1, 32, 1, 32);
ov7251->gain = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops, ov7251->gain = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,

View file

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -796,7 +796,7 @@ static int dw_configure_dai_by_dt(struct @@ -795,7 +795,7 @@ static int dw_configure_dai_by_dt(struct
u32 idx2; u32 idx2;
int ret; int ret;

View file

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -235,10 +235,17 @@ static void dw_i2s_config(struct dw_i2s_ @@ -234,10 +234,17 @@ static void dw_i2s_config(struct dw_i2s_
{ {
u32 ch_reg; u32 ch_reg;
struct i2s_clk_config_data *config = &dev->config; struct i2s_clk_config_data *config = &dev->config;
@ -34,7 +34,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
for (ch_reg = 0; ch_reg < (config->chan_nr / 2); ch_reg++) { for (ch_reg = 0; ch_reg < (config->chan_nr / 2); ch_reg++) {
if (stream == SNDRV_PCM_STREAM_PLAYBACK) { if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
i2s_write_reg(dev->i2s_base, TCR(ch_reg), i2s_write_reg(dev->i2s_base, TCR(ch_reg),
@@ -258,10 +265,6 @@ static void dw_i2s_config(struct dw_i2s_ @@ -257,10 +264,6 @@ static void dw_i2s_config(struct dw_i2s_
dmacr |= (DMACR_DMAEN_RXCH0 << ch_reg); dmacr |= (DMACR_DMAEN_RXCH0 << ch_reg);
} }
} }
@ -45,7 +45,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
i2s_write_reg(dev->i2s_base, I2S_DMACR, dmacr); i2s_write_reg(dev->i2s_base, I2S_DMACR, dmacr);
} }
@@ -370,10 +373,13 @@ static int dw_i2s_startup(struct snd_pcm @@ -369,10 +372,13 @@ static int dw_i2s_startup(struct snd_pcm
dw_i2s_config(dev, substream->stream); dw_i2s_config(dev, substream->stream);
dmacr = i2s_read_reg(dev->i2s_base, I2S_DMACR); dmacr = i2s_read_reg(dev->i2s_base, I2S_DMACR);

View file

@ -67,7 +67,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
+... +...
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -18620,6 +18620,13 @@ S: Supported @@ -18621,6 +18621,13 @@ S: Supported
F: drivers/iio/light/rohm-bu27008.c F: drivers/iio/light/rohm-bu27008.c
F: drivers/iio/light/rohm-bu27034.c F: drivers/iio/light/rohm-bu27034.c

View file

@ -16,7 +16,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -15872,6 +15872,14 @@ S: Maintained @@ -15873,6 +15873,14 @@ S: Maintained
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
F: drivers/media/i2c/ov5695.c F: drivers/media/i2c/ov5695.c

View file

@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -314,6 +314,25 @@ static int dw_i2s_hw_params(struct snd_p @@ -313,6 +313,25 @@ static int dw_i2s_hw_params(struct snd_p
if (dev->tdm_slots) if (dev->tdm_slots)
config->data_width = 32; config->data_width = 32;
@ -44,7 +44,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
config->chan_nr = params_channels(params); config->chan_nr = params_channels(params);
switch (config->chan_nr) { switch (config->chan_nr) {
@@ -537,23 +556,7 @@ static int dw_i2s_set_bclk_ratio(struct @@ -536,23 +555,7 @@ static int dw_i2s_set_bclk_ratio(struct
dev_dbg(dev->dev, "%s(%d)\n", __func__, ratio); dev_dbg(dev->dev, "%s(%d)\n", __func__, ratio);
@ -69,7 +69,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
return 0; return 0;
} }
@@ -1068,6 +1071,7 @@ static int dw_i2s_probe(struct platform_ @@ -1067,6 +1070,7 @@ static int dw_i2s_probe(struct platform_
} }
} }

View file

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -288,21 +288,18 @@ static int dw_i2s_hw_params(struct snd_p @@ -287,21 +287,18 @@ static int dw_i2s_hw_params(struct snd_p
case SNDRV_PCM_FORMAT_S16_LE: case SNDRV_PCM_FORMAT_S16_LE:
config->data_width = 16; config->data_width = 16;
dma_data->dt.addr_width = 2; dma_data->dt.addr_width = 2;
@ -35,7 +35,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dev->xfer_resolution = 0x05; dev->xfer_resolution = 0x05;
break; break;
@@ -314,25 +311,6 @@ static int dw_i2s_hw_params(struct snd_p @@ -313,25 +310,6 @@ static int dw_i2s_hw_params(struct snd_p
if (dev->tdm_slots) if (dev->tdm_slots)
config->data_width = 32; config->data_width = 32;
@ -61,7 +61,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
config->chan_nr = params_channels(params); config->chan_nr = params_channels(params);
switch (config->chan_nr) { switch (config->chan_nr) {
@@ -348,11 +326,31 @@ static int dw_i2s_hw_params(struct snd_p @@ -347,11 +325,31 @@ static int dw_i2s_hw_params(struct snd_p
dw_i2s_config(dev, substream->stream); dw_i2s_config(dev, substream->stream);
@ -95,7 +95,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
if (dev->i2s_clk_cfg) { if (dev->i2s_clk_cfg) {
ret = dev->i2s_clk_cfg(config); ret = dev->i2s_clk_cfg(config);
if (ret < 0) { if (ret < 0) {
@@ -360,8 +358,7 @@ static int dw_i2s_hw_params(struct snd_p @@ -359,8 +357,7 @@ static int dw_i2s_hw_params(struct snd_p
return ret; return ret;
} }
} else { } else {
@ -105,7 +105,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
ret = clk_set_rate(dev->clk, bitclk); ret = clk_set_rate(dev->clk, bitclk);
if (ret) { if (ret) {
@@ -370,6 +367,8 @@ static int dw_i2s_hw_params(struct snd_p @@ -369,6 +366,8 @@ static int dw_i2s_hw_params(struct snd_p
return ret; return ret;
} }
} }

View file

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -320,7 +320,7 @@ static int dw_i2s_hw_params(struct snd_p @@ -319,7 +319,7 @@ static int dw_i2s_hw_params(struct snd_p
case TWO_CHANNEL_SUPPORT: case TWO_CHANNEL_SUPPORT:
break; break;
default: default:
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
return -EINVAL; return -EINVAL;
} }
@@ -708,7 +708,7 @@ static int dw_configure_dai(struct dw_i2 @@ -707,7 +707,7 @@ static int dw_configure_dai(struct dw_i2
idx = 1; idx = 1;
dw_i2s_dai->playback.channels_min = MIN_CHANNEL_NUM; dw_i2s_dai->playback.channels_min = MIN_CHANNEL_NUM;
dw_i2s_dai->playback.channels_max = dw_i2s_dai->playback.channels_max =
@ -35,7 +35,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dw_i2s_dai->playback.formats = formats[idx]; dw_i2s_dai->playback.formats = formats[idx];
dw_i2s_dai->playback.rates = rates; dw_i2s_dai->playback.rates = rates;
} }
@@ -722,7 +722,7 @@ static int dw_configure_dai(struct dw_i2 @@ -721,7 +721,7 @@ static int dw_configure_dai(struct dw_i2
idx = 1; idx = 1;
dw_i2s_dai->capture.channels_min = MIN_CHANNEL_NUM; dw_i2s_dai->capture.channels_min = MIN_CHANNEL_NUM;
dw_i2s_dai->capture.channels_max = dw_i2s_dai->capture.channels_max =

View file

@ -48,7 +48,7 @@ Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers cannot. If you rely on getting the inactive state, use .duty_cycle=0, drivers cannot. If you rely on getting the inactive state, use .duty_cycle=0,
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -17438,7 +17438,7 @@ F: drivers/video/backlight/pwm_bl.c @@ -17439,7 +17439,7 @@ F: drivers/video/backlight/pwm_bl.c
F: include/dt-bindings/pwm/ F: include/dt-bindings/pwm/
F: include/linux/pwm.h F: include/linux/pwm.h
F: include/linux/pwm_backlight.h F: include/linux/pwm_backlight.h

View file

@ -23,7 +23,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -18033,6 +18033,13 @@ L: linux-wireless@vger.kernel.org @@ -18034,6 +18034,13 @@ L: linux-wireless@vger.kernel.org
S: Orphan S: Orphan
F: drivers/net/wireless/legacy/ray* F: drivers/net/wireless/legacy/ray*

View file

@ -87,7 +87,7 @@ Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
+ }; + };
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -18038,6 +18038,7 @@ M: Jacopo Mondi <jacopo.mondi@ideasonboa @@ -18039,6 +18039,7 @@ M: Jacopo Mondi <jacopo.mondi@ideasonboa
L: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com> L: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
L: linux-media@vger.kernel.org L: linux-media@vger.kernel.org
S: Maintained S: Maintained

View file

@ -94,7 +94,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
+ +
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -18028,6 +18028,11 @@ F: drivers/ras/ @@ -18029,6 +18029,11 @@ F: drivers/ras/
F: include/linux/ras.h F: include/linux/ras.h
F: include/ras/ras_event.h F: include/ras/ras_event.h

View file

@ -25,7 +25,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -18032,6 +18032,7 @@ RASPBERRY PI RP2040 GPIO BRIDGE DRIVER @@ -18033,6 +18033,7 @@ RASPBERRY PI RP2040 GPIO BRIDGE DRIVER
M: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com> M: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/spi/raspberrypi,rp2040-gpio-bridge.yaml F: Documentation/devicetree/bindings/spi/raspberrypi,rp2040-gpio-bridge.yaml

View file

@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -236,6 +236,8 @@ static void dw_i2s_config(struct dw_i2s_ @@ -235,6 +235,8 @@ static void dw_i2s_config(struct dw_i2s_
u32 ch_reg; u32 ch_reg;
struct i2s_clk_config_data *config = &dev->config; struct i2s_clk_config_data *config = &dev->config;
u32 dmacr; u32 dmacr;
@ -31,7 +31,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
i2s_disable_channels(dev, stream); i2s_disable_channels(dev, stream);
@@ -251,7 +253,7 @@ static void dw_i2s_config(struct dw_i2s_ @@ -250,7 +252,7 @@ static void dw_i2s_config(struct dw_i2s_
i2s_write_reg(dev->i2s_base, TCR(ch_reg), i2s_write_reg(dev->i2s_base, TCR(ch_reg),
dev->xfer_resolution); dev->xfer_resolution);
i2s_write_reg(dev->i2s_base, TFCR(ch_reg), i2s_write_reg(dev->i2s_base, TFCR(ch_reg),
@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
i2s_write_reg(dev->i2s_base, TER(ch_reg), TER_TXCHEN | i2s_write_reg(dev->i2s_base, TER(ch_reg), TER_TXCHEN |
dev->tdm_mask << TER_TXSLOT_SHIFT); dev->tdm_mask << TER_TXSLOT_SHIFT);
dmacr |= (DMACR_DMAEN_TXCH0 << ch_reg); dmacr |= (DMACR_DMAEN_TXCH0 << ch_reg);
@@ -783,8 +785,8 @@ static int dw_configure_dai_by_pd(struct @@ -782,8 +784,8 @@ static int dw_configure_dai_by_pd(struct
dev->capture_dma_data.pd.data = pdata->capture_dma_data; dev->capture_dma_data.pd.data = pdata->capture_dma_data;
dev->play_dma_data.pd.addr = res->start + I2S_TXDMA; dev->play_dma_data.pd.addr = res->start + I2S_TXDMA;
dev->capture_dma_data.pd.addr = res->start + I2S_RXDMA; dev->capture_dma_data.pd.addr = res->start + I2S_RXDMA;
@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dev->play_dma_data.pd.addr_width = bus_widths[idx]; dev->play_dma_data.pd.addr_width = bus_widths[idx];
dev->capture_dma_data.pd.addr_width = bus_widths[idx]; dev->capture_dma_data.pd.addr_width = bus_widths[idx];
dev->play_dma_data.pd.filter = pdata->filter; dev->play_dma_data.pd.filter = pdata->filter;
@@ -815,7 +817,10 @@ static int dw_configure_dai_by_dt(struct @@ -814,7 +816,10 @@ static int dw_configure_dai_by_dt(struct
dev->play_dma_data.dt.addr = res->start + I2S_TXDMA; dev->play_dma_data.dt.addr = res->start + I2S_TXDMA;
dev->play_dma_data.dt.fifo_size = fifo_depth * dev->play_dma_data.dt.fifo_size = fifo_depth *
(fifo_width[idx2]) >> 8; (fifo_width[idx2]) >> 8;
@ -63,7 +63,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
} }
if (COMP1_RX_ENABLED(comp1)) { if (COMP1_RX_ENABLED(comp1)) {
idx2 = COMP2_RX_WORDSIZE_0(comp2); idx2 = COMP2_RX_WORDSIZE_0(comp2);
@@ -824,9 +829,14 @@ static int dw_configure_dai_by_dt(struct @@ -823,9 +828,14 @@ static int dw_configure_dai_by_dt(struct
dev->capture_dma_data.dt.addr = res->start + I2S_RXDMA; dev->capture_dma_data.dt.addr = res->start + I2S_RXDMA;
dev->capture_dma_data.dt.fifo_size = fifo_depth * dev->capture_dma_data.dt.fifo_size = fifo_depth *
(fifo_width[idx2] >> 8); (fifo_width[idx2] >> 8);
@ -79,7 +79,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0; return 0;
} }
@@ -1070,6 +1080,7 @@ static int dw_i2s_probe(struct platform_ @@ -1069,6 +1079,7 @@ static int dw_i2s_probe(struct platform_
} }
} }

View file

@ -150,7 +150,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
+ +
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20128,6 +20128,13 @@ F: Documentation/devicetree/bindings/med @@ -20129,6 +20129,13 @@ F: Documentation/devicetree/bindings/med
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
F: drivers/media/i2c/imx477.c F: drivers/media/i2c/imx477.c

View file

@ -21,7 +21,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20134,6 +20134,7 @@ L: linux-media@vger.kernel.org @@ -20135,6 +20135,7 @@ L: linux-media@vger.kernel.org
S: Maintained S: Maintained
T: git git://linuxtv.org/media_tree.git T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml F: Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml

View file

@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
// For 10GBASE-T short-reach modules // For 10GBASE-T short-reach modules
@@ -796,7 +796,8 @@ static void sfp_soft_start_poll(struct s @@ -798,7 +798,8 @@ static void sfp_soft_start_poll(struct s
mutex_lock(&sfp->st_mutex); mutex_lock(&sfp->st_mutex);
// Poll the soft state for hardware pins we want to ignore // Poll the soft state for hardware pins we want to ignore
@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (sfp->state_soft_mask & (SFP_F_LOS | SFP_F_TX_FAULT) && if (sfp->state_soft_mask & (SFP_F_LOS | SFP_F_TX_FAULT) &&
!sfp->need_poll) !sfp->need_poll)
@@ -2321,7 +2322,7 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2323,7 +2324,7 @@ static int sfp_sm_mod_probe(struct sfp *
sfp->module_t_start_up = T_START_UP; sfp->module_t_start_up = T_START_UP;
sfp->module_t_wait = T_WAIT; sfp->module_t_wait = T_WAIT;
@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (sfp->id.base.extended_cc == SFF8024_ECC_10GBASE_T_SFI || if (sfp->id.base.extended_cc == SFF8024_ECC_10GBASE_T_SFI ||
sfp->id.base.extended_cc == SFF8024_ECC_10GBASE_T_SR || sfp->id.base.extended_cc == SFF8024_ECC_10GBASE_T_SR ||
@@ -2344,6 +2345,8 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2346,6 +2347,8 @@ static int sfp_sm_mod_probe(struct sfp *
if (sfp->quirk && sfp->quirk->fixup) if (sfp->quirk && sfp->quirk->fixup)
sfp->quirk->fixup(sfp); sfp->quirk->fixup(sfp);
@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
mutex_unlock(&sfp->st_mutex); mutex_unlock(&sfp->st_mutex);
return 0; return 0;
@@ -2844,10 +2847,7 @@ static void sfp_check_state(struct sfp * @@ -2846,10 +2849,7 @@ 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

@ -63,7 +63,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -13366,6 +13366,7 @@ L: netdev@vger.kernel.org @@ -13367,6 +13367,7 @@ L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: drivers/net/phy/mediatek-ge-soc.c F: drivers/net/phy/mediatek-ge-soc.c
F: drivers/net/phy/mediatek-ge.c F: drivers/net/phy/mediatek-ge.c

View file

@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
u32 phys_mii_mask; u32 phys_mii_mask;
--- a/net/dsa/dsa.c --- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c +++ b/net/dsa/dsa.c
@@ -1510,6 +1510,17 @@ static int dsa_switch_probe(struct dsa_s @@ -1549,6 +1549,17 @@ static int dsa_switch_probe(struct dsa_s
if (!ds->num_ports) if (!ds->num_ports)
return -EINVAL; return -EINVAL;

View file

@ -86,7 +86,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void sfp_fixup_rollball_cc(struct sfp *sfp) static void sfp_fixup_rollball_cc(struct sfp *sfp)
{ {
sfp_fixup_rollball(sfp); sfp_fixup_rollball(sfp);
@@ -2320,7 +2318,7 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2322,7 +2320,7 @@ static int sfp_sm_mod_probe(struct sfp *
mask |= SFP_F_RS1; mask |= SFP_F_RS1;
sfp->module_t_start_up = T_START_UP; sfp->module_t_start_up = T_START_UP;
@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
sfp->state_ignore_mask = 0; sfp->state_ignore_mask = 0;
@@ -2556,10 +2554,9 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2558,10 +2556,9 @@ static void sfp_sm_main(struct sfp *sfp,
/* We need to check the TX_FAULT state, which is not defined /* We need to check the TX_FAULT state, which is not defined
* while TX_DISABLE is asserted. The earliest we want to do * while TX_DISABLE is asserted. The earliest we want to do
@ -108,7 +108,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break; break;
case SFP_S_WAIT: case SFP_S_WAIT:
@@ -2573,8 +2570,8 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2575,8 +2572,8 @@ static void sfp_sm_main(struct sfp *sfp,
* deasserting. * deasserting.
*/ */
timeout = sfp->module_t_start_up; timeout = sfp->module_t_start_up;
@ -119,7 +119,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
else else
timeout = 1; timeout = 1;
@@ -2617,7 +2614,11 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2619,7 +2616,11 @@ static void sfp_sm_main(struct sfp *sfp,
ret = sfp_sm_probe_for_phy(sfp); ret = sfp_sm_probe_for_phy(sfp);
if (ret == -ENODEV) { if (ret == -ENODEV) {
if (--sfp->sm_phy_retries) { if (--sfp->sm_phy_retries) {

View file

@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
static void sfp_fixup_halny_gsfp(struct sfp *sfp) static void sfp_fixup_halny_gsfp(struct sfp *sfp)
@@ -2318,6 +2325,7 @@ static int sfp_sm_mod_probe(struct sfp * @@ -2320,6 +2327,7 @@ static int sfp_sm_mod_probe(struct sfp *
mask |= SFP_F_RS1; mask |= SFP_F_RS1;
sfp->module_t_start_up = T_START_UP; sfp->module_t_start_up = T_START_UP;
@ -59,7 +59,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
sfp->phy_t_retry = T_PHY_RETRY; sfp->phy_t_retry = T_PHY_RETRY;
sfp->state_ignore_mask = 0; sfp->state_ignore_mask = 0;
@@ -2554,9 +2562,10 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2556,9 +2564,10 @@ static void sfp_sm_main(struct sfp *sfp,
/* We need to check the TX_FAULT state, which is not defined /* We need to check the TX_FAULT state, which is not defined
* while TX_DISABLE is asserted. The earliest we want to do * while TX_DISABLE is asserted. The earliest we want to do
@ -72,7 +72,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break; break;
case SFP_S_WAIT: case SFP_S_WAIT:
@@ -2570,8 +2579,8 @@ static void sfp_sm_main(struct sfp *sfp, @@ -2572,8 +2581,8 @@ static void sfp_sm_main(struct sfp *sfp,
* deasserting. * deasserting.
*/ */
timeout = sfp->module_t_start_up; timeout = sfp->module_t_start_up;

View file

@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/usb/r8152.c --- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c
@@ -2584,8 +2584,9 @@ static int rx_bottom(struct r8152 *tp, i @@ -2585,8 +2585,9 @@ static int rx_bottom(struct r8152 *tp, i
while (urb->actual_length > len_used) { while (urb->actual_length > len_used) {
struct net_device *netdev = tp->netdev; struct net_device *netdev = tp->netdev;
struct net_device_stats *stats = &netdev->stats; struct net_device_stats *stats = &netdev->stats;
@ -26,7 +26,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
WARN_ON_ONCE(skb_queue_len(&tp->rx_queue) >= 1000); WARN_ON_ONCE(skb_queue_len(&tp->rx_queue) >= 1000);
@@ -2598,45 +2599,77 @@ static int rx_bottom(struct r8152 *tp, i @@ -2599,45 +2600,77 @@ static int rx_bottom(struct r8152 *tp, i
break; break;
pkt_len -= ETH_FCS_LEN; pkt_len -= ETH_FCS_LEN;

View file

@ -41,7 +41,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -21989,6 +21989,7 @@ U-BOOT ENVIRONMENT VARIABLES @@ -21990,6 +21990,7 @@ U-BOOT ENVIRONMENT VARIABLES
M: Rafał Miłecki <rafal@milecki.pl> M: Rafał Miłecki <rafal@milecki.pl>
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/nvmem/u-boot,env.yaml F: Documentation/devicetree/bindings/nvmem/u-boot,env.yaml

View file

@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3699,7 +3699,7 @@ static int mv88e6xxx_mdio_register(struc @@ -3725,7 +3725,7 @@ static int mv88e6xxx_mdio_register(struc
if (external) { if (external) {
mv88e6xxx_reg_lock(chip); mv88e6xxx_reg_lock(chip);

View file

@ -27,7 +27,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3699,7 +3699,10 @@ static int mv88e6xxx_mdio_register(struc @@ -3725,7 +3725,10 @@ static int mv88e6xxx_mdio_register(struc
if (external) { if (external) {
mv88e6xxx_reg_lock(chip); mv88e6xxx_reg_lock(chip);

View file

@ -127,7 +127,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/phylink.h> #include <linux/phylink.h>
@@ -3265,14 +3266,43 @@ static int mv88e6xxx_setup_upstream_port @@ -3276,14 +3277,43 @@ static int mv88e6xxx_setup_upstream_port
static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port)
{ {
struct device_node *phy_handle = NULL; struct device_node *phy_handle = NULL;
@ -173,7 +173,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
err = mv88e6xxx_port_setup_mac(chip, port, LINK_UNFORCED, err = mv88e6xxx_port_setup_mac(chip, port, LINK_UNFORCED,
SPEED_UNFORCED, DUPLEX_UNFORCED, SPEED_UNFORCED, DUPLEX_UNFORCED,
@@ -4491,6 +4521,7 @@ static const struct mv88e6xxx_ops mv88e6 @@ -4517,6 +4547,7 @@ static const struct mv88e6xxx_ops mv88e6
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
.port_get_cmode = mv88e6352_port_get_cmode, .port_get_cmode = mv88e6352_port_get_cmode,
@ -181,7 +181,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
.port_setup_message_port = mv88e6xxx_setup_message_port, .port_setup_message_port = mv88e6xxx_setup_message_port,
.stats_snapshot = mv88e6320_g1_stats_snapshot, .stats_snapshot = mv88e6320_g1_stats_snapshot,
.stats_set_histogram = mv88e6095_g1_stats_set_histogram, .stats_set_histogram = mv88e6095_g1_stats_set_histogram,
@@ -4593,6 +4624,7 @@ static const struct mv88e6xxx_ops mv88e6 @@ -4619,6 +4650,7 @@ static const struct mv88e6xxx_ops mv88e6
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
.port_get_cmode = mv88e6352_port_get_cmode, .port_get_cmode = mv88e6352_port_get_cmode,
@ -189,7 +189,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
.port_setup_message_port = mv88e6xxx_setup_message_port, .port_setup_message_port = mv88e6xxx_setup_message_port,
.stats_snapshot = mv88e6320_g1_stats_snapshot, .stats_snapshot = mv88e6320_g1_stats_snapshot,
.stats_set_histogram = mv88e6095_g1_stats_set_histogram, .stats_set_histogram = mv88e6095_g1_stats_set_histogram,
@@ -4868,6 +4900,7 @@ static const struct mv88e6xxx_ops mv88e6 @@ -4894,6 +4926,7 @@ static const struct mv88e6xxx_ops mv88e6
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
.port_get_cmode = mv88e6352_port_get_cmode, .port_get_cmode = mv88e6352_port_get_cmode,
@ -197,7 +197,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
.port_setup_message_port = mv88e6xxx_setup_message_port, .port_setup_message_port = mv88e6xxx_setup_message_port,
.stats_snapshot = mv88e6320_g1_stats_snapshot, .stats_snapshot = mv88e6320_g1_stats_snapshot,
.stats_set_histogram = mv88e6095_g1_stats_set_histogram, .stats_set_histogram = mv88e6095_g1_stats_set_histogram,
@@ -5290,6 +5323,7 @@ static const struct mv88e6xxx_ops mv88e6 @@ -5318,6 +5351,7 @@ static const struct mv88e6xxx_ops mv88e6
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
.port_get_cmode = mv88e6352_port_get_cmode, .port_get_cmode = mv88e6352_port_get_cmode,

View file

@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/page_pool.c --- a/net/core/page_pool.c
+++ b/net/core/page_pool.c +++ b/net/core/page_pool.c
@@ -873,12 +873,23 @@ static void page_pool_release_retry(stru @@ -873,7 +873,7 @@ static void page_pool_release_retry(stru
{ {
struct delayed_work *dwq = to_delayed_work(wq); struct delayed_work *dwq = to_delayed_work(wq);
struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw); struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw);
@ -24,7 +24,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ int cpu, inflight; + int cpu, inflight;
inflight = page_pool_release(pool); inflight = page_pool_release(pool);
if (!inflight) /* In rare cases, a driver bug may cause inflight to go negative.
@@ -885,6 +885,17 @@ static void page_pool_release_retry(stru
if (inflight <= 0)
return; return;
+ /* Run NET_RX_SOFTIRQ in order to free pending skbs in softnet_data + /* Run NET_RX_SOFTIRQ in order to free pending skbs in softnet_data

View file

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/sched/sch_fq_codel.c --- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c
@@ -465,7 +465,11 @@ static int fq_codel_init(struct Qdisc *s @@ -463,7 +463,11 @@ static int fq_codel_init(struct Qdisc *s
sch->limit = 10*1024; sch->limit = 10*1024;
q->flows_cnt = 1024; q->flows_cnt = 1024;

View file

@ -9,7 +9,7 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation
--- a/drivers/net/dsa/mv88e6xxx/chip.c --- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3435,6 +3435,9 @@ static int mv88e6xxx_setup_port(struct m @@ -3446,6 +3446,9 @@ static int mv88e6xxx_setup_port(struct m
else else
reg = 1 << port; reg = 1 << port;

View file

@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
#include <linux/crc32.h> #include <linux/crc32.h>
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
@@ -7044,6 +7045,22 @@ static void rtl_tally_reset(struct r8152 @@ -7045,6 +7046,22 @@ static void rtl_tally_reset(struct r8152
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
} }
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
static void r8152b_init(struct r8152 *tp) static void r8152b_init(struct r8152 *tp)
{ {
u32 ocp_data; u32 ocp_data;
@@ -7085,6 +7102,8 @@ static void r8152b_init(struct r8152 *tp @@ -7086,6 +7103,8 @@ static void r8152b_init(struct r8152 *tp
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
} }
static void r8153_init(struct r8152 *tp) static void r8153_init(struct r8152 *tp)
@@ -7225,6 +7244,8 @@ static void r8153_init(struct r8152 *tp) @@ -7226,6 +7245,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW; tp->coalesce = COALESCE_SLOW;
break; break;
} }
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
} }
static void r8153b_init(struct r8152 *tp) static void r8153b_init(struct r8152 *tp)
@@ -7307,6 +7328,8 @@ static void r8153b_init(struct r8152 *tp @@ -7308,6 +7329,8 @@ static void r8153b_init(struct r8152 *tp
rtl_tally_reset(tp); rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */ tp->coalesce = 15000; /* 15 us */

View file

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .87 LINUX_VERSION-6.6 = .88
LINUX_KERNEL_HASH-6.6.87 = 8957e5c2dacdbc47a16dbf1f6303ca7088409be6197a3881f752313275357ac6 LINUX_KERNEL_HASH-6.6.88 = 19df89b63ef7e950de7297dabfac0569183bf87636f4c300a25336c7da490650

View file

@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -22016,6 +22016,12 @@ F: Documentation/filesystems/ubifs-authe @@ -22017,6 +22017,12 @@ F: Documentation/filesystems/ubifs-authe
F: Documentation/filesystems/ubifs.rst F: Documentation/filesystems/ubifs.rst
F: fs/ubifs/ F: fs/ubifs/

View file

@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if ((ret & NETIF_F_GSO_ENCAP_ALL) && (ret & NETIF_F_CSUM_MASK)) if ((ret & NETIF_F_GSO_ENCAP_ALL) && (ret & NETIF_F_CSUM_MASK))
--- a/net/8021q/vlan_dev.c --- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c
@@ -583,7 +583,7 @@ static int vlan_dev_init(struct net_devi @@ -560,7 +560,7 @@ static int vlan_dev_init(struct net_devi
dev->state |= (1 << __LINK_STATE_NOCARRIER); dev->state |= (1 << __LINK_STATE_NOCARRIER);
dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG |
@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
NETIF_F_GSO_ENCAP_ALL | NETIF_F_GSO_ENCAP_ALL |
NETIF_F_HIGHDMA | NETIF_F_SCTP_CRC | NETIF_F_HIGHDMA | NETIF_F_SCTP_CRC |
NETIF_F_ALL_FCOE; NETIF_F_ALL_FCOE;
@@ -676,7 +676,7 @@ static netdev_features_t vlan_dev_fix_fe @@ -653,7 +653,7 @@ static netdev_features_t vlan_dev_fix_fe
if (lower_features & (NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM)) if (lower_features & (NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM))
lower_features |= NETIF_F_HW_CSUM; lower_features |= NETIF_F_HW_CSUM;
features = netdev_intersect_features(features, lower_features); features = netdev_intersect_features(features, lower_features);

View file

@ -34,7 +34,7 @@ Signed-off-by: Chad Monroe <chad@monroe.io>
+ val &= ~MTK_RESV_BUF_MASK; + val &= ~MTK_RESV_BUF_MASK;
val |= MTK_MUTLI_CNT | MTK_RESV_BUF | val |= MTK_MUTLI_CNT | MTK_RESV_BUF |
MTK_WCOMP_EN | MTK_DMAD_WR_WDONE | MTK_WCOMP_EN | MTK_DMAD_WR_WDONE |
MTK_CHK_DDONE_EN | MTK_LEAKY_BUCKET_EN; MTK_CHK_DDONE_EN;
- else - else
+ } else { + } else {
val |= MTK_RX_BT_32DWORDS; val |= MTK_RX_BT_32DWORDS;

View file

@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -13356,7 +13356,9 @@ M: Daniel Golle <daniel@makrotopia.org> @@ -13357,7 +13357,9 @@ M: Daniel Golle <daniel@makrotopia.org>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: drivers/net/pcs/pcs-mtk-lynxi.c F: drivers/net/pcs/pcs-mtk-lynxi.c

View file

@ -32,7 +32,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -17717,6 +17717,13 @@ L: netdev@vger.kernel.org @@ -17718,6 +17718,13 @@ L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: drivers/net/ethernet/qualcomm/emac/ F: drivers/net/ethernet/qualcomm/emac/

View file

@ -64,7 +64,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -17723,6 +17723,7 @@ L: netdev@vger.kernel.org @@ -17724,6 +17724,7 @@ L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/net/qcom,ipq4019-ess-edma.yaml F: Documentation/devicetree/bindings/net/qcom,ipq4019-ess-edma.yaml
F: drivers/net/ethernet/qualcomm/ipqess/ F: drivers/net/ethernet/qualcomm/ipqess/

View file

@ -382,7 +382,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-}; -};
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -11863,6 +11863,7 @@ LANTIQ / INTEL Ethernet drivers @@ -11864,6 +11864,7 @@ LANTIQ / INTEL Ethernet drivers
M: Hauke Mehrtens <hauke@hauke-m.de> M: Hauke Mehrtens <hauke@hauke-m.de>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Maintained S: Maintained

View file

@ -891,7 +891,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
+}; +};
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -8359,6 +8359,14 @@ F: drivers/ptp/ptp_qoriq.c @@ -8360,6 +8360,14 @@ F: drivers/ptp/ptp_qoriq.c
F: drivers/ptp/ptp_qoriq_debugfs.c F: drivers/ptp/ptp_qoriq_debugfs.c
F: include/linux/fsl/ptp_qoriq.h F: include/linux/fsl/ptp_qoriq.h

View file

@ -20,7 +20,7 @@ Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
--- a/drivers/pwm/pwm-mediatek.c --- a/drivers/pwm/pwm-mediatek.c
+++ b/drivers/pwm/pwm-mediatek.c +++ b/drivers/pwm/pwm-mediatek.c
@@ -341,6 +341,13 @@ static const struct pwm_mediatek_of_data @@ -345,6 +345,13 @@ static const struct pwm_mediatek_of_data
.reg_offset = mtk_pwm_reg_offset_v1, .reg_offset = mtk_pwm_reg_offset_v1,
}; };
@ -34,7 +34,7 @@ Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
static const struct pwm_mediatek_of_data mt8183_pwm_data = { static const struct pwm_mediatek_of_data mt8183_pwm_data = {
.num_pwms = 4, .num_pwms = 4,
.pwm45_fixup = false, .pwm45_fixup = false,
@@ -371,6 +378,7 @@ static const struct of_device_id pwm_med @@ -375,6 +382,7 @@ static const struct of_device_id pwm_med
{ .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data }, { .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data },
{ .compatible = "mediatek,mt7981-pwm", .data = &mt7981_pwm_data }, { .compatible = "mediatek,mt7981-pwm", .data = &mt7981_pwm_data },
{ .compatible = "mediatek,mt7986-pwm", .data = &mt7986_pwm_data }, { .compatible = "mediatek,mt7986-pwm", .data = &mt7986_pwm_data },

View file

@ -16,7 +16,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -10142,6 +10142,22 @@ IFCVF VIRTIO DATA PATH ACCELERATOR @@ -10143,6 +10143,22 @@ IFCVF VIRTIO DATA PATH ACCELERATOR
R: Zhu Lingshan <lingshan.zhu@intel.com> R: Zhu Lingshan <lingshan.zhu@intel.com>
F: drivers/vdpa/ifcvf/ F: drivers/vdpa/ifcvf/

View file

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/media/usb/uvc/uvc_driver.c --- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -3287,6 +3287,18 @@ static const struct usb_device_id uvc_id @@ -3296,6 +3296,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1, .bInterfaceSubClass = 1,
.bInterfaceProtocol = 0, .bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },

View file

@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -1568,6 +1568,10 @@ static void sfp_hwmon_probe(struct work_ @@ -1570,6 +1570,10 @@ static void sfp_hwmon_probe(struct work_
struct sfp *sfp = container_of(work, struct sfp, hwmon_probe.work); struct sfp *sfp = container_of(work, struct sfp, hwmon_probe.work);
int err; int err;
@ -21,7 +21,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
/* hwmon interface needs to access 16bit registers in atomic way to /* hwmon interface needs to access 16bit registers in atomic way to
* guarantee coherency of the diagnostic monitoring data. If it is not * guarantee coherency of the diagnostic monitoring data. If it is not
* possible to guarantee coherency because EEPROM is broken in such way * possible to guarantee coherency because EEPROM is broken in such way
@@ -2430,6 +2434,13 @@ static void sfp_sm_module(struct sfp *sf @@ -2432,6 +2436,13 @@ static void sfp_sm_module(struct sfp *sf
return; return;
} }

View file

@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c
@@ -673,10 +673,64 @@ static int sfp_i2c_write(struct sfp *sfp @@ -675,10 +675,64 @@ static int sfp_i2c_write(struct sfp *sfp
return ret == ARRAY_SIZE(msgs) ? len : 0; return ret == ARRAY_SIZE(msgs) ? len : 0;
} }
@ -77,7 +77,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
sfp->i2c = i2c; sfp->i2c = i2c;
sfp->read = sfp_i2c_read; sfp->read = sfp_i2c_read;
@@ -708,6 +762,29 @@ static int sfp_i2c_mdiobus_create(struct @@ -710,6 +764,29 @@ static int sfp_i2c_mdiobus_create(struct
return 0; return 0;
} }
@ -107,7 +107,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
static void sfp_i2c_mdiobus_destroy(struct sfp *sfp) static void sfp_i2c_mdiobus_destroy(struct sfp *sfp)
{ {
mdiobus_unregister(sfp->i2c_mii); mdiobus_unregister(sfp->i2c_mii);
@@ -1886,9 +1963,15 @@ static void sfp_sm_fault(struct sfp *sfp @@ -1888,9 +1965,15 @@ static void sfp_sm_fault(struct sfp *sfp
static int sfp_sm_add_mdio_bus(struct sfp *sfp) static int sfp_sm_add_mdio_bus(struct sfp *sfp)
{ {

View file

@ -12,7 +12,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -7053,6 +7053,14 @@ T: git git://anongit.freedesktop.org/drm @@ -7054,6 +7054,14 @@ T: git git://anongit.freedesktop.org/drm
F: Documentation/devicetree/bindings/display/rockchip/ F: Documentation/devicetree/bindings/display/rockchip/
F: drivers/gpu/drm/rockchip/ F: drivers/gpu/drm/rockchip/
@ -27,7 +27,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
DRM DRIVERS FOR STI DRM DRIVERS FOR STI
M: Alain Volmat <alain.volmat@foss.st.com> M: Alain Volmat <alain.volmat@foss.st.com>
L: dri-devel@lists.freedesktop.org L: dri-devel@lists.freedesktop.org
@@ -16017,6 +16025,13 @@ F: Documentation/i2c/busses/i2c-ocores.r @@ -16018,6 +16026,13 @@ F: Documentation/i2c/busses/i2c-ocores.r
F: drivers/i2c/busses/i2c-ocores.c F: drivers/i2c/busses/i2c-ocores.c
F: include/linux/platform_data/i2c-ocores.h F: include/linux/platform_data/i2c-ocores.h
@ -41,7 +41,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
OPENRISC ARCHITECTURE OPENRISC ARCHITECTURE
M: Jonas Bonn <jonas@southpole.se> M: Jonas Bonn <jonas@southpole.se>
M: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> M: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
@@ -16428,6 +16443,14 @@ S: Maintained @@ -16429,6 +16444,14 @@ S: Maintained
F: Documentation/devicetree/bindings/pci/layerscape-pcie-gen4.txt F: Documentation/devicetree/bindings/pci/layerscape-pcie-gen4.txt
F: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c F: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c
@ -56,7 +56,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
PCI DRIVER FOR RENESAS R-CAR PCI DRIVER FOR RENESAS R-CAR
M: Marek Vasut <marek.vasut+renesas@gmail.com> M: Marek Vasut <marek.vasut+renesas@gmail.com>
M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
@@ -16659,7 +16682,7 @@ M: Daire McNamara <daire.mcnamara@microc @@ -16660,7 +16683,7 @@ M: Daire McNamara <daire.mcnamara@microc
L: linux-pci@vger.kernel.org L: linux-pci@vger.kernel.org
S: Supported S: Supported
F: Documentation/devicetree/bindings/pci/microchip* F: Documentation/devicetree/bindings/pci/microchip*
@ -65,7 +65,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
PCIE DRIVER FOR QUALCOMM MSM PCIE DRIVER FOR QUALCOMM MSM
M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
@@ -16683,6 +16706,13 @@ S: Maintained @@ -16684,6 +16707,13 @@ S: Maintained
F: Documentation/devicetree/bindings/pci/socionext,uniphier-pcie* F: Documentation/devicetree/bindings/pci/socionext,uniphier-pcie*
F: drivers/pci/controller/dwc/pcie-uniphier* F: drivers/pci/controller/dwc/pcie-uniphier*
@ -79,7 +79,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
PCIE DRIVER FOR ST SPEAR13XX PCIE DRIVER FOR ST SPEAR13XX
M: Pratyush Anand <pratyush.anand@gmail.com> M: Pratyush Anand <pratyush.anand@gmail.com>
L: linux-pci@vger.kernel.org L: linux-pci@vger.kernel.org
@@ -18455,7 +18485,7 @@ F: drivers/char/hw_random/mpfs-rng.c @@ -18456,7 +18486,7 @@ F: drivers/char/hw_random/mpfs-rng.c
F: drivers/clk/microchip/clk-mpfs*.c F: drivers/clk/microchip/clk-mpfs*.c
F: drivers/i2c/busses/i2c-microchip-corei2c.c F: drivers/i2c/busses/i2c-microchip-corei2c.c
F: drivers/mailbox/mailbox-mpfs.c F: drivers/mailbox/mailbox-mpfs.c
@ -88,7 +88,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
F: drivers/pwm/pwm-microchip-core.c F: drivers/pwm/pwm-microchip-core.c
F: drivers/reset/reset-mpfs.c F: drivers/reset/reset-mpfs.c
F: drivers/rtc/rtc-mpfs.c F: drivers/rtc/rtc-mpfs.c
@@ -20436,6 +20466,15 @@ M: Ion Badulescu <ionut@badula.org> @@ -20437,6 +20467,15 @@ M: Ion Badulescu <ionut@badula.org>
S: Odd Fixes S: Odd Fixes
F: drivers/net/ethernet/adaptec/starfire* F: drivers/net/ethernet/adaptec/starfire*
@ -104,7 +104,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
STARFIVE CRYPTO DRIVER STARFIVE CRYPTO DRIVER
M: Jia Jie Ho <jiajie.ho@starfivetech.com> M: Jia Jie Ho <jiajie.ho@starfivetech.com>
M: William Qiu <william.qiu@starfivetech.com> M: William Qiu <william.qiu@starfivetech.com>
@@ -20474,6 +20513,13 @@ S: Supported @@ -20475,6 +20514,13 @@ S: Supported
F: Documentation/devicetree/bindings/clock/starfive,jh7110-pll.yaml F: Documentation/devicetree/bindings/clock/starfive,jh7110-pll.yaml
F: drivers/clk/starfive/clk-starfive-jh7110-pll.c F: drivers/clk/starfive/clk-starfive-jh7110-pll.c
@ -118,7 +118,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
STARFIVE JH7110 SYSCON STARFIVE JH7110 SYSCON
M: William Qiu <william.qiu@starfivetech.com> M: William Qiu <william.qiu@starfivetech.com>
M: Xingyu Wu <xingyu.wu@starfivetech.com> M: Xingyu Wu <xingyu.wu@starfivetech.com>
@@ -20521,9 +20567,10 @@ F: drivers/usb/cdns3/cdns3-starfive.c @@ -20522,9 +20568,10 @@ F: drivers/usb/cdns3/cdns3-starfive.c
STARFIVE JH71XX PMU CONTROLLER DRIVER STARFIVE JH71XX PMU CONTROLLER DRIVER
M: Walker Chen <walker.chen@starfivetech.com> M: Walker Chen <walker.chen@starfivetech.com>
@ -130,7 +130,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
F: include/dt-bindings/power/starfive,jh7110-pmu.h F: include/dt-bindings/power/starfive,jh7110-pmu.h
STARFIVE SOC DRIVERS STARFIVE SOC DRIVERS
@@ -20531,7 +20578,13 @@ M: Conor Dooley <conor@kernel.org> @@ -20532,7 +20579,13 @@ M: Conor Dooley <conor@kernel.org>
S: Maintained S: Maintained
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/ T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
F: Documentation/devicetree/bindings/soc/starfive/ F: Documentation/devicetree/bindings/soc/starfive/

View file

@ -16,7 +16,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -917,7 +917,11 @@ static int jh7110_i2stx0_clk_cfg(struct @@ -916,7 +916,11 @@ static int jh7110_i2stx0_clk_cfg(struct
static int dw_i2s_probe(struct platform_device *pdev) static int dw_i2s_probe(struct platform_device *pdev)
{ {

View file

@ -15,7 +15,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
--- a/sound/soc/dwc/dwc-i2s.c --- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c
@@ -906,6 +906,27 @@ static int jh7110_i2srx_crg_init(struct @@ -905,6 +905,27 @@ static int jh7110_i2srx_crg_init(struct
return jh7110_i2s_crg_slave_init(dev); return jh7110_i2s_crg_slave_init(dev);
} }
@ -43,7 +43,7 @@ Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
static int jh7110_i2stx0_clk_cfg(struct i2s_clk_config_data *config) static int jh7110_i2stx0_clk_cfg(struct i2s_clk_config_data *config)
{ {
struct dw_i2s_dev *dev = container_of(config, struct dw_i2s_dev, config); struct dw_i2s_dev *dev = container_of(config, struct dw_i2s_dev, config);
@@ -1086,11 +1107,21 @@ static const struct i2s_platform_data jh @@ -1085,11 +1106,21 @@ static const struct i2s_platform_data jh
.i2s_pd_init = jh7110_i2srx_crg_init, .i2s_pd_init = jh7110_i2srx_crg_init,
}; };

View file

@ -20,7 +20,7 @@ Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20555,7 +20555,7 @@ STARFIVE JH71X0 RESET CONTROLLER DRIVERS @@ -20556,7 +20556,7 @@ STARFIVE JH71X0 RESET CONTROLLER DRIVERS
M: Emil Renner Berthing <kernel@esmil.dk> M: Emil Renner Berthing <kernel@esmil.dk>
M: Hal Feng <hal.feng@starfivetech.com> M: Hal Feng <hal.feng@starfivetech.com>
S: Maintained S: Maintained