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 5806bad556d10a9e20a8a499941c84f12d3b5e9d..e0ac8080e5f715248301f10f73c7b5d399e3edd3 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,17 +1,17 @@ -From d57840e4a59e59a407775c7c215cf551ae798d4c Mon Sep 17 00:00:00 2001 +From e0ab52e9cfe03580140e18aaae15b5127b4e10b3 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/9] nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS +Subject: [PATCH 1/7] nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS --- drivers/gpu/drm/bridge/nwl-dsi.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c -index ad74e6558..b36239d6c 100644 +index 6dc2a4e..13c5ade 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c -@@ -815,10 +815,17 @@ static int nwl_dsi_bridge_atomic_check(struct drm_bridge *bridge, +@@ -822,10 +822,17 @@ static int nwl_dsi_bridge_atomic_check(struct drm_bridge *bridge, struct drm_connector_state *conn_state) { struct drm_display_mode *adjusted_mode = &crtc_state->adjusted_mode; @@ -33,5 +33,5 @@ index ad74e6558..b36239d6c 100644 /* * Do a full modeset if crtc_state->active is changed to be true. -- -2.36.1 +2.37.2 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 26465be87273239fdde1649e720311164a7a9af7..b8fe7ef6c647e6f9173487a6e042e05a949ee15f 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,14 +1,14 @@ -From 8491a9c6516d76ac6ce920d53c443999c9d82d98 Mon Sep 17 00:00:00 2001 +From 3b78052d1470fd1ec8d745430a728033b159b793 Mon Sep 17 00:00:00 2001 From: "Lukas F. Hartmann" <lukas@mntre.com> -Date: Wed, 7 Sep 2022 06:22:49 +0200 -Subject: [PATCH 2/9] pci-imx6-add-support-for-internal-refclk-imx8mq +Date: Sat, 22 Oct 2022 17:11:19 +0200 +Subject: [PATCH 2/7] 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 7a285fb0f..7257e78c7 100644 +index 6e5debd..e1014b2 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -67,6 +67,7 @@ struct imx6_pcie { @@ -16,11 +16,11 @@ index 7a285fb0f..7257e78c7 100644 int reset_gpio; bool gpio_active_high; + bool internal_refclk; + bool link_is_up; struct clk *pcie_bus; struct clk *pcie_phy; - struct clk *pcie_inbound_axi; -@@ -617,6 +618,40 @@ static void imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie) - } +@@ -154,6 +155,40 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie) + return imx6_pcie->controller_id == 1 ? IOMUXC_GPR16 : IOMUXC_GPR14; } +#define IMX8MQ_ANA_PLLOUT_REG 0x74 @@ -60,7 +60,7 @@ index 7a285fb0f..7257e78c7 100644 static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie) { unsigned int mask, val; -@@ -637,6 +672,9 @@ static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie) +@@ -299,6 +334,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) { @@ -70,7 +70,7 @@ index 7a285fb0f..7257e78c7 100644 switch (imx6_pcie->drvdata->variant) { case IMX8MM: /* -@@ -652,7 +690,8 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie) +@@ -314,7 +352,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 7a285fb0f..7257e78c7 100644 /* * Regarding the datasheet, the PCIE_VPH is suggested * to be 1.8V. If the PCIE_VPH is supplied by 3.3V, the -@@ -1102,7 +1141,8 @@ static int imx6_pcie_probe(struct platform_device *pdev) +@@ -1158,7 +1197,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 7a285fb0f..7257e78c7 100644 case IMX7D: if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR) -- -2.36.1 +2.37.2 diff --git a/linux/patches/0003-lcdif-fix-pcie-interference.patch b/linux/patches/0003-lcdif-fix-pcie-interference.patch index 24e92051b0222cb635684e41309990617a350181..9a3a97e30960c9623080ed0ddf3feeacf06f98a0 100644 --- a/linux/patches/0003-lcdif-fix-pcie-interference.patch +++ b/linux/patches/0003-lcdif-fix-pcie-interference.patch @@ -1,17 +1,17 @@ -From 32fa3f26636f93bece891a458744ba0145e43edf Mon Sep 17 00:00:00 2001 +From bcc4ac93892276613ab6791659ad1418adf5a887 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/9] lcdif-fix-pcie-interference +Subject: [PATCH 3/7] 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 f021ab2c4..8000020e0 100644 +index e38ce57..25f80a6 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c -@@ -302,7 +302,7 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb, +@@ -304,7 +304,7 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb, mxsfb_set_formats(mxsfb, bus_format); @@ -20,7 +20,7 @@ index f021ab2c4..8000020e0 100644 mxsfb_set_mode(mxsfb, bus_flags); } -@@ -661,12 +661,44 @@ static const uint64_t mxsfb_modifiers[] = { +@@ -663,12 +663,44 @@ static const uint64_t mxsfb_modifiers[] = { * Initialization */ @@ -66,5 +66,5 @@ index f021ab2c4..8000020e0 100644 &mxsfb_plane_primary_helper_funcs); ret = drm_universal_plane_init(mxsfb->drm, &mxsfb->planes.primary, 1, -- -2.36.1 +2.37.2 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 e4bc4dcb2d44ef5dce377b0d3d0b277fac896d43..6939d5e92ed56507cab37c5fbec5156a8b2a6ec1 100644 --- a/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch +++ b/linux/patches/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch @@ -1,14 +1,14 @@ -From 7019a1da2c0b5b2eeb74bb6beab61189fbd793ce Mon Sep 17 00:00:00 2001 +From 8bdade8b2e46a32aba6a44ef8814c1f902012fa8 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/9] mnt4002-imx-gpcv2-wake-smccc.patch +Subject: [PATCH 4/7] mnt4002-imx-gpcv2-wake-smccc.patch --- drivers/irqchip/irq-imx-gpcv2.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv2.c -index b9c22f764..4f6d92471 100644 +index b9c22f7..4f6d924 100644 --- a/drivers/irqchip/irq-imx-gpcv2.c +++ b/drivers/irqchip/irq-imx-gpcv2.c @@ -3,6 +3,7 @@ @@ -90,5 +90,5 @@ index b9c22f764..4f6d92471 100644 irq_chip_mask_parent(d); -- -2.36.1 +2.37.2 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 a9c1e75b935f03559896187b9b8d5c8b42b3391d..4370aa7eb177c098ddaf56b851fc66bf4f69a806 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 620ae6ca58ca57c017a8dfcbddf50d50966b04f1 Mon Sep 17 00:00:00 2001 +From c148d9c6e43239676c0ca109f7a3b9d17d7e7a15 Mon Sep 17 00:00:00 2001 From: "Lukas F. Hartmann" <lukas@mntre.com> -Date: Wed, 7 Sep 2022 06:25:09 +0200 -Subject: [PATCH 5/9] imx8mq: import HDMI driver and make DCSS compatible with +Date: Sat, 22 Oct 2022 17:12:28 +0200 +Subject: [PATCH 5/7] imx8mq: import HDMI driver and make DCSS compatible with both HDMI and LCDIF --- @@ -46,7 +46,7 @@ Subject: [PATCH 5/9] imx8mq: import HDMI driver and make DCSS compatible with create mode 100644 include/drm/bridge/cdns-mhdp-common.h diff --git a/drivers/gpu/drm/bridge/cadence/Kconfig b/drivers/gpu/drm/bridge/cadence/Kconfig -index 1d06182be..5aa976e5e 100644 +index 1d06182..5aa976e 100644 --- a/drivers/gpu/drm/bridge/cadence/Kconfig +++ b/drivers/gpu/drm/bridge/cadence/Kconfig @@ -25,3 +25,29 @@ config DRM_CDNS_MHDP8546_J721E @@ -80,7 +80,7 @@ index 1d06182be..5aa976e5e 100644 + select CEC_CORE + select CEC_NOTIFIER diff --git a/drivers/gpu/drm/bridge/cadence/Makefile b/drivers/gpu/drm/bridge/cadence/Makefile -index 4d2db8df1..a83e73939 100644 +index 4d2db8d..a83e739 100644 --- a/drivers/gpu/drm/bridge/cadence/Makefile +++ b/drivers/gpu/drm/bridge/cadence/Makefile @@ -2,3 +2,12 @@ @@ -98,7 +98,7 @@ index 4d2db8df1..a83e73939 100644 +obj-$(CONFIG_DRM_CDNS_MHDP) += cdns_mhdp_drmcore.o diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c b/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c new file mode 100644 -index 000000000..78defa00a +index 0000000..78defa0 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c @@ -0,0 +1,590 @@ @@ -694,7 +694,7 @@ index 000000000..78defa00a +MODULE_ALIAS("platform:cdn-dp"); diff --git a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c new file mode 100644 -index 000000000..16f4b219b +index 0000000..16f4b21 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c @@ -0,0 +1,689 @@ @@ -1389,7 +1389,7 @@ index 000000000..16f4b219b +MODULE_ALIAS("platform:cdn-hdmi"); diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp-audio.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-audio.c new file mode 100644 -index 000000000..5e71848ea +index 0000000..5e71848 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-audio.c @@ -0,0 +1,393 @@ @@ -1788,7 +1788,7 @@ index 000000000..5e71848ea +} diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp-cec.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-cec.c new file mode 100644 -index 000000000..af8506444 +index 0000000..af85064 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-cec.c @@ -0,0 +1,341 @@ @@ -2135,7 +2135,7 @@ index 000000000..af8506444 +MODULE_DESCRIPTION("NXP CDNS MHDP HDMI CEC driver"); diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp-common.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-common.c new file mode 100644 -index 000000000..0c61838f1 +index 0000000..0c61838 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-common.c @@ -0,0 +1,1059 @@ @@ -3200,7 +3200,7 @@ index 000000000..0c61838f1 +EXPORT_SYMBOL(cdns_mhdp_check_alive); diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdmi.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdmi.c new file mode 100644 -index 000000000..39546fe2b +index 0000000..39546fe --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdmi.c @@ -0,0 +1,357 @@ @@ -3563,7 +3563,7 @@ index 000000000..39546fe2b +} diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp.h b/drivers/gpu/drm/bridge/cadence/cdns-mhdp.h new file mode 100644 -index 000000000..94d2b2585 +index 0000000..94d2b25 --- /dev/null +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp.h @@ -0,0 +1,209 @@ @@ -3777,7 +3777,7 @@ index 000000000..94d2b2585 + +#endif diff --git a/drivers/gpu/drm/imx/Kconfig b/drivers/gpu/drm/imx/Kconfig -index bb9738c7c..779c88308 100644 +index bb9738c..779c883 100644 --- a/drivers/gpu/drm/imx/Kconfig +++ b/drivers/gpu/drm/imx/Kconfig @@ -41,4 +41,13 @@ config DRM_IMX_HDMI @@ -3795,7 +3795,7 @@ index bb9738c7c..779c88308 100644 + source "drivers/gpu/drm/imx/dcss/Kconfig" diff --git a/drivers/gpu/drm/imx/Makefile b/drivers/gpu/drm/imx/Makefile -index b644deffe..b43e3250b 100644 +index b644def..b43e325 100644 --- a/drivers/gpu/drm/imx/Makefile +++ b/drivers/gpu/drm/imx/Makefile @@ -10,3 +10,7 @@ obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o @@ -3808,7 +3808,7 @@ index b644deffe..b43e3250b 100644 + diff --git a/drivers/gpu/drm/imx/cdn-mhdp-dp-phy.c b/drivers/gpu/drm/imx/cdn-mhdp-dp-phy.c new file mode 100644 -index 000000000..ab155d6ef +index 0000000..ab155d6 --- /dev/null +++ b/drivers/gpu/drm/imx/cdn-mhdp-dp-phy.c @@ -0,0 +1,529 @@ @@ -4343,7 +4343,7 @@ index 000000000..ab155d6ef +} diff --git a/drivers/gpu/drm/imx/cdn-mhdp-hdmi-phy.c b/drivers/gpu/drm/imx/cdn-mhdp-hdmi-phy.c new file mode 100644 -index 000000000..d7b5034f3 +index 0000000..d7b5034 --- /dev/null +++ b/drivers/gpu/drm/imx/cdn-mhdp-hdmi-phy.c @@ -0,0 +1,777 @@ @@ -5126,7 +5126,7 @@ index 000000000..d7b5034f3 +} diff --git a/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c b/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c new file mode 100644 -index 000000000..daee92cb9 +index 0000000..daee92c --- /dev/null +++ b/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c @@ -0,0 +1,211 @@ @@ -5343,7 +5343,7 @@ index 000000000..daee92cb9 +MODULE_ALIAS("platform:cdnhdmi-imx"); diff --git a/drivers/gpu/drm/imx/cdn-mhdp-phy.h b/drivers/gpu/drm/imx/cdn-mhdp-phy.h new file mode 100644 -index 000000000..6ad1f372d +index 0000000..6ad1f37 --- /dev/null +++ b/drivers/gpu/drm/imx/cdn-mhdp-phy.h @@ -0,0 +1,155 @@ @@ -5504,7 +5504,7 @@ index 000000000..6ad1f372d +#endif /* _CDNS_MHDP_PHY_H */ diff --git a/drivers/gpu/drm/imx/cdns-mhdp-imx.h b/drivers/gpu/drm/imx/cdns-mhdp-imx.h new file mode 100644 -index 000000000..b95907ddc +index 0000000..b95907d --- /dev/null +++ b/drivers/gpu/drm/imx/cdns-mhdp-imx.h @@ -0,0 +1,75 @@ @@ -5584,7 +5584,7 @@ index 000000000..b95907ddc +void cdns_mhdp_pclk_rate_ls1028a(struct cdns_mhdp_device *mhdp); +#endif /* CDNS_MHDP_IMX_H_ */ diff --git a/drivers/gpu/drm/imx/dcss/dcss-dev.c b/drivers/gpu/drm/imx/dcss/dcss-dev.c -index 3f5750cc2..6c128803f 100644 +index 3f5750c..6c12880 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dev.c +++ b/drivers/gpu/drm/imx/dcss/dcss-dev.c @@ -17,6 +17,11 @@ @@ -5650,7 +5650,7 @@ index 3f5750cc2..6c128803f 100644 return 0; } diff --git a/drivers/gpu/drm/imx/dcss/dcss-dev.h b/drivers/gpu/drm/imx/dcss/dcss-dev.h -index 1e582270c..083edf6d7 100644 +index 1e58227..083edf6 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dev.h +++ b/drivers/gpu/drm/imx/dcss/dcss-dev.h @@ -93,6 +93,7 @@ struct dcss_dev { @@ -5662,18 +5662,18 @@ index 1e582270c..083edf6d7 100644 void dcss_dev_destroy(struct dcss_dev *dcss); int dcss_dev_runtime_suspend(struct device *dev); diff --git a/drivers/gpu/drm/imx/dcss/dcss-drv.c b/drivers/gpu/drm/imx/dcss/dcss-drv.c -index 24147ee70..2689d8a96 100644 +index 1c70f70..d6960da 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-drv.c +++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c -@@ -6,6 +6,7 @@ - #include <linux/module.h> +@@ -7,6 +7,7 @@ #include <linux/kernel.h> + #include <linux/of.h> #include <linux/platform_device.h> +#include <linux/component.h> #include <drm/drm_module.h> #include <drm/drm_of.h> -@@ -15,6 +16,8 @@ +@@ -16,6 +17,8 @@ struct dcss_drv { struct dcss_dev *dcss; struct dcss_kms_dev *kms; @@ -5682,7 +5682,7 @@ index 24147ee70..2689d8a96 100644 }; struct dcss_dev *dcss_drv_dev_to_dcss(struct device *dev) -@@ -31,30 +34,24 @@ struct drm_device *dcss_drv_dev_to_drm(struct device *dev) +@@ -32,30 +35,24 @@ struct drm_device *dcss_drv_dev_to_drm(struct device *dev) return mdrv ? &mdrv->kms->base : NULL; } @@ -5723,7 +5723,7 @@ index 24147ee70..2689d8a96 100644 if (IS_ERR(mdrv->dcss)) { err = PTR_ERR(mdrv->dcss); goto err; -@@ -62,7 +59,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) +@@ -63,7 +60,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) dev_set_drvdata(dev, mdrv); @@ -5732,7 +5732,7 @@ index 24147ee70..2689d8a96 100644 if (IS_ERR(mdrv->kms)) { err = PTR_ERR(mdrv->kms); goto dcss_shutoff; -@@ -80,19 +77,73 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) +@@ -81,19 +78,73 @@ static int dcss_drv_platform_probe(struct platform_device *pdev) return err; } @@ -5816,7 +5816,7 @@ index 24147ee70..2689d8a96 100644 return 0; } diff --git a/drivers/gpu/drm/imx/dcss/dcss-dtg.c b/drivers/gpu/drm/imx/dcss/dcss-dtg.c -index 30de00540..c7a688b2a 100644 +index 30de005..c7a688b 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dtg.c +++ b/drivers/gpu/drm/imx/dcss/dcss-dtg.c @@ -83,6 +83,7 @@ struct dcss_dtg { @@ -5885,7 +5885,7 @@ index 30de00540..c7a688b2a 100644 } - diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c -index 8cf3352d8..6c9b5d98f 100644 +index 8cf3352..6c9b5d9 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-kms.c +++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c @@ -13,6 +13,7 @@ @@ -6003,7 +6003,7 @@ index 8cf3352d8..6c9b5d98f 100644 drm->dev_private = NULL; } diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.h b/drivers/gpu/drm/imx/dcss/dcss-kms.h -index dfe5dd99e..c3e0d0684 100644 +index dfe5dd9..c3e0d06 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-kms.h +++ b/drivers/gpu/drm/imx/dcss/dcss-kms.h @@ -32,8 +32,8 @@ struct dcss_kms_dev { @@ -6019,7 +6019,7 @@ index dfe5dd99e..c3e0d0684 100644 struct dcss_plane *dcss_plane_init(struct drm_device *drm, diff --git a/include/drm/bridge/cdns-mhdp-cbs.h b/include/drm/bridge/cdns-mhdp-cbs.h new file mode 100644 -index 000000000..ed67e184d +index 0000000..ed67e18 --- /dev/null +++ b/include/drm/bridge/cdns-mhdp-cbs.h @@ -0,0 +1,29 @@ @@ -6054,7 +6054,7 @@ index 000000000..ed67e184d +#endif diff --git a/include/drm/bridge/cdns-mhdp-common.h b/include/drm/bridge/cdns-mhdp-common.h new file mode 100644 -index 000000000..77a99db59 +index 0000000..77a99db --- /dev/null +++ b/include/drm/bridge/cdns-mhdp-common.h @@ -0,0 +1,812 @@ @@ -6871,5 +6871,5 @@ index 000000000..77a99db59 + +#endif /* CDNS_MHDP_COMMON_H_ */ -- -2.36.1 +2.37.2 diff --git a/linux/patches/0006-drm-bridge-ti-sn65dsi86-Use-atomic-variants-of-drm_b.patch b/linux/patches/0006-drm-bridge-ti-sn65dsi86-Use-atomic-variants-of-drm_b.patch deleted file mode 100644 index 399418dddfd3bafb22258b936056f9341cb84a04..0000000000000000000000000000000000000000 --- a/linux/patches/0006-drm-bridge-ti-sn65dsi86-Use-atomic-variants-of-drm_b.patch +++ /dev/null @@ -1,93 +0,0 @@ -From c98f3ae813d004f92894edf5bddaf47fb9abbc1a Mon Sep 17 00:00:00 2001 -From: Sam Ravnborg <sam@ravnborg.org> -Date: Sun, 3 Jul 2022 22:27:24 +0200 -Subject: [PATCH 6/9] drm/bridge: ti-sn65dsi86: Use atomic variants of - drm_bridge_funcs - -Move away from the deprecated enable/disable operations in -drm_bridge_funcs and enable atomic use. - -v3: - - Drop use of DRM_BRIDGE_STATE_OPS - -v2: - - fix build (kernel test robot <lkp@intel.com>) - -Signed-off-by: Sam Ravnborg <sam@ravnborg.org> -Cc: Kieran Bingham <kieran.bingham@ideasonboard.com> -Cc: Douglas Anderson <dianders@chromium.org> -Cc: Andrzej Hajda <a.hajda@samsung.com> -Cc: Neil Armstrong <narmstrong@baylibre.com> -Cc: Robert Foss <robert.foss@linaro.org> -Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> -Cc: Jonas Karlman <jonas@kwiboo.se> -Cc: Jernej Skrabec <jernej.skrabec@gmail.com> ---- - drivers/gpu/drm/bridge/ti-sn65dsi86.c | 23 +++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c -index 8cad662de..a192f76d6 100644 ---- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c -+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c -@@ -752,7 +752,8 @@ ti_sn_bridge_mode_valid(struct drm_bridge *bridge, - return MODE_OK; - } - --static void ti_sn_bridge_disable(struct drm_bridge *bridge) -+static void ti_sn_bridge_atomic_disable(struct drm_bridge *bridge, -+ struct drm_bridge_state *old_bridge_state) - { - struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); - -@@ -1011,7 +1012,8 @@ static int ti_sn_link_training(struct ti_sn65dsi86 *pdata, int dp_rate_idx, - return ret; - } - --static void ti_sn_bridge_enable(struct drm_bridge *bridge) -+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); - const char *last_err_str = "No supported DP rate"; -@@ -1080,7 +1082,8 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) - VSTREAM_ENABLE); - } - --static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) -+static void ti_sn_bridge_atomic_pre_enable(struct drm_bridge *bridge, -+ struct drm_bridge_state *old_bridge_state) - { - struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); - -@@ -1093,7 +1096,8 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) - usleep_range(100, 110); - } - --static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) -+static void ti_sn_bridge_atomic_post_disable(struct drm_bridge *bridge, -+ struct drm_bridge_state *old_bridge_state) - { - struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); - -@@ -1114,10 +1118,13 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = { - .attach = ti_sn_bridge_attach, - .detach = ti_sn_bridge_detach, - .mode_valid = ti_sn_bridge_mode_valid, -- .pre_enable = ti_sn_bridge_pre_enable, -- .enable = ti_sn_bridge_enable, -- .disable = ti_sn_bridge_disable, -- .post_disable = ti_sn_bridge_post_disable, -+ .atomic_pre_enable = ti_sn_bridge_atomic_pre_enable, -+ .atomic_enable = ti_sn_bridge_atomic_enable, -+ .atomic_disable = ti_sn_bridge_atomic_disable, -+ .atomic_post_disable = ti_sn_bridge_atomic_post_disable, -+ .atomic_reset = drm_atomic_helper_bridge_reset, -+ .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, -+ .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, - }; - - static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata, --- -2.36.1 - diff --git a/linux/patches/0007-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 similarity index 95% rename from linux/patches/0007-drm-bridge-ti-sn65dsi86-fetch-bpc-using-drm_atomic_s.patch rename to linux/patches/0006-drm-bridge-ti-sn65dsi86-fetch-bpc-using-drm_atomic_s.patch index b85791fba8883a6ed1440aed7cad626e49a3afdc..667e67c1783a7549526b6b1362ad1662171bde49 100644 --- a/linux/patches/0007-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 @@ -1,7 +1,7 @@ -From 8fab93c64b320dbcd0302784b284ddd22c7e21f1 Mon Sep 17 00:00:00 2001 +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 7/9] drm/bridge: ti-sn65dsi86: fetch bpc using +Subject: [PATCH 6/7] drm/bridge: ti-sn65dsi86: fetch bpc using drm_atomic_state Rather than reading the pdata->connector directly, fetch the connector @@ -16,7 +16,7 @@ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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 a192f76d6..526e0904c 100644 +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) @@ -92,5 +92,5 @@ index a192f76d6..526e0904c 100644 dp_rate_idx++) { if (!(valid_rates & BIT(dp_rate_idx))) -- -2.36.1 +2.37.2 diff --git a/linux/patches/0008-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch b/linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch similarity index 92% rename from linux/patches/0008-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch rename to linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch index b7f2b1805a0303d0bb8a0b6170bd08fe460507f7..60e73e01d3f053b5b5cdc885f93d5303957031e4 100644 --- a/linux/patches/0008-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch +++ b/linux/patches/0007-drm-bridge-ti-sn65dsi86-support-DRM_BRIDGE_ATTACH_NO.patch @@ -1,7 +1,7 @@ -From 5aa715d0d2911c5ed59926dc418fb698f58c48ea Mon Sep 17 00:00:00 2001 +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 8/9] drm/bridge: ti-sn65dsi86: support +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 @@ -15,7 +15,7 @@ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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 526e0904c..36fcbdc2f 100644 +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, @@ -55,5 +55,5 @@ index 526e0904c..36fcbdc2f 100644 pdata->bridge.encoder); if (IS_ERR(pdata->connector)) { -- -2.36.1 +2.37.2 diff --git a/linux/patches/0009-drm-bridge-nwl-dsi-Set-PHY-mode-in-nwl_dsi_mode_set.patch b/linux/patches/0009-drm-bridge-nwl-dsi-Set-PHY-mode-in-nwl_dsi_mode_set.patch deleted file mode 100644 index 6c21a35846c0d7fdcd447c011d9493db08a7985e..0000000000000000000000000000000000000000 --- a/linux/patches/0009-drm-bridge-nwl-dsi-Set-PHY-mode-in-nwl_dsi_mode_set.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 66dff9ed14351aa06f5790907958d1eee12e4d58 Mon Sep 17 00:00:00 2001 -From: Liu Ying <victor.liu@nxp.com> -Date: Tue, 19 Apr 2022 09:08:48 +0800 -Subject: [PATCH 9/9] drm/bridge: nwl-dsi: Set PHY mode in nwl_dsi_mode_set() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The Northwest Logic MIPI DSI host controller embedded in i.MX8qxp -works with a Mixel MIPI DPHY + LVDS PHY combo to support either -a MIPI DSI display or a LVDS display. So, this patch calls -phy_set_mode() from nwl_dsi_mode_set() to set PHY mode to MIPI DPHY -explicitly. - -Cc: Guido Günther <agx@sigxcpu.org> -Cc: Robert Chiras <robert.chiras@nxp.com> -Cc: Martin Kepplinger <martin.kepplinger@puri.sm> -Cc: Andrzej Hajda <andrzej.hajda@intel.com> -Cc: Neil Armstrong <narmstrong@baylibre.com> -Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> -Cc: Jonas Karlman <jonas@kwiboo.se> -Cc: Jernej Skrabec <jernej.skrabec@gmail.com> -Cc: David Airlie <airlied@linux.ie> -Cc: Daniel Vetter <daniel@ffwll.ch> -Cc: NXP Linux Team <linux-imx@nxp.com> -Signed-off-by: Liu Ying <victor.liu@nxp.com> -Acked-by: Robert Foss <robert.foss@linaro.org> -Reviewed-by: Guido Günther <agx@sigxcpu.org> -Signed-off-by: Guido Günther <agx@sigxcpu.org> -Link: https://patchwork.freedesktop.org/patch/msgid/20220419010852.452169-2-victor.liu@nxp.com ---- - drivers/gpu/drm/bridge/nwl-dsi.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c -index b36239d6c..7aa35583b 100644 ---- a/drivers/gpu/drm/bridge/nwl-dsi.c -+++ b/drivers/gpu/drm/bridge/nwl-dsi.c -@@ -665,6 +665,12 @@ static int nwl_dsi_mode_set(struct nwl_dsi *dsi) - return ret; - } - -+ ret = phy_set_mode(dsi->phy, PHY_MODE_MIPI_DPHY); -+ if (ret < 0) { -+ DRM_DEV_ERROR(dev, "Failed to set DSI phy mode: %d\n", ret); -+ goto uninit_phy; -+ } -+ - ret = phy_configure(dsi->phy, phy_cfg); - if (ret < 0) { - DRM_DEV_ERROR(dev, "Failed to configure DSI phy: %d\n", ret); --- -2.36.1 -