michallenc opened a new pull request, #15873: URL: https://github.com/apache/nuttx/pull/15873
## Summary If `st7789_wrram` is called with `count = 1`, then the entire buffer should be sent. However, in 3 wire mode, the driver has to send the buffer row by row because of additional data flag. The number of rows (count) can't be `ST7789_YRES` in this case, but only the number of rows in the buffer (this is write size / row size , where row size is `ST7789_XRES * ST7789_BYTESPP`). This also applies only if we want to write size larger than row size, because `st7789_putrun` allows to write just a part of a row. This fixes the incorrect behavior of the display in 3 wire mode if the display is split into more buffer writes (as in LCD driver for example, FB driver did not face this issue). ## Impact Fixes the behavior of the display with LCD driver if the buffer is less than the entire display size (usually the case in LVGL library). This was initially my fault when introducing the support for 3 wire communication, I had done tests only with FB driver back then and there was no issue with FB driver. ## Testing Tested with 3 scenarios: - multiple buffers, each 60 rows large (against LVGL), LCD driver - single buffer for the entire display, LCD driver - FB driver Tested on 320 x 240 large display connected as 3 wire on SPI bus with DMA. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org