summaryrefslogtreecommitdiffstats
path: root/sys/arm/samsung
diff options
context:
space:
mode:
authorbr <br@FreeBSD.org>2014-04-05 16:38:27 +0000
committerbr <br@FreeBSD.org>2014-04-05 16:38:27 +0000
commit6c1fcc9eeac79faa18e6753907b99fc188b5f781 (patch)
tree0c0b693aee4c77918216523e5d5b5534aae95fff /sys/arm/samsung
parent94f16d7a87aa07d4b61ec20d9efc5a93c9e95218 (diff)
downloadFreeBSD-src-6c1fcc9eeac79faa18e6753907b99fc188b5f781.zip
FreeBSD-src-6c1fcc9eeac79faa18e6753907b99fc188b5f781.tar.gz
Correct the end address of the video frame buffer.
This fixes problem that sometimes display suddenly goes blank.
Diffstat (limited to 'sys/arm/samsung')
-rw-r--r--sys/arm/samsung/exynos/exynos5_fimd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/arm/samsung/exynos/exynos5_fimd.c b/sys/arm/samsung/exynos/exynos5_fimd.c
index d26330f..d7b7330 100644
--- a/sys/arm/samsung/exynos/exynos5_fimd.c
+++ b/sys/arm/samsung/exynos/exynos5_fimd.c
@@ -278,9 +278,11 @@ fimd_init(struct fimd_softc *sc)
reg |= ((panel->height - 1) << LINEVAL_OFFSET);
DWRITE4(sc,VIDTCON2,reg);
- WRITE4(sc,VIDW00ADD0B0, sc->sc_info.fb_pbase);
- WRITE4(sc,VIDW00ADD1B0, sc->sc_info.fb_pbase + sc->sc_info.fb_size);
- WRITE4(sc,VIDW00ADD2, panel->width * 2);
+ reg = sc->sc_info.fb_pbase;
+ WRITE4(sc, VIDW00ADD0B0, reg);
+ reg += (sc->sc_info.fb_stride * (sc->sc_info.fb_height + 1));
+ WRITE4(sc, VIDW00ADD1B0, reg);
+ WRITE4(sc, VIDW00ADD2, sc->sc_info.fb_stride);
reg = ((panel->width - 1) << OSD_RIGHTBOTX_F_OFFSET);
reg |= ((panel->height - 1) << OSD_RIGHTBOTY_F_OFFSET);
OpenPOWER on IntegriCloud