-LINUX_VERSION-6.6 = .116
-LINUX_KERNEL_HASH-6.6.116 = a9a59742c29be284c205dc87cbe9b065f9688488132c8f5a6057a5539230a51d
+LINUX_VERSION-6.6 = .117
+LINUX_KERNEL_HASH-6.6.117 = 643b31079222fdbda70cfdd0b68c514f05a3926104be4762a4685f62818b43d1
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -16871,6 +16871,13 @@ F: drivers/pinctrl/
+@@ -16872,6 +16872,13 @@ F: drivers/pinctrl/
F: include/dt-bindings/pinctrl/
F: include/linux/pinctrl/
--- a/drivers/net/ethernet/airoha/airoha_eth.c
+++ b/drivers/net/ethernet/airoha/airoha_eth.c
-@@ -892,19 +892,13 @@ static int airoha_qdma_tx_napi_poll(stru
+@@ -893,19 +893,13 @@ static int airoha_qdma_tx_napi_poll(stru
dma_unmap_single(eth->dev, e->dma_addr, e->dma_len,
DMA_TO_DEVICE);
if (skb) {
u16 queue = skb_get_queue_mapping(skb);
struct netdev_queue *txq;
-@@ -949,6 +943,7 @@ static int airoha_qdma_init_tx_queue(str
+@@ -950,6 +944,7 @@ static int airoha_qdma_init_tx_queue(str
q->ndesc = size;
q->qdma = qdma;
q->free_thr = 1 + MAX_SKB_FRAGS;
q->entry = devm_kzalloc(eth->dev, q->ndesc * sizeof(*q->entry),
GFP_KERNEL);
-@@ -961,9 +956,9 @@ static int airoha_qdma_init_tx_queue(str
+@@ -962,9 +957,9 @@ static int airoha_qdma_init_tx_queue(str
return -ENOMEM;
for (i = 0; i < q->ndesc; i++) {
WRITE_ONCE(q->desc[i].ctrl, cpu_to_le32(val));
}
-@@ -973,9 +968,9 @@ static int airoha_qdma_init_tx_queue(str
+@@ -974,9 +969,9 @@ static int airoha_qdma_init_tx_queue(str
airoha_qdma_wr(qdma, REG_TX_RING_BASE(qid), dma_addr);
airoha_qdma_rmw(qdma, REG_TX_CPU_IDX(qid), TX_RING_CPU_IDX_MASK,
return 0;
}
-@@ -1031,17 +1026,21 @@ static int airoha_qdma_init_tx(struct ai
+@@ -1032,17 +1027,21 @@ static int airoha_qdma_init_tx(struct ai
static void airoha_qdma_cleanup_tx_queue(struct airoha_queue *q)
{
struct airoha_eth *eth = q->qdma->eth;
q->queued--;
}
spin_unlock_bh(&q->lock);
-@@ -1883,20 +1882,6 @@ static u32 airoha_get_dsa_tag(struct sk_
+@@ -1884,20 +1883,6 @@ static u32 airoha_get_dsa_tag(struct sk_
#endif
}
static int airoha_get_fe_port(struct airoha_gdm_port *port)
{
struct airoha_qdma *qdma = port->qdma;
-@@ -1919,8 +1904,10 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -1920,8 +1905,10 @@ static netdev_tx_t airoha_dev_xmit(struc
struct airoha_gdm_port *port = netdev_priv(dev);
struct airoha_qdma *qdma = port->qdma;
u32 nr_frags, tag, msg0, msg1, len;
void *data;
int i, qid;
u16 index;
-@@ -1966,7 +1953,7 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -1967,7 +1954,7 @@ static netdev_tx_t airoha_dev_xmit(struc
txq = netdev_get_tx_queue(dev, qid);
nr_frags = 1 + skb_shinfo(skb)->nr_frags;
/* not enough space in the queue */
netif_tx_stop_queue(txq);
spin_unlock_bh(&q->lock);
-@@ -1975,11 +1962,13 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -1976,11 +1963,13 @@ static netdev_tx_t airoha_dev_xmit(struc
len = skb_headlen(skb);
data = skb->data;
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
dma_addr_t addr;
u32 val;
-@@ -1989,7 +1978,14 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -1990,7 +1979,14 @@ static netdev_tx_t airoha_dev_xmit(struc
if (unlikely(dma_mapping_error(dev->dev.parent, addr)))
goto error_unmap;
val = FIELD_PREP(QDMA_DESC_LEN_MASK, len);
if (i < nr_frags - 1)
-@@ -2002,15 +1998,9 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -2003,15 +1999,9 @@ static netdev_tx_t airoha_dev_xmit(struc
WRITE_ONCE(desc->msg1, cpu_to_le32(msg1));
WRITE_ONCE(desc->msg2, cpu_to_le32(0xffff));
q->queued += i;
skb_tx_timestamp(skb);
-@@ -2019,7 +2009,7 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -2020,7 +2010,7 @@ static netdev_tx_t airoha_dev_xmit(struc
if (netif_xmit_stopped(txq) || !netdev_xmit_more())
airoha_qdma_rmw(qdma, REG_TX_CPU_IDX(qid),
TX_RING_CPU_IDX_MASK,
if (q->ndesc - q->queued < q->free_thr)
netif_tx_stop_queue(txq);
-@@ -2029,10 +2019,13 @@ static netdev_tx_t airoha_dev_xmit(struc
+@@ -2030,10 +2020,13 @@ static netdev_tx_t airoha_dev_xmit(struc
return NETDEV_TX_OK;
error_unmap:
--- a/drivers/net/ethernet/airoha/airoha_eth.c
+++ b/drivers/net/ethernet/airoha/airoha_eth.c
-@@ -1384,6 +1384,10 @@ static int airoha_hw_init(struct platfor
+@@ -1383,6 +1383,10 @@ static int airoha_hw_init(struct platfor
if (err)
return err;
airoha_fe_crsn_qsel_init(eth);
-@@ -1626,7 +1628,8 @@ static int airoha_dev_open(struct net_de
+@@ -1625,7 +1627,8 @@ static int airoha_dev_open(struct net_de
if (err)
return err;
--- a/drivers/net/ethernet/airoha/airoha_eth.c
+++ b/drivers/net/ethernet/airoha/airoha_eth.c
-@@ -3096,7 +3096,6 @@ static void airoha_remove(struct platfor
+@@ -3089,7 +3089,6 @@ static void airoha_remove(struct platfor
}
static const char * const en7581_xsi_rsts_names[] = {
"hsi0-mac",
"hsi1-mac",
"hsi-mac",
-@@ -3128,7 +3127,6 @@ static int airoha_en7581_get_src_port_id
+@@ -3121,7 +3120,6 @@ static int airoha_en7581_get_src_port_id
}
static const char * const an7583_xsi_rsts_names[] = {
static void airoha_set_macaddr(struct airoha_gdm_port *port, const u8 *addr)
{
struct airoha_eth *eth = port->qdma->eth;
-@@ -1623,6 +1629,17 @@ static int airoha_dev_open(struct net_de
+@@ -1622,6 +1628,17 @@ static int airoha_dev_open(struct net_de
struct airoha_gdm_port *port = netdev_priv(dev);
struct airoha_qdma *qdma = port->qdma;
netif_tx_start_all_queues(dev);
err = airoha_set_vip_for_gdm_port(port, true);
if (err)
-@@ -1676,6 +1693,11 @@ static int airoha_dev_stop(struct net_de
+@@ -1675,6 +1692,11 @@ static int airoha_dev_stop(struct net_de
}
}
return 0;
}
-@@ -2824,6 +2846,20 @@ static const struct ethtool_ops airoha_e
+@@ -2817,6 +2839,20 @@ static const struct ethtool_ops airoha_e
.get_link = ethtool_op_get_link,
};
static int airoha_metadata_dst_alloc(struct airoha_gdm_port *port)
{
int i;
-@@ -2868,6 +2904,99 @@ bool airoha_is_valid_gdm_port(struct air
+@@ -2861,6 +2897,99 @@ bool airoha_is_valid_gdm_port(struct air
return false;
}
static int airoha_alloc_gdm_port(struct airoha_eth *eth,
struct device_node *np, int index)
{
-@@ -2946,6 +3075,12 @@ static int airoha_alloc_gdm_port(struct
+@@ -2939,6 +3068,12 @@ static int airoha_alloc_gdm_port(struct
if (err)
return err;
err = register_netdev(dev);
if (err)
goto free_metadata_dst;
-@@ -3061,6 +3196,10 @@ error_hw_cleanup:
+@@ -3054,6 +3189,10 @@ error_hw_cleanup:
if (port && port->dev->reg_state == NETREG_REGISTERED) {
unregister_netdev(port->dev);
airoha_metadata_dst_free(port);
}
}
free_netdev(eth->napi_dev);
-@@ -3088,6 +3227,10 @@ static void airoha_remove(struct platfor
+@@ -3081,6 +3220,10 @@ static void airoha_remove(struct platfor
airoha_dev_stop(port->dev);
unregister_netdev(port->dev);
airoha_metadata_dst_free(port);
--- a/drivers/net/ethernet/airoha/airoha_eth.h
+++ b/drivers/net/ethernet/airoha/airoha_eth.h
-@@ -531,6 +531,10 @@ struct airoha_gdm_port {
+@@ -536,6 +536,10 @@ struct airoha_gdm_port {
struct net_device *dev;
int id;
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
-@@ -6769,6 +6778,10 @@ static int __init cgroup_disable(char *s
+@@ -6785,6 +6794,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
-@@ -6787,6 +6800,31 @@ static int __init cgroup_disable(char *s
+@@ -6803,6 +6816,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1350,6 +1350,7 @@ static const struct adv7180_chip_info ad
+@@ -1340,6 +1340,7 @@ static const struct adv7180_chip_info ad
static int init_device(struct adv7180_state *state)
{
int ret;
mutex_lock(&state->mutex);
-@@ -1397,6 +1398,18 @@ static int init_device(struct adv7180_st
+@@ -1387,6 +1388,18 @@ static int init_device(struct adv7180_st
goto out_unlock;
}
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1339,6 +1339,7 @@ static const struct adv7180_chip_info ad
+@@ -1329,6 +1329,7 @@ static const struct adv7180_chip_info ad
BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1449,6 +1452,9 @@
+@@ -1453,6 +1456,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
-@@ -213,6 +214,7 @@ static const struct hid_device_id hid_qu
+@@ -215,6 +216,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },
+...
--- a/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: drivers/media/i2c/imx415.c
+...
--- a/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: drivers/media/i2c/imx477.c
+...
--- a/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
S: Maintained
T: git git://linuxtv.org/media_tree.git
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3747,6 +3747,7 @@ static int spi_set_cs_timing(struct spi_
+@@ -3757,6 +3757,7 @@ static int spi_set_cs_timing(struct spi_
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status = 0;
-@@ -3767,6 +3768,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3777,6 +3778,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
struct adv7180_state;
#define ADV7180_FLAG_RESET_POWERED BIT(0)
-@@ -407,10 +411,24 @@ out:
+@@ -402,10 +406,24 @@ out:
return ret;
}
if (ret)
return ret;
-@@ -436,7 +454,11 @@ static int adv7180_program_std(struct ad
+@@ -431,7 +449,11 @@ static int adv7180_program_std(struct ad
static int adv7180_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
{
struct adv7180_state *state = to_state(sd);
if (ret)
return ret;
-@@ -458,6 +480,8 @@ static int adv7180_g_std(struct v4l2_sub
+@@ -453,6 +475,8 @@ static int adv7180_g_std(struct v4l2_sub
{
struct adv7180_state *state = to_state(sd);
*norm = state->curr_norm;
return 0;
-@@ -891,6 +915,8 @@ static int adv7180_s_stream(struct v4l2_
+@@ -881,6 +905,8 @@ static int adv7180_s_stream(struct v4l2_
return 0;
}
+...
--- a/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: drivers/media/i2c/imx519.c
+...
--- a/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
S: Maintained
T: git git://linuxtv.org/media_tree.git
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4936,6 +4936,7 @@ static const struct {
+@@ -4941,6 +4941,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4964,7 +4965,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4969,7 +4970,8 @@ static int hci_dev_setup_sync(struct hci
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
+ };
--- a/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
S: Maintained
T: git git://linuxtv.org/media_tree.git
#ifdef CONFIG_GUMSTIX_AM200EPD
{
-@@ -1046,6 +1049,12 @@ static void do_unregister_framebuffer(st
+@@ -1047,6 +1050,12 @@ static void do_unregister_framebuffer(st
put_fb_info(fb_info);
}
+...
--- a/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-bu27034.c
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -15872,6 +15872,14 @@ S: Maintained
+@@ -15873,6 +15873,14 @@ S: Maintained
T: git git://linuxtv.org/media_tree.git
F: drivers/media/i2c/ov5695.c
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -728,10 +728,15 @@ static int adv7180_enum_mbus_code(struct
+@@ -723,10 +723,15 @@ static int adv7180_enum_mbus_code(struct
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_mbus_code_enum *code)
{
return 0;
}
-@@ -741,7 +746,10 @@ static int adv7180_mbus_fmt(struct v4l2_
+@@ -736,7 +741,10 @@ static int adv7180_mbus_fmt(struct v4l2_
{
struct adv7180_state *state = to_state(sd);
-From 3e7d0d9be5353186136c661e551ad442bba50e45 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Thu, 21 Dec 2023 18:03:34 +0000
-Subject: [PATCH 0814/1085] media: i2c: adv7180: Add support for
- V4L2_CID_LINK_FREQ
+From 954129f16c200e41a00ebebe2e22efc01b243538 Mon Sep 17 00:00:00 2001
+From: Dom Cobley <popcornmix@gmail.com>
+Date: Fri, 14 Nov 2025 14:08:18 +0000
+Subject: [PATCH] Revert "Revert "media: i2c: adv7180: Add support for
+ V4L2_CID_LINK_FREQ""
-For CSI2 receivers that need to know the link frequency,
-add it as a control to the driver.
-Interlaced modes are 216Mbp/s or 108MHz, whilst going through
-the I2P to deinterlace gives 432Mb/s or 216MHz.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
---
- drivers/media/i2c/adv7180.c | 32 +++++++++++++++++++++++++++++++-
- 1 file changed, 31 insertions(+), 1 deletion(-)
+ drivers/media/i2c/adv7180.c | 39 +++++++++++++++++++++++++++++++++++--
+ 1 file changed, 37 insertions(+), 2 deletions(-)
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
};
#define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler, \
struct adv7180_state, \
-@@ -621,6 +632,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -616,6 +627,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
if (ret)
return ret;
val = ctrl->val;
switch (ctrl->id) {
case V4L2_CID_BRIGHTNESS:
-@@ -662,6 +676,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -657,6 +671,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
ret = -EINVAL;
}
mutex_unlock(&state->mutex);
return ret;
}
-@@ -682,7 +697,7 @@ static const struct v4l2_ctrl_config adv
+@@ -677,7 +692,7 @@ static const struct v4l2_ctrl_config adv
static int adv7180_init_controls(struct adv7180_state *state)
{
v4l2_ctrl_new_std(&state->ctrl_hdl, &adv7180_ctrl_ops,
V4L2_CID_BRIGHTNESS, ADV7180_BRI_MIN,
-@@ -708,6 +723,17 @@ static int adv7180_init_controls(struct
+@@ -703,6 +718,17 @@ static int adv7180_init_controls(struct
test_pattern_menu);
}
state->sd.ctrl_handler = &state->ctrl_hdl;
if (state->ctrl_hdl.error) {
int err = state->ctrl_hdl.error;
-@@ -840,6 +866,10 @@ static int adv7180_set_pad_format(struct
- adv7180_set_power(state, false);
- adv7180_set_field_mode(state);
- adv7180_set_power(state, true);
+@@ -830,7 +856,16 @@ static int adv7180_set_pad_format(struct
+ ret = adv7180_mbus_fmt(sd, &format->format);
+
+ if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
+- state->field = format->format.field;
++ if (state->field != format->format.field) {
++ state->field = format->format.field;
++ adv7180_set_power(state, false);
++ adv7180_set_field_mode(state);
++ adv7180_set_power(state, true);
+ if (state->chip_info->flags & ADV7180_FLAG_MIPI_CSI2)
+ __v4l2_ctrl_s_ctrl(state->link_freq,
+ (state->field == V4L2_FIELD_NONE) ?
+ I2P_IDX : INTERLACED_IDX);
- }
++ }
} else {
framefmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
+ *framefmt = format->format;
drivers cannot. If you rely on getting the inactive state, use .duty_cycle=0,
--- a/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/linux/pwm.h
F: include/linux/pwm_backlight.h
--- a/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
F: drivers/net/wireless/legacy/ray*
+ };
--- a/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: linux-media@vger.kernel.org
S: Maintained
+
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -18028,6 +18028,11 @@ F: drivers/ras/
+@@ -18029,6 +18029,11 @@ F: drivers/ras/
F: include/linux/ras.h
F: include/ras/ras_event.h
--- a/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>
S: Maintained
F: Documentation/devicetree/bindings/spi/raspberrypi,rp2040-gpio-bridge.yaml
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4936,7 +4936,8 @@ static const struct {
+@@ -4941,7 +4941,8 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
+
--- a/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: drivers/media/i2c/imx477.c
--- a/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
T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
-@@ -4723,7 +4723,7 @@ void lru_gen_look_around(struct page_vma
+@@ -4724,7 +4724,7 @@ void lru_gen_look_around(struct page_vma
if (!folio)
continue;
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
-@@ -6778,10 +6769,6 @@ static int __init cgroup_disable(char *s
+@@ -6794,10 +6785,6 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
-@@ -6815,7 +6802,7 @@ static int __init cgroup_enable(char *st
+@@ -6831,7 +6818,7 @@ static int __init cgroup_enable(char *st
strcmp(token, ss->legacy_name))
continue;
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -6802,11 +6802,19 @@ static int __init cgroup_enable(char *st
+@@ -6818,11 +6818,19 @@ static int __init cgroup_enable(char *st
strcmp(token, ss->legacy_name))
continue;
#endif
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
-@@ -6863,8 +6863,8 @@ nodefer: __kfree_skb(skb);
+@@ -6867,8 +6867,8 @@ nodefer: __kfree_skb(skb);
/* Make sure to trigger NET_RX_SOFTIRQ on the remote CPU
* if we are unlucky enough (this seems very unlikely).
*/
static inline bool page_pool_put(struct page_pool *pool)
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
-@@ -211,10 +211,6 @@ static int page_pool_init(struct page_po
+@@ -207,10 +207,6 @@ static int page_pool_init(struct page_po
*/
}
#ifdef CONFIG_PAGE_POOL_STATS
pool->recycle_stats = alloc_percpu(struct page_pool_recycle_stats);
if (!pool->recycle_stats)
-@@ -363,12 +359,20 @@ static bool page_pool_dma_map(struct pag
+@@ -359,12 +355,20 @@ static bool page_pool_dma_map(struct pag
if (dma_mapping_error(pool->p.dev, dma))
return false;
page_pool_put_defragged_page(pool, page, dma_sync_size, allow_direct);
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
-@@ -380,6 +380,14 @@ static void page_pool_set_pp_info(struct
+@@ -376,6 +376,14 @@ static void page_pool_set_pp_info(struct
{
page->pp = pool;
page->pp_magic |= PP_SIGNATURE;
if (pool->p.init_callback)
pool->p.init_callback(page, pool->p.init_arg);
}
-@@ -676,7 +684,7 @@ void page_pool_put_page_bulk(struct page
+@@ -678,7 +686,7 @@ void page_pool_put_page_bulk(struct page
struct page *page = virt_to_head_page(data[i]);
/* It is not the last user for the page frag case */
continue;
page = __page_pool_put_page(pool, page, -1, false);
-@@ -752,8 +760,7 @@ struct page *page_pool_alloc_frag(struct
+@@ -754,8 +762,7 @@ struct page *page_pool_alloc_frag(struct
unsigned int max_size = PAGE_SIZE << pool->p.order;
struct page *page = pool->frag_page;
}
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -456,19 +456,34 @@ EXPORT_SYMBOL(of_mdio_find_bus);
+@@ -459,19 +459,34 @@ EXPORT_SYMBOL(of_mdio_find_bus);
* found, set the of_node pointer for the mdio device. This allows
* auto-probed phy devices to be supplied with information passed in
* via DT.
addr = of_mdio_parse_addr(dev, child);
if (addr < 0)
continue;
-@@ -478,9 +493,22 @@ static void of_mdiobus_link_mdiodev(stru
+@@ -481,9 +496,22 @@ static void of_mdiobus_link_mdiodev(stru
/* The refcount on "child" is passed to the mdio
* device. Do _not_ use of_node_put(child) here.
*/
u64_stats_update_begin(&txq_stats->napi_syncp);
u64_stats_add(&txq_stats->napi.tx_packets, tx_packets);
-@@ -5611,6 +5615,7 @@ static int stmmac_napi_poll_tx(struct na
+@@ -5609,6 +5613,7 @@ static int stmmac_napi_poll_tx(struct na
container_of(napi, struct stmmac_channel, tx_napi);
struct stmmac_priv *priv = ch->priv_data;
struct stmmac_txq_stats *txq_stats;
u32 chan = ch->index;
int work_done;
-@@ -5619,7 +5624,7 @@ static int stmmac_napi_poll_tx(struct na
+@@ -5617,7 +5622,7 @@ static int stmmac_napi_poll_tx(struct na
u64_stats_inc(&txq_stats->napi.poll);
u64_stats_update_end(&txq_stats->napi_syncp);
work_done = min(work_done, budget);
if (work_done < budget && napi_complete_done(napi, work_done)) {
-@@ -5630,6 +5635,10 @@ static int stmmac_napi_poll_tx(struct na
+@@ -5628,6 +5633,10 @@ static int stmmac_napi_poll_tx(struct na
spin_unlock_irqrestore(&ch->lock, flags);
}
return work_done;
}
-@@ -5638,6 +5647,7 @@ static int stmmac_napi_poll_rxtx(struct
+@@ -5636,6 +5645,7 @@ static int stmmac_napi_poll_rxtx(struct
struct stmmac_channel *ch =
container_of(napi, struct stmmac_channel, rxtx_napi);
struct stmmac_priv *priv = ch->priv_data;
int rx_done, tx_done, rxtx_done;
struct stmmac_rxq_stats *rxq_stats;
struct stmmac_txq_stats *txq_stats;
-@@ -5653,7 +5663,7 @@ static int stmmac_napi_poll_rxtx(struct
+@@ -5651,7 +5661,7 @@ static int stmmac_napi_poll_rxtx(struct
u64_stats_inc(&txq_stats->napi.poll);
u64_stats_update_end(&txq_stats->napi_syncp);
tx_done = min(tx_done, budget);
rx_done = stmmac_rx_zc(priv, budget, chan);
-@@ -5678,6 +5688,10 @@ static int stmmac_napi_poll_rxtx(struct
+@@ -5676,6 +5686,10 @@ static int stmmac_napi_poll_rxtx(struct
spin_unlock_irqrestore(&ch->lock, flags);
}
if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe63e, 0x0c30, 0x0000);
@@ -3611,6 +3645,10 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
+ if (tp->mac_version == RTL_GIGA_MAC_VER_65)
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3739,7 +3748,8 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_65)
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3720,8 +3720,8 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_65 ||
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3718,8 +3714,7 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_70 ||
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3712,7 +3724,8 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_70)
--- a/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>
S: Maintained
F: Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
-@@ -873,7 +873,8 @@ static void page_pool_release_retry(stru
+@@ -875,7 +875,8 @@ static void page_pool_release_retry(stru
{
struct delayed_work *dwq = to_delayed_work(wq);
struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw);
inflight = page_pool_release(pool);
/* In rare cases, a driver bug may cause inflight to go negative.
-@@ -885,6 +886,21 @@ static void page_pool_release_retry(stru
+@@ -887,6 +888,21 @@ static void page_pool_release_retry(stru
if (inflight <= 0)
return;
#include <net/protocol.h>
#include <net/dst.h>
-@@ -844,6 +845,22 @@ skb_fail:
+@@ -848,6 +849,22 @@ skb_fail:
}
EXPORT_SYMBOL(__napi_alloc_skb);
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -1084,6 +1084,11 @@ static const struct usb_device_id produc
+@@ -1090,6 +1090,11 @@ static const struct usb_device_id produc
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
.driver_info = (unsigned long)&qmi_wwan_info,
},
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)}, /* Quectel RG650V */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */
-@@ -1091,6 +1096,7 @@ static const struct usb_device_id produc
+@@ -1097,6 +1102,7 @@ static const struct usb_device_id produc
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */
&vmalloc_op,
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
-@@ -2136,10 +2136,12 @@ void __init init_mm_internals(void)
+@@ -2137,10 +2137,12 @@ void __init init_mm_internals(void)
start_shepherd_timer();
#endif
#ifdef CONFIG_PROC_FS
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -4165,6 +4165,8 @@ static __net_initdata struct pernet_oper
+@@ -4168,6 +4168,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
--- a/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: fs/ubifs/
--- a/include/net/gro.h
+++ b/include/net/gro.h
-@@ -439,6 +439,7 @@ static inline __wsum ip6_gro_compute_pse
+@@ -442,6 +442,7 @@ static inline __wsum ip6_gro_compute_pse
}
int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb);
INDIRECT_CALLABLE_DECLARE(int tcp6_gro_complete(struct sk_buff *skb, int thoff));
--- a/net/core/gro.c
+++ b/net/core/gro.c
-@@ -228,6 +228,33 @@ done:
+@@ -225,6 +225,33 @@ done:
return 0;
}
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -8448,7 +8448,7 @@ static int nft_register_flowtable_net_ho
+@@ -8463,7 +8463,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev,
FLOW_BLOCK_BIND);
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
-@@ -201,6 +201,7 @@ void br_flood(struct net_bridge *br, str
+@@ -202,6 +202,7 @@ void br_flood(struct net_bridge *br, str
enum br_pkt_type pkt_type, bool local_rcv, bool local_orig,
u16 vid)
{
struct net_bridge_port *prev = NULL;
struct net_bridge_port *p;
-@@ -218,6 +219,10 @@ void br_flood(struct net_bridge *br, str
+@@ -219,6 +220,10 @@ void br_flood(struct net_bridge *br, str
case BR_PKT_MULTICAST:
if (!(p->flags & BR_MCAST_FLOOD) && skb->dev != br->dev)
continue;
/*
* The Mellanox Tavor device gives false positive parity errors. Disable
* parity error reporting.
-@@ -3501,6 +3502,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3502,6 +3503,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the
-@@ -3526,6 +3529,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3527,6 +3530,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never
-@@ -3564,6 +3569,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3565,6 +3570,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -2383,7 +2383,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -2398,7 +2398,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
static const struct sdhci_ops sdhci_msm_ops = {
.reset = sdhci_and_cqhci_reset,
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -1818,49 +1818,49 @@ static unsigned int sdhci_msm_get_min_cl
+@@ -1833,49 +1833,49 @@ static unsigned int sdhci_msm_get_min_cl
return SDHCI_MSM_MIN_CLOCK;
}
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17717,6 +17717,13 @@ L: netdev@vger.kernel.org
+@@ -17718,6 +17718,13 @@ L: netdev@vger.kernel.org
S: Maintained
F: drivers/net/ethernet/qualcomm/emac/
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17723,6 +17723,7 @@ L: netdev@vger.kernel.org
+@@ -17724,6 +17724,7 @@ L: netdev@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/net/qcom,ipq4019-ess-edma.yaml
F: drivers/net/ethernet/qualcomm/ipqess/
#include <net/dst.h>
#include <net/sock.h>
#include <net/checksum.h>
-@@ -4823,6 +4827,9 @@ static const u8 skb_ext_type_len[] = {
+@@ -4827,6 +4831,9 @@ static const u8 skb_ext_type_len[] = {
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
[SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow),
#endif
static int m88e1111_config_aneg(struct phy_device *phydev)
{
int extsr = phy_read(phydev, MII_M1111_PHY_EXT_SR);
-@@ -3292,6 +3334,8 @@ static struct phy_driver marvell_drivers
+@@ -3329,6 +3371,8 @@ static struct phy_driver marvell_drivers
.name = "Marvell 88E1112",
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
.config_init = m88e1112_config_init,
.config_aneg = marvell_config_aneg,
.config_intr = marvell_config_intr,
-@@ -3312,6 +3356,8 @@ static struct phy_driver marvell_drivers
+@@ -3349,6 +3393,8 @@ static struct phy_driver marvell_drivers
.name = "Marvell 88E1111",
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
.config_init = m88e1111gbe_config_init,
.config_aneg = m88e1111_config_aneg,
.read_status = marvell_read_status,
-@@ -3333,6 +3379,8 @@ static struct phy_driver marvell_drivers
+@@ -3370,6 +3416,8 @@ static struct phy_driver marvell_drivers
.name = "Marvell 88E1111 (Finisar)",
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3329,6 +3329,18 @@ static const struct usb_device_id uvc_id
+@@ -3342,6 +3342,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
DRM DRIVERS FOR STI
M: Alain Volmat <alain.volmat@foss.st.com>
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: include/linux/platform_data/i2c-ocores.h
OPENRISC ARCHITECTURE
M: Jonas Bonn <jonas@southpole.se>
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: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c
PCI DRIVER FOR RENESAS R-CAR
M: Marek Vasut <marek.vasut+renesas@gmail.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
S: Supported
F: Documentation/devicetree/bindings/pci/microchip*
PCIE DRIVER FOR QUALCOMM MSM
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: drivers/pci/controller/dwc/pcie-uniphier*
PCIE DRIVER FOR ST SPEAR13XX
M: Pratyush Anand <pratyush.anand@gmail.com>
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/i2c/busses/i2c-microchip-corei2c.c
F: drivers/mailbox/mailbox-mpfs.c
F: drivers/pwm/pwm-microchip-core.c
F: drivers/reset/reset-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
F: drivers/net/ethernet/adaptec/starfire*
STARFIVE CRYPTO DRIVER
M: Jia Jie Ho <jiajie.ho@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: drivers/clk/starfive/clk-starfive-jh7110-pll.c
STARFIVE JH7110 SYSCON
M: William Qiu <william.qiu@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
M: Walker Chen <walker.chen@starfivetech.com>
F: include/dt-bindings/power/starfive,jh7110-pmu.h
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
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
F: Documentation/devicetree/bindings/soc/starfive/
* something other than the default (~1ms minimum between interrupts).
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -253,6 +253,14 @@ int xhci_plat_probe(struct platform_devi
+@@ -254,6 +254,14 @@ int xhci_plat_probe(struct platform_devi
if (device_property_read_bool(tmpdev, "xhci-sg-trb-cache-size-quirk"))
xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK;
/*
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -255,10 +255,11 @@ int xhci_plat_probe(struct platform_devi
+@@ -256,10 +256,11 @@ int xhci_plat_probe(struct platform_devi
if (device_property_read_bool(tmpdev, "xhci-lowmem-pool")) {
xhci->quirks |= XHCI_LOCAL_BUFFER;
if (priv->dma_cap.host_dma_width <= 32)
gfp |= GFP_DMA32;
-@@ -4693,7 +4693,7 @@ static inline void stmmac_rx_refill(stru
+@@ -4690,7 +4690,7 @@ static inline void stmmac_rx_refill(stru
struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
int dirty = stmmac_rx_dirty(priv, queue);
unsigned int entry = rx_q->dirty_rx;
--- a/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: Hal Feng <hal.feng@starfivetech.com>
S: Maintained