Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen
2026-05-26 15:08:23 +08:00
132 changed files with 305 additions and 8234 deletions
+2 -2
View File
@@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .139
LINUX_KERNEL_HASH-6.6.139 = a7cd71371dae38ac94c6c332fe16391b83fe173158020e2ea1b37277f8f3d740
LINUX_VERSION-6.6 = .141
LINUX_KERNEL_HASH-6.6.141 = 3bc2652eb62ab90a90a8b0aa156b91d276f92eb84702971df62fe1a3f1eb7fe1
@@ -29,7 +29,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16872,6 +16872,13 @@ F: drivers/pinctrl/
@@ -16880,6 +16880,13 @@ F: drivers/pinctrl/
F: include/dt-bindings/pinctrl/
F: include/linux/pinctrl/
@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -320,8 +320,9 @@ config MEDIATEK_GE_PHY
@@ -328,8 +328,9 @@ config MEDIATEK_GE_PHY
config MEDIATEK_GE_SOC_PHY
tristate "MediaTek SoC Ethernet PHYs"
@@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -992,7 +992,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
@@ -995,7 +995,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
@@ -285,7 +285,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
@@ -3066,6 +3073,8 @@ static int mmc_blk_probe(struct mmc_card
@@ -3074,6 +3081,8 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md;
int ret = 0;
@@ -294,7 +294,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/*
* Check that the card supports the command class(es) we need.
@@ -3073,7 +3082,16 @@ static int mmc_blk_probe(struct mmc_card
@@ -3081,7 +3090,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
@@ -312,7 +312,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
@@ -3088,6 +3106,17 @@ static int mmc_blk_probe(struct mmc_card
@@ -3096,6 +3114,17 @@ static int mmc_blk_probe(struct mmc_card
goto out_free;
}
@@ -2013,10 +2013,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
sdhci_dumpregs(host);
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -298,6 +298,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_CACHE_FLUSH (1<<16) /* Don't flush cache until the write has occurred */
@@ -299,6 +299,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY (1<<17) /* Disable broken SD poweroff notify support */
#define MMC_QUIRK_NO_UHS_DDR50_TUNING (1<<18) /* Disable DDR50 tuning */
#define MMC_QUIRK_FIXED_SECURE_ERASE_TRIM_TIME (1<<20) /* Secure erase/trim time is fixed regardless of size */
+#define MMC_QUIRK_ERASE_BROKEN (1<<31) /* Skip erase */
bool written_flag; /* Indicates eMMC has been written since power on */
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1949,7 +1949,7 @@ static void mmc_blk_mq_rw_recovery(struc
@@ -1955,7 +1955,7 @@ static void mmc_blk_mq_rw_recovery(struc
return;
}
@@ -12,7 +12,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3916,6 +3916,13 @@ N: bcm113*
@@ -3924,6 +3924,13 @@ N: bcm113*
N: bcm216*
N: kona
@@ -9,7 +9,7 @@ Subject: [PATCH 0157/1085] bcmgenet: constrain max DMA burst length
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.h
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.h
@@ -31,7 +31,7 @@
@@ -34,7 +34,7 @@
#define ENET_PAD 8
#define ENET_MAX_MTU_SIZE (ETH_DATA_LEN + ETH_HLEN + VLAN_HLEN + \
ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2666,7 +2666,7 @@ static void bcmgenet_init_tx_ring(struct
@@ -2684,7 +2684,7 @@ static void bcmgenet_init_tx_ring(struct
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
@@ -27,17 +27,16 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/* Disable rate control for now */
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
TDMA_FLOW_PERIOD);
@@ -4161,9 +4161,12 @@ static int bcmgenet_probe(struct platfor
@@ -4083,9 +4083,10 @@ static int bcmgenet_probe(struct platfor
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
/* Set default coalescing parameters */
- for (i = 0; i < priv->hw_params->rx_queues; i++)
+ for (i = 0; i < priv->hw_params->rx_queues; i++) {
- for (i = 0; i <= priv->hw_params->rx_queues; i++)
+ for (i = 0; i <= priv->hw_params->rx_queues; i++) {
priv->rx_rings[i].rx_max_coalesced_frames = 1;
-
+ priv->rx_rings[i].rx_coalesce_usecs = 50;
+ }
priv->rx_rings[DESC_INDEX].rx_max_coalesced_frames = 1;
+ priv->rx_rings[DESC_INDEX].rx_coalesce_usecs = 50;
/* libphy will determine the link state */
netif_carrier_off(dev);
/* Initialize u64 stats seq counter for 32bit machines */
for (i = 0; i <= priv->hw_params->rx_queues; i++)
u64_stats_init(&priv->rx_rings[i].stats64.syncp);
@@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
@@ -5395,6 +5498,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5394,6 +5497,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
@@ -155,7 +155,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
kref_init(&job->refcount);
return 0;
@@ -1033,6 +1079,9 @@ v3d_gem_init(struct drm_device *dev)
@@ -1038,6 +1084,9 @@ v3d_gem_init(struct drm_device *dev)
if (ret)
return ret;
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -67,6 +67,9 @@
@@ -65,6 +65,9 @@
/* Forward declarations */
static void bcmgenet_set_rx_mode(struct net_device *dev);
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
@@ -2495,6 +2498,11 @@ static void reset_umac(struct bcmgenet_p
@@ -2522,6 +2525,11 @@ static void reset_umac(struct bcmgenet_p
bcmgenet_rbuf_ctrl_set(priv, 0);
udelay(10);
@@ -343,7 +343,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20059,6 +20059,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/sony,imx415.yaml
F: drivers/media/i2c/imx415.c
@@ -177,7 +177,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20067,6 +20067,14 @@ T: git git://linuxtv.org/media_tree.git
@@ -20075,6 +20075,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
F: drivers/media/i2c/imx477.c
@@ -132,7 +132,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20064,6 +20064,7 @@ M: Raspberry Pi Kernel Maintenance <kern
@@ -20072,6 +20072,7 @@ M: Raspberry Pi Kernel Maintenance <kern
L: linux-media@vger.kernel.org
S: Maintained
T: git git://linuxtv.org/media_tree.git
@@ -14,7 +14,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
@@ -1082,6 +1082,10 @@ v3d_gem_init(struct drm_device *dev)
@@ -1087,6 +1087,10 @@ v3d_gem_init(struct drm_device *dev)
mutex_init(&v3d->clk_lock);
INIT_DELAYED_WORK(&v3d->clk_down_work, v3d_clock_down_work);
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -67,7 +67,7 @@
@@ -65,7 +65,7 @@
/* Forward declarations */
static void bcmgenet_set_rx_mode(struct net_device *dev);
@@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3916,6 +3916,13 @@ N: bcm113*
@@ -3924,6 +3924,13 @@ N: bcm113*
N: bcm216*
N: kona
@@ -32,15 +32,15 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -3756,6 +3756,7 @@ static int spi_set_cs_timing(struct spi_
*/
int spi_setup(struct spi_device *spi)
@@ -3738,6 +3738,7 @@ static int spi_set_cs_timing(struct spi_
static int __spi_setup(struct spi_device *spi, bool initial_setup)
{
+ struct spi_controller *ctlr = spi->controller;
unsigned bad_bits, ugly_bits;
int status = 0;
@@ -3776,6 +3777,14 @@ int spi_setup(struct spi_device *spi)
@@ -3758,6 +3759,14 @@ static int __spi_setup(struct spi_device
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
@@ -31,7 +31,7 @@ Reported-by: kbuild test robot <lkp@intel.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3928,7 +3928,7 @@ M: Dave Stevenson <dave.stevenson@raspbe
@@ -3936,7 +3936,7 @@ M: Dave Stevenson <dave.stevenson@raspbe
L: linux-media@vger.kernel.org
S: Maintained
F: drivers/media/platform/bcm2835/
@@ -14,7 +14,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3924,7 +3924,7 @@ F: Documentation/devicetree/bindings/med
@@ -3932,7 +3932,7 @@ F: Documentation/devicetree/bindings/med
F: drivers/staging/media/rpivid
BROADCOM BCM2835 CAMERA DRIVER
@@ -35,7 +35,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3930,6 +3930,15 @@ S: Maintained
@@ -3938,6 +3938,15 @@ S: Maintained
F: drivers/media/platform/bcm2835/
F: Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -70,6 +70,9 @@ static void bcmgenet_set_rx_mode(struct
@@ -68,6 +68,9 @@ static void bcmgenet_set_rx_mode(struct
static bool skip_umac_reset = false;
module_param(skip_umac_reset, bool, 0444);
MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step");
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
@@ -3449,6 +3452,17 @@ static int bcmgenet_open(struct net_devi
@@ -3369,6 +3372,17 @@ static int bcmgenet_open(struct net_devi
bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause);
@@ -138,7 +138,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20108,6 +20108,14 @@ T: git git://linuxtv.org/media_tree.git
@@ -20116,6 +20116,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/imx519.yaml
F: drivers/media/i2c/imx519.c
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/video/fbdev/core/fb_defio.c
+++ b/drivers/video/fbdev/core/fb_defio.c
@@ -313,7 +313,8 @@ static void fb_deferred_io_lastclose(str
@@ -411,7 +411,8 @@ static void fb_deferred_io_lastclose(str
struct page *page;
int i;
@@ -271,7 +271,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20113,7 +20113,7 @@ M: Raspberry Pi Kernel Maintenance <kern
@@ -20121,7 +20121,7 @@ M: Raspberry Pi Kernel Maintenance <kern
L: linux-media@vger.kernel.org
S: Maintained
T: git git://linuxtv.org/media_tree.git
@@ -291,7 +291,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+ };
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20014,7 +20014,7 @@ M: Sakari Ailus <sakari.ailus@linux.inte
@@ -20022,7 +20022,7 @@ M: Sakari Ailus <sakari.ailus@linux.inte
L: linux-media@vger.kernel.org
S: Maintained
T: git git://linuxtv.org/media_tree.git
@@ -232,7 +232,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
}
return 0;
@@ -1331,9 +1385,10 @@ static int imx219_probe(struct i2c_clien
@@ -1334,9 +1388,10 @@ static int imx219_probe(struct i2c_clien
imx219->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
/* Initialize source pad */
@@ -12,7 +12,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -383,7 +383,10 @@ static const struct sdhci_pltfm_data sdh
@@ -396,7 +396,10 @@ static const struct sdhci_pltfm_data sdh
.quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
@@ -12,7 +12,7 @@ Signed-off-by: Liam Fraser <liam@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -350,6 +350,7 @@ static const struct sdhci_ops sdhci_dwcm
@@ -363,6 +363,7 @@ static const struct sdhci_ops sdhci_dwcm
.set_bus_width = sdhci_set_bus_width,
.set_uhs_signaling = dwcmshc_set_uhs_signaling,
.get_max_clock = dwcmshc_get_max_clock,
@@ -20,7 +20,7 @@ Signed-off-by: Liam Fraser <liam@raspberrypi.com>
.reset = sdhci_reset,
.adma_write_desc = dwcmshc_adma_write_desc,
};
@@ -521,6 +522,16 @@ static int dwcmshc_probe(struct platform
@@ -534,6 +535,16 @@ static int dwcmshc_probe(struct platform
clk_prepare_enable(priv->bus_clk);
}
@@ -37,7 +37,7 @@ Signed-off-by: Liam Fraser <liam@raspberrypi.com>
err = mmc_of_parse(host->mmc);
if (err)
goto err_clk;
@@ -585,6 +596,7 @@ err_rpm:
@@ -598,6 +609,7 @@ err_rpm:
pm_runtime_put_noidle(dev);
err_clk:
clk_disable_unprepare(pltfm_host->clk);
@@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static unsigned int dwcmshc_get_max_clock(struct sdhci_host *host)
{
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
@@ -346,7 +358,7 @@ static void rk35xx_sdhci_reset(struct sd
@@ -359,7 +371,7 @@ static void rk35xx_sdhci_reset(struct sd
}
static const struct sdhci_ops sdhci_dwcmshc_ops = {
@@ -45,7 +45,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
.set_bus_width = sdhci_set_bus_width,
.set_uhs_signaling = dwcmshc_set_uhs_signaling,
.get_max_clock = dwcmshc_get_max_clock,
@@ -366,8 +378,10 @@ static const struct sdhci_ops sdhci_dwcm
@@ -379,8 +391,10 @@ static const struct sdhci_ops sdhci_dwcm
static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = {
.ops = &sdhci_dwcmshc_ops,
@@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
};
#ifdef CONFIG_ACPI
@@ -520,6 +534,14 @@ static int dwcmshc_probe(struct platform
@@ -533,6 +547,14 @@ static int dwcmshc_probe(struct platform
priv->bus_clk = devm_clk_get(dev, "bus");
if (!IS_ERR(priv->bus_clk))
clk_prepare_enable(priv->bus_clk);
@@ -73,7 +73,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
pltfm_host->timeout_clk = devm_clk_get(&pdev->dev, "timeout");
@@ -537,6 +559,7 @@ static int dwcmshc_probe(struct platform
@@ -550,6 +572,7 @@ static int dwcmshc_probe(struct platform
goto err_clk;
sdhci_get_of_property(pdev);
@@ -71,7 +71,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
* @fb_info: frame buffer info structure
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -501,6 +501,7 @@ struct fb_info {
@@ -503,6 +503,7 @@ struct fb_info {
void *par;
bool skip_vt_switch; /* no VT switch on suspend/resume required */
@@ -79,7 +79,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
};
/* This will go away
@@ -589,6 +590,7 @@ extern ssize_t fb_sys_write(struct fb_in
@@ -591,6 +592,7 @@ extern ssize_t fb_sys_write(struct fb_in
.fb_imageblit = sys_imageblit
/* fbmem.c */
@@ -13,7 +13,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
@@ -393,6 +393,15 @@ static const struct sdhci_pltfm_data sdh
@@ -406,6 +406,15 @@ static const struct sdhci_pltfm_data sdh
};
#endif
@@ -29,7 +29,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static const struct sdhci_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
.ops = &sdhci_dwcmshc_rk35xx_ops,
.quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
@@ -461,6 +470,10 @@ static void dwcmshc_rk35xx_postinit(stru
@@ -474,6 +483,10 @@ static void dwcmshc_rk35xx_postinit(stru
static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
{
@@ -67,7 +67,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18621,6 +18621,13 @@ S: Supported
@@ -18629,6 +18629,13 @@ S: Supported
F: drivers/iio/light/rohm-bu27008.c
F: drivers/iio/light/rohm-bu27034.c
@@ -16,7 +16,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15873,6 +15873,14 @@ S: Maintained
@@ -15881,6 +15881,14 @@ S: Maintained
T: git git://linuxtv.org/media_tree.git
F: drivers/media/i2c/ov5695.c
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -322,6 +322,7 @@ struct mmc_card {
@@ -323,6 +323,7 @@ struct mmc_card {
struct sd_switch_caps sw_caps; /* switch (CMD6) caps */
struct sd_ext_reg ext_power; /* SD extension reg for PM */
struct sd_ext_reg ext_perf; /* SD extension reg for PERF */
@@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -834,6 +834,9 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
@@ -832,6 +832,9 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
mem = sg_dma_address(sg);
len = sg_dma_len(sg);
num_segments = DIV_ROUND_UP(sg_dma_len(sg), axi_block_len);
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* @dev: the device whose endpoint is being disabled
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -1892,6 +1892,8 @@ extern int usb_clear_halt(struct usb_dev
@@ -1893,6 +1893,8 @@ extern int usb_clear_halt(struct usb_dev
extern int usb_reset_configuration(struct usb_device *dev);
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
@@ -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,
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17439,7 +17439,7 @@ F: drivers/video/backlight/pwm_bl.c
@@ -17447,7 +17447,7 @@ F: drivers/video/backlight/pwm_bl.c
F: include/dt-bindings/pwm/
F: include/linux/pwm.h
F: include/linux/pwm_backlight.h
@@ -218,7 +218,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
return;
}
@@ -625,18 +701,25 @@ static int dw_axi_dma_set_hw_desc(struct
@@ -623,18 +699,25 @@ static int dw_axi_dma_set_hw_desc(struct
switch (chan->direction) {
case DMA_MEM_TO_DEV:
reg_width = __ffs(chan->config.dst_addr_width);
@@ -246,7 +246,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
DWAXIDMAC_CH_CTL_L_INC << CH_CTL_L_DST_INC_POS |
DWAXIDMAC_CH_CTL_L_NOINC << CH_CTL_L_SRC_INC_POS;
block_ts = len >> reg_width;
@@ -672,9 +755,6 @@ static int dw_axi_dma_set_hw_desc(struct
@@ -670,9 +753,6 @@ static int dw_axi_dma_set_hw_desc(struct
}
hw_desc->lli->block_ts_lo = cpu_to_le32(block_ts - 1);
@@ -256,7 +256,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
hw_desc->lli->ctl_lo = cpu_to_le32(ctllo);
set_desc_src_master(hw_desc);
@@ -769,6 +849,8 @@ dw_axi_dma_chan_prep_cyclic(struct dma_c
@@ -767,6 +847,8 @@ dw_axi_dma_chan_prep_cyclic(struct dma_c
src_addr += segment_len;
}
@@ -265,7 +265,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
llp = desc->hw_desc[0].llp;
/* Managed transfer list */
@@ -851,6 +933,8 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
@@ -849,6 +931,8 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
} while (len >= segment_len);
}
@@ -274,7 +274,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* Set end-of-link to the last link descriptor of list */
set_desc_last(&desc->hw_desc[num_sgs - 1]);
@@ -958,6 +1042,8 @@ dma_chan_prep_dma_memcpy(struct dma_chan
@@ -956,6 +1040,8 @@ dma_chan_prep_dma_memcpy(struct dma_chan
num++;
}
@@ -283,7 +283,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* Set end-of-link to the last link descriptor of list */
set_desc_last(&desc->hw_desc[num - 1]);
/* Managed transfer list */
@@ -1006,7 +1092,7 @@ static void axi_chan_dump_lli(struct axi
@@ -1004,7 +1090,7 @@ static void axi_chan_dump_lli(struct axi
static void axi_chan_list_dump_lli(struct axi_dma_chan *chan,
struct axi_dma_desc *desc_head)
{
@@ -292,7 +292,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int i;
for (i = 0; i < count; i++)
@@ -1049,11 +1135,11 @@ out:
@@ -1047,11 +1133,11 @@ out:
static void axi_chan_block_xfer_complete(struct axi_dma_chan *chan)
{
@@ -305,7 +305,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
u64 llp;
int i;
@@ -1075,6 +1161,7 @@ static void axi_chan_block_xfer_complete
@@ -1073,6 +1159,7 @@ static void axi_chan_block_xfer_complete
if (chan->cyclic) {
desc = vd_to_axi_desc(vd);
if (desc) {
@@ -313,7 +313,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
llp = lo_hi_readq(chan->chan_regs + CH_LLP);
for (i = 0; i < count; i++) {
hw_desc = &desc->hw_desc[i];
@@ -1095,6 +1182,9 @@ static void axi_chan_block_xfer_complete
@@ -1093,6 +1180,9 @@ static void axi_chan_block_xfer_complete
/* Remove the completed descriptor from issued list before completing */
list_del(&vd->node);
vchan_cookie_complete(vd);
@@ -323,7 +323,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
out:
@@ -1324,6 +1414,10 @@ static int parse_device_properties(struc
@@ -1322,6 +1412,10 @@ static int parse_device_properties(struc
chip->dw->hdata->nr_masters = tmp;
@@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
struct axi_dma_hw_desc *hw_desc;
int descs_put;
@@ -849,7 +849,7 @@ dw_axi_dma_chan_prep_cyclic(struct dma_c
@@ -847,7 +847,7 @@ dw_axi_dma_chan_prep_cyclic(struct dma_c
src_addr += segment_len;
}
@@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
llp = desc->hw_desc[0].llp;
@@ -933,7 +933,7 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
@@ -931,7 +931,7 @@ dw_axi_dma_chan_prep_slave_sg(struct dma
} while (len >= segment_len);
}
@@ -41,7 +41,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* Set end-of-link to the last link descriptor of list */
set_desc_last(&desc->hw_desc[num_sgs - 1]);
@@ -1042,7 +1042,7 @@ dma_chan_prep_dma_memcpy(struct dma_chan
@@ -1040,7 +1040,7 @@ dma_chan_prep_dma_memcpy(struct dma_chan
num++;
}
@@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* Set end-of-link to the last link descriptor of list */
set_desc_last(&desc->hw_desc[num - 1]);
@@ -1092,7 +1092,7 @@ static void axi_chan_dump_lli(struct axi
@@ -1090,7 +1090,7 @@ static void axi_chan_dump_lli(struct axi
static void axi_chan_list_dump_lli(struct axi_dma_chan *chan,
struct axi_dma_desc *desc_head)
{
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int i;
for (i = 0; i < count; i++)
@@ -1139,7 +1139,7 @@ static void axi_chan_block_xfer_complete
@@ -1137,7 +1137,7 @@ static void axi_chan_block_xfer_complete
struct axi_dma_desc *desc;
struct virt_dma_desc *vd;
unsigned long flags;
@@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
u64 llp;
int i;
@@ -1161,7 +1161,7 @@ static void axi_chan_block_xfer_complete
@@ -1159,7 +1159,7 @@ static void axi_chan_block_xfer_complete
if (chan->cyclic) {
desc = vd_to_axi_desc(vd);
if (desc) {
@@ -23,7 +23,7 @@ Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18034,6 +18034,13 @@ L: linux-wireless@vger.kernel.org
@@ -18042,6 +18042,13 @@ L: linux-wireless@vger.kernel.org
S: Orphan
F: drivers/net/wireless/legacy/ray*
@@ -87,7 +87,7 @@ Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
+ };
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18039,6 +18039,7 @@ M: Jacopo Mondi <jacopo.mondi@ideasonboa
@@ -18047,6 +18047,7 @@ M: Jacopo Mondi <jacopo.mondi@ideasonboa
L: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
L: linux-media@vger.kernel.org
S: Maintained
@@ -94,7 +94,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
+
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18029,6 +18029,11 @@ F: drivers/ras/
@@ -18037,6 +18037,11 @@ F: drivers/ras/
F: include/linux/ras.h
F: include/ras/ras_event.h
@@ -25,7 +25,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18033,6 +18033,7 @@ RASPBERRY PI RP2040 GPIO BRIDGE DRIVER
@@ -18041,6 +18041,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
@@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -1470,6 +1470,7 @@ static int dw_probe(struct platform_devi
@@ -1468,6 +1468,7 @@ static int dw_probe(struct platform_devi
struct dw_axi_dma *dw;
struct dw_axi_dma_hcfg *hdata;
struct reset_control *resets;
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
unsigned int flags;
u32 i;
int ret;
@@ -1585,9 +1586,21 @@ static int dw_probe(struct platform_devi
@@ -1583,9 +1584,21 @@ static int dw_probe(struct platform_devi
* Synopsis DesignWare AxiDMA datasheet mentioned Maximum
* supported blocks is 1024. Device register width is 4 bytes.
* Therefore, set constraint to 1024 * 4.
@@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1555,6 +1555,8 @@ static void mmc_blk_cqe_complete_rq(stru
@@ -1561,6 +1561,8 @@ static void mmc_blk_cqe_complete_rq(stru
spin_lock_irqsave(&mq->lock, flags);
@@ -39,7 +39,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
@@ -2071,6 +2073,8 @@ static void mmc_blk_mq_complete_rq(struc
@@ -2077,6 +2079,8 @@ static void mmc_blk_mq_complete_rq(struc
struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req);
unsigned int nr_bytes = mqrq->brq.data.bytes_xfered;
@@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (nr_bytes) {
if (blk_update_request(req, BLK_STS_OK, nr_bytes))
blk_mq_requeue_request(req, true);
@@ -2165,13 +2169,16 @@ static void mmc_blk_mq_poll_completion(s
@@ -2173,13 +2177,16 @@ static void mmc_blk_mq_poll_completion(s
mmc_blk_urgent_bkops(mq, mqrq);
}
@@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
@@ -2205,7 +2212,7 @@ static void mmc_blk_mq_post_req(struct m
@@ -2213,7 +2220,7 @@ static void mmc_blk_mq_post_req(struct m
blk_mq_complete_request(req);
}
@@ -87,7 +87,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -268,6 +268,11 @@ static blk_status_t mmc_mq_queue_rq(stru
@@ -272,6 +272,11 @@ static blk_status_t mmc_mq_queue_rq(stru
spin_unlock_irq(&mq->lock);
return BLK_STS_RESOURCE;
}
@@ -99,7 +99,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
break;
default:
/*
@@ -284,6 +289,8 @@ static blk_status_t mmc_mq_queue_rq(stru
@@ -288,6 +293,8 @@ static blk_status_t mmc_mq_queue_rq(stru
/* Parallel dispatch of requests is not supported at the moment */
mq->busy = true;
@@ -108,7 +108,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] += 1;
get_card = (mmc_tot_in_flight(mq) == 1);
cqe_retune_ok = (mmc_cqe_qcnt(mq) == 1);
@@ -323,6 +330,8 @@ static blk_status_t mmc_mq_queue_rq(stru
@@ -327,6 +334,8 @@ static blk_status_t mmc_mq_queue_rq(stru
bool put_card = false;
spin_lock_irq(&mq->lock);
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
put_card = true;
--- a/drivers/mmc/core/queue.h
+++ b/drivers/mmc/core/queue.h
@@ -79,6 +79,7 @@ struct mmc_queue {
@@ -82,6 +82,7 @@ struct mmc_queue {
struct request_queue *queue;
spinlock_t lock;
int in_flight[MMC_ISSUE_MAX];
@@ -146,7 +146,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
card->ext_perf.fno = fno;
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -345,6 +345,8 @@ struct mmc_card {
@@ -346,6 +346,8 @@ struct mmc_card {
unsigned int nr_parts;
struct workqueue_struct *complete_wq; /* Private workqueue */
@@ -28,7 +28,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -268,7 +268,7 @@ static blk_status_t mmc_mq_queue_rq(stru
@@ -272,7 +272,7 @@ static blk_status_t mmc_mq_queue_rq(stru
spin_unlock_irq(&mq->lock);
return BLK_STS_RESOURCE;
}
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static inline const char *axi_chan_name(struct axi_dma_chan *chan)
{
return dma_chan_name(&chan->vc.chan);
@@ -685,41 +694,41 @@ static int dw_axi_dma_set_hw_desc(struct
@@ -683,41 +692,41 @@ static int dw_axi_dma_set_hw_desc(struct
size_t axi_block_ts;
size_t block_ts;
u32 ctllo, ctlhi;
@@ -99,7 +99,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
DWAXIDMAC_CH_CTL_L_INC << CH_CTL_L_DST_INC_POS |
DWAXIDMAC_CH_CTL_L_NOINC << CH_CTL_L_SRC_INC_POS;
block_ts = len >> reg_width;
@@ -760,6 +769,12 @@ static int dw_axi_dma_set_hw_desc(struct
@@ -758,6 +767,12 @@ static int dw_axi_dma_set_hw_desc(struct
set_desc_src_master(hw_desc);
hw_desc->len = len;
@@ -112,7 +112,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0;
}
@@ -776,9 +791,6 @@ static size_t calculate_block_len(struct
@@ -774,9 +789,6 @@ static size_t calculate_block_len(struct
case DMA_MEM_TO_DEV:
data_width = BIT(chan->chip->dw->hdata->m_data_width);
mem_width = __ffs(data_width | dma_addr | buf_len);
@@ -150,7 +150,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
+
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20129,6 +20129,13 @@ F: Documentation/devicetree/bindings/med
@@ -20137,6 +20137,13 @@ F: Documentation/devicetree/bindings/med
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
F: drivers/media/i2c/imx477.c
@@ -21,7 +21,7 @@ Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20135,6 +20135,7 @@ L: linux-media@vger.kernel.org
@@ -20143,6 +20143,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
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1524,6 +1524,7 @@ static void mmc_blk_cqe_complete_rq(stru
@@ -1527,6 +1527,7 @@ static void mmc_blk_cqe_complete_rq(stru
struct request_queue *q = req->q;
struct mmc_host *host = mq->card->host;
enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
unsigned long flags;
bool put_card;
int err;
@@ -1555,7 +1556,7 @@ static void mmc_blk_cqe_complete_rq(stru
@@ -1561,7 +1562,7 @@ static void mmc_blk_cqe_complete_rq(stru
spin_lock_irqsave(&mq->lock, flags);
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->pending_writes--;
mq->in_flight[issue_type] -= 1;
@@ -2170,15 +2171,16 @@ static void mmc_blk_mq_poll_completion(s
@@ -2178,15 +2179,16 @@ static void mmc_blk_mq_poll_completion(s
}
static void mmc_blk_mq_dec_in_flight(struct mmc_queue *mq, enum mmc_issue_type issue_type,
@@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
@@ -2193,6 +2195,7 @@ static void mmc_blk_mq_post_req(struct m
@@ -2201,6 +2203,7 @@ static void mmc_blk_mq_post_req(struct m
bool can_sleep)
{
enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
@@ -60,7 +60,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req);
struct mmc_request *mrq = &mqrq->brq.mrq;
struct mmc_host *host = mq->card->host;
@@ -2212,7 +2215,7 @@ static void mmc_blk_mq_post_req(struct m
@@ -2220,7 +2223,7 @@ static void mmc_blk_mq_post_req(struct m
blk_mq_complete_request(req);
}
@@ -15,9 +15,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -181,6 +181,15 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc,
MMC_QUIRK_TRIM_BROKEN),
@@ -190,6 +190,15 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP("IB2932", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc,
MMC_QUIRK_FIXED_SECURE_ERASE_TRIM_TIME),
+ /*
+ * Larger Integral SD cards using rebranded Phison controllers trash
@@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -724,6 +724,18 @@ static int dw_axi_dma_set_hw_desc(struct
@@ -722,6 +722,18 @@ static int dw_axi_dma_set_hw_desc(struct
case DMA_DEV_TO_MEM:
reg_burst_msize = axi_dma_encode_msize(chan->config.src_maxburst);
reg_width = __ffs(chan->config.src_addr_width);
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2011,6 +2011,7 @@ static void nvme_free_host_mem(struct nv
@@ -2012,6 +2012,7 @@ static void nvme_free_host_mem(struct nv
dev->nr_host_mem_descs = 0;
}
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
u32 chunk_size)
{
@@ -2079,9 +2080,11 @@ out:
@@ -2080,9 +2081,11 @@ out:
dev->host_mem_descs = NULL;
return -ENOMEM;
}
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
u64 chunk_size;
@@ -2094,6 +2097,7 @@ static int nvme_alloc_host_mem(struct nv
@@ -2095,6 +2098,7 @@ static int nvme_alloc_host_mem(struct nv
nvme_free_host_mem(dev);
}
}
@@ -22,8 +22,8 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/card.h
+++ b/drivers/mmc/core/card.h
@@ -298,4 +298,9 @@ static inline int mmc_card_no_uhs_ddr50_
return c->quirks & MMC_QUIRK_NO_UHS_DDR50_TUNING;
@@ -303,4 +303,9 @@ static inline int mmc_card_fixed_secure_
return c->quirks & MMC_QUIRK_FIXED_SECURE_ERASE_TRIM_TIME;
}
+static inline int mmc_card_working_sd_cq(const struct mmc_card *c)
@@ -47,10 +47,10 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/*
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -298,6 +298,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_CACHE_FLUSH (1<<16) /* Don't flush cache until the write has occurred */
@@ -299,6 +299,7 @@ struct mmc_card {
#define MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY (1<<17) /* Disable broken SD poweroff notify support */
#define MMC_QUIRK_NO_UHS_DDR50_TUNING (1<<18) /* Disable DDR50 tuning */
#define MMC_QUIRK_FIXED_SECURE_ERASE_TRIM_TIME (1<<20) /* Secure erase/trim time is fixed regardless of size */
+#define MMC_QUIRK_WORKING_SD_CQ (1<<30) /* SD card has known-good CQ implementation */
#define MMC_QUIRK_ERASE_BROKEN (1<<31) /* Skip erase */
@@ -78,7 +78,7 @@ Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3796,6 +3796,15 @@ L: bpf@vger.kernel.org
@@ -3804,6 +3804,15 @@ L: bpf@vger.kernel.org
S: Odd Fixes
K: (?:\b|_)bpf(?:\b|_)
@@ -1125,7 +1125,7 @@ Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
MAX_BPF_LINK_TYPE,
};
@@ -1662,6 +1665,13 @@ union bpf_attr {
@@ -1664,6 +1667,13 @@ union bpf_attr {
__u32 flags;
__u32 pid;
} uprobe_multi;
@@ -1139,7 +1139,7 @@ Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
};
} link_create;
@@ -6587,6 +6597,10 @@ struct bpf_link_info {
@@ -6589,6 +6599,10 @@ struct bpf_link_info {
__u32 ifindex;
__u32 attach_type;
} tcx;
@@ -1284,7 +1284,7 @@ Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
MAX_BPF_LINK_TYPE,
};
@@ -1662,6 +1665,13 @@ union bpf_attr {
@@ -1664,6 +1667,13 @@ union bpf_attr {
__u32 flags;
__u32 pid;
} uprobe_multi;
@@ -1298,7 +1298,7 @@ Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
};
} link_create;
@@ -6590,6 +6600,10 @@ struct bpf_link_info {
@@ -6592,6 +6602,10 @@ struct bpf_link_info {
__u32 ifindex;
__u32 attach_type;
} tcx;
@@ -19,7 +19,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
--- a/block/blk.h
+++ b/block/blk.h
@@ -424,6 +424,7 @@ void blk_free_ext_minor(unsigned int min
@@ -445,6 +445,7 @@ void blk_free_ext_minor(unsigned int min
#define ADDPART_FLAG_NONE 0
#define ADDPART_FLAG_RAID 1
#define ADDPART_FLAG_WHOLEDISK 2
@@ -26,7 +26,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -2455,6 +2455,56 @@ static inline int mmc_blk_readonly(struc
@@ -2463,6 +2463,56 @@ static inline int mmc_blk_readonly(struc
!(card->csd.cmdclass & CCC_BLOCK_WRITE);
}
@@ -83,7 +83,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
struct device *parent,
sector_t size,
@@ -2463,6 +2513,7 @@ static struct mmc_blk_data *mmc_blk_allo
@@ -2471,6 +2521,7 @@ static struct mmc_blk_data *mmc_blk_allo
int area_type,
unsigned int part_type)
{
@@ -91,7 +91,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
struct mmc_blk_data *md;
int devidx, ret;
char cap_str[10];
@@ -2568,7 +2619,9 @@ static struct mmc_blk_data *mmc_blk_allo
@@ -2576,7 +2627,9 @@ static struct mmc_blk_data *mmc_blk_allo
/* used in ->open, must be set before add_disk: */
if (area_type == MMC_BLK_DATA_AREA_MAIN)
dev_set_drvdata(&card->dev, md);
@@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
#endif
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -6866,8 +6866,8 @@ nodefer: __kfree_skb(skb);
@@ -6875,8 +6875,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).
*/
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -1385,4 +1385,16 @@ static inline void ip6_sock_set_recvpkti
@@ -1379,4 +1379,16 @@ static inline void ip6_sock_set_recvpkti
release_sock(sk);
}
@@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -886,15 +886,6 @@ static int at803x_probe(struct phy_devic
priv->is_fiber = true;
break;
@@ -18,8 +18,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 44 ++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 22 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -295,7 +295,7 @@ struct at803x_hw_stat {
enum stat_access_type access_type;
};
@@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 68 ++++++++++++++++++++++------------------
1 file changed, 37 insertions(+), 31 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1623,27 +1623,26 @@ static int qca83xx_config_init(struct ph
break;
}
@@ -14,8 +14,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 55 ++++++++++++++++++++++------------------
1 file changed, 31 insertions(+), 24 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -825,30 +825,6 @@ static int at803x_parse_dt(struct phy_de
}
}
@@ -14,8 +14,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 39 +++++++++++++++++++--------------------
1 file changed, 19 insertions(+), 20 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -844,26 +844,6 @@ static int at803x_probe(struct phy_devic
if (ret)
return ret;
@@ -14,8 +14,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 45 ++++++++++++++++++++++------------------
1 file changed, 25 insertions(+), 20 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -951,27 +951,8 @@ static int at803x_hibernation_mode_confi
static int at803x_config_init(struct phy_device *phydev)
@@ -20,8 +20,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 42 ++++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 17 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -466,27 +466,11 @@ static int at803x_set_wol(struct phy_dev
phy_write_mmd(phydev, MDIO_MMD_PCS, offsets[i],
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
@@ -16,8 +16,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -990,7 +990,6 @@ static int at803x_ack_interrupt(struct p
static int at803x_config_intr(struct phy_device *phydev)
@@ -14,8 +14,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -583,7 +583,7 @@ static int at803x_resume(struct phy_devi
return phy_modify(phydev, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE, 0);
}
@@ -13,8 +13,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 266 +++++++++++++++++++--------------------
1 file changed, 133 insertions(+), 133 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -583,139 +583,6 @@ static int at803x_resume(struct phy_devi
return phy_modify(phydev, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE, 0);
}
@@ -22,8 +22,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 60 +++++++++++++++++++++++++++-------------
1 file changed, 41 insertions(+), 19 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -638,23 +638,6 @@ static int at803x_parse_dt(struct phy_de
priv->clk_25m_reg |= FIELD_PREP(AT803X_CLK_OUT_MASK, sel);
@@ -20,8 +20,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 95 +++++++++++++++++++++-------------------
1 file changed, 50 insertions(+), 45 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1222,31 +1222,16 @@ static int at803x_cdt_fault_length(u16 s
return (dt * 824) / 10;
}
@@ -13,8 +13,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 66 ++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 26 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1045,9 +1045,8 @@ static int at803x_config_mdix(struct phy
FIELD_PREP(AT803X_SFC_MDI_CROSSOVER_MODE_M, val));
}
@@ -18,8 +18,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -301,6 +301,11 @@ static struct at803x_hw_stat qca83xx_hw_
{ "eee_wake_errors", 0x16, GENMASK(15, 0), MMD},
};
@@ -14,8 +14,8 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/at803x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -462,7 +462,7 @@ static int at803x_set_wol(struct phy_dev
if (!ndev)
return -ENODEV;
@@ -13,8 +13,8 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/at803x.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -916,9 +916,9 @@ static void at803x_link_change_notify(st
at803x_context_save(phydev, &context);
@@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 67 ++++++++++++++++++++++------------------
1 file changed, 37 insertions(+), 30 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1781,27 +1781,27 @@ static int qca808x_phy_fast_retrain_conf
return ret;
@@ -14,8 +14,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1192,10 +1192,8 @@ static bool at803x_cdt_fault_length_vali
return false;
}
@@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 80 ++++++++++++++++++++++++----------------
1 file changed, 49 insertions(+), 31 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -2035,10 +2035,43 @@ static int qca808x_cable_test_start(stru
return 0;
}
@@ -20,8 +20,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 86 ++++++++++++++++++++++++++++++++--------
1 file changed, 69 insertions(+), 17 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -254,6 +254,7 @@
#define QCA808X_CDT_ENABLE_TEST BIT(15)
@@ -17,8 +17,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -1020,13 +1020,9 @@ static int at803x_read_specific_status(s
static int at803x_read_status(struct phy_device *phydev)
@@ -42,8 +42,8 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/at803x.c | 327 +++++++++++++++++++++++++++++++++++++++
1 file changed, 327 insertions(+)
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
--- a/drivers/net/phy/qcom/at803x.c
+++ b/drivers/net/phy/qcom/at803x.c
@@ -301,6 +301,87 @@
/* Added for reference of existence but should be handled by wait_for_completion already */
#define QCA808X_CDT_STATUS_STAT_BUSY (BIT(1) | BIT(3))
@@ -193,7 +193,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{
int value;
@@ -816,73 +679,6 @@ static int at803x_config_init(struct phy
return phy_modify(phydev, MII_ADVERTISE, MDIO_AN_CTRL1_XNP, 0);
return phy_modify(phydev, MII_ADVERTISE, ADVERTISE_XNP, 0);
}
-static int at803x_ack_interrupt(struct phy_device *phydev)
@@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
u64_stats_update_begin(&txq_stats->napi_syncp);
u64_stats_add(&txq_stats->napi.tx_packets, tx_packets);
@@ -5587,6 +5591,7 @@ static int stmmac_napi_poll_tx(struct na
@@ -5592,6 +5596,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;
@@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
u32 chan = ch->index;
int work_done;
@@ -5595,7 +5600,7 @@ static int stmmac_napi_poll_tx(struct na
@@ -5600,7 +5605,7 @@ static int stmmac_napi_poll_tx(struct na
u64_stats_inc(&txq_stats->napi.poll);
u64_stats_update_end(&txq_stats->napi_syncp);
@@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
work_done = min(work_done, budget);
if (work_done < budget && napi_complete_done(napi, work_done)) {
@@ -5606,6 +5611,10 @@ static int stmmac_napi_poll_tx(struct na
@@ -5611,6 +5616,10 @@ static int stmmac_napi_poll_tx(struct na
spin_unlock_irqrestore(&ch->lock, flags);
}
@@ -70,7 +70,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
return work_done;
}
@@ -5614,6 +5623,7 @@ static int stmmac_napi_poll_rxtx(struct
@@ -5619,6 +5628,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;
@@ -78,7 +78,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
int rx_done, tx_done, rxtx_done;
struct stmmac_rxq_stats *rxq_stats;
struct stmmac_txq_stats *txq_stats;
@@ -5629,7 +5639,7 @@ static int stmmac_napi_poll_rxtx(struct
@@ -5634,7 +5644,7 @@ static int stmmac_napi_poll_rxtx(struct
u64_stats_inc(&txq_stats->napi.poll);
u64_stats_update_end(&txq_stats->napi_syncp);
@@ -87,7 +87,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tx_done = min(tx_done, budget);
rx_done = stmmac_rx_zc(priv, budget, chan);
@@ -5654,6 +5664,10 @@ static int stmmac_napi_poll_rxtx(struct
@@ -5659,6 +5669,10 @@ static int stmmac_napi_poll_rxtx(struct
spin_unlock_irqrestore(&ch->lock, flags);
}
@@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -325,10 +325,7 @@ config QSEMI_PHY
@@ -333,10 +333,7 @@ config QSEMI_PHY
help
Currently supports the qs6612
@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tristate "Renesas PHYs"
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -83,7 +83,7 @@ obj-$(CONFIG_NXP_CBTX_PHY) += nxp-cbtx.o
@@ -87,7 +87,7 @@ obj-$(CONFIG_NXP_CBTX_PHY) += nxp-cbtx.o
obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o
obj-y += qcom/
obj-$(CONFIG_QSEMI_PHY) += qsemi.o
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+obj-$(CONFIG_AIR_EN8811H_PHY) += air_en8811h.o
obj-$(CONFIG_AMD_PHY) += amd.o
obj-$(CONFIG_AQUANTIA_PHY) += aquantia/
obj-$(CONFIG_AX88796B_PHY) += ax88796b.o
ifdef CONFIG_AX88796B_RUST_PHY
--- /dev/null
+++ b/drivers/net/phy/air_en8811h.c
@@ -0,0 +1,1086 @@
@@ -41,7 +41,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21993,6 +21993,7 @@ U-BOOT ENVIRONMENT VARIABLES
@@ -22001,6 +22001,7 @@ U-BOOT ENVIRONMENT VARIABLES
M: Rafał Miłecki <rafal@milecki.pl>
S: Maintained
F: Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
@@ -32,7 +32,7 @@ Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
err_stop_link:
--- a/drivers/pci/controller/dwc/pcie-designware.h
+++ b/drivers/pci/controller/dwc/pcie-designware.h
@@ -301,6 +301,7 @@ enum dw_pcie_ltssm {
@@ -303,6 +303,7 @@ enum dw_pcie_ltssm {
struct dw_pcie_host_ops {
int (*host_init)(struct dw_pcie_rp *pp);
void (*host_deinit)(struct dw_pcie_rp *pp);
@@ -43,7 +43,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -246,7 +246,7 @@ static int jent_kcapi_init(struct crypto
@@ -247,7 +247,7 @@ static int jent_kcapi_init(struct crypto
crypto_shash_init(sdesc);
rng->sdesc = sdesc;
@@ -85,7 +85,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
depends on CRYPTO_JITTERENTROPY
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -54,6 +54,17 @@
@@ -55,6 +55,17 @@
* Helper function
***************************************************************************/
@@ -53,7 +53,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
depends on CRYPTO_JITTERENTROPY
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -257,7 +257,9 @@ static int jent_kcapi_init(struct crypto
@@ -258,7 +258,9 @@ static int jent_kcapi_init(struct crypto
crypto_shash_init(sdesc);
rng->sdesc = sdesc;
@@ -18,7 +18,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -61,8 +61,7 @@ void *jent_kvzalloc(unsigned int len)
@@ -62,8 +62,7 @@ void *jent_kvzalloc(unsigned int len)
void jent_kvzfree(void *ptr, unsigned int len)
{
@@ -0,0 +1,52 @@
From 9826d1d6ed5f86cb3d61610b3b1fe31e96a40418 Mon Sep 17 00:00:00 2001
From: Eric Biggers <ebiggers@google.com>
Date: Sun, 22 Oct 2023 01:10:57 -0700
Subject: crypto: talitos - stop using crypto_ahash::init
The function pointer crypto_ahash::init is an internal implementation
detail of the ahash API that exists to help it support both ahash and
shash algorithms. With an upcoming refactoring of how the ahash API
supports shash algorithms, this field will be removed.
Some drivers are invoking crypto_ahash::init to call into their own
code, which is unnecessary and inefficient. The talitos driver is one
of those drivers. Make it just call its own code directly.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---
drivers/crypto/talitos.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -2197,13 +2197,14 @@ static int ahash_finup(struct ahash_requ
static int ahash_digest(struct ahash_request *areq)
{
- struct talitos_ahash_req_ctx *req_ctx = ahash_request_ctx(areq);
- struct crypto_ahash *ahash = crypto_ahash_reqtfm(areq);
-
- ahash->init(areq);
- req_ctx->last = 1;
+ ahash_init(areq);
+ return ahash_finup(areq);
+}
- return ahash_process_req(areq, areq->nbytes);
+static int ahash_digest_sha224_swinit(struct ahash_request *areq)
+{
+ ahash_init_sha224_swinit(areq);
+ return ahash_finup(areq);
}
static int ahash_export(struct ahash_request *areq, void *out)
@@ -3320,6 +3321,8 @@ static struct talitos_crypto_alg *talito
(!strcmp(alg->cra_name, "sha224") ||
!strcmp(alg->cra_name, "hmac(sha224)"))) {
t_alg->algt.alg.hash.init = ahash_init_sha224_swinit;
+ t_alg->algt.alg.hash.digest =
+ ahash_digest_sha224_swinit;
t_alg->algt.desc_hdr_template =
DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
DESC_HDR_SEL0_MDEUA |
@@ -15,9 +15,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -1138,3 +1140,73 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(dev_of_node(&chip->gpiodev->dev));
@@ -1145,3 +1147,73 @@ void of_gpiochip_remove(struct gpio_chip
of_node_put(np);
}
+
+#ifdef CONFIG_GPIO_SYSFS
@@ -15,10 +15,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/bridge/br_arp_nd_proxy.c
+++ b/net/bridge/br_arp_nd_proxy.c
@@ -204,7 +204,10 @@ void br_do_proxy_suppress_arp(struct sk_
@@ -205,7 +205,10 @@ void br_do_proxy_suppress_arp(struct sk_
if ((p && (p->flags & BR_PROXYARP)) ||
(f->dst && (f->dst->flags & BR_PROXYARP_WIFI)) ||
br_is_neigh_suppress_enabled(f->dst, vid)) {
(dst && (dst->flags & BR_PROXYARP_WIFI)) ||
br_is_neigh_suppress_enabled(dst, vid)) {
- if (!vid)
+ replied = true;
+ if (!memcmp(n->ha, sha, dev->addr_len))
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
br_arp_send(br, p, skb->dev, sip, tip,
sha, n->ha, sha, 0, 0);
else
@@ -212,7 +215,6 @@ void br_do_proxy_suppress_arp(struct sk_
@@ -213,7 +216,6 @@ void br_do_proxy_suppress_arp(struct sk_
sha, n->ha, sha,
skb->vlan_proto,
skb_vlan_tag_get(skb));
@@ -26,7 +26,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -115,7 +115,7 @@
@@ -116,7 +116,7 @@
/*
* Minimum number of threads to boot the kernel
*/
@@ -14,7 +14,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -2620,6 +2620,10 @@ static struct mmc_blk_data *mmc_blk_allo
@@ -2628,6 +2628,10 @@ static struct mmc_blk_data *mmc_blk_allo
if (area_type == MMC_BLK_DATA_AREA_MAIN)
dev_set_drvdata(&card->dev, md);
disk_fwnode = mmc_blk_get_partitions_node(parent, subname);

Some files were not shown because too many files have changed in this diff Show More