Revert "drm: copy mode type in drm_mode_connector_list_update()"
diff mbox

Message ID 1385545023-3527-1-git-send-email-daniel.vetter@ffwll.ch
State New, archived
Headers show

Commit Message

Daniel Vetter Nov. 27, 2013, 9:37 a.m. UTC
This reverts commit 3fbd6439e4639ecaeaae6c079e0aa497a1ac3482.

This breaks the boot on my g33 here, right when the initial modeset
happens. The modeset seems to complete (the external screen lights up
at the native resolution), but then the box is dead.

Strangely enough when delaying disabling modesetting and manually
loading the driver later on everything is perfectly fine. I've run out
of clues, ideas highly welcome. At least the revert here gets my box
going again.

Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_modes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chris Wilson Nov. 27, 2013, 9:58 a.m. UTC | #1
On Wed, Nov 27, 2013 at 10:37:03AM +0100, Daniel Vetter wrote:
> This reverts commit 3fbd6439e4639ecaeaae6c079e0aa497a1ac3482.
> 
> This breaks the boot on my g33 here, right when the initial modeset
> happens. The modeset seems to complete (the external screen lights up
> at the native resolution), but then the box is dead.
> 
> Strangely enough when delaying disabling modesetting and manually
> loading the driver later on everything is perfectly fine. I've run out
> of clues, ideas highly welcome. At least the revert here gets my box
> going again.

Out of curiousity, what does the debug say the two modes being merged are?
-Chris
Daniel Vetter Nov. 27, 2013, 3:46 p.m. UTC | #2
On Wed, Nov 27, 2013 at 10:58 AM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Wed, Nov 27, 2013 at 10:37:03AM +0100, Daniel Vetter wrote:
>> This reverts commit 3fbd6439e4639ecaeaae6c079e0aa497a1ac3482.
>>
>> This breaks the boot on my g33 here, right when the initial modeset
>> happens. The modeset seems to complete (the external screen lights up
>> at the native resolution), but then the box is dead.
>>
>> Strangely enough when delaying disabling modesetting and manually
>> loading the driver later on everything is perfectly fine. I've run out
>> of clues, ideas highly welcome. At least the revert here gets my box
>> going again.
>
> Out of curiousity, what does the debug say the two modes being merged are?

The old mode somehow has the preferred mode bit whereas the
replacement mode doesn't have it. This happens on the sdvo hdmi port.
I have no idea why this really matters, since like I've said
modesetting works fine anytime afterwards.

I'm stumped.
-Daniel

Patch
diff mbox

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 85071a1c4547..b0733153dfd2 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -1041,7 +1041,7 @@  void drm_mode_connector_list_update(struct drm_connector *connector)
 				/* if equal delete the probed mode */
 				mode->status = pmode->status;
 				/* Merge type bits together */
-				mode->type = pmode->type;
+				mode->type |= pmode->type;
 				list_del(&pmode->head);
 				drm_mode_destroy(connector->dev, pmode);
 				break;