diff options
author | br <br@FreeBSD.org> | 2014-04-05 16:38:27 +0000 |
---|---|---|
committer | br <br@FreeBSD.org> | 2014-04-05 16:38:27 +0000 |
commit | 6c1fcc9eeac79faa18e6753907b99fc188b5f781 (patch) | |
tree | 0c0b693aee4c77918216523e5d5b5534aae95fff /sys/arm/samsung | |
parent | 94f16d7a87aa07d4b61ec20d9efc5a93c9e95218 (diff) | |
download | FreeBSD-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.c | 8 |
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); |