diff --git a/linux/packaging.diff b/linux/packaging.diff
index 60dda7cabeaec05720afb0279c68c4f0d44eb198..edde12f2cb01d3557faf38f83f92eba03e687bb5 100644
--- a/linux/packaging.diff
+++ b/linux/packaging.diff
@@ -1,7 +1,29 @@
-diff -Nru linux-5.13.12/debian/config/arm64/defines linux-5.13.12/debian/config/arm64/defines
---- linux-5.13.12/debian/config/arm64/defines	2021-01-25 17:25:29.000000000 +0100
-+++ linux-5.13.12/debian/config/arm64/defines	2022-01-12 15:02:01.000000000 +0100
-@@ -3,11 +3,10 @@
+diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
+index 02d457dd3..e49c2f585 100755
+--- a/debian/bin/gencontrol.py
++++ b/debian/bin/gencontrol.py
+@@ -74,13 +74,9 @@ class Gencontrol(Base):
+         for env, attr, desc in self.env_flags:
+             setattr(self, attr, False)
+             if os.getenv(env):
+-                if self.changelog[0].distribution == 'UNRELEASED':
+-                    import warnings
+-                    warnings.warn(f'Disable {desc} on request ({env} set)')
+-                    setattr(self, attr, True)
+-                else:
+-                    raise RuntimeError(
+-                        f'Unable to disable {desc} in release build ({env} set)')
++                import warnings
++                warnings.warn(f'Disable {desc} on request ({env} set)')
++                setattr(self, attr, True)
+ 
+     def _setup_makeflags(self, names, makeflags, data):
+         for src, dst, optional in names:
+diff --git a/debian/config/arm64/defines b/debian/config/arm64/defines
+index e64418af6..486876d23 100644
+--- a/debian/config/arm64/defines
++++ b/debian/config/arm64/defines
+@@ -3,11 +3,10 @@ cross-compile-compat: arm-linux-gnueabihf-
  kernel-arch: arm64
  featuresets:
   none
@@ -14,21 +36,23 @@ diff -Nru linux-5.13.12/debian/config/arm64/defines linux-5.13.12/debian/config/
  vdso: true
  
  [image]
-diff -Nru linux-5.13.12/debian/config/arm64/none/defines linux-5.13.12/debian/config/arm64/none/defines
---- linux-5.13.12/debian/config/arm64/none/defines	2021-01-25 17:25:29.000000000 +0100
-+++ linux-5.13.12/debian/config/arm64/none/defines	2022-01-12 15:02:01.000000000 +0100
+diff --git a/debian/config/arm64/none/defines b/debian/config/arm64/none/defines
+index b754cf65e..93d1fe516 100644
+--- a/debian/config/arm64/none/defines
++++ b/debian/config/arm64/none/defines
 @@ -1,7 +1,6 @@
  [base]
  flavours:
   arm64
 - cloud-arm64
  default-flavour: arm64
+ quick-flavour: cloud-arm64
  
- [cloud-arm64_image]
-diff -Nru linux-5.13.12/debian/config/defines linux-5.13.12/debian/config/defines
---- linux-5.13.12/debian/config/defines	2021-08-09 15:42:56.000000000 +0200
-+++ linux-5.13.12/debian/config/defines	2022-01-12 15:02:01.000000000 +0100
-@@ -172,3 +172,7 @@
+diff --git a/debian/config/defines b/debian/config/defines
+index 113926e5f..5acb3fa1f 100644
+--- a/debian/config/defines
++++ b/debian/config/defines
+@@ -171,3 +171,7 @@ gcc-12: gcc-12 <!stage1 !cross !pkg.linux.nokernel>, gcc-12-@gnu-type-package@ <
  # initramfs-generators
  initramfs-fallback: linux-initramfs-tool
  initramfs-tools: initramfs-tools (>= 0.120+deb8u2)
@@ -36,31 +60,12 @@ diff -Nru linux-5.13.12/debian/config/defines linux-5.13.12/debian/config/define
 +[packages]:
 +installer: false
 +docs: false
