liamHowatt commented on code in PR #14701:
URL: https://github.com/apache/nuttx/pull/14701#discussion_r1845488537


##########
arch/xtensa/src/esp32s3/esp32s3_lcd.c:
##########
@@ -548,7 +564,31 @@ static int esp32s3_lcd_base_updatearea(struct fb_vtable_s 
*vtable,
   struct esp32s3_lcd_s *priv = &g_lcd_priv;
 
   cache_writeback_addr(CURRENT_LAYER(priv)->framebuffer,
-                       ESP32S3_LCD_FB_SIZE);
+                       ESP32S3_LCD_FB_ALLOC_SIZE);
+
+  return 0;
+}
+#endif
+
+#if ESP32S3_LCD_DBLBUFFERED
+static int esp32s3_lcd_base_pandisplay(FAR struct fb_vtable_s *vtable,
+                                       FAR struct fb_planeinfo_s *pinfo)
+{
+  struct esp32s3_lcd_s *priv = &g_lcd_priv;
+  struct esp32s3_layer_s *layer = &priv->layer[0];
+  uint8_t *fb_panned = &layer->framebuffer[pinfo->yoffset * 
ESP32S3_LCD_STRIDE];
+
+  up_disable_irq(ESP32S3_IRQ_LCD_CAM);
+
+  esp32s3_dma_wait_idle(priv->dma_channel, true);
+
+  esp32s3_dma_setup(layer->dmadesc,

Review Comment:
   It chains transfers together using a linked list of DMA descriptors. In this 
PR, the transfer size is not increasing, just the starting offset changes now. 
There's another place `esp32s3_dma_setup` is used in this file.



-- 
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

Reply via email to