summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Nicoara <dnicoara@chromium.org>2015-03-03 18:07:02 -0500
committerDaniel Nicoara <dnicoara@chromium.org>2015-03-03 23:08:33 +0000
commit843dffa06c7e8ece98f764ac2277ea5455d7d303 (patch)
treedced4b77645a57f242d26924d816f3dc03c331a7
parent6b3762389fadbf385daf58f9ff11a674e8406ea1 (diff)
downloadchromium_src-843dffa06c7e8ece98f764ac2277ea5455d7d303.zip
chromium_src-843dffa06c7e8ece98f764ac2277ea5455d7d303.tar.gz
chromium_src-843dffa06c7e8ece98f764ac2277ea5455d7d303.tar.bz2
[Ozone-Dri] Set DPMS when configuring displays and remove ForceDPMSOn
We're forcing DPMS to on since some drivers may not perform it themselves. We also want to only do it on displays that are modeset otherwise we may be putting disabled displays in a higher power state. BUG=chrome-os-partner:36664 Review URL: https://codereview.chromium.org/958933003 Cr-Commit-Position: refs/heads/master@{#318490} (cherry picked from commit 0866c10f7a2cbcd909c354999c9ba5d021c909a1) Review URL: https://codereview.chromium.org/978663002 Cr-Commit-Position: refs/branch-heads/2311@{#114} Cr-Branched-From: 09b7de5dd7254947cd4306de907274fa63373d48-refs/heads/master@{#317474}
-rw-r--r--ui/ozone/common/gpu/ozone_gpu_messages.h3
-rw-r--r--ui/ozone/platform/dri/dri_gpu_platform_support.cc5
-rw-r--r--ui/ozone/platform/dri/dri_gpu_platform_support.h1
-rw-r--r--ui/ozone/platform/dri/native_display_delegate_dri.cc16
-rw-r--r--ui/ozone/platform/dri/native_display_delegate_dri.h2
-rw-r--r--ui/ozone/platform/dri/native_display_delegate_proxy.cc1
6 files changed, 6 insertions, 22 deletions
diff --git a/ui/ozone/common/gpu/ozone_gpu_messages.h b/ui/ozone/common/gpu/ozone_gpu_messages.h
index 6ff1260..14d2a10 100644
--- a/ui/ozone/common/gpu/ozone_gpu_messages.h
+++ b/ui/ozone/common/gpu/ozone_gpu_messages.h
@@ -76,9 +76,6 @@ IPC_MESSAGE_CONTROL2(OzoneGpuMsg_WindowBoundsChanged,
gfx::AcceleratedWidget /* widget */,
gfx::Rect /* bounds */)
-// Force the DPMS state of the display to on.
-IPC_MESSAGE_CONTROL0(OzoneGpuMsg_ForceDPMSOn)
-
// Trigger a display reconfiguration. OzoneHostMsg_UpdateNativeDisplays will be
// sent as a response.
IPC_MESSAGE_CONTROL0(OzoneGpuMsg_RefreshNativeDisplays)
diff --git a/ui/ozone/platform/dri/dri_gpu_platform_support.cc b/ui/ozone/platform/dri/dri_gpu_platform_support.cc
index cbe4b3a..d4116bf 100644
--- a/ui/ozone/platform/dri/dri_gpu_platform_support.cc
+++ b/ui/ozone/platform/dri/dri_gpu_platform_support.cc
@@ -205,7 +205,6 @@ bool DriGpuPlatformSupport::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(OzoneGpuMsg_CursorSet, OnCursorSet)
IPC_MESSAGE_HANDLER(OzoneGpuMsg_CursorMove, OnCursorMove)
- IPC_MESSAGE_HANDLER(OzoneGpuMsg_ForceDPMSOn, OnForceDPMSOn)
IPC_MESSAGE_HANDLER(OzoneGpuMsg_RefreshNativeDisplays,
OnRefreshNativeDisplays)
IPC_MESSAGE_HANDLER(OzoneGpuMsg_ConfigureNativeDisplay,
@@ -260,10 +259,6 @@ void DriGpuPlatformSupport::OnCursorMove(gfx::AcceleratedWidget widget,
window_manager_->GetWindowDelegate(widget)->MoveCursor(location);
}
-void DriGpuPlatformSupport::OnForceDPMSOn() {
- ndd_->ForceDPMSOn();
-}
-
void DriGpuPlatformSupport::OnRefreshNativeDisplays() {
sender_->Send(new OzoneHostMsg_UpdateNativeDisplays(ndd_->GetDisplays()));
}
diff --git a/ui/ozone/platform/dri/dri_gpu_platform_support.h b/ui/ozone/platform/dri/dri_gpu_platform_support.h
index 4e082aa..afe1403 100644
--- a/ui/ozone/platform/dri/dri_gpu_platform_support.h
+++ b/ui/ozone/platform/dri/dri_gpu_platform_support.h
@@ -67,7 +67,6 @@ class DriGpuPlatformSupport : public GpuPlatformSupport {
void OnCursorMove(gfx::AcceleratedWidget widget, const gfx::Point& location);
// Display related IPC handlers.
- void OnForceDPMSOn();
void OnRefreshNativeDisplays();
void OnConfigureNativeDisplay(int64_t id,
const DisplayMode_Params& mode,
diff --git a/ui/ozone/platform/dri/native_display_delegate_dri.cc b/ui/ozone/platform/dri/native_display_delegate_dri.cc
index ba5d2ae..af18bb5 100644
--- a/ui/ozone/platform/dri/native_display_delegate_dri.cc
+++ b/ui/ozone/platform/dri/native_display_delegate_dri.cc
@@ -103,16 +103,6 @@ NativeDisplayDelegateDri::NativeDisplayDelegateDri(
NativeDisplayDelegateDri::~NativeDisplayDelegateDri() {
}
-void NativeDisplayDelegateDri::ForceDPMSOn() {
- for (size_t i = 0; i < cached_displays_.size(); ++i) {
- DisplaySnapshotDri* dri_output = cached_displays_[i];
- if (dri_output->dpms_property())
- dri_output->drm()->SetProperty(dri_output->connector(),
- dri_output->dpms_property()->prop_id,
- DRM_MODE_DPMS_ON);
- }
-}
-
void NativeDisplayDelegateDri::InitializeIOTaskRunner(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
DCHECK(!io_task_runner_);
@@ -318,6 +308,12 @@ bool NativeDisplayDelegateDri::Configure(const DisplaySnapshotDri& output,
<< " connector=" << output.connector();
return false;
}
+
+ if (output.dpms_property()) {
+ output.drm()->SetProperty(output.connector(),
+ output.dpms_property()->prop_id,
+ DRM_MODE_DPMS_ON);
+ }
} else {
if (output.dpms_property()) {
output.drm()->SetProperty(output.connector(),
diff --git a/ui/ozone/platform/dri/native_display_delegate_dri.h b/ui/ozone/platform/dri/native_display_delegate_dri.h
index da890b0..88d1cb6 100644
--- a/ui/ozone/platform/dri/native_display_delegate_dri.h
+++ b/ui/ozone/platform/dri/native_display_delegate_dri.h
@@ -36,8 +36,6 @@ class NativeDisplayDelegateDri {
void InitializeIOTaskRunner(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner);
- void ForceDPMSOn();
-
// Returns a list of the connected displays. When this is called the list of
// displays is refreshed.
std::vector<DisplaySnapshot_Params> GetDisplays();
diff --git a/ui/ozone/platform/dri/native_display_delegate_proxy.cc b/ui/ozone/platform/dri/native_display_delegate_proxy.cc
index 377daf9..c783f3b 100644
--- a/ui/ozone/platform/dri/native_display_delegate_proxy.cc
+++ b/ui/ozone/platform/dri/native_display_delegate_proxy.cc
@@ -136,7 +136,6 @@ void NativeDisplayDelegateProxy::SetBackgroundColor(uint32_t color_argb) {
}
void NativeDisplayDelegateProxy::ForceDPMSOn() {
- proxy_->Send(new OzoneGpuMsg_ForceDPMSOn());
}
void NativeDisplayDelegateProxy::GetDisplays(