-diff -Nru linux-5.13.12/debian/rules.real linux-5.13.12/debian/rules.real
---- linux-5.13.12/debian/rules.real	2021-08-09 15:42:36.000000000 +0200
-+++ linux-5.13.12/debian/rules.real	2022-01-12 15:02:01.000000000 +0100
-@@ -71,8 +71,7 @@ build-arch-arch: \
- 	$(call if_package, bpftool,                      build-bpftool) \
- 	$(call if_package, usbip,                        build-usbip) \
- 	$(call if_package, linux-cpupower,               build-cpupower) \
--	$(call if_package, hyperv-daemons,               build-hyperv-daemons) \
--	$(call if_package, rtla,                         build-rtla)
-+	$(call if_package, hyperv-daemons,               build-hyperv-daemons)
- binary-arch-arch: \
- 	$(call if_package, $(SOURCE_BASENAME)-config-$(VERSION), install-config_$(ARCH)) \
- 	$(call if_package, linux-libc-dev,               install-libc-dev_$(ARCH)) \
-@@ -82,8 +81,7 @@ binary-arch-arch: \
- 	$(call if_package, bpftool,                      install-bpftool) \
- 	$(call if_package, usbip,                        install-usbip) \
- 	$(call if_package, linux-cpupower,               install-cpupower) \
--	$(call if_package, hyperv-daemons,               install-hyperv-daemons) \
--	$(call if_package, rtla,                         install-rtla)
-+	$(call if_package, hyperv-daemons,               install-hyperv-daemons)
- 
- build-indep: \
- 	$(call if_package, $(SOURCE_BASENAME)-doc-$(VERSION), $(STAMPS_DIR)/build-doc)
-@@ -570,8 +570,8 @@
- ifneq (,$(filter linux-image-%,$(packages_enabled)))
+diff --git a/debian/rules.real b/debian/rules.real
+index 9bb0c617b..daf5b388e 100644
+--- a/debian/rules.real
++++ b/debian/rules.real
+@@ -485,8 +485,8 @@ binary_udeb binary_udeb_test: export KW_CONFIG_DIR=debian/installer
+ binary_udeb:
  	dh_testdir
  	dh_prep
 -	kernel-wedge install-files $(ABINAME)
@@ -68,26 +73,5 @@ diff -Nru linux-5.13.12/debian/rules.real linux-5.13.12/debian/rules.real
 +	#kernel-wedge install-files $(ABINAME)
 +	#kernel-wedge check $(PACKAGE_NAMES)
  	dh_fixperms
- ifeq ($(UDEB_UNSIGNED_TEST_BUILD),False)
  	dh_gencontrol
-diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
-index ece5ee3..9fad58a 100755
---- a/debian/bin/gencontrol.py
-+++ b/debian/bin/gencontrol.py
-@@ -77,13 +77,9 @@ class Gencontrol(Base):
-         for env, attr, desc in self.env_flags:
-             setattr(self, attr, False)
-             if os.getenv(env):
--                if self.changelog[0].distribution == 'UNRELEASED':
--                    import warnings
--                    warnings.warn(f'Disable {desc} on request ({env} set)')
--                    setattr(self, attr, True)
--                else:
--                    raise RuntimeError(
--                        f'Unable to disable {desc} in release build ({env} set)')
-+                import warnings
-+                warnings.warn(f'Disable {desc} on request ({env} set)')
-+                setattr(self, attr, True)
- 
-     def _setup_makeflags(self, names, makeflags, data):
-         for src, dst, optional in names:
+ 	dh_builddeb -- $(BUILDDEB_ARGS)
diff --git a/linux/patches/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch b/linux/patches/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch
index e0ac8080e5f715248301f10f73c7b5d399e3edd3..bfb7799076d950a917d8e21d2f2e371fbfc41b61 100644
--- a/linux/patches/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch
+++ b/linux/patches/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch
@@ -1,7 +1,7 @@
-From e0ab52e9cfe03580140e18aaae15b5127b4e10b3 Mon Sep 17 00:00:00 2001
+From c3afae0a6418f8b05c5d1a28442ca6c5dd6bc5d7 Mon Sep 17 00:00:00 2001
 From: "Lukas F. Hartmann" <lukas@mntre.com>
 Date: Wed, 7 Sep 2022 06:20:37 +0200
-Subject: [PATCH 1/7] nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS
+Subject: [PATCH 1/5] nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS
 
 ---
  drivers/gpu/drm/bridge/nwl-dsi.c | 13 ++++++++++---
