From: John Audia Date: Sun, 12 Mar 2023 14:03:16 +0000 (-0400) Subject: kernel: bump 5.10 to 5.10.173 X-Git-Tag: v22.03.4~40 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=24d84a13a41008c1feb906a5ffc0da74e00275f5;p=openwrt%2Fstaging%2Fhauke.git kernel: bump 5.10 to 5.10.173 Manually rebased: ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch All other patches automatically rebased. Signed-off-by: John Audia (cherry picked from commit d4aad642ff80750ec16a58058eb6da718e2129cd) --- diff --git a/include/kernel-5.10 b/include/kernel-5.10 index dd93f107f6..9a90cf68cb 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .172 -LINUX_KERNEL_HASH-5.10.172 = f20dbae344df1c33cad617f7670c5e061557f592f422c842d3b30155df2927b1 +LINUX_VERSION-5.10 = .173 +LINUX_KERNEL_HASH-5.10.173 = 3480b474c727ed882416202084acce6861659e74f1d84b724a342c514b083c25 diff --git a/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch b/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch index 6751edec5c..436fa18362 100644 --- a/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch +++ b/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch @@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -3105,7 +3105,10 @@ static int clk_rate_get(void *data, u64 +@@ -3116,7 +3116,10 @@ static int clk_rate_get(void *data, u64 { struct clk_core *core = data; diff --git a/target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch index 43bf94432e..2df15d0ce9 100644 --- a/target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch +++ b/target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch @@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -3159,6 +3159,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3168,6 +3168,7 @@ int spi_nor_scan(struct spi_nor *nor, co struct device *dev = nor->dev; struct mtd_info *mtd = &nor->mtd; struct device_node *np = spi_nor_get_flash_node(nor); @@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma int ret; int i; -@@ -3213,7 +3214,12 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3222,7 +3223,12 @@ int spi_nor_scan(struct spi_nor *nor, co if (ret) return ret; diff --git a/target/linux/bcm27xx/patches-5.10/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/bcm27xx/patches-5.10/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch index a1aa5b2004..18bb6ad10d 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch @@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -378,7 +378,7 @@ static const struct gpio_chip bcm2835_gp +@@ -376,7 +376,7 @@ static const struct gpio_chip bcm2835_gp .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, diff --git a/target/linux/bcm27xx/patches-5.10/950-0131-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/bcm27xx/patches-5.10/950-0131-bcmgenet-Better-coalescing-parameter-defaults.patch index 3c88ce0ed7..a542e12bf4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0131-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0131-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2604,7 +2604,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2612,7 +2612,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,7 +27,7 @@ Signed-off-by: Phil Elwell /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -4073,9 +4073,12 @@ static int bcmgenet_probe(struct platfor +@@ -4081,9 +4081,12 @@ static int bcmgenet_probe(struct platfor netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ diff --git a/target/linux/bcm27xx/patches-5.10/950-0132-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/bcm27xx/patches-5.10/950-0132-net-genet-enable-link-energy-detect-powerdown-for-ex.patch index 4c6fbe89de..5ed0367290 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0132-net-genet-enable-link-energy-detect-powerdown-for-ex.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0132-net-genet-enable-link-energy-detect-powerdown-for-ex.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -293,6 +293,8 @@ int bcmgenet_mii_probe(struct net_device +@@ -286,6 +286,8 @@ int bcmgenet_mii_probe(struct net_device /* Communicate the integrated PHY revision */ if (priv->internal_phy) phy_flags = priv->gphy_rev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0153-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/bcm27xx/patches-5.10/950-0153-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index ba0c0631cd..ceca4405e2 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0153-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0153-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell static inline void bcmgenet_writel(u32 value, void __iomem *offset) { -@@ -2435,6 +2438,11 @@ static void reset_umac(struct bcmgenet_p +@@ -2443,6 +2446,11 @@ static void reset_umac(struct bcmgenet_p bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); diff --git a/target/linux/bcm27xx/patches-5.10/950-0162-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch b/target/linux/bcm27xx/patches-5.10/950-0162-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch index 0506bc26a8..5431dee451 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0162-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0162-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch @@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell --- a/Makefile +++ b/Makefile -@@ -1369,6 +1369,9 @@ ifneq ($(dtstree),) +@@ -1376,6 +1376,9 @@ ifneq ($(dtstree),) %.dtb: include/config/kernel.release scripts_dtc $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ diff --git a/target/linux/bcm27xx/patches-5.10/950-0185-pinctrl-bcm2835-Remove-gpiochip-on-error.patch b/target/linux/bcm27xx/patches-5.10/950-0185-pinctrl-bcm2835-Remove-gpiochip-on-error.patch index a337f49d1e..66714ade1a 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0185-pinctrl-bcm2835-Remove-gpiochip-on-error.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0185-pinctrl-bcm2835-Remove-gpiochip-on-error.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1336,7 +1336,7 @@ static int bcm2835_pinctrl_probe(struct +@@ -1334,7 +1334,7 @@ static int bcm2835_pinctrl_probe(struct girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_level_irq; diff --git a/target/linux/bcm27xx/patches-5.10/950-0187-pinctrl-bcm2835-Accept-fewer-than-expected-IRQs.patch b/target/linux/bcm27xx/patches-5.10/950-0187-pinctrl-bcm2835-Accept-fewer-than-expected-IRQs.patch index 9311baee2d..749182c8cb 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0187-pinctrl-bcm2835-Accept-fewer-than-expected-IRQs.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0187-pinctrl-bcm2835-Accept-fewer-than-expected-IRQs.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1308,9 +1308,13 @@ static int bcm2835_pinctrl_probe(struct +@@ -1306,9 +1306,13 @@ static int bcm2835_pinctrl_probe(struct char *name; girq->parents[i] = irq_of_parse_and_map(np, i); diff --git a/target/linux/bcm27xx/patches-5.10/950-0192-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch b/target/linux/bcm27xx/patches-5.10/950-0192-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch index 1a961ab45b..8b67e16a54 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0192-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0192-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch @@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina --- a/Makefile +++ b/Makefile -@@ -1369,7 +1369,7 @@ ifneq ($(dtstree),) +@@ -1376,7 +1376,7 @@ ifneq ($(dtstree),) %.dtb: include/config/kernel.release scripts_dtc $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ diff --git a/target/linux/bcm27xx/patches-5.10/950-0217-media-imx219-Advertise-embedded-data-node-on-media-p.patch b/target/linux/bcm27xx/patches-5.10/950-0217-media-imx219-Advertise-embedded-data-node-on-media-p.patch index d8055af5b2..4884d5b52d 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0217-media-imx219-Advertise-embedded-data-node-on-media-p.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0217-media-imx219-Advertise-embedded-data-node-on-media-p.patch @@ -20,7 +20,7 @@ Signed-off-by: Naushir Patuck --- a/drivers/media/i2c/imx219.c +++ b/drivers/media/i2c/imx219.c -@@ -118,6 +118,16 @@ +@@ -124,6 +124,16 @@ #define IMX219_PIXEL_ARRAY_WIDTH 3280U #define IMX219_PIXEL_ARRAY_HEIGHT 2464U @@ -37,7 +37,7 @@ Signed-off-by: Naushir Patuck struct imx219_reg { u16 address; u8 val; -@@ -536,7 +546,7 @@ static const struct imx219_mode supporte +@@ -444,7 +454,7 @@ static const struct imx219_mode supporte struct imx219 { struct v4l2_subdev sd; @@ -46,7 +46,7 @@ Signed-off-by: Naushir Patuck struct v4l2_mbus_framefmt fmt; -@@ -685,18 +695,26 @@ static void imx219_set_default_format(st +@@ -593,18 +603,26 @@ static void imx219_set_default_format(st static int imx219_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) { struct imx219 *imx219 = to_imx219(sd); @@ -81,7 +81,7 @@ Signed-off-by: Naushir Patuck /* Initialize try_crop rectangle. */ try_crop = v4l2_subdev_get_try_crop(sd, fh->pad, 0); -@@ -805,10 +823,21 @@ static int imx219_enum_mbus_code(struct +@@ -713,10 +731,21 @@ static int imx219_enum_mbus_code(struct { struct imx219 *imx219 = to_imx219(sd); @@ -105,7 +105,7 @@ Signed-off-by: Naushir Patuck return 0; } -@@ -819,16 +848,29 @@ static int imx219_enum_frame_size(struct +@@ -727,16 +756,29 @@ static int imx219_enum_frame_size(struct { struct imx219 *imx219 = to_imx219(sd); @@ -142,7 +142,7 @@ Signed-off-by: Naushir Patuck return 0; } -@@ -843,9 +885,9 @@ static void imx219_reset_colorspace(stru +@@ -751,9 +793,9 @@ static void imx219_reset_colorspace(stru fmt->xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(fmt->colorspace); } @@ -155,7 +155,7 @@ Signed-off-by: Naushir Patuck { fmt->format.width = mode->width; fmt->format.height = mode->height; -@@ -853,20 +895,38 @@ static void imx219_update_pad_format(str +@@ -761,20 +803,38 @@ static void imx219_update_pad_format(str imx219_reset_colorspace(&fmt->format); } @@ -198,7 +198,7 @@ Signed-off-by: Naushir Patuck } return 0; -@@ -896,51 +956,74 @@ static int imx219_set_pad_format(struct +@@ -804,51 +864,74 @@ static int imx219_set_pad_format(struct int exposure_max, exposure_def, hblank; unsigned int i; @@ -316,7 +316,7 @@ Signed-off-by: Naushir Patuck } mutex_unlock(&imx219->mutex); -@@ -1511,13 +1594,14 @@ static int imx219_probe(struct i2c_clien +@@ -1462,13 +1545,14 @@ static int imx219_probe(struct i2c_clien imx219->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; imx219->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; diff --git a/target/linux/bcm27xx/patches-5.10/950-0224-media-i2c-imx219-Declare-that-the-driver-can-create-.patch b/target/linux/bcm27xx/patches-5.10/950-0224-media-i2c-imx219-Declare-that-the-driver-can-create-.patch index 87e1000617..2ac7b510f8 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0224-media-i2c-imx219-Declare-that-the-driver-can-create-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0224-media-i2c-imx219-Declare-that-the-driver-can-create-.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/media/i2c/imx219.c +++ b/drivers/media/i2c/imx219.c -@@ -1591,7 +1591,8 @@ static int imx219_probe(struct i2c_clien +@@ -1542,7 +1542,8 @@ static int imx219_probe(struct i2c_clien /* Initialize subdev */ imx219->sd.internal_ops = &imx219_internal_ops; diff --git a/target/linux/bcm27xx/patches-5.10/950-0252-SQUASH-pinctrl-bcm2835-Set-base-for-bcm2711-GPIO-to-.patch b/target/linux/bcm27xx/patches-5.10/950-0252-SQUASH-pinctrl-bcm2835-Set-base-for-bcm2711-GPIO-to-.patch index 18bb51916f..b87e9c3026 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0252-SQUASH-pinctrl-bcm2835-Set-base-for-bcm2711-GPIO-to-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0252-SQUASH-pinctrl-bcm2835-Set-base-for-bcm2711-GPIO-to-.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -395,7 +395,7 @@ static const struct gpio_chip bcm2711_gp +@@ -393,7 +393,7 @@ static const struct gpio_chip bcm2711_gp .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, diff --git a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index feac458184..567a278781 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1487,9 +1487,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1488,9 +1488,6 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 value; int ret; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, vc4_hdmi->variant->card_name, -@@ -1923,7 +1920,6 @@ static const struct vc4_hdmi_variant bcm +@@ -1924,7 +1921,6 @@ static const struct vc4_hdmi_variant bcm .debugfs_name = "hdmi_regs", .card_name = "vc4-hdmi", .max_pixel_clock = 162000000, diff --git a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch index 801d90db7f..36f8322aee 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -995,6 +995,44 @@ static void vc4_hdmi_audio_shutdown(stru +@@ -996,6 +996,44 @@ static void vc4_hdmi_audio_shutdown(stru vc4_hdmi->audio.substream = NULL; } @@ -59,7 +59,7 @@ Signed-off-by: Dom Cobley /* HDMI audio codec callbacks */ static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, -@@ -1005,6 +1043,8 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1006,6 +1044,8 @@ static int vc4_hdmi_audio_hw_params(stru struct device *dev = &vc4_hdmi->pdev->dev; u32 audio_packet_config, channel_mask; u32 channel_map; @@ -68,7 +68,7 @@ Signed-off-by: Dom Cobley if (substream != vc4_hdmi->audio.substream) return -EINVAL; -@@ -1025,6 +1065,14 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1026,6 +1066,14 @@ static int vc4_hdmi_audio_hw_params(stru vc4_hdmi_audio_set_mai_clock(vc4_hdmi); @@ -85,7 +85,7 @@ Signed-off-by: Dom Cobley VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT | --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -516,6 +516,36 @@ +@@ -522,6 +522,36 @@ # define VC4_HDMI_AUDIO_PACKET_CEA_MASK_MASK VC4_MASK(7, 0) # define VC4_HDMI_AUDIO_PACKET_CEA_MASK_SHIFT 0 diff --git a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch index b617c97923..b6fa22906e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl #include #include #include -@@ -1176,6 +1177,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st +@@ -1177,6 +1178,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st return 0; } @@ -74,7 +74,7 @@ Signed-off-by: Matthias Reichl static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = { { .access = SNDRV_CTL_ELEM_ACCESS_READ | -@@ -1185,6 +1227,19 @@ static const struct snd_kcontrol_new vc4 +@@ -1186,6 +1228,19 @@ static const struct snd_kcontrol_new vc4 .info = vc4_hdmi_audio_eld_ctl_info, .get = vc4_hdmi_audio_eld_ctl_get, }, @@ -94,7 +94,7 @@ Signed-off-by: Matthias Reichl }; static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { -@@ -1305,6 +1360,11 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1306,6 +1361,11 @@ static int vc4_hdmi_audio_init(struct vc vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; vc4_hdmi->audio.dma_data.maxburst = 2; diff --git a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch index 25792b28fd..0d2a398451 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch @@ -14,7 +14,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1035,9 +1035,8 @@ static int sample_rate_to_mai_fmt(int sa +@@ -1036,9 +1036,8 @@ static int sample_rate_to_mai_fmt(int sa } /* HDMI audio codec callbacks */ @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl { struct vc4_hdmi *vc4_hdmi = dai_to_hdmi(dai); struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; -@@ -1050,12 +1049,15 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1051,12 +1050,15 @@ static int vc4_hdmi_audio_hw_params(stru if (substream != vc4_hdmi->audio.substream) return -EINVAL; @@ -47,7 +47,7 @@ Signed-off-by: Matthias Reichl HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_RESET | -@@ -1267,7 +1269,7 @@ static const struct snd_soc_component_dr +@@ -1268,7 +1270,7 @@ static const struct snd_soc_component_dr static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = { .startup = vc4_hdmi_audio_startup, .shutdown = vc4_hdmi_audio_shutdown, diff --git a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch index fc722e58cc..cbdee0574c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch @@ -10,7 +10,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1069,7 +1069,11 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1070,7 +1070,11 @@ static int vc4_hdmi_audio_prepare(struct vc4_hdmi_audio_set_mai_clock(vc4_hdmi); mai_sample_rate = sample_rate_to_mai_fmt(vc4_hdmi->audio.samplerate); diff --git a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch index 773ddf1f01..b616756a3f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1099,6 +1099,7 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1100,6 +1100,7 @@ static int vc4_hdmi_audio_prepare(struct HDMI_WRITE(HDMI_MAI_CONFIG, VC4_HDMI_MAI_CONFIG_BIT_REVERSE | diff --git a/target/linux/bcm27xx/patches-5.10/950-0319-drm-vc4-Add-support-for-DRM_FORMAT_P030-to-vc4-plane.patch b/target/linux/bcm27xx/patches-5.10/950-0319-drm-vc4-Add-support-for-DRM_FORMAT_P030-to-vc4-plane.patch index 4af45139ce..46d64dcd1d 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0319-drm-vc4-Add-support-for-DRM_FORMAT_P030-to-vc4-plane.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0319-drm-vc4-Add-support-for-DRM_FORMAT_P030-to-vc4-plane.patch @@ -25,7 +25,7 @@ Signed-off-by: Dave Stevenson } hvs_formats[] = { { .drm = DRM_FORMAT_XRGB8888, -@@ -128,6 +129,12 @@ static const struct hvs_format { +@@ -130,6 +131,12 @@ static const struct hvs_format { .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCRCB, }, @@ -38,7 +38,7 @@ Signed-off-by: Dave Stevenson }; static const struct hvs_format *vc4_get_hvs_format(u32 drm_format) -@@ -765,27 +772,33 @@ static int vc4_plane_mode_set(struct drm +@@ -767,27 +774,33 @@ static int vc4_plane_mode_set(struct drm uint32_t param = fourcc_mod_broadcom_param(fb->modifier); u32 tile_w, tile, x_off, pix_per_tile; @@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson return -EINVAL; } -@@ -795,6 +808,13 @@ static int vc4_plane_mode_set(struct drm +@@ -797,6 +810,13 @@ static int vc4_plane_mode_set(struct drm /* Adjust the base pointer to the first pixel to be scanned * out. @@ -104,7 +104,7 @@ Signed-off-by: Dave Stevenson */ for (i = 0; i < num_planes; i++) { vc4_state->offsets[i] += param * tile_w * tile; -@@ -956,7 +976,8 @@ static int vc4_plane_mode_set(struct drm +@@ -958,7 +978,8 @@ static int vc4_plane_mode_set(struct drm /* Pitch word 1/2 */ for (i = 1; i < num_planes; i++) { @@ -114,7 +114,7 @@ Signed-off-by: Dave Stevenson vc4_dlist_write(vc4_state, VC4_SET_FIELD(fb->pitches[i], SCALER_SRC_PITCH)); -@@ -1316,6 +1337,13 @@ static bool vc4_format_mod_supported(str +@@ -1318,6 +1339,13 @@ static bool vc4_format_mod_supported(str default: return false; } @@ -128,7 +128,7 @@ Signed-off-by: Dave Stevenson case DRM_FORMAT_RGBX1010102: case DRM_FORMAT_BGRX1010102: case DRM_FORMAT_RGBA1010102: -@@ -1348,8 +1376,11 @@ struct drm_plane *vc4_plane_init(struct +@@ -1350,8 +1378,11 @@ struct drm_plane *vc4_plane_init(struct struct drm_plane *plane = NULL; struct vc4_plane *vc4_plane; u32 formats[ARRAY_SIZE(hvs_formats)]; @@ -140,7 +140,7 @@ Signed-off-by: Dave Stevenson static const uint64_t modifiers[] = { DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED, DRM_FORMAT_MOD_BROADCOM_SAND128, -@@ -1364,13 +1395,17 @@ struct drm_plane *vc4_plane_init(struct +@@ -1366,13 +1397,17 @@ struct drm_plane *vc4_plane_init(struct if (!vc4_plane) return ERR_PTR(-ENOMEM); diff --git a/target/linux/bcm27xx/patches-5.10/950-0320-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch b/target/linux/bcm27xx/patches-5.10/950-0320-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch index d056739838..b1e20e96e1 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0320-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0320-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch @@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -624,6 +624,53 @@ static int vc4_plane_allocate_lbm(struct +@@ -626,6 +626,53 @@ static int vc4_plane_allocate_lbm(struct return 0; } @@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson /* Writes out a full display list for an active plane to the plane's * private dlist state. */ -@@ -988,9 +1035,20 @@ static int vc4_plane_mode_set(struct drm +@@ -990,9 +1037,20 @@ static int vc4_plane_mode_set(struct drm /* Colorspace conversion words */ if (vc4_state->is_yuv) { @@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson } vc4_state->lbm_offset = 0; -@@ -1419,6 +1477,14 @@ struct drm_plane *vc4_plane_init(struct +@@ -1421,6 +1479,14 @@ struct drm_plane *vc4_plane_init(struct DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y); @@ -113,7 +113,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -976,6 +976,7 @@ enum hvs_pixel_format { +@@ -982,6 +982,7 @@ enum hvs_pixel_format { #define SCALER_CSC0_ITR_R_601_5 0x00f00000 #define SCALER_CSC0_ITR_R_709_3 0x00f00000 #define SCALER_CSC0_JPEG_JFIF 0x00000000 @@ -121,7 +121,7 @@ Signed-off-by: Dave Stevenson /* S2.8 contribution of Cb to Green */ #define SCALER_CSC1_COEF_CB_GRN_MASK VC4_MASK(31, 22) -@@ -992,6 +993,7 @@ enum hvs_pixel_format { +@@ -998,6 +999,7 @@ enum hvs_pixel_format { #define SCALER_CSC1_ITR_R_601_5 0xe73304a8 #define SCALER_CSC1_ITR_R_709_3 0xf2b784a8 #define SCALER_CSC1_JPEG_JFIF 0xea34a400 @@ -129,7 +129,7 @@ Signed-off-by: Dave Stevenson /* S2.8 contribution of Cb to Red */ #define SCALER_CSC2_COEF_CB_RED_MASK VC4_MASK(29, 20) -@@ -1005,6 +1007,7 @@ enum hvs_pixel_format { +@@ -1011,6 +1013,7 @@ enum hvs_pixel_format { #define SCALER_CSC2_ITR_R_601_5 0x00066204 #define SCALER_CSC2_ITR_R_709_3 0x00072a1c #define SCALER_CSC2_JPEG_JFIF 0x000599c5 diff --git a/target/linux/bcm27xx/patches-5.10/950-0334-net-bcmgenet-Reset-RBUF-on-first-open.patch b/target/linux/bcm27xx/patches-5.10/950-0334-net-bcmgenet-Reset-RBUF-on-first-open.patch index 3bb8ef81a0..cf03e36fa3 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0334-net-bcmgenet-Reset-RBUF-on-first-open.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0334-net-bcmgenet-Reset-RBUF-on-first-open.patch @@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -3253,7 +3253,7 @@ static void bcmgenet_get_hw_addr(struct +@@ -3261,7 +3261,7 @@ static void bcmgenet_get_hw_addr(struct } /* Returns a reusable dma control register value */ @@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell { unsigned int i; u32 reg; -@@ -3278,6 +3278,14 @@ static u32 bcmgenet_dma_disable(struct b +@@ -3286,6 +3286,14 @@ static u32 bcmgenet_dma_disable(struct b udelay(10); bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH); @@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell return dma_ctrl; } -@@ -3341,8 +3349,8 @@ static int bcmgenet_open(struct net_devi +@@ -3349,8 +3357,8 @@ static int bcmgenet_open(struct net_devi bcmgenet_set_hw_addr(priv, dev->dev_addr); @@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell /* Reinitialize TDMA and RDMA and SW housekeeping */ ret = bcmgenet_init_dma(priv); -@@ -4202,7 +4210,7 @@ static int bcmgenet_resume(struct device +@@ -4210,7 +4218,7 @@ static int bcmgenet_resume(struct device bcmgenet_hfb_create_rxnfc_filter(priv, rule); /* Disable RX/TX DMA and flush TX queues */ diff --git a/target/linux/bcm27xx/patches-5.10/950-0347-drm-vc4-Add-debugfs-node-that-dumps-the-current-disp.patch b/target/linux/bcm27xx/patches-5.10/950-0347-drm-vc4-Add-debugfs-node-that-dumps-the-current-disp.patch index 5b2bc61573..6ec6485162 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0347-drm-vc4-Add-debugfs-node-that-dumps-the-current-disp.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0347-drm-vc4-Add-debugfs-node-that-dumps-the-current-disp.patch @@ -59,7 +59,7 @@ Signed-off-by: Dave Stevenson /* The filter kernel is composed of dwords each containing 3 9-bit * signed integers packed next to each other. */ -@@ -687,6 +726,8 @@ static int vc4_hvs_bind(struct device *d +@@ -698,6 +737,8 @@ static int vc4_hvs_bind(struct device *d vc4_debugfs_add_regset32(drm, "hvs_regs", &hvs->regset); vc4_debugfs_add_file(drm, "hvs_underrun", vc4_hvs_debugfs_underrun, NULL); diff --git a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch index 2c8228a755..e54b1aee72 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson return 0; } -@@ -1737,6 +1743,7 @@ static int vc5_hdmi_init_resources(struc +@@ -1738,6 +1744,7 @@ static int vc5_hdmi_init_resources(struc struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; struct resource *res; @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi"); if (!res) -@@ -1827,6 +1834,38 @@ static int vc5_hdmi_init_resources(struc +@@ -1828,6 +1835,38 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->reset); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch b/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch index deced715d1..e76a8202f4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch @@ -633,7 +633,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1 #include #include #include -@@ -706,10 +707,12 @@ static struct drm_crtc_state *dpu_crtc_d +@@ -709,10 +710,12 @@ static struct drm_crtc_state *dpu_crtc_d } static void dpu_crtc_disable(struct drm_crtc *crtc, @@ -647,7 +647,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1 struct drm_encoder *encoder; unsigned long flags; bool release_bandwidth = false; -@@ -770,7 +773,7 @@ static void dpu_crtc_disable(struct drm_ +@@ -773,7 +776,7 @@ static void dpu_crtc_disable(struct drm_ } static void dpu_crtc_enable(struct drm_crtc *crtc, diff --git a/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch b/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch index 3eb7205cee..abb90c862e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch @@ -201,7 +201,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -5638,17 +5638,19 @@ static void dm_update_crtc_active_planes +@@ -5640,17 +5640,19 @@ static void dm_update_crtc_active_planes } static int dm_crtc_helper_atomic_check(struct drm_crtc *crtc, @@ -225,7 +225,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max WARN_ON(1); return ret; } -@@ -5659,8 +5661,8 @@ static int dm_crtc_helper_atomic_check(s +@@ -5661,8 +5663,8 @@ static int dm_crtc_helper_atomic_check(s * planes are disabled, which is not supported by the hardware. And there is legacy * userspace which stops using the HW cursor altogether in response to the resulting EINVAL. */ @@ -503,7 +503,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -@@ -815,10 +815,12 @@ struct plane_state { +@@ -818,10 +818,12 @@ struct plane_state { }; static int dpu_crtc_atomic_check(struct drm_crtc *crtc, @@ -518,9 +518,9 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max struct plane_state *pstates; const struct drm_plane_state *pstate; -@@ -835,32 +837,33 @@ static int dpu_crtc_atomic_check(struct - - pstates = kzalloc(sizeof(*pstates) * DPU_STAGE_MAX * 4, GFP_KERNEL); +@@ -840,32 +842,33 @@ static int dpu_crtc_atomic_check(struct + if (!pstates) + return -ENOMEM; - if (!state->enable || !state->active) { + if (!crtc_state->enable || !crtc_state->active) { @@ -559,7 +559,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max struct drm_rect dst, clip = crtc_rect; if (IS_ERR_OR_NULL(pstate)) { -@@ -966,7 +969,7 @@ static int dpu_crtc_atomic_check(struct +@@ -971,7 +974,7 @@ static int dpu_crtc_atomic_check(struct atomic_inc(&_dpu_crtc_get_kms(crtc)->bandwidth_ref); diff --git a/target/linux/bcm27xx/patches-5.10/950-0412-drm-vc4-Pass-the-atomic-state-to-encoder-hooks.patch b/target/linux/bcm27xx/patches-5.10/950-0412-drm-vc4-Pass-the-atomic-state-to-encoder-hooks.patch index 21c0537e8b..424006cf7e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0412-drm-vc4-Pass-the-atomic-state-to-encoder-hooks.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0412-drm-vc4-Pass-the-atomic-state-to-encoder-hooks.patch @@ -129,7 +129,7 @@ Signed-off-by: Maxime Ripard { struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); int ret; -@@ -642,7 +644,8 @@ static void vc4_hdmi_recenter_fifo(struc +@@ -643,7 +645,8 @@ static void vc4_hdmi_recenter_fifo(struc "VC4_HDMI_FIFO_CTL_RECENTER_DONE"); } @@ -139,7 +139,7 @@ Signed-off-by: Maxime Ripard { struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); -@@ -724,7 +727,8 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -725,7 +728,8 @@ static void vc4_hdmi_encoder_pre_crtc_co vc4_hdmi->variant->set_timings(vc4_hdmi, mode); } @@ -149,7 +149,7 @@ Signed-off-by: Maxime Ripard { struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); -@@ -746,7 +750,8 @@ static void vc4_hdmi_encoder_pre_crtc_en +@@ -747,7 +751,8 @@ static void vc4_hdmi_encoder_pre_crtc_en HDMI_WRITE(HDMI_FIFO_CTL, VC4_HDMI_FIFO_CTL_MASTER_SLAVE_N); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch index 9f0f7e5e59..ab7aaca737 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch @@ -29,7 +29,7 @@ Signed-off-by: Maxime Ripard __drm_atomic_helper_connector_duplicate_state(connector, &new_state->base); return &new_state->base; -@@ -671,9 +672,29 @@ static void vc4_hdmi_recenter_fifo(struc +@@ -672,9 +673,29 @@ static void vc4_hdmi_recenter_fifo(struc "VC4_HDMI_FIFO_CTL_RECENTER_DONE"); } @@ -59,7 +59,7 @@ Signed-off-by: Maxime Ripard struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); unsigned long pixel_rate, hsm_rate; -@@ -685,7 +706,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -686,7 +707,7 @@ static void vc4_hdmi_encoder_pre_crtc_co return; } @@ -68,7 +68,7 @@ Signed-off-by: Maxime Ripard ret = clk_set_rate(vc4_hdmi->pixel_clock, pixel_rate); if (ret) { DRM_ERROR("Failed to set pixel clock rate: %d\n", ret); -@@ -847,6 +868,7 @@ static int vc4_hdmi_encoder_atomic_check +@@ -848,6 +869,7 @@ static int vc4_hdmi_encoder_atomic_check struct drm_crtc_state *crtc_state, struct drm_connector_state *conn_state) { @@ -76,7 +76,7 @@ Signed-off-by: Maxime Ripard struct drm_display_mode *mode = &crtc_state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); unsigned long long pixel_rate = mode->clock * 1000; -@@ -878,6 +900,8 @@ static int vc4_hdmi_encoder_atomic_check +@@ -879,6 +901,8 @@ static int vc4_hdmi_encoder_atomic_check if (pixel_rate > vc4_hdmi->variant->max_pixel_clock) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch b/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch index 64949ffb1f..38705f3eb1 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -764,7 +764,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -765,7 +765,7 @@ static void vc4_hdmi_encoder_pre_crtc_co } if (vc4_hdmi->variant->phy_init) diff --git a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch index a887f383e9..e70ec847e7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch @@ -82,9 +82,9 @@ Reviewed-by: Dave Stevenson struct drm_display_mode *mode) { bool hsync_pos = mode->flags & DRM_MODE_FLAG_PHSYNC; -@@ -620,6 +644,9 @@ static void vc5_hdmi_set_timings(struct +@@ -621,6 +645,9 @@ static void vc5_hdmi_set_timings(struct VC4_SET_FIELD(mode->crtc_vtotal - - mode->crtc_vsync_end - interlaced, + mode->crtc_vsync_end, VC4_HDMI_VERTB_VBP)); + unsigned char gcp; + bool gcp_en; @@ -92,7 +92,7 @@ Reviewed-by: Dave Stevenson HDMI_WRITE(HDMI_VEC_INTERFACE_XBAR, 0x354021); HDMI_WRITE(HDMI_HORZA, -@@ -645,6 +672,39 @@ static void vc5_hdmi_set_timings(struct +@@ -646,6 +673,39 @@ static void vc5_hdmi_set_timings(struct HDMI_WRITE(HDMI_VERTB0, vertb_even); HDMI_WRITE(HDMI_VERTB1, vertb); @@ -132,7 +132,7 @@ Reviewed-by: Dave Stevenson HDMI_WRITE(HDMI_CLOCK_STOP, 0); } -@@ -772,7 +832,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -773,7 +833,7 @@ static void vc4_hdmi_encoder_pre_crtc_co VC4_HDMI_SCHEDULER_CONTROL_IGNORE_VSYNC_PREDICTS); if (vc4_hdmi->variant->set_timings) @@ -141,7 +141,7 @@ Reviewed-by: Dave Stevenson } static void vc4_hdmi_encoder_pre_crtc_enable(struct drm_encoder *encoder, -@@ -894,6 +954,14 @@ static int vc4_hdmi_encoder_atomic_check +@@ -895,6 +955,14 @@ static int vc4_hdmi_encoder_atomic_check pixel_rate = mode->clock * 1000; } diff --git a/target/linux/bcm27xx/patches-5.10/950-0456-drm-vc4-hdmi-Update-the-CEC-clock-divider-on-HSM-rat.patch b/target/linux/bcm27xx/patches-5.10/950-0456-drm-vc4-hdmi-Update-the-CEC-clock-divider-on-HSM-rat.patch index 667d283179..84969b391a 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0456-drm-vc4-hdmi-Update-the-CEC-clock-divider-on-HSM-rat.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0456-drm-vc4-hdmi-Update-the-CEC-clock-divider-on-HSM-rat.patch @@ -20,7 +20,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -804,6 +804,8 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -805,6 +805,8 @@ static void vc4_hdmi_encoder_pre_crtc_co vc4_hdmi_cec_update_clk_div(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch index cb76e1995e..be0291f3a2 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; HDMI_WRITE(HDMI_CEC_CNTRL_1, value); } -@@ -1870,6 +1870,7 @@ static int vc4_hdmi_init_resources(struc +@@ -1871,6 +1871,7 @@ static int vc4_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->hsm_clock); } vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; @@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1964,6 +1965,12 @@ static int vc5_hdmi_init_resources(struc +@@ -1965,6 +1966,12 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->audio_clock); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch index 5447b33259..48e58acb5d 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch @@ -19,7 +19,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1574,15 +1574,22 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1575,15 +1575,22 @@ static int vc4_hdmi_audio_init(struct vc } #ifdef CONFIG_DRM_VC4_HDMI_CEC @@ -48,7 +48,7 @@ Reviewed-by: Dave Stevenson cec_transmit_done(vc4_hdmi->cec_adap, CEC_TX_STATUS_OK, 0, 0, 0, 0); } else { -@@ -1596,6 +1603,19 @@ static irqreturn_t vc4_cec_irq_handler_t +@@ -1597,6 +1604,19 @@ static irqreturn_t vc4_cec_irq_handler_t return IRQ_HANDLED; } @@ -68,7 +68,7 @@ Reviewed-by: Dave Stevenson static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) { struct drm_device *dev = vc4_hdmi->connector.dev; -@@ -1620,31 +1640,55 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1621,31 +1641,55 @@ static void vc4_cec_read_msg(struct vc4_ } } diff --git a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch index 1ca7c55cb0..4d9919dbae 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch @@ -20,7 +20,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1725,9 +1725,11 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1726,9 +1726,11 @@ static int vc4_hdmi_cec_adap_enable(stru ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); @@ -34,7 +34,7 @@ Reviewed-by: Dave Stevenson HDMI_WRITE(HDMI_CEC_CNTRL_5, val | VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); } -@@ -1800,8 +1802,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1801,8 +1803,6 @@ static int vc4_hdmi_cec_init(struct vc4_ cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); @@ -43,7 +43,7 @@ Reviewed-by: Dave Stevenson value = HDMI_READ(HDMI_CEC_CNTRL_1); /* Set the logical address to Unregistered */ value |= VC4_HDMI_CEC_ADDR_MASK; -@@ -1809,12 +1809,32 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1810,12 +1810,32 @@ static int vc4_hdmi_cec_init(struct vc4_ vc4_hdmi_cec_update_clk_div(vc4_hdmi); @@ -82,7 +82,7 @@ Reviewed-by: Dave Stevenson ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev); if (ret < 0) -@@ -2289,6 +2309,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2290,6 +2310,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_CK, }, .unsupported_odd_h_timings = true, @@ -90,7 +90,7 @@ Reviewed-by: Dave Stevenson .init_resources = vc5_hdmi_init_resources, .csc_setup = vc5_hdmi_csc_setup, -@@ -2315,6 +2336,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2316,6 +2337,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_2, }, .unsupported_odd_h_timings = true, diff --git a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch index 22f2b3f934..e03562d54b 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1787,9 +1787,15 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1788,9 +1788,15 @@ static int vc4_hdmi_cec_init(struct vc4_ { struct cec_connector_info conn_info; struct platform_device *pdev = vc4_hdmi->pdev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch index fe00de1ec8..0ed92457ac 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch @@ -61,7 +61,7 @@ Signed-off-by: Dave Stevenson } static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder, -@@ -2299,6 +2324,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2300,6 +2325,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, .channel_map = vc4_hdmi_channel_map, @@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { -@@ -2326,6 +2352,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2327,6 +2353,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { -@@ -2353,6 +2380,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2354,6 +2381,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, diff --git a/target/linux/bcm27xx/patches-5.10/950-0480-drm-vc4-Change-the-default-DPI-format-to-being-18bpp.patch b/target/linux/bcm27xx/patches-5.10/950-0480-drm-vc4-Change-the-default-DPI-format-to-being-18bpp.patch index b7aa16ee40..10f759861e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0480-drm-vc4-Change-the-default-DPI-format-to-being-18bpp.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0480-drm-vc4-Change-the-default-DPI-format-to-being-18bpp.patch @@ -21,9 +21,9 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c -@@ -178,8 +178,8 @@ static void vc4_dpi_encoder_enable(struc - break; - } +@@ -188,8 +188,8 @@ static void vc4_dpi_encoder_enable(struc + if (connector->display_info.bus_flags & DRM_BUS_FLAG_DE_LOW) + dpi_c |= DPI_OUTPUT_ENABLE_INVERT; } else { - /* Default to 24bit if no connector found. */ - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, DPI_FORMAT); diff --git a/target/linux/bcm27xx/patches-5.10/950-0511-vc4-drm-Fix-source-offsets-with-DRM_FORMAT_P030.patch b/target/linux/bcm27xx/patches-5.10/950-0511-vc4-drm-Fix-source-offsets-with-DRM_FORMAT_P030.patch index 5d847bd87d..7c902c38b9 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0511-vc4-drm-Fix-source-offsets-with-DRM_FORMAT_P030.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0511-vc4-drm-Fix-source-offsets-with-DRM_FORMAT_P030.patch @@ -15,7 +15,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -820,9 +820,20 @@ static int vc4_plane_mode_set(struct drm +@@ -822,9 +822,20 @@ static int vc4_plane_mode_set(struct drm u32 tile_w, tile, x_off, pix_per_tile; if (fb->format->format == DRM_FORMAT_P030) { @@ -37,7 +37,7 @@ Signed-off-by: Dom Cobley } else { hvs_format = HVS_PIXEL_FORMAT_H264; -@@ -842,17 +853,16 @@ static int vc4_plane_mode_set(struct drm +@@ -844,17 +855,16 @@ static int vc4_plane_mode_set(struct drm default: break; } @@ -58,7 +58,7 @@ Signed-off-by: Dom Cobley /* Adjust the base pointer to the first pixel to be scanned * out. * -@@ -868,9 +878,7 @@ static int vc4_plane_mode_set(struct drm +@@ -870,9 +880,7 @@ static int vc4_plane_mode_set(struct drm vc4_state->offsets[i] += src_y / (i ? v_subsample : 1) * tile_w; diff --git a/target/linux/bcm27xx/patches-5.10/950-0522-vc4-drm-SQUASH-Fix-source-offsets-with-DRM_FORMAT_P0.patch b/target/linux/bcm27xx/patches-5.10/950-0522-vc4-drm-SQUASH-Fix-source-offsets-with-DRM_FORMAT_P0.patch index 83737337c2..344d25ccc4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0522-vc4-drm-SQUASH-Fix-source-offsets-with-DRM_FORMAT_P0.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0522-vc4-drm-SQUASH-Fix-source-offsets-with-DRM_FORMAT_P0.patch @@ -16,7 +16,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -826,8 +826,9 @@ static int vc4_plane_mode_set(struct drm +@@ -828,8 +828,9 @@ static int vc4_plane_mode_set(struct drm * and bits[3:0] should be between 0 and 11, indicating which * of the 12-pixels in that 128-bit word is the first pixel to be used */ diff --git a/target/linux/bcm27xx/patches-5.10/950-0527-drm-connector-Create-a-helper-to-attach-the-hdr_outp.patch b/target/linux/bcm27xx/patches-5.10/950-0527-drm-connector-Create-a-helper-to-attach-the-hdr_outp.patch index 6688af4890..be25e74fb3 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0527-drm-connector-Create-a-helper-to-attach-the-hdr_outp.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0527-drm-connector-Create-a-helper-to-attach-the-hdr_outp.patch @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -6564,9 +6564,7 @@ void amdgpu_dm_connector_init_helper(str +@@ -6566,9 +6566,7 @@ void amdgpu_dm_connector_init_helper(str if (connector_type == DRM_MODE_CONNECTOR_HDMIA || connector_type == DRM_MODE_CONNECTOR_DisplayPort || connector_type == DRM_MODE_CONNECTOR_eDP) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0528-drm-connector-Add-helper-to-compare-HDR-metadata.patch b/target/linux/bcm27xx/patches-5.10/950-0528-drm-connector-Add-helper-to-compare-HDR-metadata.patch index 74aac2acf1..7259049275 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0528-drm-connector-Add-helper-to-compare-HDR-metadata.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0528-drm-connector-Add-helper-to-compare-HDR-metadata.patch @@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -5509,25 +5509,6 @@ static int fill_hdr_info_packet(const st +@@ -5511,25 +5511,6 @@ static int fill_hdr_info_packet(const st return 0; } @@ -47,7 +47,7 @@ Signed-off-by: Maxime Ripard static int amdgpu_dm_connector_atomic_check(struct drm_connector *conn, struct drm_atomic_state *state) -@@ -5543,7 +5524,7 @@ amdgpu_dm_connector_atomic_check(struct +@@ -5545,7 +5526,7 @@ amdgpu_dm_connector_atomic_check(struct if (!crtc) return 0; diff --git a/target/linux/bcm27xx/patches-5.10/950-0533-vc4-kms-vc4_plane-Support-2020-colourspace-for-yuv-p.patch b/target/linux/bcm27xx/patches-5.10/950-0533-vc4-kms-vc4_plane-Support-2020-colourspace-for-yuv-p.patch index 2cbe3841ef..f4fcccbe0c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0533-vc4-kms-vc4_plane-Support-2020-colourspace-for-yuv-p.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0533-vc4-kms-vc4_plane-Support-2020-colourspace-for-yuv-p.patch @@ -19,7 +19,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -645,10 +645,10 @@ static const u32 colorspace_coeffs[2][DR +@@ -647,10 +647,10 @@ static const u32 colorspace_coeffs[2][DR SCALER_CSC1_ITR_R_709_3, SCALER_CSC2_ITR_R_709_3, }, { @@ -34,7 +34,7 @@ Signed-off-by: Dom Cobley } }, { /* Full range */ -@@ -663,10 +663,10 @@ static const u32 colorspace_coeffs[2][DR +@@ -665,10 +665,10 @@ static const u32 colorspace_coeffs[2][DR SCALER_CSC1_ITR_R_709_3_FR, SCALER_CSC2_ITR_R_709_3_FR, }, { @@ -49,7 +49,7 @@ Signed-off-by: Dom Cobley } } }; -@@ -1488,7 +1488,8 @@ struct drm_plane *vc4_plane_init(struct +@@ -1490,7 +1490,8 @@ struct drm_plane *vc4_plane_init(struct drm_plane_create_color_properties(plane, BIT(DRM_COLOR_YCBCR_BT601) | @@ -61,7 +61,7 @@ Signed-off-by: Dom Cobley DRM_COLOR_YCBCR_BT709, --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h -@@ -975,8 +975,10 @@ enum hvs_pixel_format { +@@ -981,8 +981,10 @@ enum hvs_pixel_format { #define SCALER_CSC0_COEF_CR_OFS_SHIFT 0 #define SCALER_CSC0_ITR_R_601_5 0x00f00000 #define SCALER_CSC0_ITR_R_709_3 0x00f00000 @@ -72,7 +72,7 @@ Signed-off-by: Dom Cobley /* S2.8 contribution of Cb to Green */ #define SCALER_CSC1_COEF_CB_GRN_MASK VC4_MASK(31, 22) -@@ -991,9 +993,11 @@ enum hvs_pixel_format { +@@ -997,9 +999,11 @@ enum hvs_pixel_format { #define SCALER_CSC1_COEF_CR_BLU_MASK VC4_MASK(1, 0) #define SCALER_CSC1_COEF_CR_BLU_SHIFT 0 #define SCALER_CSC1_ITR_R_601_5 0xe73304a8 @@ -87,7 +87,7 @@ Signed-off-by: Dom Cobley /* S2.8 contribution of Cb to Red */ #define SCALER_CSC2_COEF_CB_RED_MASK VC4_MASK(29, 20) -@@ -1004,10 +1008,12 @@ enum hvs_pixel_format { +@@ -1010,10 +1014,12 @@ enum hvs_pixel_format { /* S2.8 contribution of Cb to Blue */ #define SCALER_CSC2_COEF_CB_BLU_MASK VC4_MASK(19, 10) #define SCALER_CSC2_COEF_CB_BLU_SHIFT 10 diff --git a/target/linux/bcm27xx/patches-5.10/950-0537-clk-Introduce-a-clock-request-API.patch b/target/linux/bcm27xx/patches-5.10/950-0537-clk-Introduce-a-clock-request-API.patch index c4d44a8a7c..be22f7ec28 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0537-clk-Introduce-a-clock-request-API.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0537-clk-Introduce-a-clock-request-API.patch @@ -75,7 +75,7 @@ Signed-off-by: Maxime Ripard /*** runtime pm ***/ static int clk_pm_runtime_get(struct clk_core *core) { -@@ -1430,10 +1438,14 @@ unsigned long clk_hw_round_rate(struct c +@@ -1441,10 +1449,14 @@ unsigned long clk_hw_round_rate(struct c { int ret; struct clk_rate_request req; @@ -90,7 +90,7 @@ Signed-off-by: Maxime Ripard ret = clk_core_round_rate_nolock(hw->core, &req); if (ret) return 0; -@@ -1454,6 +1466,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate); +@@ -1465,6 +1477,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate); long clk_round_rate(struct clk *clk, unsigned long rate) { struct clk_rate_request req; @@ -98,7 +98,7 @@ Signed-off-by: Maxime Ripard int ret; if (!clk) -@@ -1467,6 +1480,9 @@ long clk_round_rate(struct clk *clk, uns +@@ -1478,6 +1491,9 @@ long clk_round_rate(struct clk *clk, uns clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate); req.rate = rate; @@ -108,7 +108,7 @@ Signed-off-by: Maxime Ripard ret = clk_core_round_rate_nolock(clk->core, &req); if (clk->exclusive_count) -@@ -1934,6 +1950,7 @@ static struct clk_core *clk_calc_new_rat +@@ -1945,6 +1961,7 @@ static struct clk_core *clk_calc_new_rat unsigned long new_rate; unsigned long min_rate; unsigned long max_rate; @@ -116,7 +116,7 @@ Signed-off-by: Maxime Ripard int p_index = 0; long ret; -@@ -1948,6 +1965,9 @@ static struct clk_core *clk_calc_new_rat +@@ -1959,6 +1976,9 @@ static struct clk_core *clk_calc_new_rat clk_core_get_boundaries(core, &min_rate, &max_rate); @@ -126,7 +126,7 @@ Signed-off-by: Maxime Ripard /* find the closest rate and parent clk/rate */ if (clk_core_can_round(core)) { struct clk_rate_request req; -@@ -2152,6 +2172,7 @@ static unsigned long clk_core_req_round_ +@@ -2163,6 +2183,7 @@ static unsigned long clk_core_req_round_ { int ret, cnt; struct clk_rate_request req; @@ -134,7 +134,7 @@ Signed-off-by: Maxime Ripard lockdep_assert_held(&prepare_lock); -@@ -2166,6 +2187,9 @@ static unsigned long clk_core_req_round_ +@@ -2177,6 +2198,9 @@ static unsigned long clk_core_req_round_ clk_core_get_boundaries(core, &req.min_rate, &req.max_rate); req.rate = req_rate; @@ -144,7 +144,7 @@ Signed-off-by: Maxime Ripard ret = clk_core_round_rate_nolock(core, &req); /* restore the protection */ -@@ -2259,6 +2283,9 @@ int clk_set_rate(struct clk *clk, unsign +@@ -2270,6 +2294,9 @@ int clk_set_rate(struct clk *clk, unsign ret = clk_core_set_rate_nolock(clk->core, rate); @@ -154,7 +154,7 @@ Signed-off-by: Maxime Ripard if (clk->exclusive_count) clk_core_rate_protect(clk->core); -@@ -2425,6 +2452,99 @@ int clk_set_max_rate(struct clk *clk, un +@@ -2436,6 +2463,99 @@ int clk_set_max_rate(struct clk *clk, un EXPORT_SYMBOL_GPL(clk_set_max_rate); /** @@ -254,7 +254,7 @@ Signed-off-by: Maxime Ripard * clk_get_parent - return the parent of a clk * @clk: the clk whose parent gets returned * -@@ -3874,6 +3994,7 @@ __clk_register(struct device *dev, struc +@@ -3885,6 +4005,7 @@ __clk_register(struct device *dev, struc goto fail_parents; INIT_HLIST_HEAD(&core->clks); diff --git a/target/linux/bcm27xx/patches-5.10/950-0538-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch b/target/linux/bcm27xx/patches-5.10/950-0538-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch index 2b1da48f8b..003d04b6ae 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0538-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0538-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard clk_disable_unprepare(vc4_hdmi->pixel_clock); ret = pm_runtime_put(&vc4_hdmi->pdev->dev); -@@ -852,9 +855,9 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -853,9 +856,9 @@ static void vc4_hdmi_encoder_pre_crtc_co * pixel clock, but HSM ends up being the limiting factor. */ hsm_rate = max_t(unsigned long, 120000000, (pixel_rate / 100) * 101); @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard return; } -@@ -866,10 +869,12 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -867,10 +870,12 @@ static void vc4_hdmi_encoder_pre_crtc_co * FIXME: When the pixel freq is 594MHz (4k60), this needs to be setup * at 300MHz. */ @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard clk_disable_unprepare(vc4_hdmi->pixel_clock); return; } -@@ -877,6 +882,9 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -878,6 +883,9 @@ static void vc4_hdmi_encoder_pre_crtc_co ret = clk_prepare_enable(vc4_hdmi->pixel_bvb_clock); if (ret) { DRM_ERROR("Failed to turn on pixel bvb clock: %d\n", ret); diff --git a/target/linux/bcm27xx/patches-5.10/950-0572-clk-requests-Ignore-if-the-pointer-is-null.patch b/target/linux/bcm27xx/patches-5.10/950-0572-clk-requests-Ignore-if-the-pointer-is-null.patch index 0fb6c8d2ae..2b70e3ccda 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0572-clk-requests-Ignore-if-the-pointer-is-null.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0572-clk-requests-Ignore-if-the-pointer-is-null.patch @@ -10,7 +10,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -2521,6 +2521,9 @@ void clk_request_done(struct clk_request +@@ -2532,6 +2532,9 @@ void clk_request_done(struct clk_request { struct clk_core *core = req->clk->core; diff --git a/target/linux/bcm27xx/patches-5.10/950-0574-drm-vc4-hdmi-Properly-compute-the-BVB-clock-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0574-drm-vc4-hdmi-Properly-compute-the-BVB-clock-rate.patch index ca9bfb51c0..89bf3699ac 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0574-drm-vc4-hdmi-Properly-compute-the-BVB-clock-rate.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0574-drm-vc4-hdmi-Properly-compute-the-BVB-clock-rate.patch @@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard #define HDMI_14_MAX_TMDS_CLK (340 * 1000 * 1000) -@@ -816,7 +815,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -817,7 +816,7 @@ static void vc4_hdmi_encoder_pre_crtc_co conn_state_to_vc4_hdmi_conn_state(conn_state); struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); @@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard int ret; ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); -@@ -865,12 +864,14 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -866,12 +865,14 @@ static void vc4_hdmi_encoder_pre_crtc_co vc4_hdmi_cec_update_clk_div(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0575-drm-vc4-hdmi-Enable-the-scrambler.patch b/target/linux/bcm27xx/patches-5.10/950-0575-drm-vc4-hdmi-Enable-the-scrambler.patch index 557f9db3b9..83fabf10d5 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0575-drm-vc4-hdmi-Enable-the-scrambler.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0575-drm-vc4-hdmi-Enable-the-scrambler.patch @@ -106,7 +106,7 @@ Signed-off-by: Maxime Ripard } static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder, -@@ -982,6 +1045,7 @@ static void vc4_hdmi_encoder_post_crtc_e +@@ -983,6 +1046,7 @@ static void vc4_hdmi_encoder_post_crtc_e } vc4_hdmi_recenter_fifo(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0577-vc4-drm-hdmi-Handle-case-when-bvb-clock-is-null.patch b/target/linux/bcm27xx/patches-5.10/950-0577-vc4-drm-hdmi-Handle-case-when-bvb-clock-is-null.patch index 61aa604ba1..f26fe23267 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0577-vc4-drm-hdmi-Handle-case-when-bvb-clock-is-null.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0577-vc4-drm-hdmi-Handle-case-when-bvb-clock-is-null.patch @@ -23,7 +23,7 @@ Signed-off-by: Dom Cobley clk_disable_unprepare(vc4_hdmi->hsm_clock); clk_request_done(vc4_hdmi->hsm_req); clk_disable_unprepare(vc4_hdmi->pixel_clock); -@@ -934,7 +935,8 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -935,7 +936,8 @@ static void vc4_hdmi_encoder_pre_crtc_co else bvb_rate = 75000000; @@ -33,7 +33,7 @@ Signed-off-by: Dom Cobley if (IS_ERR(vc4_hdmi->bvb_req)) { DRM_ERROR("Failed to set pixel bvb clock rate: %ld\n", PTR_ERR(vc4_hdmi->bvb_req)); clk_request_done(vc4_hdmi->hsm_req); -@@ -946,7 +948,8 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -947,7 +949,8 @@ static void vc4_hdmi_encoder_pre_crtc_co ret = clk_prepare_enable(vc4_hdmi->pixel_bvb_clock); if (ret) { DRM_ERROR("Failed to turn on pixel bvb clock: %d\n", ret); diff --git a/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch b/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch index ed394c19a8..4b81be57c3 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -2519,10 +2519,11 @@ EXPORT_SYMBOL_GPL(clk_request_start); +@@ -2530,10 +2530,11 @@ EXPORT_SYMBOL_GPL(clk_request_start); */ void clk_request_done(struct clk_request *req) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch index 83c1b6ff6e..2a9778401f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch @@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -1333,6 +1333,8 @@ static int clk_core_determine_round_nolo +@@ -1344,6 +1344,8 @@ static int clk_core_determine_round_nolo if (!core) return 0; diff --git a/target/linux/bcm27xx/patches-5.10/950-0600-drm-vc4-hdmi-Simplify-the-connector-state-retrieval.patch b/target/linux/bcm27xx/patches-5.10/950-0600-drm-vc4-hdmi-Simplify-the-connector-state-retrieval.patch index be832f61b5..f471520b99 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0600-drm-vc4-hdmi-Simplify-the-connector-state-retrieval.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0600-drm-vc4-hdmi-Simplify-the-connector-state-retrieval.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -854,31 +854,16 @@ static void vc4_hdmi_recenter_fifo(struc +@@ -855,31 +855,16 @@ static void vc4_hdmi_recenter_fifo(struc "VC4_HDMI_FIFO_CTL_RECENTER_DONE"); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch b/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch index 981b11ad8b..7da294d2a6 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1690,6 +1690,46 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1691,6 +1691,46 @@ static int vc4_hdmi_audio_init(struct vc } @@ -65,7 +65,7 @@ Signed-off-by: Maxime Ripard #ifdef CONFIG_DRM_VC4_HDMI_CEC static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv) { -@@ -2318,6 +2358,10 @@ static int vc4_hdmi_bind(struct device * +@@ -2319,6 +2359,10 @@ static int vc4_hdmi_bind(struct device * if (ret) goto err_destroy_encoder; diff --git a/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch b/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch index cd5a74b06b..3b922ab456 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch @@ -70,7 +70,7 @@ Signed-off-by: Maxime Ripard static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder, struct drm_atomic_state *state) { -@@ -2276,6 +2300,7 @@ static int vc4_hdmi_bind(struct device * +@@ -2277,6 +2301,7 @@ static int vc4_hdmi_bind(struct device * vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL); if (!vc4_hdmi) return -ENOMEM; diff --git a/target/linux/bcm27xx/patches-5.10/950-0603-vc4-drm-hdmi-Fix-missing-declaration.patch b/target/linux/bcm27xx/patches-5.10/950-0603-vc4-drm-hdmi-Fix-missing-declaration.patch index b4a815f412..682f4b2861 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0603-vc4-drm-hdmi-Fix-missing-declaration.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0603-vc4-drm-hdmi-Fix-missing-declaration.patch @@ -11,7 +11,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1729,6 +1729,7 @@ static int vc4_hdmi_hotplug_init(struct +@@ -1730,6 +1730,7 @@ static int vc4_hdmi_hotplug_init(struct { struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0636-drm-vc4-Register-HDMI-codec.patch b/target/linux/bcm27xx/patches-5.10/950-0636-drm-vc4-Register-HDMI-codec.patch index 72b510d130..59400f4ee4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0636-drm-vc4-Register-HDMI-codec.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0636-drm-vc4-Register-HDMI-codec.patch @@ -65,7 +65,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi_write_infoframe(encoder, &frame); } -@@ -1217,18 +1218,10 @@ static inline struct vc4_hdmi *dai_to_hd +@@ -1218,18 +1219,10 @@ static inline struct vc4_hdmi *dai_to_hd return snd_soc_card_get_drvdata(card); } @@ -86,7 +86,7 @@ Signed-off-by: Maxime Ripard /* * If the HDMI encoder hasn't probed, or the encoder is -@@ -1238,15 +1231,18 @@ static int vc4_hdmi_audio_startup(struct +@@ -1239,15 +1232,18 @@ static int vc4_hdmi_audio_startup(struct VC4_HDMI_RAM_PACKET_ENABLE)) return -ENODEV; @@ -112,7 +112,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1266,17 +1262,20 @@ static void vc4_hdmi_audio_reset(struct +@@ -1267,17 +1263,20 @@ static void vc4_hdmi_audio_reset(struct HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_FLUSH); } @@ -140,7 +140,7 @@ Signed-off-by: Maxime Ripard } static int sample_rate_to_mai_fmt(int samplerate) -@@ -1318,42 +1317,35 @@ static int sample_rate_to_mai_fmt(int sa +@@ -1319,42 +1318,35 @@ static int sample_rate_to_mai_fmt(int sa } /* HDMI audio codec callbacks */ @@ -198,7 +198,7 @@ Signed-off-by: Maxime Ripard mai_audio_format = VC4_HDMI_MAI_FORMAT_HBR; else mai_audio_format = VC4_HDMI_MAI_FORMAT_PCM; -@@ -1390,148 +1382,12 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1391,148 +1383,12 @@ static int vc4_hdmi_audio_prepare(struct HDMI_WRITE(HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); vc4_hdmi_set_n_cts(vc4_hdmi); @@ -348,7 +348,7 @@ Signed-off-by: Maxime Ripard static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { SND_SOC_DAPM_OUTPUT("TX"), }; -@@ -1542,8 +1398,6 @@ static const struct snd_soc_dapm_route v +@@ -1543,8 +1399,6 @@ static const struct snd_soc_dapm_route v static const struct snd_soc_component_driver vc4_hdmi_audio_component_drv = { .name = "vc4-hdmi-codec-dai-component", @@ -357,7 +357,7 @@ Signed-off-by: Maxime Ripard .dapm_widgets = vc4_hdmi_audio_widgets, .num_dapm_widgets = ARRAY_SIZE(vc4_hdmi_audio_widgets), .dapm_routes = vc4_hdmi_audio_routes, -@@ -1554,28 +1408,6 @@ static const struct snd_soc_component_dr +@@ -1555,28 +1409,6 @@ static const struct snd_soc_component_dr .non_legacy_dai_naming = 1, }; @@ -386,7 +386,7 @@ Signed-off-by: Maxime Ripard static const struct snd_soc_component_driver vc4_hdmi_audio_cpu_dai_comp = { .name = "vc4-hdmi-cpu-dai-component", }; -@@ -1602,7 +1434,6 @@ static struct snd_soc_dai_driver vc4_hdm +@@ -1603,7 +1435,6 @@ static struct snd_soc_dai_driver vc4_hdm SNDRV_PCM_RATE_192000, .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE, }, @@ -394,7 +394,7 @@ Signed-off-by: Maxime Ripard }; static const struct snd_dmaengine_pcm_config pcm_conf = { -@@ -1610,6 +1441,31 @@ static const struct snd_dmaengine_pcm_co +@@ -1611,6 +1442,31 @@ static const struct snd_dmaengine_pcm_co .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config, }; @@ -426,7 +426,7 @@ Signed-off-by: Maxime Ripard static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi) { const struct vc4_hdmi_register *mai_data = -@@ -1617,6 +1473,7 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1618,6 +1474,7 @@ static int vc4_hdmi_audio_init(struct vc struct snd_soc_dai_link *dai_link = &vc4_hdmi->audio.link; struct snd_soc_card *card = &vc4_hdmi->audio.card; struct device *dev = &vc4_hdmi->pdev->dev; @@ -434,7 +434,7 @@ Signed-off-by: Maxime Ripard const __be32 *addr; int index, len; int ret; -@@ -1650,11 +1507,6 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1651,11 +1508,6 @@ static int vc4_hdmi_audio_init(struct vc vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; vc4_hdmi->audio.dma_data.maxburst = 2; @@ -446,7 +446,7 @@ Signed-off-by: Maxime Ripard ret = devm_snd_dmaengine_pcm_register(dev, &pcm_conf, 0); if (ret) { dev_err(dev, "Could not register PCM component: %d\n", ret); -@@ -1668,12 +1520,13 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1669,12 +1521,13 @@ static int vc4_hdmi_audio_init(struct vc return ret; } @@ -466,7 +466,7 @@ Signed-off-by: Maxime Ripard } dai_link->cpus = &vc4_hdmi->audio.cpu; -@@ -1686,9 +1539,9 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1687,9 +1540,9 @@ static int vc4_hdmi_audio_init(struct vc dai_link->name = "MAI"; dai_link->stream_name = "MAI PCM"; diff --git a/target/linux/bcm27xx/patches-5.10/950-0637-drm-vc4-hdmi-Remove-redundant-variables.patch b/target/linux/bcm27xx/patches-5.10/950-0637-drm-vc4-hdmi-Remove-redundant-variables.patch index 7bac618516..407b4cfaaf 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0637-drm-vc4-hdmi-Remove-redundant-variables.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0637-drm-vc4-hdmi-Remove-redundant-variables.patch @@ -11,7 +11,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1167,12 +1167,13 @@ static u32 vc5_hdmi_channel_map(struct v +@@ -1168,12 +1168,13 @@ static u32 vc5_hdmi_channel_map(struct v } /* HDMI audio codec callbacks */ @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard VC4_HD_MAI_SMP_N_MASK >> VC4_HD_MAI_SMP_N_SHIFT, (VC4_HD_MAI_SMP_M_MASK >> -@@ -1184,12 +1185,11 @@ static void vc4_hdmi_audio_set_mai_clock +@@ -1185,12 +1186,11 @@ static void vc4_hdmi_audio_set_mai_clock VC4_SET_FIELD(m - 1, VC4_HD_MAI_SMP_M)); } @@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard u32 n, cts; u64 tmp; -@@ -1323,27 +1323,25 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1324,27 +1324,25 @@ static int vc4_hdmi_audio_prepare(struct { struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; @@ -75,7 +75,7 @@ Signed-off-by: Maxime Ripard if (params->iec.status[0] & IEC958_AES0_NONAUDIO && params->channels == 8) mai_audio_format = VC4_HDMI_MAI_FORMAT_HBR; -@@ -1361,7 +1359,7 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1362,7 +1360,7 @@ static int vc4_hdmi_audio_prepare(struct VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS | VC4_SET_FIELD(0x8, VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER); @@ -84,7 +84,7 @@ Signed-off-by: Maxime Ripard audio_packet_config |= VC4_SET_FIELD(channel_mask, VC4_HDMI_AUDIO_PACKET_CEA_MASK); -@@ -1380,7 +1378,7 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1381,7 +1379,7 @@ static int vc4_hdmi_audio_prepare(struct channel_map = vc4_hdmi->variant->channel_map(vc4_hdmi, channel_mask); HDMI_WRITE(HDMI_MAI_CHANNEL_MAP, channel_map); HDMI_WRITE(HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); diff --git a/target/linux/bcm27xx/patches-5.10/950-0646-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch b/target/linux/bcm27xx/patches-5.10/950-0646-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch index a9168f2f6c..a3bea85442 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0646-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0646-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch @@ -109,7 +109,7 @@ Signed-off-by: Maxime Ripard */ --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -535,9 +535,6 @@ static void vc4_plane_calc_load(struct d +@@ -537,9 +537,6 @@ static void vc4_plane_calc_load(struct d struct vc4_dev *vc4; vc4 = to_vc4_dev(state->plane->dev); diff --git a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch index 2e62f190e5..2f16407425 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch @@ -169,27 +169,27 @@ Signed-off-by: Joerg Quinten }, { --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c -@@ -165,10 +165,20 @@ static void vc4_dpi_encoder_enable(struc - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, - DPI_FORMAT); - break; -+ case MEDIA_BUS_FMT_BGR666_1X24_CPADHI: -+ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, -+ DPI_FORMAT); -+ dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER); -+ break; - case MEDIA_BUS_FMT_RGB666_1X18: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, - DPI_FORMAT); - break; -+ case MEDIA_BUS_FMT_BGR666_1X18: -+ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, -+ DPI_FORMAT); -+ dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER); -+ break; - case MEDIA_BUS_FMT_RGB565_1X16: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, - DPI_FORMAT); +@@ -167,10 +167,20 @@ static void vc4_dpi_encoder_enable(struc + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, + DPI_FORMAT); + break; ++ case MEDIA_BUS_FMT_BGR666_1X24_CPADHI: ++ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, ++ DPI_FORMAT); ++ dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER); ++ break; + case MEDIA_BUS_FMT_RGB666_1X18: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, + DPI_FORMAT); + break; ++ case MEDIA_BUS_FMT_BGR666_1X18: ++ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, ++ DPI_FORMAT); ++ dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER); ++ break; + case MEDIA_BUS_FMT_RGB565_1X16: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1, + DPI_FORMAT); --- a/include/uapi/linux/media-bus-format.h +++ b/include/uapi/linux/media-bus-format.h @@ -34,7 +34,7 @@ diff --git a/target/linux/bcm27xx/patches-5.10/950-0652-drm-vc4-Fix-pixel-wrap-issue-with-DVP-teardown.patch b/target/linux/bcm27xx/patches-5.10/950-0652-drm-vc4-Fix-pixel-wrap-issue-with-DVP-teardown.patch index 03493aaa1c..91b2bca53b 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0652-drm-vc4-Fix-pixel-wrap-issue-with-DVP-teardown.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0652-drm-vc4-Fix-pixel-wrap-issue-with-DVP-teardown.patch @@ -52,7 +52,7 @@ Signed-off-by: Tim Gover clk_disable_unprepare(vc4_hdmi->pixel_bvb_clock); if (vc4_hdmi->bvb_req) clk_request_done(vc4_hdmi->bvb_req); -@@ -1013,6 +1013,7 @@ static void vc4_hdmi_encoder_post_crtc_e +@@ -1014,6 +1014,7 @@ static void vc4_hdmi_encoder_post_crtc_e HDMI_WRITE(HDMI_VID_CTL, VC4_HD_VID_CTL_ENABLE | diff --git a/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch b/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch index fc73a7e42e..42db9a99a0 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -911,23 +911,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -912,23 +912,7 @@ static void vc4_hdmi_encoder_pre_crtc_co return; } @@ -62,7 +62,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi->hsm_req = clk_request_start(vc4_hdmi->hsm_clock, hsm_rate); if (IS_ERR(vc4_hdmi->hsm_req)) { DRM_ERROR("Failed to set HSM clock rate: %ld\n", PTR_ERR(vc4_hdmi->hsm_req)); -@@ -1143,6 +1127,39 @@ static const struct drm_encoder_helper_f +@@ -1144,6 +1128,39 @@ static const struct drm_encoder_helper_f .enable = vc4_hdmi_encoder_enable, }; @@ -102,7 +102,7 @@ Signed-off-by: Maxime Ripard static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask) { int i; -@@ -2337,6 +2354,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2338,6 +2355,7 @@ static const struct vc4_hdmi_variant bcm .phy_disable = vc4_hdmi_phy_disable, .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, @@ -110,7 +110,7 @@ Signed-off-by: Maxime Ripard .channel_map = vc4_hdmi_channel_map, .supports_hdr = false, }; -@@ -2365,6 +2383,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2366,6 +2384,7 @@ static const struct vc4_hdmi_variant bcm .phy_disable = vc5_hdmi_phy_disable, .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, @@ -118,7 +118,7 @@ Signed-off-by: Maxime Ripard .channel_map = vc5_hdmi_channel_map, .supports_hdr = true, }; -@@ -2393,6 +2412,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2394,6 +2413,7 @@ static const struct vc4_hdmi_variant bcm .phy_disable = vc5_hdmi_phy_disable, .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, diff --git a/target/linux/bcm27xx/patches-5.10/950-0667-drm-vc4-hdmi-Put-the-device-on-error-in-pre_crtc_con.patch b/target/linux/bcm27xx/patches-5.10/950-0667-drm-vc4-hdmi-Put-the-device-on-error-in-pre_crtc_con.patch index 7149776277..9a69254d85 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0667-drm-vc4-hdmi-Put-the-device-on-error-in-pre_crtc_con.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0667-drm-vc4-hdmi-Put-the-device-on-error-in-pre_crtc_con.patch @@ -16,7 +16,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -903,6 +903,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -904,6 +904,7 @@ static void vc4_hdmi_encoder_pre_crtc_co ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); if (ret < 0) { DRM_ERROR("Failed to retain power domain: %d\n", ret); @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard return; } -@@ -910,12 +911,14 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -911,12 +912,14 @@ static void vc4_hdmi_encoder_pre_crtc_co ret = clk_set_rate(vc4_hdmi->pixel_clock, pixel_rate); if (ret) { DRM_ERROR("Failed to set pixel clock rate: %d\n", ret); @@ -39,7 +39,7 @@ Signed-off-by: Maxime Ripard return; } -@@ -923,6 +926,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -924,6 +927,7 @@ static void vc4_hdmi_encoder_pre_crtc_co vc4_hdmi->hsm_req = clk_request_start(vc4_hdmi->hsm_clock, hsm_rate); if (IS_ERR(vc4_hdmi->hsm_req)) { DRM_ERROR("Failed to set HSM clock rate: %ld\n", PTR_ERR(vc4_hdmi->hsm_req)); @@ -47,7 +47,7 @@ Signed-off-by: Maxime Ripard return; } -@@ -944,6 +948,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -945,6 +949,7 @@ static void vc4_hdmi_encoder_pre_crtc_co clk_request_done(vc4_hdmi->hsm_req); clk_disable_unprepare(vc4_hdmi->hsm_clock); clk_disable_unprepare(vc4_hdmi->pixel_clock); @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard return; } -@@ -955,6 +960,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -956,6 +961,7 @@ static void vc4_hdmi_encoder_pre_crtc_co clk_request_done(vc4_hdmi->hsm_req); clk_disable_unprepare(vc4_hdmi->hsm_clock); clk_disable_unprepare(vc4_hdmi->pixel_clock); diff --git a/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch b/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch index 0c01a4eded..5a61dbe253 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1756,7 +1756,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1757,7 +1757,7 @@ static irqreturn_t vc4_cec_irq_handler(i return ret; } @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard { struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); /* clock period in microseconds */ -@@ -1769,38 +1769,53 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1770,38 +1770,53 @@ static int vc4_hdmi_cec_adap_enable(stru val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) | ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT); diff --git a/target/linux/bcm27xx/patches-5.10/950-0670-drm-vc4-hdmi-Add-missing-clk_disable_unprepare-on-er.patch b/target/linux/bcm27xx/patches-5.10/950-0670-drm-vc4-hdmi-Add-missing-clk_disable_unprepare-on-er.patch index 5a5f8c181b..0a30be8579 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0670-drm-vc4-hdmi-Add-missing-clk_disable_unprepare-on-er.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0670-drm-vc4-hdmi-Add-missing-clk_disable_unprepare-on-er.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -926,6 +926,7 @@ static void vc4_hdmi_encoder_pre_crtc_co +@@ -927,6 +927,7 @@ static void vc4_hdmi_encoder_pre_crtc_co vc4_hdmi->hsm_req = clk_request_start(vc4_hdmi->hsm_clock, hsm_rate); if (IS_ERR(vc4_hdmi->hsm_req)) { DRM_ERROR("Failed to set HSM clock rate: %ld\n", PTR_ERR(vc4_hdmi->hsm_req)); diff --git a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch index 6582a31a91..d12706946a 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1897,25 +1897,23 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1898,25 +1898,23 @@ static int vc4_hdmi_cec_init(struct vc4_ vc4_hdmi_cec_update_clk_div(vc4_hdmi); if (vc4_hdmi->variant->external_irq_controller) { @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard vc4_cec_irq_handler, vc4_cec_irq_handler_thread, 0, "vc4 hdmi cec", vc4_hdmi); -@@ -1925,10 +1923,20 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1926,10 +1924,20 @@ static int vc4_hdmi_cec_init(struct vc4_ ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev); if (ret < 0) @@ -77,7 +77,7 @@ Signed-off-by: Maxime Ripard err_delete_cec_adap: cec_delete_adapter(vc4_hdmi->cec_adap); -@@ -1937,6 +1945,15 @@ err_delete_cec_adap: +@@ -1938,6 +1946,15 @@ err_delete_cec_adap: static void vc4_hdmi_cec_exit(struct vc4_hdmi *vc4_hdmi) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch b/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch index ad36850532..53cc2fd74f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1612,26 +1612,28 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre +@@ -1613,26 +1613,28 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre static int vc4_hdmi_hotplug_init(struct vc4_hdmi *vc4_hdmi) { struct platform_device *pdev = vc4_hdmi->pdev; @@ -66,7 +66,7 @@ Signed-off-by: Maxime Ripard connector->polled = DRM_CONNECTOR_POLL_HPD; } -@@ -1639,6 +1641,16 @@ static int vc4_hdmi_hotplug_init(struct +@@ -1640,6 +1642,16 @@ static int vc4_hdmi_hotplug_init(struct return 0; } @@ -83,7 +83,7 @@ Signed-off-by: Maxime Ripard #ifdef CONFIG_DRM_VC4_HDMI_CEC static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv) { -@@ -2306,7 +2318,7 @@ static int vc4_hdmi_bind(struct device * +@@ -2307,7 +2319,7 @@ static int vc4_hdmi_bind(struct device * ret = vc4_hdmi_cec_init(vc4_hdmi); if (ret) @@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard ret = vc4_hdmi_audio_init(vc4_hdmi); if (ret) -@@ -2320,6 +2332,8 @@ static int vc4_hdmi_bind(struct device * +@@ -2321,6 +2333,8 @@ static int vc4_hdmi_bind(struct device * err_free_cec: vc4_hdmi_cec_exit(vc4_hdmi); @@ -101,7 +101,7 @@ Signed-off-by: Maxime Ripard err_destroy_conn: vc4_hdmi_connector_destroy(&vc4_hdmi->connector); err_destroy_encoder: -@@ -2361,6 +2375,7 @@ static void vc4_hdmi_unbind(struct devic +@@ -2362,6 +2376,7 @@ static void vc4_hdmi_unbind(struct devic kfree(vc4_hdmi->hd_regset.regs); vc4_hdmi_cec_exit(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0677-drm-vc4-hdmi-Only-call-into-DRM-framework-if-registe.patch b/target/linux/bcm27xx/patches-5.10/950-0677-drm-vc4-hdmi-Only-call-into-DRM-framework-if-registe.patch index 6297691d57..847e384335 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0677-drm-vc4-hdmi-Only-call-into-DRM-framework-if-registe.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0677-drm-vc4-hdmi-Only-call-into-DRM-framework-if-registe.patch @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1603,7 +1603,7 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre +@@ -1604,7 +1604,7 @@ static irqreturn_t vc4_hdmi_hpd_irq_thre struct vc4_hdmi *vc4_hdmi = priv; struct drm_device *dev = vc4_hdmi->connector.dev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0684-drm-vc4-hdmi-Don-t-poll-for-the-infoframes-status-on.patch b/target/linux/bcm27xx/patches-5.10/950-0684-drm-vc4-hdmi-Don-t-poll-for-the-infoframes-status-on.patch index a0b38083ca..d0bd2f748f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0684-drm-vc4-hdmi-Don-t-poll-for-the-infoframes-status-on.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0684-drm-vc4-hdmi-Don-t-poll-for-the-infoframes-status-on.patch @@ -52,7 +52,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201203074624.721559-1-maxi if (ret) { DRM_ERROR("Failed to wait for infoframe to go idle: %d\n", ret); return; -@@ -1286,7 +1290,7 @@ static void vc4_hdmi_audio_reset(struct +@@ -1287,7 +1291,7 @@ static void vc4_hdmi_audio_reset(struct int ret; vc4_hdmi->audio.streaming = false; diff --git a/target/linux/bcm27xx/patches-5.10/950-0687-drm-vc4-Remove-unnecessary-drm_plane_cleanup-wrapper.patch b/target/linux/bcm27xx/patches-5.10/950-0687-drm-vc4-Remove-unnecessary-drm_plane_cleanup-wrapper.patch index 55fa876531..e430052b81 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0687-drm-vc4-Remove-unnecessary-drm_plane_cleanup-wrapper.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0687-drm-vc4-Remove-unnecessary-drm_plane_cleanup-wrapper.patch @@ -16,7 +16,7 @@ Acked-by: Daniel Vetter --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -1364,11 +1364,6 @@ static const struct drm_plane_helper_fun +@@ -1366,11 +1366,6 @@ static const struct drm_plane_helper_fun .atomic_async_update = vc4_plane_atomic_async_update, }; @@ -28,7 +28,7 @@ Acked-by: Daniel Vetter static bool vc4_format_mod_supported(struct drm_plane *plane, uint32_t format, uint64_t modifier) -@@ -1426,7 +1421,7 @@ static bool vc4_format_mod_supported(str +@@ -1428,7 +1423,7 @@ static bool vc4_format_mod_supported(str static const struct drm_plane_funcs vc4_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, diff --git a/target/linux/bcm27xx/patches-5.10/950-0688-drm-vc4-plane-Remove-redundant-assignment.patch b/target/linux/bcm27xx/patches-5.10/950-0688-drm-vc4-plane-Remove-redundant-assignment.patch index d1ed6740d5..72e1cf6987 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0688-drm-vc4-plane-Remove-redundant-assignment.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0688-drm-vc4-plane-Remove-redundant-assignment.patch @@ -16,7 +16,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20210318161328.1471556-2-max --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -1227,7 +1227,6 @@ static void vc4_plane_atomic_async_updat +@@ -1229,7 +1229,6 @@ static void vc4_plane_atomic_async_updat plane->state->src_y = state->src_y; plane->state->src_w = state->src_w; plane->state->src_h = state->src_h; diff --git a/target/linux/bcm27xx/patches-5.10/950-0689-drm-automatic-legacy-gamma-support.patch b/target/linux/bcm27xx/patches-5.10/950-0689-drm-automatic-legacy-gamma-support.patch index 1d008a8d42..2676f993c7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0689-drm-automatic-legacy-gamma-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0689-drm-automatic-legacy-gamma-support.patch @@ -42,7 +42,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201211114237.213288-2-tomi --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -5025,7 +5025,6 @@ static void dm_disable_vblank(struct drm +@@ -5027,7 +5027,6 @@ static void dm_disable_vblank(struct drm static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = { .reset = dm_crtc_reset_state, .destroy = amdgpu_dm_crtc_destroy, diff --git a/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch b/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch index 4489ca2d78..b8d53685b6 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -2296,6 +2296,18 @@ static int vc4_hdmi_bind(struct device * +@@ -2297,6 +2297,18 @@ static int vc4_hdmi_bind(struct device * if (ret) goto err_put_ddc; @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard if (vc4_hdmi->variant->reset) vc4_hdmi->variant->reset(vc4_hdmi); -@@ -2307,8 +2319,6 @@ static int vc4_hdmi_bind(struct device * +@@ -2308,8 +2320,6 @@ static int vc4_hdmi_bind(struct device * clk_prepare_enable(vc4_hdmi->pixel_bvb_clock); } @@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs); -@@ -2332,6 +2342,8 @@ static int vc4_hdmi_bind(struct device * +@@ -2333,6 +2343,8 @@ static int vc4_hdmi_bind(struct device * vc4_hdmi_debugfs_regs, vc4_hdmi); @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard return 0; err_free_cec: -@@ -2342,6 +2354,7 @@ err_destroy_conn: +@@ -2343,6 +2355,7 @@ err_destroy_conn: vc4_hdmi_connector_destroy(&vc4_hdmi->connector); err_destroy_encoder: drm_encoder_cleanup(encoder); diff --git a/target/linux/bmips/patches-5.10/022-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch b/target/linux/bmips/patches-5.10/022-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch deleted file mode 100644 index 47c75659b9..0000000000 --- a/target/linux/bmips/patches-5.10/022-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 216e8e80057a9f0b6366327881acf88eaf9f1fd4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Tue, 23 Feb 2021 16:18:51 +0100 -Subject: [PATCH 2/2] spi: bcm63xx-hsspi: fix pm_runtime -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The driver sets auto_runtime_pm to true, but it doesn't call -pm_runtime_enable(), which results in "Failed to power device" when PM support -is enabled. - -Signed-off-by: Álvaro Fernández Rojas -Link: https://lore.kernel.org/r/20210223151851.4110-3-noltari@gmail.com -Signed-off-by: Mark Brown ---- - drivers/spi/spi-bcm63xx-hsspi.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- a/drivers/spi/spi-bcm63xx-hsspi.c -+++ b/drivers/spi/spi-bcm63xx-hsspi.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - #define HSSPI_GLOBAL_CTRL_REG 0x0 - #define GLOBAL_CTRL_CS_POLARITY_SHIFT 0 -@@ -439,13 +440,17 @@ static int bcm63xx_hsspi_probe(struct pl - if (ret) - goto out_put_master; - -+ pm_runtime_enable(&pdev->dev); -+ - /* register and we are done */ - ret = devm_spi_register_master(dev, master); - if (ret) -- goto out_put_master; -+ goto out_pm_disable; - - return 0; - -+out_pm_disable: -+ pm_runtime_disable(&pdev->dev); - out_put_master: - spi_master_put(master); - out_disable_pll_clk: diff --git a/target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch b/target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch index c8c9b305a5..efdba3bece 100644 --- a/target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch +++ b/target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -509,7 +509,7 @@ KBUILD_LDFLAGS_MODULE := +@@ -516,7 +516,7 @@ KBUILD_LDFLAGS_MODULE := KBUILD_LDFLAGS := CLANG_FLAGS := diff --git a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch index 16c6f3fdc4..6b9fab9c68 100644 --- a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch +++ b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6810,15 +6810,10 @@ void __netif_napi_del(struct napi_struct +@@ -6812,15 +6812,10 @@ void __netif_napi_del(struct napi_struct } EXPORT_SYMBOL(__netif_napi_del); @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller weight = n->weight; /* This NAPI_STATE_SCHED test is for avoiding a race -@@ -6838,7 +6833,7 @@ static int napi_poll(struct napi_struct +@@ -6840,7 +6835,7 @@ static int napi_poll(struct napi_struct n->poll, work, weight); if (likely(work < weight)) @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller /* Drivers must not modify the NAPI state if they * consume the entire weight. In such cases this code -@@ -6847,7 +6842,7 @@ static int napi_poll(struct napi_struct +@@ -6849,7 +6844,7 @@ static int napi_poll(struct napi_struct */ if (unlikely(napi_disable_pending(n))) { napi_complete(n); @@ -53,7 +53,7 @@ Signed-off-by: David S. Miller } if (n->gro_bitmask) { -@@ -6865,12 +6860,29 @@ static int napi_poll(struct napi_struct +@@ -6867,12 +6862,29 @@ static int napi_poll(struct napi_struct if (unlikely(!list_empty(&n->poll_list))) { pr_warn_once("%s: Budget exhausted after napi rescheduled\n", n->dev ? n->dev->name : "backlog"); diff --git a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch index 3976e189de..9124af8fbf 100644 --- a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch +++ b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch @@ -131,7 +131,7 @@ Signed-off-by: David S. Miller static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack) { const struct net_device_ops *ops = dev->netdev_ops; -@@ -4272,6 +4294,21 @@ int gro_normal_batch __read_mostly = 8; +@@ -4274,6 +4296,21 @@ int gro_normal_batch __read_mostly = 8; static inline void ____napi_schedule(struct softnet_data *sd, struct napi_struct *napi) { @@ -153,7 +153,7 @@ Signed-off-by: David S. Miller list_add_tail(&napi->poll_list, &sd->poll_list); __raise_softirq_irqoff(NET_RX_SOFTIRQ); } -@@ -6763,6 +6800,12 @@ void netif_napi_add(struct net_device *d +@@ -6765,6 +6802,12 @@ void netif_napi_add(struct net_device *d set_bit(NAPI_STATE_NPSVC, &napi->state); list_add_rcu(&napi->dev_list, &dev->napi_list); napi_hash_add(napi); @@ -166,7 +166,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(netif_napi_add); -@@ -6779,9 +6822,28 @@ void napi_disable(struct napi_struct *n) +@@ -6781,9 +6824,28 @@ void napi_disable(struct napi_struct *n) hrtimer_cancel(&n->timer); clear_bit(NAPI_STATE_DISABLE, &n->state); @@ -195,7 +195,7 @@ Signed-off-by: David S. Miller static void flush_gro_hash(struct napi_struct *napi) { int i; -@@ -6807,6 +6869,11 @@ void __netif_napi_del(struct napi_struct +@@ -6809,6 +6871,11 @@ void __netif_napi_del(struct napi_struct flush_gro_hash(napi); napi->gro_bitmask = 0; @@ -207,7 +207,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(__netif_napi_del); -@@ -6888,6 +6955,51 @@ static int napi_poll(struct napi_struct +@@ -6890,6 +6957,51 @@ static int napi_poll(struct napi_struct return work; } diff --git a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch index eb2f8189d0..c0d89c91ce 100644 --- a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch +++ b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller * @n: NAPI context --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4298,8 +4298,9 @@ static inline void ____napi_schedule(str +@@ -4300,8 +4300,9 @@ static inline void ____napi_schedule(str if (test_bit(NAPI_STATE_THREADED, &napi->state)) { /* Paired with smp_mb__before_atomic() in @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller * wake_up_process() when it's not NULL. */ thread = READ_ONCE(napi->thread); -@@ -6773,6 +6774,49 @@ static void init_gro_hash(struct napi_st +@@ -6775,6 +6776,49 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } diff --git a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch index 20f7b3bd21..bdae67bbe4 100644 --- a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch +++ b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch @@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa enum gro_result { --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4305,6 +4305,8 @@ static inline void ____napi_schedule(str +@@ -4307,6 +4307,8 @@ static inline void ____napi_schedule(str */ thread = READ_ONCE(napi->thread); if (thread) { @@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa wake_up_process(thread); return; } -@@ -6565,7 +6567,8 @@ bool napi_complete_done(struct napi_stru +@@ -6567,7 +6569,8 @@ bool napi_complete_done(struct napi_stru WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED)); @@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa /* If STATE_MISSED was set, leave STATE_SCHED set, * because we will call napi->poll() one more time. -@@ -7001,16 +7004,25 @@ static int napi_poll(struct napi_struct +@@ -7003,16 +7006,25 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { diff --git a/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch b/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch index 674f66e732..90d55162b8 100644 --- a/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch +++ b/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch @@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -7008,7 +7008,7 @@ static int napi_thread_wait(struct napi_ +@@ -7010,7 +7010,7 @@ static int napi_thread_wait(struct napi_ set_current_state(TASK_INTERRUPTIBLE); @@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski /* Testing SCHED_THREADED bit here to make sure the current * kthread owns this napi and could poll on this napi. * Testing SCHED bit is not enough because SCHED bit might be -@@ -7026,6 +7026,7 @@ static int napi_thread_wait(struct napi_ +@@ -7028,6 +7028,7 @@ static int napi_thread_wait(struct napi_ set_current_state(TASK_INTERRUPTIBLE); } __set_current_state(TASK_RUNNING); diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 71d9631222..423500afd5 100644 --- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1420,7 +1420,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c -@@ -1742,7 +1742,6 @@ static int am65_cpsw_nuss_init_slave_por +@@ -1713,7 +1713,6 @@ static int am65_cpsw_nuss_init_slave_por for_each_child_of_node(node, port_np) { struct am65_cpsw_port *port; @@ -1428,8 +1428,8 @@ Signed-off-by: David S. Miller u32 port_id; /* it is not a slave port node, continue */ -@@ -1821,15 +1820,15 @@ static int am65_cpsw_nuss_init_slave_por - return ret; +@@ -1796,15 +1795,15 @@ static int am65_cpsw_nuss_init_slave_por + goto of_node_put; } - mac_addr = of_get_mac_address(port_np); diff --git a/target/linux/generic/backport-5.10/821-v5.13-let-pci-host-bridges-declar-their-reliance-on-msi-domains.patch b/target/linux/generic/backport-5.10/821-v5.13-let-pci-host-bridges-declar-their-reliance-on-msi-domains.patch index 854dc34c42..ee1acf4b9c 100644 --- a/target/linux/generic/backport-5.10/821-v5.13-let-pci-host-bridges-declar-their-reliance-on-msi-domains.patch +++ b/target/linux/generic/backport-5.10/821-v5.13-let-pci-host-bridges-declar-their-reliance-on-msi-domains.patch @@ -34,7 +34,7 @@ Acked-by: Bjorn Helgaas set_dev_node(bus->bridge, pcibus_to_node(bus)); --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -547,6 +547,7 @@ struct pci_host_bridge { +@@ -548,6 +548,7 @@ struct pci_host_bridge { unsigned int native_dpc:1; /* OS may use PCIe DPC */ unsigned int preserve_config:1; /* Preserve FW resource setup */ unsigned int size_windows:1; /* Enable root bus sizing */ diff --git a/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch index 41b85b1f7c..8166b8a571 100644 --- a/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3654,6 +3654,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3656,6 +3656,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-5.10/902-debloat_proc.patch b/target/linux/generic/hack-5.10/902-debloat_proc.patch index f299d32ae1..d8c289ac1a 100644 --- a/target/linux/generic/hack-5.10/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.10/902-debloat_proc.patch @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3701,6 +3701,8 @@ static __net_initdata struct pernet_oper +@@ -3710,6 +3710,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/pending-5.10/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch b/target/linux/generic/pending-5.10/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch index 272e8ea486..c9bb4a14a4 100644 --- a/target/linux/generic/pending-5.10/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch +++ b/target/linux/generic/pending-5.10/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch @@ -202,7 +202,7 @@ Reported-by: Dan Carpenter return !!nor->params->erase_map.uniform_erase_type; } -@@ -2571,6 +2573,7 @@ static int spi_nor_select_erase(struct s +@@ -2580,6 +2582,7 @@ static int spi_nor_select_erase(struct s { struct spi_nor_erase_map *map = &nor->params->erase_map; const struct spi_nor_erase_type *erase = NULL; @@ -210,7 +210,7 @@ Reported-by: Dan Carpenter struct mtd_info *mtd = &nor->mtd; u32 wanted_size = nor->info->sector_size; int i; -@@ -2603,8 +2606,9 @@ static int spi_nor_select_erase(struct s +@@ -2612,8 +2615,9 @@ static int spi_nor_select_erase(struct s */ for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) { if (map->erase_type[i].size) { @@ -222,7 +222,7 @@ Reported-by: Dan Carpenter } } -@@ -2612,6 +2616,9 @@ static int spi_nor_select_erase(struct s +@@ -2621,6 +2625,9 @@ static int spi_nor_select_erase(struct s return -EINVAL; mtd->erasesize = erase->size; diff --git a/target/linux/generic/pending-5.10/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch b/target/linux/generic/pending-5.10/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch index 0442c9e682..4dfa0cc69a 100644 --- a/target/linux/generic/pending-5.10/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch +++ b/target/linux/generic/pending-5.10/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau endif # MTD_SPI_NOR --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -2804,6 +2804,21 @@ static void spi_nor_info_init_params(str +@@ -2813,6 +2813,21 @@ static void spi_nor_info_init_params(str */ erase_mask = 0; i = 0; @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau if (info->flags & SECT_4K_PMC) { erase_mask |= BIT(i); spi_nor_set_erase_type(&map->erase_type[i], 4096u, -@@ -2815,6 +2830,7 @@ static void spi_nor_info_init_params(str +@@ -2824,6 +2839,7 @@ static void spi_nor_info_init_params(str SPINOR_OP_BE_4K); i++; } diff --git a/target/linux/generic/pending-5.10/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-5.10/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch index 8d4440dbe4..7c9766fa7b 100644 --- a/target/linux/generic/pending-5.10/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch +++ b/target/linux/generic/pending-5.10/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch @@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c -@@ -1185,6 +1185,73 @@ static struct mtd_info * __init open_mtd +@@ -1192,6 +1192,73 @@ static struct mtd_info * __init open_mtd return mtd; } @@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle static int __init ubi_init(void) { int err, i, k; -@@ -1268,6 +1335,12 @@ static int __init ubi_init(void) +@@ -1275,6 +1342,12 @@ static int __init ubi_init(void) } } diff --git a/target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch index 457703121c..c1e050e935 100644 --- a/target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau for (i = sizeof(struct ipt_entry); i < e->target_offset; i += m->u.match_size) { -@@ -1223,12 +1260,15 @@ compat_copy_entry_to_user(struct ipt_ent +@@ -1222,12 +1259,15 @@ compat_copy_entry_to_user(struct ipt_ent compat_uint_t origsize; const struct xt_entry_match *ematch; int ret = 0; diff --git a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index eaab1edc6e..ac1b327b9e 100644 --- a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6135,6 +6166,8 @@ static int ip6_route_dev_notify(struct n +@@ -6136,6 +6167,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6146,6 +6179,7 @@ static int ip6_route_dev_notify(struct n +@@ -6147,6 +6180,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6337,6 +6371,8 @@ static int __net_init ip6_route_net_init +@@ -6338,6 +6372,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6347,11 +6383,21 @@ static int __net_init ip6_route_net_init +@@ -6348,11 +6384,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6378,6 +6424,8 @@ out: +@@ -6379,6 +6425,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6397,6 +6445,7 @@ static void __net_exit ip6_route_net_exi +@@ -6398,6 +6446,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6480,6 +6529,9 @@ void __init ip6_route_init_special_entri +@@ -6481,6 +6530,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 3d1ea5f4e6..1f21890ec0 100644 --- a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6067,6 +6067,9 @@ static enum gro_result dev_gro_receive(s +@@ -6069,6 +6069,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -8044,6 +8047,48 @@ static void __netdev_adjacent_dev_unlink +@@ -8046,6 +8049,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -8095,6 +8140,7 @@ static int __netdev_upper_dev_link(struc +@@ -8097,6 +8142,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -8191,6 +8237,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8193,6 +8239,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8977,6 +9024,7 @@ int dev_set_mac_address(struct net_devic +@@ -8979,6 +9026,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.10/701-01-arm64-dts-mediatek-mt7622-add-support-for-coherent-D.patch b/target/linux/generic/pending-5.10/701-01-arm64-dts-mediatek-mt7622-add-support-for-coherent-D.patch index 892e01aece..d9015d4805 100644 --- a/target/linux/generic/pending-5.10/701-01-arm64-dts-mediatek-mt7622-add-support-for-coherent-D.patch +++ b/target/linux/generic/pending-5.10/701-01-arm64-dts-mediatek-mt7622-add-support-for-coherent-D.patch @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau interface-type = "ace"; reg = <0x5000 0x1000>; }; -@@ -936,6 +936,8 @@ +@@ -937,6 +937,8 @@ power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; mediatek,ethsys = <ðsys>; mediatek,sgmiisys = <&sgmiisys>; diff --git a/target/linux/generic/pending-5.10/701-04-arm64-dts-mediatek-mt7622-introduce-nodes-for-Wirele.patch b/target/linux/generic/pending-5.10/701-04-arm64-dts-mediatek-mt7622-introduce-nodes-for-Wirele.patch index 91d706f85b..f59a364a73 100644 --- a/target/linux/generic/pending-5.10/701-04-arm64-dts-mediatek-mt7622-introduce-nodes-for-Wirele.patch +++ b/target/linux/generic/pending-5.10/701-04-arm64-dts-mediatek-mt7622-introduce-nodes-for-Wirele.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -@@ -892,6 +892,11 @@ +@@ -893,6 +893,11 @@ }; }; @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau ethsys: syscon@1b000000 { compatible = "mediatek,mt7622-ethsys", "syscon"; -@@ -910,6 +915,26 @@ +@@ -911,6 +916,26 @@ #dma-cells = <1>; }; @@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau eth: ethernet@1b100000 { compatible = "mediatek,mt7622-eth", "mediatek,mt2701-eth", -@@ -937,6 +962,9 @@ +@@ -938,6 +963,9 @@ mediatek,ethsys = <ðsys>; mediatek,sgmiisys = <&sgmiisys>; mediatek,cci-control = <&cci_control2>; diff --git a/target/linux/ipq806x/patches-5.10/104-1-drivers-thermal-tsens-Add-VER_0-tsens-version.patch b/target/linux/ipq806x/patches-5.10/104-1-drivers-thermal-tsens-Add-VER_0-tsens-version.patch index 8627244c59..5f422c1dde 100644 --- a/target/linux/ipq806x/patches-5.10/104-1-drivers-thermal-tsens-Add-VER_0-tsens-version.patch +++ b/target/linux/ipq806x/patches-5.10/104-1-drivers-thermal-tsens-Add-VER_0-tsens-version.patch @@ -219,7 +219,7 @@ Reported-by: Dan Carpenter tsens_debug_init(op); err_put_device: -@@ -945,10 +1015,19 @@ static int tsens_register_irq(struct tse +@@ -951,10 +1021,19 @@ static int tsens_register_irq(struct tse if (irq == -ENXIO) ret = 0; } else { @@ -243,7 +243,7 @@ Reported-by: Dan Carpenter if (ret) dev_err(&pdev->dev, "%s: failed to get irq\n", __func__); -@@ -977,6 +1056,19 @@ static int tsens_register(struct tsens_p +@@ -983,6 +1062,19 @@ static int tsens_register(struct tsens_p priv->ops->enable(priv, i); } diff --git a/target/linux/ipq806x/patches-5.10/107-1-thermal-qcom-tsens-init-debugfs-only-with-successful.patch b/target/linux/ipq806x/patches-5.10/107-1-thermal-qcom-tsens-init-debugfs-only-with-successful.patch index 1dc2d2e55e..5c9ba71c79 100644 --- a/target/linux/ipq806x/patches-5.10/107-1-thermal-qcom-tsens-init-debugfs-only-with-successful.patch +++ b/target/linux/ipq806x/patches-5.10/107-1-thermal-qcom-tsens-init-debugfs-only-with-successful.patch @@ -25,7 +25,7 @@ Acked-by: Thara Gopinath err_put_device: put_device(&op->dev); return ret; -@@ -1155,7 +1153,12 @@ static int tsens_probe(struct platform_d +@@ -1161,7 +1159,12 @@ static int tsens_probe(struct platform_d } } diff --git a/target/linux/lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch index 99bed24cfd..9068be5d4a 100644 --- a/target/linux/lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5481,7 +5481,7 @@ Signed-off-by: John Crispin (transaction layer end-to-end CRC checking). --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1420,6 +1420,8 @@ void pci_walk_bus(struct pci_bus *top, i +@@ -1421,6 +1421,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); diff --git a/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch b/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch index a1e4de00ce..5431ebcc2a 100644 --- a/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch +++ b/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch @@ -15,7 +15,7 @@ default "y" --- a/arch/mips/include/asm/vpe.h +++ b/arch/mips/include/asm/vpe.h -@@ -127,4 +127,13 @@ void cleanup_tc(struct tc *tc); +@@ -126,4 +126,13 @@ void cleanup_tc(struct tc *tc); int __init vpe_module_init(void); void __exit vpe_module_exit(void); @@ -31,15 +31,7 @@ #endif /* _ASM_VPE_H */ --- a/arch/mips/kernel/vpe-mt.c +++ b/arch/mips/kernel/vpe-mt.c -@@ -29,6 +29,7 @@ int vpe_run(struct vpe *v) - struct vpe_notifications *notifier; - unsigned int vpeflags; - struct tc *t; -+ unsigned long physical_memsize = 0L; - - /* check we are the Master VPE */ - local_irq_save(flags); -@@ -416,6 +417,8 @@ int __init vpe_module_init(void) +@@ -415,6 +415,8 @@ int __init vpe_module_init(void) } v->ntcs = hw_tcs - aprp_cpu_index(); @@ -48,7 +40,7 @@ /* add the tc to the list of this vpe's tc's. */ list_add(&t->tc, &v->tc); -@@ -519,3 +522,47 @@ void __exit vpe_module_exit(void) +@@ -518,3 +520,47 @@ void __exit vpe_module_exit(void) release_vpe(v); } } @@ -142,7 +134,7 @@ { --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c -@@ -34,10 +34,14 @@ unsigned long physical_memsize = 0L; +@@ -28,10 +28,14 @@ EXPORT_SYMBOL_GPL(ebu_lock); */ static struct ltq_soc_info soc_info; diff --git a/target/linux/lantiq/patches-5.10/0155-lantiq-VPE-nosmp.patch b/target/linux/lantiq/patches-5.10/0155-lantiq-VPE-nosmp.patch index 898c2d4821..2705723dda 100644 --- a/target/linux/lantiq/patches-5.10/0155-lantiq-VPE-nosmp.patch +++ b/target/linux/lantiq/patches-5.10/0155-lantiq-VPE-nosmp.patch @@ -1,6 +1,6 @@ --- a/arch/mips/kernel/vpe-mt.c +++ b/arch/mips/kernel/vpe-mt.c -@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v) +@@ -130,7 +130,10 @@ int vpe_run(struct vpe *v) * kernels need to turn it on, even if that wasn't the pre-dvpe() state. */ #ifdef CONFIG_SMP diff --git a/target/linux/lantiq/patches-5.10/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch b/target/linux/lantiq/patches-5.10/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch index b7b95d6bfc..0bb1fefc5f 100644 --- a/target/linux/lantiq/patches-5.10/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch +++ b/target/linux/lantiq/patches-5.10/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch @@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c -@@ -37,6 +37,14 @@ static struct ltq_soc_info soc_info; +@@ -31,6 +31,14 @@ static struct ltq_soc_info soc_info; /* for Multithreading (APRP), vpe.c will use it */ unsigned long cp0_memsize; @@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer const char *get_system_type(void) { return soc_info.sys_type; -@@ -100,6 +108,17 @@ void __init device_tree_init(void) +@@ -94,6 +102,17 @@ void __init device_tree_init(void) unflatten_and_copy_device_tree(); } @@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer void __init prom_init(void) { /* call the soc specific detetcion code and get it to fill soc_info */ -@@ -111,7 +130,10 @@ void __init prom_init(void) +@@ -105,7 +124,10 @@ void __init prom_init(void) prom_init_cmdline(); #if defined(CONFIG_MIPS_MT_SMP) diff --git a/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch index fe136c2474..b337c9edcb 100644 --- a/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch +++ b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -@@ -561,6 +561,20 @@ +@@ -562,6 +562,20 @@ status = "disabled"; }; diff --git a/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch b/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch index 197be4bf71..c7d5d4e691 100644 --- a/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch +++ b/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch @@ -281,7 +281,7 @@ Signed-off-by: chuanjia.liu &pio { --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -@@ -802,45 +802,41 @@ +@@ -803,45 +803,41 @@ #reset-cells = <1>; }; @@ -344,7 +344,7 @@ Signed-off-by: chuanjia.liu interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pcie_intc0 0>, <0 0 0 2 &pcie_intc0 1>, -@@ -852,15 +848,39 @@ +@@ -853,15 +849,39 @@ #interrupt-cells = <1>; }; }; diff --git a/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch b/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch index 32fc0a9ad5..c09c80c046 100644 --- a/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch +++ b/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -@@ -813,6 +813,8 @@ +@@ -814,6 +814,8 @@ reg = <0 0x1a143000 0 0x1000>; reg-names = "port0"; mediatek,pcie-cfg = <&pciecfg>; @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau #address-cells = <3>; #size-cells = <2>; interrupts = ; -@@ -830,6 +832,7 @@ +@@ -831,6 +833,7 @@ bus-range = <0x00 0xff>; ranges = <0x82000000 0 0x20000000 0x0 0x20000000 0 0x8000000>; status = "disabled"; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau slot0: pcie@0,0 { reg = <0x0000 0 0 0 0>; -@@ -856,6 +859,8 @@ +@@ -857,6 +860,8 @@ reg = <0 0x1a145000 0 0x1000>; reg-names = "port1"; mediatek,pcie-cfg = <&pciecfg>; @@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau #address-cells = <3>; #size-cells = <2>; interrupts = ; -@@ -874,6 +879,7 @@ +@@ -875,6 +880,7 @@ bus-range = <0x00 0xff>; ranges = <0x82000000 0 0x28000000 0x0 0x28000000 0 0x8000000>; status = "disabled"; diff --git a/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index 28502d393f..f091d0a934 100644 --- a/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey #include #include #include -@@ -5787,3 +5788,34 @@ static void nvidia_ion_ahci_fixup(struct +@@ -5810,3 +5811,34 @@ static void nvidia_ion_ahci_fixup(struct pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); diff --git a/target/linux/pistachio/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch index 43bf94432e..2df15d0ce9 100644 --- a/target/linux/pistachio/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch +++ b/target/linux/pistachio/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch @@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -3159,6 +3159,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3168,6 +3168,7 @@ int spi_nor_scan(struct spi_nor *nor, co struct device *dev = nor->dev; struct mtd_info *mtd = &nor->mtd; struct device_node *np = spi_nor_get_flash_node(nor); @@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma int ret; int i; -@@ -3213,7 +3214,12 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -3222,7 +3223,12 @@ int spi_nor_scan(struct spi_nor *nor, co if (ret) return ret; diff --git a/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch index 230c5e1a5a..86f73c6623 100644 --- a/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -3004,6 +3004,18 @@ static const struct usb_device_id uvc_id +@@ -3012,6 +3012,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, @@ -34,7 +34,7 @@ Signed-off-by: John Crispin { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) }, --- a/drivers/media/usb/uvc/uvc_status.c +++ b/drivers/media/usb/uvc/uvc_status.c -@@ -223,6 +223,7 @@ static void uvc_status_complete(struct u +@@ -225,6 +225,7 @@ static void uvc_status_complete(struct u if (uvc_event_control(urb, status, len)) /* The URB will be resubmitted in work context. */ return; @@ -42,7 +42,7 @@ Signed-off-by: John Crispin break; } -@@ -271,6 +272,7 @@ int uvc_status_init(struct uvc_device *d +@@ -273,6 +274,7 @@ int uvc_status_init(struct uvc_device *d } pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress); @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n"); -@@ -1747,6 +1892,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1749,6 +1894,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; @@ -225,18 +225,17 @@ Signed-off-by: John Crispin for_each_uvc_urb(uvc_urb, stream) { --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h -@@ -203,7 +203,9 @@ - #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400 +@@ -204,7 +204,8 @@ #define UVC_QUIRK_FORCE_Y8 0x00000800 #define UVC_QUIRK_FORCE_BPP 0x00001000 + #define UVC_QUIRK_WAKE_AUTOSUSPEND 0x00002000 - -+#define UVC_QUIRK_MOTION 0x00001000 -+#define UVC_QUIRK_SINGLE_ISO 0x00002000 -+ ++#define UVC_QUIRK_MOTION 0x00004000 ++#define UVC_QUIRK_SINGLE_ISO 0x00008000 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 #define UVC_FMT_FLAG_STREAM 0x00000002 -@@ -672,6 +674,7 @@ struct uvc_device { +@@ -674,6 +675,7 @@ struct uvc_device { u8 *status; struct input_dev *input; char input_phys[64]; diff --git a/target/linux/ramips/patches-5.10/821-SPI-ralink-add-Ralink-SoC-spi-driver.patch b/target/linux/ramips/patches-5.10/821-SPI-ralink-add-Ralink-SoC-spi-driver.patch index f656c1071c..56c8f58ce7 100644 --- a/target/linux/ramips/patches-5.10/821-SPI-ralink-add-Ralink-SoC-spi-driver.patch +++ b/target/linux/ramips/patches-5.10/821-SPI-ralink-add-Ralink-SoC-spi-driver.patch @@ -16,7 +16,7 @@ Acked-by: John Crispin --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -689,6 +689,12 @@ config SPI_QCOM_GENI +@@ -688,6 +688,12 @@ config SPI_QCOM_GENI This driver can also be built as a module. If so, the module will be called spi-geni-qcom.