linux/drivers/gpu/drm/ingenic
Paul Cercueil f0dce5c4fd
drm/ingenic: Use the highest possible DMA burst size
Until now, when running at the maximum resolution of 1280x720 at 32bpp
on the JZ4770 SoC the output was garbled, the X/Y position of the
top-left corner of the framebuffer warping to a random position with
the whole image being offset accordingly, every time a new frame was
being submitted.

This problem can be eliminated by using a bigger burst size for the DMA.

Set in each soc_info structure the maximum burst size supported by the
corresponding SoC, and use it in the driver.

Set the new value using regmap_update_bits() instead of
regmap_set_bits(), since we do want to override the old value of the
burst size. (Note that regmap_set_bits() wasn't really valid before for
the same reason, but it never seemed to be a problem).

Cc: <stable@vger.kernel.org>
Fixes: 90b86fcc47 ("DRM: Add KMS driver for the Ingenic JZ47xx SoCs")
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20220702230727.66704-1-paul@crapouillou.net
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Tested-by: Christophe Branchereau <cbranchereau@gmail.com>
2022-07-04 14:03:54 +01:00
..
ingenic-drm-drv.c drm/ingenic: Use the highest possible DMA burst size 2022-07-04 14:03:54 +01:00
ingenic-drm.h drm/ingenic: Use the highest possible DMA burst size 2022-07-04 14:03:54 +01:00
ingenic-dw-hdmi.c drm/ingenic: Add dw-hdmi driver specialization for jz4780 2022-04-11 16:04:39 +01:00
ingenic-ipu.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
ingenic-ipu.h drm/ingenic: Add support for the IPU 2020-07-17 00:46:17 +02:00
Kconfig drm/ingenic: Add dw-hdmi driver specialization for jz4780 2022-04-11 16:04:39 +01:00
Makefile drm/ingenic: Add dw-hdmi driver specialization for jz4780 2022-04-11 16:04:39 +01:00