@@ -33,5 +33,5 @@ index 6dc2a4e..13c5ade 100644
  	/*
  	 * Do a full modeset if crtc_state->active is changed to be true.
 -- 
-2.37.2
+2.39.0
 
diff --git a/linux/patches/0002-pci-imx6-add-support-for-internal-refclk-imx8mq.patch b/linux/patches/0002-pci-imx6-add-support-for-internal-refclk-imx8mq.patch
index b8fe7ef6c647e6f9173487a6e042e05a949ee15f..a7af0604823bdcce6191be12d8d034552dc9e7a8 100644
--- a/linux/patches/0002-pci-imx6-add-support-for-internal-refclk-imx8mq.patch
+++ b/linux/patches/0002-pci-imx6-add-support-for-internal-refclk-imx8mq.patch
@@ -1,17 +1,17 @@
-From 3b78052d1470fd1ec8d745430a728033b159b793 Mon Sep 17 00:00:00 2001
+From 01951ef9d3d9d52640feaf8272c0fea75703bff1 Mon Sep 17 00:00:00 2001
 From: "Lukas F. Hartmann" <lukas@mntre.com>
 Date: Sat, 22 Oct 2022 17:11:19 +0200
-Subject: [PATCH 2/7] pci-imx6-add-support-for-internal-refclk-imx8mq
+Subject: [PATCH 2/5] pci-imx6-add-support-for-internal-refclk-imx8mq
 
 ---
  drivers/pci/controller/dwc/pci-imx6.c | 44 +++++++++++++++++++++++++--
  1 file changed, 42 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
-index 6e5debd..e1014b2 100644
+index 1dde5c5..58d9591 100644
 --- a/drivers/pci/controller/dwc/pci-imx6.c
 +++ b/drivers/pci/controller/dwc/pci-imx6.c
-@@ -67,6 +67,7 @@ struct imx6_pcie {
+@@ -69,6 +69,7 @@ struct imx6_pcie {
  	struct dw_pcie		*pci;
  	int			reset_gpio;
  	bool			gpio_active_high;
@@ -19,7 +19,7 @@ index 6e5debd..e1014b2 100644
  	bool			link_is_up;
  	struct clk		*pcie_bus;
  	struct clk		*pcie_phy;
-@@ -154,6 +155,40 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie)
+@@ -157,6 +158,40 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie)
  	return imx6_pcie->controller_id == 1 ? IOMUXC_GPR16 : IOMUXC_GPR14;
  }
  
@@ -60,7 +60,7 @@ index 6e5debd..e1014b2 100644
  static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
  {
  	unsigned int mask, val;
-@@ -299,6 +334,9 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, u16 data)
+@@ -302,6 +337,9 @@ static int pcie_phy_write(struct imx6_pcie *imx6_pcie, int addr, u16 data)
  
  static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
  {
@@ -69,8 +69,8 @@ index 6e5debd..e1014b2 100644
 +
  	switch (imx6_pcie->drvdata->variant) {
  	case IMX8MM:
- 		/*
-@@ -314,7 +352,8 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
+ 	case IMX8MP:
+@@ -318,7 +356,8 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
  		regmap_update_bits(imx6_pcie->iomuxc_gpr,
  				   imx6_pcie_grp_offset(imx6_pcie),
  				   IMX8MQ_GPR_PCIE_REF_USE_PAD,
@@ -80,7 +80,7 @@ index 6e5debd..e1014b2 100644
  		/*
  		 * Regarding the datasheet, the PCIE_VPH is suggested
  		 * to be 1.8V. If the PCIE_VPH is supplied by 3.3V, the
-@@ -1158,7 +1197,8 @@ static int imx6_pcie_probe(struct platform_device *pdev)
+@@ -1169,7 +1208,8 @@ static int imx6_pcie_probe(struct platform_device *pdev)
  		imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux");
  		if (IS_ERR(imx6_pcie->pcie_aux))
  			return dev_err_probe(dev, PTR_ERR(imx6_pcie->pcie_aux),
@@ -91,5 +91,5 @@ index 6e5debd..e1014b2 100644
  	case IMX7D:
  		if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR)
 -- 
-2.37.2
+2.39.0
 
diff --git a/linux/patches/0003-lcdif-fix-pcie-interference.patch b/linux/patches/0003-lcdif-fix-pcie-interference.patch
index 9a3a97e30960c9623080ed0ddf3feeacf06f98a0..7117246533f943f725f26617f4c5e6f86dddc0d7 100644
--- a/linux/patches/0003-lcdif-fix-pcie-interference.patch
+++ b/linux/patches/0003-lcdif-fix-pcie-interference.patch
@@ -1,17 +1,17 @@
-From bcc4ac93892276613ab6791659ad1418adf5a887 Mon Sep 17 00:00:00 2001
+From 7ebe66c198cc1f76d55bd42d81ae724f74b832a9 Mon Sep 17 00:00:00 2001
 From: "Lukas F. Hartmann" <lukas@mntre.com>
 Date: Wed, 7 Sep 2022 06:23:35 +0200
-Subject: [PATCH 3/7] lcdif-fix-pcie-interference
+Subject: [PATCH 3/5] lcdif-fix-pcie-interference
 
 ---
  drivers/gpu/drm/mxsfb/mxsfb_kms.c | 34 ++++++++++++++++++++++++++++++-
  1 file changed, 33 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
-index e38ce57..25f80a6 100644
+index 3bcc9c0..5b5b01f 100644
 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
 +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
-@@ -304,7 +304,7 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb,
+@@ -303,7 +303,7 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb,
  
  	mxsfb_set_formats(mxsfb, bus_format);
  
@@ -20,7 +20,7 @@ index e38ce57..25f80a6 100644
  
  	mxsfb_set_mode(mxsfb, bus_flags);
  }
-@@ -663,12 +663,44 @@ static const uint64_t mxsfb_modifiers[] = {
+@@ -662,12 +662,44 @@ static const uint64_t mxsfb_modifiers[] = {
   * Initialization
   */
  
