Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
From 93ae2b9f6c792d17b691e23e4ba3cf07867e1df1 Mon Sep 17 00:00:00 2001
|
|
From: Jack Andersen <jackoalan@gmail.com>
|
|
Date: Fri, 26 May 2023 12:19:19 -0700
|
|
Subject: [PATCH 0474/1085] panel-sitronix-st7701: Fix panel prepare over SPI
|
|
|
|
A DSI write is issued in st7701_prepare even when the probed panel
|
|
runs on SPI. In practice, this results in a panic with the
|
|
vc4-kms-dpi-hyperpixel2r overlay active.
|
|
|
|
Perform the equivalent write over SPI in this case.
|
|
|
|
Signed-off-by: Jack Andersen <jackoalan@gmail.com>
|
|
---
|
|
drivers/gpu/drm/panel/panel-sitronix-st7701.c | 10 +++++++++-
|
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
|
|
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
|
|
@@ -605,7 +605,15 @@ static int st7701_prepare(struct drm_pan
|
|
st7701->desc->gip_sequence(st7701);
|
|
|
|
/* Disable Command2 */
|
|
- st7701_switch_cmd_bkx(st7701, false, 0);
|
|
+ switch (st7701->desc->interface) {
|
|
+ case ST7701_CTRL_DSI:
|
|
+ st7701_switch_cmd_bkx(st7701, false, 0);
|
|
+ break;
|
|
+ case ST7701_CTRL_SPI:
|
|
+ ST7701_SPI(st7701, DSI_CMD2BKX_SEL,
|
|
+ 0x177, 0x101, 0x100, 0x100, SPI_CMD2BKX_SEL_NONE);
|
|
+ break;
|
|
+ }
|
|
|
|
return 0;
|
|
}
|