From mboxrd@z Thu Jan 1 00:00:00 1970 From: Forest Bond Subject: [PATCH 3/3] gma500: Consider CRTC initially active. Date: Sat, 11 Aug 2012 08:16:06 -0400 Message-ID: <20120811121606.GE3089@alittletooquiet.net> References: <20120811121454.GC3089@alittletooquiet.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from storm.alittletooquiet.net (storm.alittletooquiet.net [67.23.28.199]) by gabe.freedesktop.org (Postfix) with ESMTP id 3C2C89EF4D for ; Sat, 11 Aug 2012 05:23:33 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20120811121454.GC3089@alittletooquiet.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: David Airlie Cc: dri-devel@lists.freedesktop.org, Alan Cox List-Id: dri-devel@lists.freedesktop.org From: Forest Bond This causes the pipe to be forced off prior to initial mode set, which roughly mirrors the behavior of the i915 driver. It fixes initial mode setting on my Intel DN2800MT (Cedarview) board. Without it, mode setting triggers an out-of-range error from the monitor for most modes, but only on initial configuration (i.e. they can be configured successfully from userspace after that). Signed-off-by: Forest Bond --- drivers/gpu/drm/gma500/psb_intel_display.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c index 30dc22a..8033526 100644 --- a/drivers/gpu/drm/gma500/psb_intel_display.c +++ b/drivers/gpu/drm/gma500/psb_intel_display.c @@ -1362,6 +1362,9 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe, (struct drm_connector **) (psb_intel_crtc + 1); psb_intel_crtc->mode_set.num_connectors = 0; psb_intel_cursor_init(dev, psb_intel_crtc); + + /* Set to true so that the pipe is forced off on initial config. */ + psb_intel_crtc->active = true; } int psb_intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, -- 1.7.0.4