Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.78
Removed upstreamed:
bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch[1]
mediatek/patches-6.6/256-clk-mediatek-mt2701-vdec-fix-conversion-to-mtk_clk_s.patch[2]
mediatek/patches-6.6/257-clk-mediatek-mt2701-aud-fix-conversion-to-mtk_clk_si.patch[3]
mediatek/patches-6.6/258-clk-mediatek-mt2701-bdp-add-missing-dummy-clk.patch[4]
mediatek/patches-6.6/259-clk-mediatek-mt2701-mm-add-missing-dummy-clk.patch[5]
mediatek/patches-6.6/260-clk-mediatek-mt2701-img-add-missing-dummy-clk.patch[6]
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
25abffee5ceb6691ecd4f089be2bb28842e2d2fd
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
b6c5237ab7af82c9f1d8d772dbf309bb4aadfdbb
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
20210b5c775d2d96f706591c64bc2ad975c37eaf
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
a1fa3dda6bf0b7ecd95fa8f9125e5486b699a81f
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
fc60e9357f15372698da373ee76de8f52d22aac2
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=
6f4868e6b2887b55531bc8e0a4106ef0150e6326
Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18000
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit
57b0304ce93b9e84701de3091c9f272e6b14e6fa)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-LINUX_VERSION-6.6 = .77
-LINUX_KERNEL_HASH-6.6.77 = 081089dfcf125aef67aa940ebb995ff789b646129f5d4b2365e1d5685b29a84e
+LINUX_VERSION-6.6 = .78
+LINUX_KERNEL_HASH-6.6.78 = 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
-@@ -1330,6 +1330,7 @@ static const struct of_device_id pca953x
+@@ -1311,6 +1311,7 @@ static const struct of_device_id pca953x
{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
{ .compatible = "ti,tca9538", .data = OF_953X( 8, PCA_INT), },
{ .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), },
+++ /dev/null
-From 7713ce38e6a26425ace3a57b3d03ba0125c16f89 Mon Sep 17 00:00:00 2001
-From: Naushir Patuck <naush@raspberrypi.com>
-Date: Fri, 28 Jul 2023 12:00:40 +0100
-Subject: [PATCH 0487/1085] drivers: media: imx296: Add standby delay during
- probe
-
-Add a 2-5ms delay when coming out of standby and before reading the
-sensor info register durning probe, as instructed by the datasheet. This
-standby delay is already present when the sensor starts streaming.
-
-Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
----
- drivers/media/i2c/imx296.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/media/i2c/imx296.c
-+++ b/drivers/media/i2c/imx296.c
-@@ -940,6 +940,8 @@ static int imx296_identify_model(struct
- return ret;
- }
-
-+ usleep_range(2000, 5000);
-+
- ret = imx296_read(sensor, IMX296_SENSOR_INFO);
- if (ret < 0) {
- dev_err(sensor->dev, "failed to read sensor information (%d)\n",
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
-@@ -1851,7 +1851,7 @@ __drm_fb_helper_initial_config_and_unloc
+@@ -1853,7 +1853,7 @@ __drm_fb_helper_initial_config_and_unloc
struct drm_device *dev = fb_helper->dev;
struct fb_info *info;
unsigned int width, height;
width = dev->mode_config.max_width;
height = dev->mode_config.max_height;
-@@ -1879,6 +1879,15 @@ __drm_fb_helper_initial_config_and_unloc
+@@ -1881,6 +1881,15 @@ __drm_fb_helper_initial_config_and_unloc
* register the fbdev emulation instance in kernel_fb_helper_list. */
mutex_unlock(&fb_helper->lock);
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
-@@ -1879,11 +1879,11 @@ __drm_fb_helper_initial_config_and_unloc
+@@ -1881,11 +1881,11 @@ __drm_fb_helper_initial_config_and_unloc
* register the fbdev emulation instance in kernel_fb_helper_list. */
mutex_unlock(&fb_helper->lock);
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -1049,6 +1049,7 @@ static const struct drm_prop_enum_list d
+@@ -1050,6 +1050,7 @@ static const struct drm_prop_enum_list d
{ DRM_MODE_TV_MODE_PAL_M, "PAL-M" },
{ DRM_MODE_TV_MODE_PAL_N, "PAL-N" },
{ DRM_MODE_TV_MODE_SECAM, "SECAM" },
};
DRM_ENUM_NAME_FN(drm_get_tv_mode_name, drm_tv_mode_enum_list)
-@@ -1735,6 +1736,12 @@ EXPORT_SYMBOL(drm_connector_attach_dp_su
+@@ -1736,6 +1737,12 @@ EXPORT_SYMBOL(drm_connector_attach_dp_su
* TV Mode is CCIR System B (aka 625-lines) together with
* the SECAM Color Encoding.
*
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -2697,10 +2697,15 @@ int drm_connector_set_orientation_from_p
+@@ -2698,10 +2698,15 @@ int drm_connector_set_orientation_from_p
{
enum drm_panel_orientation orientation;
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -361,7 +361,8 @@ static int __drm_connector_init(struct d
+@@ -362,7 +362,8 @@ static int __drm_connector_init(struct d
drm_object_attach_property(&connector->base,
config->non_desktop_property,
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -362,7 +362,7 @@ static int __drm_connector_init(struct d
+@@ -363,7 +363,7 @@ static int __drm_connector_init(struct d
drm_object_attach_property(&connector->base,
config->non_desktop_property,
(connector_type != DRM_MODE_CONNECTOR_VIRTUAL &&
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -4269,7 +4269,8 @@ static int tg3_power_down_prepare(struct
+@@ -4270,7 +4270,8 @@ static int tg3_power_down_prepare(struct
static void tg3_power_down(struct tg3 *tp)
{
pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE));
}
EXPORT_SYMBOL_GPL(nvmem_cell_put);
-@@ -2116,11 +2057,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size);
+@@ -2118,11 +2059,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size);
static int __init nvmem_init(void)
{
FUSE_INVALID = -1
};
-@@ -93,7 +94,10 @@ static int imx_ocotp_reg_read(void *cont
+@@ -95,7 +96,10 @@ static int imx_ocotp_reg_read(void *cont
continue;
}
+ *buf++ = readl_relaxed(reg + (i << 2));
}
- memcpy(val, (u8 *)p, bytes);
-@@ -155,8 +159,30 @@ static const struct ocotp_devtype_data i
+ memcpy(val, ((u8 *)p) + skipbytes, bytes);
+@@ -157,8 +161,30 @@ static const struct ocotp_devtype_data i
},
};
+MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -4483,6 +4483,7 @@ int wake_up_state(struct task_struct *p,
+@@ -4485,6 +4485,7 @@ int wake_up_state(struct task_struct *p,
{
return try_to_wake_up(p, state, 0);
}
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -17731,8 +17731,10 @@ static int tg3_init_one(struct pci_dev *
+@@ -17732,8 +17732,10 @@ static int tg3_init_one(struct pci_dev *
} else
persist_dma_mask = dma_mask = DMA_BIT_MASK(64);
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -2320,7 +2320,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -2369,7 +2369,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
static const struct sdhci_ops sdhci_msm_ops = {
.reset = sdhci_and_cqhci_reset,
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -1755,49 +1755,49 @@ static unsigned int sdhci_msm_get_min_cl
+@@ -1804,49 +1804,49 @@ static unsigned int sdhci_msm_get_min_cl
return SDHCI_MSM_MIN_CLOCK;
}
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3271,6 +3271,18 @@ static const struct usb_device_id uvc_id
+@@ -3269,6 +3269,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
#include <media/v4l2-common.h>
-@@ -1275,9 +1280,149 @@ static void uvc_video_decode_data(struct
+@@ -1296,9 +1301,149 @@ static void uvc_video_decode_data(struct
uvc_urb->async_operations++;
}
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
-@@ -1859,6 +2004,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1880,6 +2025,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
/* Format flags */
#define UVC_FMT_FLAG_COMPRESSED 0x00000001
-@@ -585,6 +587,7 @@ struct uvc_device {
+@@ -586,6 +588,7 @@ struct uvc_device {
struct input_dev *input;
char input_phys[64];