@@ -66,5 +66,5 @@ index e38ce57..25f80a6 100644
  			     &mxsfb_plane_primary_helper_funcs);
  	ret = drm_universal_plane_init(mxsfb->drm, &mxsfb->planes.primary, 1,
 -- 
-2.37.2
+2.39.0
 
diff --git a/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch b/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch
index 6939d5e92ed56507cab37c5fbec5156a8b2a6ec1..01c3f27c307655071280a12ae3f1de56c6e31aad 100644
--- a/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch
+++ b/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch
@@ -1,7 +1,7 @@
-From 8bdade8b2e46a32aba6a44ef8814c1f902012fa8 Mon Sep 17 00:00:00 2001
+From ededab5e560e2143c0277dd230b879f109cfbf5e Mon Sep 17 00:00:00 2001
 From: "Lukas F. Hartmann" <lukas@mntre.com>
 Date: Wed, 7 Sep 2022 06:24:04 +0200
-Subject: [PATCH 4/7] mnt4002-imx-gpcv2-wake-smccc.patch
+Subject: [PATCH 4/5] mnt4002-imx-gpcv2-wake-smccc.patch
 
 ---
  drivers/irqchip/irq-imx-gpcv2.c | 24 ++++++++++++++++++++++++
@@ -90,5 +90,5 @@ index b9c22f7..4f6d924 100644
  
  	irq_chip_mask_parent(d);
 -- 
-2.37.2
+2.39.0
 
diff --git a/linux/patches/0005-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch b/linux/patches/0005-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch
index 4370aa7eb177c098ddaf56b851fc66bf4f69a806..afe4988f26b2e490c23c26a03ee1c6b674e07494 100644
--- a/linux/patches/0005-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch
+++ b/linux/patches/0005-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch
@@ -1,7 +1,7 @@
-From c148d9c6e43239676c0ca109f7a3b9d17d7e7a15 Mon Sep 17 00:00:00 2001
+From 7c11eb42d4434c041f00a1f4d9668221d0151687 Mon Sep 17 00:00:00 2001
 From: "Lukas F. Hartmann" <lukas@mntre.com>
 Date: Sat, 22 Oct 2022 17:12:28 +0200
-Subject: [PATCH 5/7] imx8mq: import HDMI driver and make DCSS compatible with
+Subject: [PATCH 5/5] imx8mq: import HDMI driver and make DCSS compatible with
  both HDMI and LCDIF
 
 ---
@@ -3777,10 +3777,10 @@ index 0000000..94d2b25
 +
 +#endif
 diff --git a/drivers/gpu/drm/imx/Kconfig b/drivers/gpu/drm/imx/Kconfig
-index bb9738c..779c883 100644
+index fd5b247..1f31495 100644
 --- a/drivers/gpu/drm/imx/Kconfig
 +++ b/drivers/gpu/drm/imx/Kconfig
-@@ -41,4 +41,13 @@ config DRM_IMX_HDMI
+@@ -40,4 +40,13 @@ config DRM_IMX_HDMI
  	help
  	  Choose this if you want to use HDMI on i.MX6.
  
@@ -5885,7 +5885,7 @@ index 30de005..c7a688b 100644
  }
 -
 diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
