aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx
diff options
context:
space:
mode:
authorJohn Audia <therealgraysky@proton.me>2022-10-26 18:31:12 -0400
committerHauke Mehrtens <hauke@hauke-m.de>2022-10-30 17:54:59 +0100
commita34255b795bcd939a66f11f100e0de8f54fd3707 (patch)
tree07fc594e824494ad687083c3d7df595c0c5cabdd /target/linux/bcm27xx
parenta133423c594fb5d1a7f71c9474d4f550f426f800 (diff)
downloadupstream-a34255b795bcd939a66f11f100e0de8f54fd3707.tar.gz
upstream-a34255b795bcd939a66f11f100e0de8f54fd3707.tar.bz2
upstream-a34255b795bcd939a66f11f100e0de8f54fd3707.zip
kernel: bump 5.15 to 5.15.75
Removed upstreamed: bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch[1] Manually rebased: patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch All other patches automatically rebased 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.75&id=2810061452f9b748b096ad023d318690ca519aa3 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
Diffstat (limited to 'target/linux/bcm27xx')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch16
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch16
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch10
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch148
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch8
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch10
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch14
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch2
38 files changed, 87 insertions, 235 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch b/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch
index 8dd6abdfdb..195e25e059 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch
@@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2289,8 +2289,15 @@ static int bcm2835_clk_probe(struct plat
+@@ -2320,8 +2320,15 @@ static int bcm2835_clk_probe(struct plat
if (ret)
return ret;
@@ -30,7 +30,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
}
static const struct cprman_plat_data cprman_bcm2835_plat_data = {
-@@ -2316,7 +2323,11 @@ static struct platform_driver bcm2835_cl
+@@ -2347,7 +2354,11 @@ static struct platform_driver bcm2835_cl
.probe = bcm2835_clk_probe,
};
diff --git a/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
index 8f004a80d9..561f827a53 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1378,6 +1378,11 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1408,6 +1408,11 @@ bcm2835_register_pll_divider(struct bcm2
divider->div.hw.init = &init;
divider->div.table = NULL;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch b/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch
index 809b571c52..f2b8c85d4c 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1306,6 +1306,8 @@ static const struct clk_ops bcm2835_vpu_
+@@ -1336,6 +1336,8 @@ static const struct clk_ops bcm2835_vpu_
.debug_init = bcm2835_clock_debug_init,
};
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman,
const void *data)
{
-@@ -1323,6 +1325,9 @@ static struct clk_hw *bcm2835_register_p
+@@ -1353,6 +1355,9 @@ static struct clk_hw *bcm2835_register_p
init.ops = &bcm2835_pll_clk_ops;
init.flags = pll_data->flags | CLK_IGNORE_UNUSED;
@@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
pll = kzalloc(sizeof(*pll), GFP_KERNEL);
if (!pll)
return NULL;
-@@ -1378,9 +1383,11 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1408,9 +1413,11 @@ bcm2835_register_pll_divider(struct bcm2
divider->div.hw.init = &init;
divider->div.table = NULL;
@@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
}
divider->cprman = cprman;
-@@ -1437,6 +1444,15 @@ static struct clk_hw *bcm2835_register_c
+@@ -1467,6 +1474,15 @@ static struct clk_hw *bcm2835_register_c
init.flags = clock_data->flags | CLK_IGNORE_UNUSED;
/*
@@ -67,7 +67,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
* Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate
* rate changes on at least of the parents.
*/
-@@ -2215,6 +2231,8 @@ static const struct bcm2835_clk_desc clk
+@@ -2246,6 +2262,8 @@ static const struct bcm2835_clk_desc clk
.ctl_reg = CM_PERIICTL),
};
@@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/*
* Permanently take a reference on the parent of the SDRAM clock.
*
-@@ -2234,6 +2252,19 @@ static int bcm2835_mark_sdc_parent_criti
+@@ -2265,6 +2283,19 @@ static int bcm2835_mark_sdc_parent_criti
return clk_prepare_enable(parent);
}
@@ -96,7 +96,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int bcm2835_clk_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
-@@ -2243,6 +2274,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2274,6 +2305,7 @@ static int bcm2835_clk_probe(struct plat
const size_t asize = ARRAY_SIZE(clk_desc_array);
const struct cprman_plat_data *pdata;
size_t i;
@@ -104,7 +104,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
int ret;
pdata = of_device_get_match_data(&pdev->dev);
-@@ -2261,6 +2293,13 @@ static int bcm2835_clk_probe(struct plat
+@@ -2292,6 +2324,13 @@ static int bcm2835_clk_probe(struct plat
if (IS_ERR(cprman->regs))
return PTR_ERR(cprman->regs);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch
index cfa152c2f6..6d67d29ac8 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch
@@ -25,7 +25,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -35,6 +35,7 @@
+@@ -36,6 +36,7 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <dt-bindings/clock/bcm2835.h>
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
#define CM_PASSWORD 0x5a000000
-@@ -295,6 +296,8 @@
+@@ -296,6 +297,8 @@
#define SOC_BCM2711 BIT(1)
#define SOC_ALL (SOC_BCM2835 | SOC_BCM2711)
@@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/*
* Names of clocks used within the driver that need to be replaced
* with an external parent's name. This array is in the order that
-@@ -313,6 +316,7 @@ static const char *const cprman_parent_n
+@@ -314,6 +317,7 @@ static const char *const cprman_parent_n
struct bcm2835_cprman {
struct device *dev;
void __iomem *regs;
@@ -50,8 +50,8 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spinlock_t regs_lock; /* spinlock for all clocks */
unsigned int soc;
-@@ -1010,6 +1014,30 @@ static unsigned long bcm2835_clock_get_r
- return bcm2835_clock_rate_from_divisor(clock, parent_rate, div);
+@@ -1040,6 +1044,30 @@ static unsigned long bcm2835_clock_get_r
+ return rate;
}
+static unsigned long bcm2835_clock_get_rate_vpu(struct clk_hw *hw,
@@ -81,7 +81,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static void bcm2835_clock_wait_busy(struct bcm2835_clock *clock)
{
struct bcm2835_cprman *cprman = clock->cprman;
-@@ -1298,7 +1326,7 @@ static int bcm2835_vpu_clock_is_on(struc
+@@ -1328,7 +1356,7 @@ static int bcm2835_vpu_clock_is_on(struc
*/
static const struct clk_ops bcm2835_vpu_clock_clk_ops = {
.is_prepared = bcm2835_vpu_clock_is_on,
@@ -90,7 +90,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
.set_rate = bcm2835_clock_set_rate,
.determine_rate = bcm2835_clock_determine_rate,
.set_parent = bcm2835_clock_set_parent,
-@@ -2273,6 +2301,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2304,6 +2332,7 @@ static int bcm2835_clk_probe(struct plat
const struct bcm2835_clk_desc *desc;
const size_t asize = ARRAY_SIZE(clk_desc_array);
const struct cprman_plat_data *pdata;
@@ -98,7 +98,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
size_t i;
u32 clk_id;
int ret;
-@@ -2293,6 +2322,14 @@ static int bcm2835_clk_probe(struct plat
+@@ -2324,6 +2353,14 @@ static int bcm2835_clk_probe(struct plat
if (IS_ERR(cprman->regs))
return PTR_ERR(cprman->regs);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
index a7c0f52876..b005799e74 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
@@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2376,7 +2376,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2407,7 +2407,7 @@ static int bcm2835_clk_probe(struct plat
return ret;
/* note that we have registered all the clocks */
diff --git a/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch b/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch
index 7ee8aa7cbb..2db6f60525 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -644,15 +644,17 @@ static int bcm2835_pll_on(struct clk_hw
+@@ -647,15 +647,17 @@ static int bcm2835_pll_on(struct clk_hw
spin_unlock(&cprman->regs_lock);
/* Wait for the PLL to lock. */
diff --git a/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
index f35ca3f3a8..40523ef552 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1109,15 +1109,19 @@ static int bcm2835_clock_set_rate(struct
+@@ -1139,15 +1139,19 @@ static int bcm2835_clock_set_rate(struct
spin_lock(&cprman->regs_lock);
@@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0;
cprman_write(cprman, data->ctl_reg, ctl);
-@@ -1493,7 +1497,7 @@ static struct clk_hw *bcm2835_register_c
+@@ -1523,7 +1527,7 @@ static struct clk_hw *bcm2835_register_c
init.ops = &bcm2835_vpu_clock_clk_ops;
} else {
init.ops = &bcm2835_clock_clk_ops;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
index 4caf953ced..ee9bcc8517 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
@@ -15,7 +15,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1098,8 +1098,10 @@ static int bcm2835_clock_on(struct clk_h
+@@ -1128,8 +1128,10 @@ static int bcm2835_clock_on(struct clk_h
return 0;
}
@@ -28,7 +28,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
{
struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
struct bcm2835_cprman *cprman = clock->cprman;
-@@ -1121,6 +1123,11 @@ static int bcm2835_clock_set_rate(struct
+@@ -1151,6 +1153,11 @@ static int bcm2835_clock_set_rate(struct
bcm2835_clock_wait_busy(clock);
}
@@ -40,7 +40,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
ctl &= ~CM_FRAC;
ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0;
cprman_write(cprman, data->ctl_reg, ctl);
-@@ -1132,6 +1139,12 @@ static int bcm2835_clock_set_rate(struct
+@@ -1162,6 +1169,12 @@ static int bcm2835_clock_set_rate(struct
return 0;
}
@@ -53,7 +53,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
static bool
bcm2835_clk_is_pllc(struct clk_hw *hw)
{
-@@ -1315,6 +1328,7 @@ static const struct clk_ops bcm2835_cloc
+@@ -1345,6 +1358,7 @@ static const struct clk_ops bcm2835_cloc
.unprepare = bcm2835_clock_off,
.recalc_rate = bcm2835_clock_get_rate,
.set_rate = bcm2835_clock_set_rate,
@@ -61,7 +61,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
.determine_rate = bcm2835_clock_determine_rate,
.set_parent = bcm2835_clock_set_parent,
.get_parent = bcm2835_clock_get_parent,
-@@ -1497,7 +1511,6 @@ static struct clk_hw *bcm2835_register_c
+@@ -1527,7 +1541,6 @@ static struct clk_hw *bcm2835_register_c
init.ops = &bcm2835_vpu_clock_clk_ops;
} else {
init.ops = &bcm2835_clock_clk_ops;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 7fec7cb556..85f3e610ad 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1611,6 +1611,109 @@ command_cleanup:
+@@ -1612,6 +1612,109 @@ command_cleanup:
}
/*
@@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5436,6 +5539,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5437,6 +5540,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
diff --git a/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch b/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch
index 092c7ecffc..ce32b6689c 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2304,9 +2304,11 @@ static bool bcm2835_clk_is_claimed(const
+@@ -2335,9 +2335,11 @@ static bool bcm2835_clk_is_claimed(const
int i;
for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
index e3f72fe95e..b3f8240db2 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2511,9 +2511,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2516,9 +2516,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
* Event ring setup: Allocate a normal ring, but also setup
* the event ring segment table (ERST). Section 4.9.3.
*/
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
if (!xhci->event_ring)
goto fail;
if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2526,7 +2528,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2531,7 +2533,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
/* set ERST count with the number of entries in the segment table */
val = readl(&xhci->ir_set->erst_size);
val &= ERST_SIZE_MASK;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch b/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch
index 21189080a7..230f423bfb 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1735,16 +1735,12 @@ static const struct bcm2835_clk_desc clk
+@@ -1765,16 +1765,12 @@ static const struct bcm2835_clk_desc clk
.hold_mask = CM_PLLA_HOLDCORE,
.fixed_divider = 1,
.flags = CLK_SET_RATE_PARENT),
@@ -35,7 +35,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
[BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV(
SOC_ALL,
.name = "plla_dsi0",
-@@ -2045,14 +2041,12 @@ static const struct bcm2835_clk_desc clk
+@@ -2075,14 +2071,12 @@ static const struct bcm2835_clk_desc clk
.int_bits = 6,
.frac_bits = 0,
.tcnt_mux = 3),
diff --git a/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch
index 1f7c5a2e35..96451c9c75 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch
@@ -25,7 +25,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2423,7 +2423,7 @@ static int __init __bcm2835_clk_driver_i
+@@ -2454,7 +2454,7 @@ static int __init __bcm2835_clk_driver_i
{
return platform_driver_register(&bcm2835_clk_driver);
}
diff --git a/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
index 7a72dc8576..b668a94790 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
@@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3478,6 +3478,7 @@ static int __spi_validate_bits_per_word(
+@@ -3480,6 +3480,7 @@ static int __spi_validate_bits_per_word(
*/
int spi_setup(struct spi_device *spi)
{
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
unsigned bad_bits, ugly_bits;
int status;
-@@ -3499,6 +3500,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3501,6 +3502,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch b/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch
index d0c4afe577..7f7ffa8ffd 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2339,7 +2339,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2370,7 +2370,7 @@ static int bcm2835_clk_probe(struct plat
fw_node = of_parse_phandle(dev->of_node, "firmware", 0);
if (fw_node) {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch b/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch
deleted file mode 100644
index 56b635d459..0000000000
--- a/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 3edc6e2d440803dfe22288c3ea7d77b4ab934ec8 Mon Sep 17 00:00:00 2001
-From: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
-Date: Thu, 15 Jul 2021 01:07:30 +0200
-Subject: [PATCH] drm/vc4: Fix timings for VEC modes
-
-This commit fixes vertical timings of the VEC (composite output) modes
-to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R
-standards.
-
-Previous timings were actually defined as 502 and 601 lines, resulting
-in non-standard 62.69 Hz and 52 Hz signals being generated,
-respectively.
-
-Changes to vc4_crtc.c have also been made, to make the PixelValve
-vertical timings accurately correspond to the DRM modeline in interlaced
-modes. The resulting VERTA/VERTB register values have been verified
-against the reference values set by the Raspberry Pi firmware.
-
-Signed-off-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 70 +++++++++++++++++++++-------------
- drivers/gpu/drm/vc4/vc4_vec.c | 4 +-
- 2 files changed, 45 insertions(+), 29 deletions(-)
-
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -318,8 +318,14 @@ static void vc4_crtc_config_pv(struct dr
- bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 ||
- vc4_encoder->type == VC4_ENCODER_TYPE_DSI1);
- bool is_dsi1 = vc4_encoder->type == VC4_ENCODER_TYPE_DSI1;
-+ bool is_vec = vc4_encoder->type == VC4_ENCODER_TYPE_VEC;
- u32 format = is_dsi1 ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24;
- u8 ppc = pv_data->pixels_per_clock;
-+
-+ u16 vert_bp = mode->crtc_vtotal - mode->crtc_vsync_end;
-+ u16 vert_sync = mode->crtc_vsync_end - mode->crtc_vsync_start;
-+ u16 vert_fp = mode->crtc_vsync_start - mode->crtc_vdisplay;
-+
- bool debug_dump_regs = false;
-
- if (debug_dump_regs) {
-@@ -343,49 +349,59 @@ static void vc4_crtc_config_pv(struct dr
- VC4_SET_FIELD(mode->hdisplay * pixel_rep / ppc,
- PV_HORZB_HACTIVE));
-
-- CRTC_WRITE(PV_VERTA,
-- VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end +
-- interlace,
-- PV_VERTA_VBP) |
-- VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start,
-- PV_VERTA_VSYNC));
-- CRTC_WRITE(PV_VERTB,
-- VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
-- PV_VERTB_VFP) |
-- VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
--
- if (interlace) {
-+ bool odd_field_first = false;
-+ u32 field_delay = mode->htotal * pixel_rep / (2 * ppc);
-+ u16 vert_bp_even = vert_bp;
-+ u16 vert_fp_even = vert_fp;
-+
-+ if (is_vec) {
-+ /* VEC (composite output) */
-+ ++field_delay;
-+ if (mode->htotal == 858) {
-+ /* 525-line mode (NTSC or PAL-M) */
-+ odd_field_first = true;
-+ }
-+ }
-+
-+ if (odd_field_first)
-+ ++vert_fp_even;
-+ else
-+ ++vert_bp;
-+
- CRTC_WRITE(PV_VERTA_EVEN,
-- VC4_SET_FIELD(mode->crtc_vtotal -
-- mode->crtc_vsync_end,
-- PV_VERTA_VBP) |
-- VC4_SET_FIELD(mode->crtc_vsync_end -
-- mode->crtc_vsync_start,
-- PV_VERTA_VSYNC));
-+ VC4_SET_FIELD(vert_bp_even, PV_VERTA_VBP) |
-+ VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC));
- CRTC_WRITE(PV_VERTB_EVEN,
-- VC4_SET_FIELD(mode->crtc_vsync_start -
-- mode->crtc_vdisplay,
-- PV_VERTB_VFP) |
-+ VC4_SET_FIELD(vert_fp_even, PV_VERTB_VFP) |
- VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
-
-- /* We set up first field even mode for HDMI. VEC's
-- * NTSC mode would want first field odd instead, once
-- * we support it (to do so, set ODD_FIRST and put the
-- * delay in VSYNCD_EVEN instead).
-+ /* We set up first field even mode for HDMI and VEC's PAL.
-+ * For NTSC, we need first field odd.
- */
- CRTC_WRITE(PV_V_CONTROL,
- PV_VCONTROL_CONTINUOUS |
- (is_dsi ? PV_VCONTROL_DSI : 0) |
- PV_VCONTROL_INTERLACE |
-- VC4_SET_FIELD(mode->htotal * pixel_rep / (2 * ppc),
-- PV_VCONTROL_ODD_DELAY));
-- CRTC_WRITE(PV_VSYNCD_EVEN, 0);
-+ (odd_field_first
-+ ? PV_VCONTROL_ODD_FIRST
-+ : VC4_SET_FIELD(field_delay,
-+ PV_VCONTROL_ODD_DELAY)));
-+ CRTC_WRITE(PV_VSYNCD_EVEN,
-+ (odd_field_first ? field_delay : 0));
- } else {
- CRTC_WRITE(PV_V_CONTROL,
- PV_VCONTROL_CONTINUOUS |
- (is_dsi ? PV_VCONTROL_DSI : 0));
- }
-
-+ CRTC_WRITE(PV_VERTA,
-+ VC4_SET_FIELD(vert_bp, PV_VERTA_VBP) |
-+ VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC));
-+ CRTC_WRITE(PV_VERTB,
-+ VC4_SET_FIELD(vert_fp, PV_VERTB_VFP) |
-+ VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
-+
- if (is_dsi)
- CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep);
-
---- a/drivers/gpu/drm/vc4/vc4_vec.c
-+++ b/drivers/gpu/drm/vc4/vc4_vec.c
-@@ -256,7 +256,7 @@ static void vc4_vec_ntsc_j_mode_set(stru
- static const struct drm_display_mode ntsc_mode = {
- DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 13500,
- 720, 720 + 14, 720 + 14 + 64, 720 + 14 + 64 + 60, 0,
-- 480, 480 + 3, 480 + 3 + 3, 480 + 3 + 3 + 16, 0,
-+ 480, 480 + 7, 480 + 7 + 6, 525, 0,
- DRM_MODE_FLAG_INTERLACE)
- };
-
-@@ -278,7 +278,7 @@ static void vc4_vec_pal_m_mode_set(struc
- static const struct drm_display_mode pal_mode = {
- DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 13500,
- 720, 720 + 20, 720 + 20 + 64, 720 + 20 + 64 + 60, 0,
-- 576, 576 + 2, 576 + 2 + 3, 576 + 2 + 3 + 20, 0,
-+ 576, 576 + 4, 576 + 4 + 6, 625, 0,
- DRM_MODE_FLAG_INTERLACE)
- };
-
diff --git a/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch b/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch
index 9f0aa6fcd4..c1f31d65dc 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
-@@ -1925,6 +1925,8 @@ static const struct usb_audio_quirk_flag
+@@ -1883,6 +1883,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
diff --git a/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch b/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch
index b195163196..5ca57a6b0a 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch
@@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
-@@ -825,8 +825,14 @@ static int usb_audio_probe(struct usb_in
+@@ -843,8 +843,14 @@ static int usb_audio_probe(struct usb_in
if (ignore_ctl_error)
chip->quirk_flags |= QUIRK_FLAG_IGNORE_CTL_ERROR;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch b/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch
index dc198ebbcc..b85b2474b2 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch
@@ -10,9 +10,9 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2208,21 +2208,6 @@ static const struct bcm2835_clk_desc clk
- .frac_bits = 12,
- .tcnt_mux = 28),
+@@ -2239,21 +2239,6 @@ static const struct bcm2835_clk_desc clk
+ .tcnt_mux = 28,
+ .round_up = true),
- /* TV encoder clock. Only operating frequency is 108Mhz. */
- [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK(
diff --git a/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch b/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch
index 38fbdd0aa1..555636515c 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch
@@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -1164,19 +1164,42 @@ int vc4_crtc_init(struct drm_device *drm
+@@ -1148,19 +1148,42 @@ int vc4_crtc_init(struct drm_device *drm
if (!vc4->hvs->hvs5) {
drm_mode_crtc_set_gamma_size(crtc, ARRAY_SIZE(vc4_crtc->lut_r));
diff --git a/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch b/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch
index 51fac0e0d4..72c5c2085d 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch
@@ -17,14 +17,14 @@ Signed-off-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -410,6 +410,7 @@ static void vc4_crtc_config_pv(struct dr
+@@ -401,6 +401,7 @@ static void vc4_crtc_config_pv(struct dr
CRTC_WRITE(PV_V_CONTROL,
PV_VCONTROL_CONTINUOUS |
(is_dsi ? PV_VCONTROL_DSI : 0));
+ CRTC_WRITE(PV_VSYNCD_EVEN, 0);
}
- CRTC_WRITE(PV_VERTA,
+ if (is_dsi)
--- a/drivers/gpu/drm/vc4/vc4_vec.c
+++ b/drivers/gpu/drm/vc4/vc4_vec.c
@@ -423,18 +423,11 @@ static int vc4_vec_connector_atomic_chec
diff --git a/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch b/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch
index 0c7e76d463..0ad28fa0e1 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -1196,7 +1196,7 @@ int vc4_crtc_init(struct drm_device *drm
+@@ -1180,7 +1180,7 @@ int vc4_crtc_init(struct drm_device *drm
/* We support CTM, but only for one CRTC at a time. It's therefore
* implemented as private driver state in vc4_kms, not here.
*/
diff --git a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 87de92c62a..6c2840d633 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -50,11 +50,11 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1903,6 +1903,7 @@ struct xhci_hcd {
- #define XHCI_NO_SOFT_RETRY BIT_ULL(40)
+@@ -1904,6 +1904,7 @@ struct xhci_hcd {
#define XHCI_BROKEN_D3COLD BIT_ULL(41)
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
-+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43)
+ #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
++#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
index e6d2bcebb5..2b7435368a 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (ret)
return -ENOMEM;
-@@ -1811,7 +1815,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc
+@@ -1816,7 +1820,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc
for (val = 0; val < evt_ring->num_segs; val++) {
entry = &erst->entries[val];
entry->seg_addr = cpu_to_le64(seg->dma);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
index 5c64c9881d..39ddab76e8 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
@@ -63,11 +63,11 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1905,6 +1905,7 @@ struct xhci_hcd {
- #define XHCI_BROKEN_D3COLD BIT_ULL(41)
+@@ -1906,6 +1906,7 @@ struct xhci_hcd {
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43)
-+#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(44)
+ #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44)
++#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(45)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch b/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch
index 80edae5cf5..91363766aa 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -1182,15 +1182,9 @@ int vc4_crtc_init(struct drm_device *drm
+@@ -1166,15 +1166,9 @@ int vc4_crtc_init(struct drm_device *drm
if (!vc4->hvs->hvs5) {
drm_mode_crtc_set_gamma_size(crtc, ARRAY_SIZE(vc4_crtc->lut_r));
diff --git a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
index 74c8a4db98..ab68debd2f 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
@@ -86,11 +86,11 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
first_trb = false;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1906,6 +1906,7 @@ struct xhci_hcd {
- #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43)
- #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(44)
-+#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(45)
+@@ -1907,6 +1907,7 @@ struct xhci_hcd {
+ #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44)
+ #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(45)
++#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(46)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch b/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch
index 5fd8ea995a..aa82f3c7e1 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch
@@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
*hpos += mode->crtc_htotal / 2;
}
-@@ -449,6 +451,7 @@ static void vc4_crtc_config_pv(struct dr
+@@ -433,6 +435,7 @@ static void vc4_crtc_config_pv(struct dr
static void require_hvs_enabled(struct drm_device *dev)
{
struct vc4_dev *vc4 = to_vc4_dev(dev);
@@ -53,7 +53,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
WARN_ON_ONCE((HVS_READ(SCALER_DISPCTRL) & SCALER_DISPCTRL_ENABLE) !=
SCALER_DISPCTRL_ENABLE);
-@@ -462,6 +465,7 @@ static int vc4_crtc_disable(struct drm_c
+@@ -446,6 +449,7 @@ static int vc4_crtc_disable(struct drm_c
struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder);
struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
struct drm_device *dev = crtc->dev;
@@ -61,7 +61,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
int ret;
CRTC_WRITE(PV_V_CONTROL,
-@@ -491,7 +495,7 @@ static int vc4_crtc_disable(struct drm_c
+@@ -475,7 +479,7 @@ static int vc4_crtc_disable(struct drm_c
vc4_encoder->post_crtc_disable(encoder, state);
vc4_crtc_pixelvalve_reset(crtc);
@@ -70,7 +70,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (vc4_encoder && vc4_encoder->post_crtc_powerdown)
vc4_encoder->post_crtc_powerdown(encoder, state);
-@@ -517,6 +521,7 @@ static struct drm_encoder *vc4_crtc_get_
+@@ -501,6 +505,7 @@ static struct drm_encoder *vc4_crtc_get_
int vc4_crtc_disable_at_boot(struct drm_crtc *crtc)
{
struct drm_device *drm = crtc->dev;
@@ -78,7 +78,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
enum vc4_encoder_type encoder_type;
const struct vc4_pv_data *pv_data;
-@@ -538,7 +543,7 @@ int vc4_crtc_disable_at_boot(struct drm_
+@@ -522,7 +527,7 @@ int vc4_crtc_disable_at_boot(struct drm_
if (!(CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_VIDEN))
return 0;
@@ -87,7 +87,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (channel < 0)
return 0;
-@@ -754,6 +759,7 @@ static void vc4_crtc_handle_page_flip(st
+@@ -738,6 +743,7 @@ static void vc4_crtc_handle_page_flip(st
struct drm_crtc *crtc = &vc4_crtc->base;
struct drm_device *dev = crtc->dev;
struct vc4_dev *vc4 = to_vc4_dev(dev);
@@ -95,7 +95,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
u32 chan = vc4_crtc->current_hvs_channel;
unsigned long flags;
-@@ -772,7 +778,7 @@ static void vc4_crtc_handle_page_flip(st
+@@ -756,7 +762,7 @@ static void vc4_crtc_handle_page_flip(st
* the CRTC and encoder already reconfigured, leading to
* underruns. This can be seen when reconfiguring the CRTC.
*/
diff --git a/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch b/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
index c6efd540ad..8f69962640 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
@@ -80,7 +80,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -959,14 +959,8 @@ void vc4_crtc_destroy_state(struct drm_c
+@@ -943,14 +943,8 @@ void vc4_crtc_destroy_state(struct drm_c
struct vc4_dev *vc4 = to_vc4_dev(crtc->dev);
struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch b/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch
index a5505849e6..1f765aeb04 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch
@@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -813,6 +813,7 @@ struct vc4_async_flip_state {
+@@ -797,6 +797,7 @@ struct vc4_async_flip_state {
struct drm_pending_vblank_event *event;
struct vc4_seqno_cb cb;
@@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
};
/* Called when the V3D execution for the BO being flipped to is done, so that
-@@ -858,6 +859,39 @@ vc4_async_page_flip_complete(struct vc4_
+@@ -842,6 +843,39 @@ vc4_async_page_flip_complete(struct vc4_
kfree(flip_state);
}
@@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* Implements async (non-vblank-synced) page flips.
*
* The page flip ioctl needs to return immediately, so we grab the
-@@ -918,8 +952,7 @@ static int vc4_async_page_flip(struct dr
+@@ -902,8 +936,7 @@ static int vc4_async_page_flip(struct dr
*/
drm_atomic_set_fb_for_plane(plane->state, fb);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch b/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch
index 44fb34b37b..7ff4c0f06f 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch
@@ -19,7 +19,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -728,10 +728,16 @@ static int vc4_crtc_atomic_check(struct
+@@ -712,10 +712,16 @@ static int vc4_crtc_atomic_check(struct
if (conn_state->crtc != crtc)
continue;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch b/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
index 65eddde794..9a14da02b1 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch
@@ -13,7 +13,7 @@ This reverts commit e99a1b69da07ee3b89a6b8005b854e6c04bfb450.
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -998,8 +998,14 @@ void vc4_crtc_destroy_state(struct drm_c
+@@ -982,8 +982,14 @@ void vc4_crtc_destroy_state(struct drm_c
struct vc4_dev *vc4 = to_vc4_dev(crtc->dev);
struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch
index 6ab0df5954..8557609376 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch
@@ -14,7 +14,7 @@ Signed-off-by: Alberto Solavagione <albertosolavagione30@gmail.com>
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2408,7 +2408,11 @@ static int __init __bcm2835_clk_driver_i
+@@ -2439,7 +2439,11 @@ static int __init __bcm2835_clk_driver_i
{
return platform_driver_register(&bcm2835_clk_driver);
}
diff --git a/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch b/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch
index ac22a96c3f..8699bed008 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch
@@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
return fifo_len_bytes - 3 * HVS_FIFO_LATENCY_PIX - 1;
return fifo_len_bytes - 3 * HVS_FIFO_LATENCY_PIX;
-@@ -425,7 +425,7 @@ static void vc4_crtc_config_pv(struct dr
+@@ -409,7 +409,7 @@ static void vc4_crtc_config_pv(struct dr
if (is_dsi)
CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep);
@@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
CRTC_WRITE(PV_MUX_CFG,
VC4_SET_FIELD(PV_MUX_CFG_RGB_PIXEL_MUX_MODE_NO_SWAP,
PV_MUX_CFG_RGB_PIXEL_MUX_MODE));
-@@ -883,7 +883,7 @@ static int vc4_async_set_fence_cb(struct
+@@ -867,7 +867,7 @@ static int vc4_async_set_fence_cb(struct
struct vc4_dev *vc4 = to_vc4_dev(dev);
struct dma_fence *fence;
@@ -50,7 +50,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct vc4_bo *bo = to_vc4_bo(&cma_bo->base);
return vc4_queue_seqno_cb(dev, &flip_state->cb, bo->seqno,
-@@ -1225,13 +1225,13 @@ int vc4_crtc_init(struct drm_device *drm
+@@ -1209,13 +1209,13 @@ int vc4_crtc_init(struct drm_device *drm
crtc_funcs, NULL);
drm_crtc_helper_add(crtc, crtc_helper_funcs);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch b/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch
index ef92e7b2aa..9d03e60f5a 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch
@@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -818,18 +818,18 @@ struct vc4_async_flip_state {
+@@ -802,18 +802,18 @@ struct vc4_async_flip_state {
struct drm_framebuffer *old_fb;
struct drm_pending_vblank_event *event;
@@ -39,7 +39,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct drm_crtc *crtc = flip_state->crtc;
struct drm_device *dev = crtc->dev;
struct drm_plane *plane = crtc->primary;
-@@ -865,13 +865,21 @@ vc4_async_page_flip_complete(struct vc4_
+@@ -849,13 +849,21 @@ vc4_async_page_flip_complete(struct vc4_
kfree(flip_state);
}
@@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
dma_fence_put(fence);
}
-@@ -886,14 +894,14 @@ static int vc4_async_set_fence_cb(struct
+@@ -870,14 +878,14 @@ static int vc4_async_set_fence_cb(struct
if (!vc4->is_vc5) {
struct vc4_bo *bo = to_vc4_bo(&cma_bo->base);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch b/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch
index 958f4e8d38..a3a291d97e 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch
@@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -846,21 +846,8 @@ vc4_async_page_flip_complete(struct vc4_
+@@ -830,21 +830,8 @@ vc4_async_page_flip_complete(struct vc4_
drm_crtc_vblank_put(crtc);
drm_framebuffer_put(flip_state->fb);
@@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
kfree(flip_state);
}
-@@ -869,8 +856,27 @@ static void vc4_async_page_flip_seqno_co
+@@ -853,8 +840,27 @@ static void vc4_async_page_flip_seqno_co
{
struct vc4_async_flip_state *flip_state =
container_of(cb, struct vc4_async_flip_state, cb.seqno);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch b/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch
index d3b680a56c..1c60667be6 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch
@@ -20,7 +20,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -912,40 +912,19 @@ static int vc4_async_set_fence_cb(struct
+@@ -896,40 +896,19 @@ static int vc4_async_set_fence_cb(struct
return 0;
}
@@ -67,7 +67,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drm_framebuffer_get(fb);
flip_state->fb = fb;
-@@ -978,6 +957,48 @@ static int vc4_async_page_flip(struct dr
+@@ -962,6 +941,48 @@ static int vc4_async_page_flip(struct dr
return 0;
}
diff --git a/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch b/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch
index 96941cb20f..c935dda7c3 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch
@@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -999,16 +999,31 @@ static int vc4_async_page_flip(struct dr
+@@ -983,16 +983,31 @@ static int vc4_async_page_flip(struct dr
return 0;
}