From 4d1b456af2731a7fd8612375df072bf971547f58 Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Fri, 26 May 2023 12:19:19 -0700 Subject: [PATCH] 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 --- drivers/gpu/drm/panel/panel-sitronix-st7701.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c index 16e8b5e..b226d8a 100644 --- 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_panel *panel) 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; } -- 2.7.4