]> git.baikalelectronics.ru Git - kernel.git/commit
drm/meson: viu: fix setting the OSD burst length in VIU_OSD1_FIFO_CTRL_STAT
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 20 Jun 2020 15:57:52 +0000 (17:57 +0200)
committerNeil Armstrong <narmstrong@baylibre.com>
Thu, 2 Jul 2020 08:36:56 +0000 (10:36 +0200)
commit7be30ff2040b9ba7162ce2626b5a6862b4065d27
tree9c058fbbf09ac8bc79902cf3fc77f27f3b785d51
parente8af66f578acd28523a7594a8b55e6ca296c2a53
drm/meson: viu: fix setting the OSD burst length in VIU_OSD1_FIFO_CTRL_STAT

The burst length is configured in VIU_OSD1_FIFO_CTRL_STAT[31] and
VIU_OSD1_FIFO_CTRL_STAT[11:10]. The public S905D3 datasheet describes
this as:
- 0x0 = up to 24 per burst
- 0x1 = up to 32 per burst
- 0x2 = up to 48 per burst
- 0x3 = up to 64 per burst
- 0x4 = up to 96 per burst
- 0x5 = up to 128 per burst

The lower two bits map to VIU_OSD1_FIFO_CTRL_STAT[11:10] while the upper
bit maps to VIU_OSD1_FIFO_CTRL_STAT[31].

Replace meson_viu_osd_burst_length_reg() with pre-defined macros which
set these values. meson_viu_osd_burst_length_reg() always returned 0
(for the two used values: 32 and 64 at least) and thus incorrectly set
the burst size to 24.

Fixes: 7fe8c8ce6f10af ("drm: meson: viu: use proper macros instead of magic constants")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200620155752.21065-1-martin.blumenstingl@googlemail.com
drivers/gpu/drm/meson/meson_registers.h
drivers/gpu/drm/meson/meson_viu.c