diff options
author | jkim <jkim@FreeBSD.org> | 2010-05-22 07:35:17 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-05-22 07:35:17 +0000 |
commit | 64e597f0789096550e2a46dcc41cb59d447a9fc3 (patch) | |
tree | 321148f56fd04d09715225b8a1c8f81799568e13 /sys/dev/syscons | |
parent | 810a32455d43efc2de222a2109f0691456aa7645 (diff) | |
download | FreeBSD-src-64e597f0789096550e2a46dcc41cb59d447a9fc3.zip FreeBSD-src-64e597f0789096550e2a46dcc41cb59d447a9fc3.tar.gz |
Suspend screen updates when the video controller is powered down.
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r-- | sys/dev/syscons/syscons.c | 4 | ||||
-rw-r--r-- | sys/dev/syscons/syscons.h | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 9128393..4bf5e15 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -1692,7 +1692,7 @@ sccnupdate(scr_stat *scp) { /* this is a cut-down version of scrn_timer()... */ - if (scp->sc->font_loading_in_progress) + if (scp->sc->suspend_in_progress || scp->sc->font_loading_in_progress) return; if (debugger > 0 || panicstr || shutdown_in_progress) { @@ -1742,7 +1742,7 @@ scrn_timer(void *arg) return; /* don't do anything when we are performing some I/O operations */ - if (sc->font_loading_in_progress) { + if (sc->suspend_in_progress || sc->font_loading_in_progress) { if (again) timeout(scrn_timer, sc, hz / 10); return; diff --git a/sys/dev/syscons/syscons.h b/sys/dev/syscons/syscons.h index a23f884..5efdb98 100644 --- a/sys/dev/syscons/syscons.h +++ b/sys/dev/syscons/syscons.h @@ -230,6 +230,7 @@ typedef struct sc_softc { char switch_in_progress; char write_in_progress; char blink_in_progress; + char suspend_in_progress; struct mtx video_mtx; long scrn_time_stamp; |