]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 6.5
authorSasha Levin <sashal@kernel.org>
Sat, 21 Oct 2023 20:45:35 +0000 (16:45 -0400)
committerSasha Levin <sashal@kernel.org>
Sat, 21 Oct 2023 20:45:35 +0000 (16:45 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.5/asoc-cs35l56-fix-illegal-use-of-init_completion.patch [new file with mode: 0644]
queue-6.5/asoc-cs42l42-fix-missing-include-of-gpio-consumer.h.patch [new file with mode: 0644]
queue-6.5/asoc-pxa-fix-a-memory-leak-in-probe.patch [new file with mode: 0644]
queue-6.5/drm-amdgpu-fix-possible-null-pointer-dereference.patch [new file with mode: 0644]
queue-6.5/drm-bridge-ti-sn65dsi86-associate-dsi-device-lifetim.patch [new file with mode: 0644]
queue-6.5/drm-i915-cx0-only-clear-set-the-pipe-reset-bit-of-th.patch [new file with mode: 0644]
queue-6.5/drm-panel-move-aux-b116xw03-out-of-panel-edp-back-to.patch [new file with mode: 0644]
queue-6.5/series

diff --git a/queue-6.5/asoc-cs35l56-fix-illegal-use-of-init_completion.patch b/queue-6.5/asoc-cs35l56-fix-illegal-use-of-init_completion.patch
new file mode 100644 (file)
index 0000000..206e2a6
--- /dev/null
@@ -0,0 +1,39 @@
+From 45435713ba5417d1bf759b28de9130713b06db87 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 6 Oct 2023 17:44:05 +0100
+Subject: ASoC: cs35l56: Fix illegal use of init_completion()
+
+From: Richard Fitzgerald <rf@opensource.cirrus.com>
+
+[ Upstream commit af5fd122d7bd739a2b66405f6e8ab92557279325 ]
+
+Fix cs35l56_patch() to call reinit_completion() to reinitialize
+the completion object.
+
+It was incorrectly using init_completion().
+
+Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
+Fixes: e49611252900 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
+Link: https://lore.kernel.org/r/20231006164405.253796-1-rf@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/codecs/cs35l56.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c
+index 7e241908b5f16..4d7ccf682647e 100644
+--- a/sound/soc/codecs/cs35l56.c
++++ b/sound/soc/codecs/cs35l56.c
+@@ -879,7 +879,7 @@ static void cs35l56_patch(struct cs35l56_private *cs35l56)
+       mutex_lock(&cs35l56->irq_lock);
+-      init_completion(&cs35l56->init_completion);
++      reinit_completion(&cs35l56->init_completion);
+       cs35l56_system_reset(cs35l56);
+-- 
+2.42.0
+
diff --git a/queue-6.5/asoc-cs42l42-fix-missing-include-of-gpio-consumer.h.patch b/queue-6.5/asoc-cs42l42-fix-missing-include-of-gpio-consumer.h.patch
new file mode 100644 (file)
index 0000000..9eaa250
--- /dev/null
@@ -0,0 +1,47 @@
+From 723603981d0a315306edb5be15469e6509f128b6 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 11 Oct 2023 14:48:53 +0100
+Subject: ASoC: cs42l42: Fix missing include of gpio/consumer.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Richard Fitzgerald <rf@opensource.cirrus.com>
+
+[ Upstream commit d6cbc6a3a856a7d8047316d81e2e039e44432acb ]
+
+The call to gpiod_set_value_cansleep() in cs42l42_sdw_update_status()
+needs the header file gpio/consumer.h to be included.
+
+This was introduced by commit 2d066c6a7865 ("ASoC: cs42l42: Avoid stale
+SoundWire ATTACH after hard reset")
+
+and caused error:
+    sound/soc/codecs/cs42l42-sdw.c:374:4: error: implicit declaration of
+    function ‘gpiod_set_value_cansleep’;
+    did you mean gpio_set_value_cansleep’?
+
+Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
+Fixes: 2d066c6a7865 ("ASoC: cs42l42: Avoid stale SoundWire ATTACH after hard reset")
+Link: https://lore.kernel.org/r/20231011134853.20059-1-rf@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/codecs/cs42l42-sdw.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/sound/soc/codecs/cs42l42-sdw.c b/sound/soc/codecs/cs42l42-sdw.c
+index 974bae4abfad1..94a66a325303b 100644
+--- a/sound/soc/codecs/cs42l42-sdw.c
++++ b/sound/soc/codecs/cs42l42-sdw.c
+@@ -6,6 +6,7 @@
+ #include <linux/acpi.h>
+ #include <linux/device.h>
++#include <linux/gpio/consumer.h>
+ #include <linux/iopoll.h>
+ #include <linux/module.h>
+ #include <linux/mod_devicetable.h>
+-- 
+2.42.0
+
diff --git a/queue-6.5/asoc-pxa-fix-a-memory-leak-in-probe.patch b/queue-6.5/asoc-pxa-fix-a-memory-leak-in-probe.patch
new file mode 100644 (file)
index 0000000..d137fac
--- /dev/null
@@ -0,0 +1,36 @@
+From 6c7cab028eda0302e59689a62c24bb5ae458bb5a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 5 Oct 2023 17:00:24 +0300
+Subject: ASoC: pxa: fix a memory leak in probe()
+
+From: Dan Carpenter <dan.carpenter@linaro.org>
+
+[ Upstream commit aa6464edbd51af4a2f8db43df866a7642b244b5f ]
+
+Free the "priv" pointer before returning the error code.
+
+Fixes: 90eb6b59d311 ("ASoC: pxa-ssp: add support for an external clock in devicetree")
+Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
+Link: https://lore.kernel.org/r/84ac2313-1420-471a-b2cb-3269a2e12a7c@moroto.mountain
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/pxa/pxa-ssp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
+index 430dd446321e5..452f0caf415b9 100644
+--- a/sound/soc/pxa/pxa-ssp.c
++++ b/sound/soc/pxa/pxa-ssp.c
+@@ -779,7 +779,7 @@ static int pxa_ssp_probe(struct snd_soc_dai *dai)
+               if (IS_ERR(priv->extclk)) {
+                       ret = PTR_ERR(priv->extclk);
+                       if (ret == -EPROBE_DEFER)
+-                              return ret;
++                              goto err_priv;
+                       priv->extclk = NULL;
+               }
+-- 
+2.42.0
+
diff --git a/queue-6.5/drm-amdgpu-fix-possible-null-pointer-dereference.patch b/queue-6.5/drm-amdgpu-fix-possible-null-pointer-dereference.patch
new file mode 100644 (file)
index 0000000..138f608
--- /dev/null
@@ -0,0 +1,40 @@
+From 4a407c91c556f62393f5655366ff6393e7ed8602 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Oct 2023 16:51:03 -0400
+Subject: drm/amdgpu: Fix possible null pointer dereference
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+
+[ Upstream commit 51b79f33817544e3b4df838d86e8e8e4388ff684 ]
+
+abo->tbo.resource may be NULL in amdgpu_vm_bo_update.
+
+Fixes: 180253782038 ("drm/ttm: stop allocating dummy resources during BO creation")
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index ec1ec08d40584..7a67bb1490159 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -1094,7 +1094,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, struct amdgpu_bo_va *bo_va,
+                       struct drm_gem_object *gobj = dma_buf->priv;
+                       struct amdgpu_bo *abo = gem_to_amdgpu_bo(gobj);
+-                      if (abo->tbo.resource->mem_type == TTM_PL_VRAM)
++                      if (abo->tbo.resource &&
++                          abo->tbo.resource->mem_type == TTM_PL_VRAM)
+                               bo = gem_to_amdgpu_bo(gobj);
+               }
+               mem = bo->tbo.resource;
+-- 
+2.42.0
+
diff --git a/queue-6.5/drm-bridge-ti-sn65dsi86-associate-dsi-device-lifetim.patch b/queue-6.5/drm-bridge-ti-sn65dsi86-associate-dsi-device-lifetim.patch
new file mode 100644 (file)
index 0000000..7295202
--- /dev/null
@@ -0,0 +1,97 @@
+From 067a9b1f19f168fdcd32c284613be0f8747da1cb Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 2 Oct 2023 16:54:06 -0700
+Subject: drm/bridge: ti-sn65dsi86: Associate DSI device lifetime with
+ auxiliary device
+
+From: Stephen Boyd <swboyd@chromium.org>
+
+[ Upstream commit 7b821db95140e2c118567aee22a78bf85f3617e0 ]
+
+The kernel produces a warning splat and the DSI device fails to register
+in this driver if the i2c driver probes, populates child auxiliary
+devices, and then somewhere in ti_sn_bridge_probe() a function call
+returns -EPROBE_DEFER. When the auxiliary driver probe defers, the dsi
+device created by devm_mipi_dsi_device_register_full() is left
+registered because the devm managed device used to manage the lifetime
+of the DSI device is the parent i2c device, not the auxiliary device
+that is being probed.
+
+Associate the DSI device created and managed by this driver to the
+lifetime of the auxiliary device, not the i2c device, so that the DSI
+device is removed when the auxiliary driver unbinds. Similarly change
+the device pointer used for dev_err_probe() so the deferred probe errors
+are associated with the auxiliary device instead of the parent i2c
+device so we can narrow down future problems faster.
+
+Cc: Douglas Anderson <dianders@chromium.org>
+Cc: Maxime Ripard <maxime@cerno.tech>
+Fixes: c3b75d4734cb ("drm/bridge: sn65dsi86: Register and attach our DSI device at probe")
+Signed-off-by: Stephen Boyd <swboyd@chromium.org>
+Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
+Reviewed-by: Douglas Anderson <dianders@chromium.org>
+Signed-off-by: Douglas Anderson <dianders@chromium.org>
+Link: https://patchwork.freedesktop.org/patch/msgid/20231002235407.769399-1-swboyd@chromium.org
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/bridge/ti-sn65dsi86.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+index f448b903e1907..84148a79414b7 100644
+--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
++++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+@@ -692,7 +692,7 @@ static struct ti_sn65dsi86 *bridge_to_ti_sn65dsi86(struct drm_bridge *bridge)
+       return container_of(bridge, struct ti_sn65dsi86, bridge);
+ }
+-static int ti_sn_attach_host(struct ti_sn65dsi86 *pdata)
++static int ti_sn_attach_host(struct auxiliary_device *adev, struct ti_sn65dsi86 *pdata)
+ {
+       int val;
+       struct mipi_dsi_host *host;
+@@ -707,7 +707,7 @@ static int ti_sn_attach_host(struct ti_sn65dsi86 *pdata)
+       if (!host)
+               return -EPROBE_DEFER;
+-      dsi = devm_mipi_dsi_device_register_full(dev, host, &info);
++      dsi = devm_mipi_dsi_device_register_full(&adev->dev, host, &info);
+       if (IS_ERR(dsi))
+               return PTR_ERR(dsi);
+@@ -725,7 +725,7 @@ static int ti_sn_attach_host(struct ti_sn65dsi86 *pdata)
+       pdata->dsi = dsi;
+-      return devm_mipi_dsi_attach(dev, dsi);
++      return devm_mipi_dsi_attach(&adev->dev, dsi);
+ }
+ static int ti_sn_bridge_attach(struct drm_bridge *bridge,
+@@ -1298,9 +1298,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
+       struct device_node *np = pdata->dev->of_node;
+       int ret;
+-      pdata->next_bridge = devm_drm_of_get_bridge(pdata->dev, np, 1, 0);
++      pdata->next_bridge = devm_drm_of_get_bridge(&adev->dev, np, 1, 0);
+       if (IS_ERR(pdata->next_bridge))
+-              return dev_err_probe(pdata->dev, PTR_ERR(pdata->next_bridge),
++              return dev_err_probe(&adev->dev, PTR_ERR(pdata->next_bridge),
+                                    "failed to create panel bridge\n");
+       ti_sn_bridge_parse_lanes(pdata, np);
+@@ -1319,9 +1319,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
+       drm_bridge_add(&pdata->bridge);
+-      ret = ti_sn_attach_host(pdata);
++      ret = ti_sn_attach_host(adev, pdata);
+       if (ret) {
+-              dev_err_probe(pdata->dev, ret, "failed to attach dsi host\n");
++              dev_err_probe(&adev->dev, ret, "failed to attach dsi host\n");
+               goto err_remove_bridge;
+       }
+-- 
+2.42.0
+
diff --git a/queue-6.5/drm-i915-cx0-only-clear-set-the-pipe-reset-bit-of-th.patch b/queue-6.5/drm-i915-cx0-only-clear-set-the-pipe-reset-bit-of-th.patch
new file mode 100644 (file)
index 0000000..9f409fc
--- /dev/null
@@ -0,0 +1,50 @@
+From 50a8c0b77c429f0699753cb5bf2a04a6d17f2bd6 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 4 Oct 2023 17:13:10 -0700
+Subject: drm/i915/cx0: Only clear/set the Pipe Reset bit of the PHY Lanes
+ Owned
+
+From: Khaled Almahallawy <khaled.almahallawy@intel.com>
+
+[ Upstream commit 5e4c16fe08c8b894b258f4110349dc9b642669f9 ]
+
+Currently, with MFD/pin assignment D, the driver clears the pipe reset bit
+of lane 1 which is not owned by display. This causes the display
+to block S0iX.
+
+By not clearing this bit for lane 1 and keeping whatever default, S0ix
+started to work. This is already what the driver does at the end
+of the phy lane reset sequence (Step#8)
+
+Bspec: 65451
+Fixes: 619a06dba6fa ("drm/i915/mtl: Reset only one lane in case of MFD")
+Cc: Mika Kahola <mika.kahola@intel.com>
+Cc: Gustavo Sousa <gustavo.sousa@intel.com>
+Signed-off-by: Khaled Almahallawy <khaled.almahallawy@intel.com>
+Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
+Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20231005001310.154396-1-khaled.almahallawy@intel.com
+(cherry picked from commit 4a07f063d20c46524f00976f4537de72d9f31c4e)
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/i915/display/intel_cx0_phy.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
+index 719447ce86e70..974dd52e720c1 100644
+--- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
++++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
+@@ -2554,8 +2554,7 @@ static void intel_cx0_phy_lane_reset(struct drm_i915_private *i915,
+               drm_warn(&i915->drm, "PHY %c failed to bring out of SOC reset after %dus.\n",
+                        phy_name(phy), XELPDP_PORT_BUF_SOC_READY_TIMEOUT_US);
+-      intel_de_rmw(i915, XELPDP_PORT_BUF_CTL2(port),
+-                   XELPDP_LANE_PIPE_RESET(0) | XELPDP_LANE_PIPE_RESET(1),
++      intel_de_rmw(i915, XELPDP_PORT_BUF_CTL2(port), lane_pipe_reset,
+                    lane_pipe_reset);
+       if (__intel_de_wait_for_register(i915, XELPDP_PORT_BUF_CTL2(port),
+-- 
+2.42.0
+
diff --git a/queue-6.5/drm-panel-move-aux-b116xw03-out-of-panel-edp-back-to.patch b/queue-6.5/drm-panel-move-aux-b116xw03-out-of-panel-edp-back-to.patch
new file mode 100644 (file)
index 0000000..f1a9ed4
--- /dev/null
@@ -0,0 +1,157 @@
+From 6b652224b09cdbcf5dfd0ccbc2a81779f81e3709 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 25 Sep 2023 15:00:11 -0700
+Subject: drm/panel: Move AUX B116XW03 out of panel-edp back to panel-simple
+
+From: Douglas Anderson <dianders@chromium.org>
+
+[ Upstream commit ad3e33fe071dffea07279f96dab4f3773c430fe2 ]
+
+In commit 5f04e7ce392d ("drm/panel-edp: Split eDP panels out of
+panel-simple") I moved a pile of panels out of panel-simple driver
+into the newly created panel-edp driver. One of those panels, however,
+shouldn't have been moved.
+
+As is clear from commit e35e305eff0f ("drm/panel: simple: Add AUO
+B116XW03 panel support"), AUX B116XW03 is an LVDS panel. It's used in
+exynos5250-snow and exynos5420-peach-pit where it's clear that the
+panel is hooked up with LVDS. Furthermore, searching for datasheets I
+found one that makes it clear that this panel is LVDS.
+
+As far as I can tell, I got confused because in commit 88d3457ceb82
+("drm/panel: auo,b116xw03: fix flash backlight when power on") Jitao
+Shi added "DRM_MODE_CONNECTOR_eDP". That seems wrong. Looking at the
+downstream ChromeOS trees, it seems like some Mediatek boards are
+using a panel that they call "auo,b116xw03" that's an eDP panel. The
+best I can guess is that they actually have a different panel that has
+similar timing. If so then the proper panel should be used or they
+should switch to the generic "edp-panel" compatible.
+
+When moving this back to panel-edp, I wasn't sure what to use for
+.bus_flags and .bus_format and whether to add the extra "enable" delay
+from commit 88d3457ceb82 ("drm/panel: auo,b116xw03: fix flash
+backlight when power on"). I've added formats/flags/delays based on my
+(inexpert) analysis of the datasheet. These are untested.
+
+NOTE: if/when this is backported to stable, we might run into some
+trouble. Specifically, before 474c162878ba ("arm64: dts: mt8183:
+jacuzzi: Move panel under aux-bus") this panel was used by
+"mt8183-kukui-jacuzzi", which assumed it was an eDP panel. I don't
+know what to suggest for that other than someone making up a bogus
+panel for jacuzzi that's just for the stable channel.
+
+Fixes: 88d3457ceb82 ("drm/panel: auo,b116xw03: fix flash backlight when power on")
+Fixes: 5f04e7ce392d ("drm/panel-edp: Split eDP panels out of panel-simple")
+Tested-by: Anton Bambura <jenneron@postmarketos.org>
+Acked-by: Hsin-Yi Wang <hsinyi@chromium.org>
+Signed-off-by: Douglas Anderson <dianders@chromium.org>
+Link: https://patchwork.freedesktop.org/patch/msgid/20230925150010.1.Iff672233861bcc4cf25a7ad0a81308adc3bda8a4@changeid
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/panel/panel-edp.c    | 29 -----------------------
+ drivers/gpu/drm/panel/panel-simple.c | 35 ++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 29 deletions(-)
+
+diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
+index fbd114b4f0be0..856f73a46ee61 100644
+--- a/drivers/gpu/drm/panel/panel-edp.c
++++ b/drivers/gpu/drm/panel/panel-edp.c
+@@ -976,32 +976,6 @@ static const struct panel_desc auo_b116xak01 = {
+       },
+ };
+-static const struct drm_display_mode auo_b116xw03_mode = {
+-      .clock = 70589,
+-      .hdisplay = 1366,
+-      .hsync_start = 1366 + 40,
+-      .hsync_end = 1366 + 40 + 40,
+-      .htotal = 1366 + 40 + 40 + 32,
+-      .vdisplay = 768,
+-      .vsync_start = 768 + 10,
+-      .vsync_end = 768 + 10 + 12,
+-      .vtotal = 768 + 10 + 12 + 6,
+-      .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+-};
+-
+-static const struct panel_desc auo_b116xw03 = {
+-      .modes = &auo_b116xw03_mode,
+-      .num_modes = 1,
+-      .bpc = 6,
+-      .size = {
+-              .width = 256,
+-              .height = 144,
+-      },
+-      .delay = {
+-              .enable = 400,
+-      },
+-};
+-
+ static const struct drm_display_mode auo_b133han05_mode = {
+       .clock = 142600,
+       .hdisplay = 1920,
+@@ -1725,9 +1699,6 @@ static const struct of_device_id platform_of_match[] = {
+       }, {
+               .compatible = "auo,b116xa01",
+               .data = &auo_b116xak01,
+-      }, {
+-              .compatible = "auo,b116xw03",
+-              .data = &auo_b116xw03,
+       }, {
+               .compatible = "auo,b133han05",
+               .data = &auo_b133han05,
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index 03196fbfa4d79..e26af5e1299a8 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -923,6 +923,38 @@ static const struct panel_desc auo_b101xtn01 = {
+       },
+ };
++static const struct drm_display_mode auo_b116xw03_mode = {
++      .clock = 70589,
++      .hdisplay = 1366,
++      .hsync_start = 1366 + 40,
++      .hsync_end = 1366 + 40 + 40,
++      .htotal = 1366 + 40 + 40 + 32,
++      .vdisplay = 768,
++      .vsync_start = 768 + 10,
++      .vsync_end = 768 + 10 + 12,
++      .vtotal = 768 + 10 + 12 + 6,
++      .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
++};
++
++static const struct panel_desc auo_b116xw03 = {
++      .modes = &auo_b116xw03_mode,
++      .num_modes = 1,
++      .bpc = 6,
++      .size = {
++              .width = 256,
++              .height = 144,
++      },
++      .delay = {
++              .prepare = 1,
++              .enable = 200,
++              .disable = 200,
++              .unprepare = 500,
++      },
++      .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
++      .bus_flags = DRM_BUS_FLAG_DE_HIGH,
++      .connector_type = DRM_MODE_CONNECTOR_LVDS,
++};
++
+ static const struct display_timing auo_g070vvn01_timings = {
+       .pixelclock = { 33300000, 34209000, 45000000 },
+       .hactive = { 800, 800, 800 },
+@@ -4074,6 +4106,9 @@ static const struct of_device_id platform_of_match[] = {
+       }, {
+               .compatible = "auo,b101xtn01",
+               .data = &auo_b101xtn01,
++      }, {
++              .compatible = "auo,b116xw03",
++              .data = &auo_b116xw03,
+       }, {
+               .compatible = "auo,g070vvn01",
+               .data = &auo_g070vvn01,
+-- 
+2.42.0
+
index 31653975930a287fafeb3a9c0c87ca7926fcffbc..fc1b91bda9b7c70ed71bf552dad649290269d98f 100644 (file)
@@ -216,3 +216,10 @@ rust-error-fix-the-description-for-echild.patch
 gpiolib-acpi-add-missing-memset-0-to-acpi_get_gpiod_from_data.patch
 gpio-vf610-set-value-before-the-direction-to-avoid-a-glitch.patch
 gpio-vf610-mask-the-gpio-irq-in-system-suspend-and-support-wakeup.patch
+asoc-cs35l56-fix-illegal-use-of-init_completion.patch
+asoc-pxa-fix-a-memory-leak-in-probe.patch
+asoc-cs42l42-fix-missing-include-of-gpio-consumer.h.patch
+drm-bridge-ti-sn65dsi86-associate-dsi-device-lifetim.patch
+drm-panel-move-aux-b116xw03-out-of-panel-edp-back-to.patch
+drm-i915-cx0-only-clear-set-the-pipe-reset-bit-of-th.patch
+drm-amdgpu-fix-possible-null-pointer-dereference.patch