Bug 17151

Summary: i915: 2.6.36-rc2 hoses my Intel display
Product: Drivers Reporter: Maciej Rutecki (maciej.rutecki)
Component: Video(DRI - Intel)Assignee: drivers_video-dri-intel (drivers_video-dri-intel)
Status: CLOSED CODE_FIX    
Severity: normal CC: chris, corbet, eric, florian, maciej.rutecki, plroskin, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.36-rc2 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 16444    
Attachments: that's a preliminary patch, I'm not sure all changes are needed
minimal patch

Description Maciej Rutecki 2010-08-26 19:11:36 UTC
Subject    : i915: 2.6.36-rc2 hoses my Intel display
Submitter  : Jonathan Corbet <corbet@lwn.net>
Date       : 2010-08-23 17:01
Message-ID : 20100823110145.08eb72fd@bike.lwn.net
References : http://marc.info/?l=linux-kernel&m=128258293327326&w=2
Handled-By : Chris Wilson <chris@chris-wilson.co.uk>

This entry is being used for tracking a regression from 2.6.35. Please don't
close it until the problem is fixed in the mainline.

Caused by:

commit 32aad86fe88e7323d4fc5e9e423abcee0d55a03d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Aug 4 13:50:25 2010 +0100

    drm/i915/sdvo: Propagate errors from reading/writing control bus.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>

First-Bad-Commit : 32aad86fe88e7323d4fc5e9e423abcee0d55a03d
Comment 1 Rafael J. Wysocki 2010-08-30 20:41:19 UTC
On Monday, August 30, 2010, Jonathan Corbet wrote:
> On Mon, 30 Aug 2010 00:36:36 +0200 (CEST)
> "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> 
> > The following bug entry is on the current list of known regressions
> > from 2.6.35.  Please verify if it still should be listed and let the
> tracking team
> > know (either way).
> > 
> > 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=17151
> 
> Yes, it was still definitely not working as of just a little prior to
> -rc3.
Comment 2 Pavel Roskin 2010-09-01 00:45:09 UTC
I bisected the patch itself, and it looks like some checks in intel_sdvo_mode_set() are excessive.  I'm attaching a preliminary patch that fixes the "blurring".  It applies to 2.6.36-rc3.  I didn't try to minimize changes, but I know that the change for intel_sdvo_set_input_timing() is needed, so it must be failing.
Comment 3 Pavel Roskin 2010-09-01 00:46:42 UTC
Created attachment 28721 [details]
that's a preliminary patch, I'm not sure all changes are needed
Comment 4 Pavel Roskin 2010-09-01 21:23:56 UTC
Following calls are actually failing:

intel_sdvo_set_value() for SDVO_CMD_SET_IN_OUT_MAP
intel_sdvo_set_output_timing()
intel_sdvo_set_input_timing()

In all cases the status is SDVO_CMD_STATUS_NOTSUPP (not supported).
Comment 5 Pavel Roskin 2010-09-01 21:30:58 UTC
Created attachment 28782 [details]
minimal patch
Comment 6 Chris Wilson 2010-09-02 07:45:34 UTC
Pavel, thank you for digging in and finding the cause. Error handling ftw.

IN_OUT_MAP we can ignore (we can assume a single function device in that case, and since we have a static assignment we could move that to initialisation), but we should be concerned if we cannot set the output timing and handle that error by reporting the mode invalid.
Comment 7 Chris Wilson 2010-09-02 07:51:50 UTC
(In reply to comment #5)
> Created an attachment (id=28782) [details]
> minimal patch

Yes, I think this is the minimal patch, please send it upstream to intel-gfx@ and linux-kernel@

Reported-by: Jonathan Corbet <corbet@lwn.net>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 8 Pavel Roskin 2010-09-02 18:49:11 UTC
I've just sent the patch.

I think silent return on error is always bad, but I leave fixing it to the code maintainers.
Comment 9 Florian Mickler 2010-09-06 06:50:08 UTC
Patch: http://lkml.org/lkml/2010/9/2/315
Comment 10 Rafael J. Wysocki 2010-09-12 18:06:41 UTC
Fixed by commit c74696b9c890074c1e1ee3d7496fc71eb3680ced .