From e4bc5c41ce74a0c2ddc9320ab2a424d9ed86fd8b Mon Sep 17 00:00:00 2001 From: CTCaer Date: Mon, 28 Dec 2020 05:23:33 +0200 Subject: [PATCH] display: Add fifo draining before requesting info In case we got loaded from bad chainloader. Fixes issues with incorrect display ID when fifo has left overs. --- bdk/display/di.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bdk/display/di.c b/bdk/display/di.c index b80471a..46f6a04 100644 --- a/bdk/display/di.c +++ b/bdk/display/di.c @@ -339,9 +339,12 @@ void display_init() #if 0 // Get Display ID. - _display_id = 0xCCCCCC; + _display_id = 0xCCCCCC; // Set initial value. 4th byte cleared. display_dsi_read(MIPI_DCS_GET_DISPLAY_ID, 3, &_display_id, DSI_VIDEO_DISABLED); #else + // Drain RX FIFO. + _display_dsi_read_rx_fifo(NULL); + // Set reply size. _display_dsi_send_cmd(MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE, 3, 0); _display_dsi_wait(250000, _DSIREG(DSI_TRIGGER), DSI_TRIGGER_HOST | DSI_TRIGGER_VIDEO);