Unverified Commit 5410345f authored by Paul Cercueil's avatar Paul Cercueil
Browse files

drm/ingenic: Set DMA descriptor chain register when starting CRTC



Setting the DMA descriptor chain register in the probe function has been
fine until now, because we only ever had one descriptor per foreground.

As the driver will soon have real descriptor chains, and the DMA
descriptor chain register updates itself to point to the current
descriptor being processed, this register needs to be reset after a full
modeset to point to the first descriptor of the chain.

Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20211026181240.213806-5-paul@crapouillou.net


Tested-by: default avatarNikolaus Schaller <hns@goldelico.com>
Reviewed-by: default avatarChristophe Branchereau <cbranchereau@gmail.com>
parent 9361329d
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -186,6 +186,10 @@ static void ingenic_drm_crtc_atomic_enable(struct drm_crtc *crtc,


	regmap_write(priv->map, JZ_REG_LCD_STATE, 0);
	regmap_write(priv->map, JZ_REG_LCD_STATE, 0);


	/* Set address of our DMA descriptor chain */
	regmap_write(priv->map, JZ_REG_LCD_DA0, dma_hwdesc_addr(priv, 0));
	regmap_write(priv->map, JZ_REG_LCD_DA1, dma_hwdesc_addr(priv, 1));

	regmap_update_bits(priv->map, JZ_REG_LCD_CTRL,
	regmap_update_bits(priv->map, JZ_REG_LCD_CTRL,
			   JZ_LCD_CTRL_ENABLE | JZ_LCD_CTRL_DISABLE,
			   JZ_LCD_CTRL_ENABLE | JZ_LCD_CTRL_DISABLE,
			   JZ_LCD_CTRL_ENABLE);
			   JZ_LCD_CTRL_ENABLE);