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 -