-index 8cf3352..6c9b5d9 100644
+index b4f82eb..9bedf12 100644
 --- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
 +++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
 @@ -13,6 +13,7 @@
@@ -6871,5 +6871,5 @@ index 0000000..77a99db
 +
 +#endif /* CDNS_MHDP_COMMON_H_ */
 -- 
-2.37.2
+2.39.0
 
diff --git a/linux/patches/0006-drm-bridge-ti-sn65dsi86-fetch-bpc-using-drm_atomic_s.patch b/linux/patches/0006-drm-bridge-ti-sn65dsi86-fetch-bpc-using-drm_atomic_s.patch
deleted file mode 100644
index 667e67c1783a7549526b6b1362ad1662171bde49..0000000000000000000000000000000000000000
--- a/linux/patches/0006-drm-bridge-ti-sn65dsi86-fetch-bpc-using-drm_atomic_s.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 330e2f7b2653315d48729200004f15df5948ec76 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Mon, 11 Jul 2022 12:21:16 +0300
-Subject: [PATCH 6/7] drm/bridge: ti-sn65dsi86: fetch bpc using
- drm_atomic_state
-
-Rather than reading the pdata->connector directly, fetch the connector
-using drm_atomic_state. This allows us to make pdata->connector optional
-(and thus supporting DRM_BRIDGE_ATTACH_NO_CONNECTOR).
-
-Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-index d6dd4d9..b362a7b 100644
---- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-@@ -779,9 +779,9 @@ static void ti_sn_bridge_set_dsi_rate(struct ti_sn65dsi86 *pdata)
- 	regmap_write(pdata->regmap, SN_DSIA_CLK_FREQ_REG, val);
- }
- 
--static unsigned int ti_sn_bridge_get_bpp(struct ti_sn65dsi86 *pdata)
-+static unsigned int ti_sn_bridge_get_bpp(struct drm_connector *connector)
- {
--	if (pdata->connector->display_info.bpc <= 6)
-+	if (connector->display_info.bpc <= 6)
- 		return 18;
- 	else
- 		return 24;
-@@ -796,7 +796,7 @@ static const unsigned int ti_sn_bridge_dp_rate_lut[] = {
- 	0, 1620, 2160, 2430, 2700, 3240, 4320, 5400
- };
- 
--static int ti_sn_bridge_calc_min_dp_rate_idx(struct ti_sn65dsi86 *pdata)
-+static int ti_sn_bridge_calc_min_dp_rate_idx(struct ti_sn65dsi86 *pdata, unsigned int bpp)
- {
- 	unsigned int bit_rate_khz, dp_rate_mhz;
- 	unsigned int i;
-@@ -804,7 +804,7 @@ static int ti_sn_bridge_calc_min_dp_rate_idx(struct ti_sn65dsi86 *pdata)
- 		&pdata->bridge.encoder->crtc->state->adjusted_mode;
- 
- 	/* Calculate minimum bit rate based on our pixel clock. */
--	bit_rate_khz = mode->clock * ti_sn_bridge_get_bpp(pdata);
-+	bit_rate_khz = mode->clock * bpp;
- 
- 	/* Calculate minimum DP data rate, taking 80% as per DP spec */
- 	dp_rate_mhz = DIV_ROUND_UP(bit_rate_khz * DP_CLK_FUDGE_NUM,
-@@ -1016,12 +1016,21 @@ static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge,
- 				       struct drm_bridge_state *old_bridge_state)
- {
- 	struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
-+	struct drm_connector *connector;
- 	const char *last_err_str = "No supported DP rate";
- 	unsigned int valid_rates;
- 	int dp_rate_idx;
- 	unsigned int val;
- 	int ret = -EINVAL;
- 	int max_dp_lanes;
-+	unsigned int bpp;
-+
-+	connector = drm_atomic_get_new_connector_for_encoder(old_bridge_state->base.state,
-+							     bridge->encoder);
-+	if (!connector) {
-+		dev_err_ratelimited(pdata->dev, "Could not get the connector\n");
-+		return;
-+	}
- 
- 	max_dp_lanes = ti_sn_get_max_lanes(pdata);
- 	pdata->dp_lanes = min(pdata->dp_lanes, max_dp_lanes);
-@@ -1047,8 +1056,9 @@ static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge,
- 	drm_dp_dpcd_writeb(&pdata->aux, DP_EDP_CONFIGURATION_SET,
- 			   DP_ALTERNATE_SCRAMBLER_RESET_ENABLE);
- 
-+	bpp = ti_sn_bridge_get_bpp(connector);
- 	/* Set the DP output format (18 bpp or 24 bpp) */
--	val = (ti_sn_bridge_get_bpp(pdata) == 18) ? BPP_18_RGB : 0;
-+	val = bpp == 18 ? BPP_18_RGB : 0;
- 	regmap_update_bits(pdata->regmap, SN_DATA_FORMAT_REG, BPP_18_RGB, val);
- 
- 	/* DP lane config */
-@@ -1059,7 +1069,7 @@ static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge,
- 	valid_rates = ti_sn_bridge_read_valid_rates(pdata);
- 
- 	/* Train until we run out of rates */
--	for (dp_rate_idx = ti_sn_bridge_calc_min_dp_rate_idx(pdata);
-+	for (dp_rate_idx = ti_sn_bridge_calc_min_dp_rate_idx(pdata, bpp);
- 	     dp_rate_idx < ARRAY_SIZE(ti_sn_bridge_dp_rate_lut);
- 	     dp_rate_idx++) {
- 		if (!(valid_rates & BIT(dp_rate_idx)))
--- 
-2.37.2
-
diff --git a/linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch b/linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch
deleted file mode 100644
index 60e73e01d3f053b5b5cdc885f93d5303957031e4..0000000000000000000000000000000000000000
--- a/linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3b8da4be82c0ce989303d7bc2077a85a7fd5674a Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Mon, 11 Jul 2022 12:21:17 +0300
-Subject: [PATCH 7/7] drm/bridge: ti-sn65dsi86: support
- DRM_BRIDGE_ATTACH_NO_CONNECTOR
-
-Now as the driver does not depend on pdata->connector, add support for
-attaching the bridge with DRM_BRIDGE_ATTACH_NO_CONNECTOR.
-
-Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 18 ++++++++----------
- 1 file changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-index b362a7b..369bf72 100644
---- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
-@@ -698,11 +698,6 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge,
- 	struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
- 	int ret;
- 
--	if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) {
--		DRM_ERROR("Fix bridge driver to make connector optional!");
--		return -EINVAL;
--	}
--
- 	pdata->aux.drm_dev = bridge->dev;
- 	ret = drm_dp_aux_register(&pdata->aux);
- 	if (ret < 0) {
-@@ -710,15 +705,18 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge,
- 		return ret;
- 	}
- 
--	/* We never want the next bridge to *also* create a connector: */
--	flags |= DRM_BRIDGE_ATTACH_NO_CONNECTOR;
--
--	/* Attach the next bridge */
-+	/*
-+	 * Attach the next bridge.
-+	 * We never want the next bridge to *also* create a connector.
-+	 */
- 	ret = drm_bridge_attach(bridge->encoder, pdata->next_bridge,
--				&pdata->bridge, flags);
-+				&pdata->bridge, flags | DRM_BRIDGE_ATTACH_NO_CONNECTOR);
- 	if (ret < 0)
- 		goto err_initted_aux;
- 
-+	if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
-+		return 0;
-+
- 	pdata->connector = drm_bridge_connector_init(pdata->bridge.dev,
- 						     pdata->bridge.encoder);
- 	if (IS_ERR(pdata->connector)) {
--- 
-2.37.2
-