Summary: | Intel GM965 internal display cropped and scaled incorrectly | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Sean Greenslade <sean> | ||||||||
Component: | DRM/Intel | Assignee: | Ville Syrjala <ville.syrjala> | ||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||
Severity: | major | ||||||||||
Priority: | medium | CC: | intel-gfx-bugs, sean | ||||||||
Version: | DRI git | ||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | I965GM | i915 features: | display/LVDS | ||||||||
Attachments: |
|
Description
Sean Greenslade
2016-08-22 20:21:01 UTC
Created attachment 125961 [details]
dmesg output of a boot on the bad commit
Created attachment 125962 [details]
dmesg output (with drm.debug) of a boot on the bad commit
This in particular from the debug log is suspicious: 1114 [ 20.020773] [drm:intel_fb_initial_config] looking for cmdline mode on connector LVDS-1 1115 [ 20.020775] [drm:intel_fb_initial_config] looking for preferred mode on connector LVDS-1 0 1116 [ 20.020777] [drm:intel_fb_initial_config] connector LVDS-1 on pipe B [CRTC:29]: 1280x1024 1117 [ 20.020779] [drm:intel_fb_initial_config] connector VGA-1 not enabled, skipping 1118 [ 20.020781] [drm:drm_setup_crtcs] desired mode 1280x1024 set on crtc 29 (0,0) The panel's native resolution is 1024x768. Xrandr reports the following: Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767 LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1280x1024 59.68 + 1280x960 60.00 1024x768 60.00* 800x600 60.32 56.25 640x512 60.00 640x480 59.94 VGA1 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis) Dang. Can you try git://github.com/vsyrjala/linux.git opregion_panel_type_stuff I'm not expecting it would really fix the problem, but it will at least show us the full response from the BIOS. Thanks for looking into this. I built the linked branch and tested it (still bad, as expected). The line of interest is: [ 18.780038] [drm:swsci] GBDA get panel details 0x00000020 0x00020400 (In reply to Sean Greenslade from comment #5) > Thanks for looking into this. I built the linked branch and tested it (still > bad, as expected). The line of interest is: > > [ 18.780038] [drm:swsci] GBDA get panel details 0x00000020 0x00020400 Thanks. I pushed a new patch to the branch which I think should get us back on track with your machine. So please pull again, and retest. I don't really know if it's any more correct than the current code though, and I don't yet know if it works for the original machine that needs the opregion panel type. The new commit works for me. I am still quite curious about the panel details reserved bit. According to the ACPI IGD OpRegion spec, the panel details bit 17 is reserved 0, but on all three Intel graphics laptops I own (from three different vendors and three different CPU generations), it is set to 1. (Table 7-24 SWSCI Mailbox, PARM Offset – Panel Details) Is the spec sheet I'm looking at out of date? Does that bit mean something else? (In reply to Sean Greenslade from comment #7) > The new commit works for me. > > I am still quite curious about the panel details reserved bit. According to > the ACPI IGD OpRegion spec, the panel details bit 17 is reserved 0, but on > all three Intel graphics laptops I own (from three different vendors and > three different CPU generations), it is set to 1. (Table 7-24 SWSCI Mailbox, > PARM Offset – Panel Details) Is the spec sheet I'm looking at out of date? > Does that bit mean something else? I don't know. I've not found any version of the spec that would show the bit as being anything but reserved. I had to resort to a quirk to fix this for all machines. Please test this branch: git://github.com/vsyrjala/linux.git opregion_panel_type_quirk Yes, the -quirk branch works for me. Feel free to add my Tested-by. Tested-by: Sean Greenslade <sean@seangreenslade.com> (In reply to Sean Greenslade from comment #10) > Yes, the -quirk branch works for me. Feel free to add my Tested-by. > > Tested-by: Sean Greenslade <sean@seangreenslade.com> I had to revise the patch a bit more to make it actually work on the original machine that needs the quirk: git://github.com/vsyrjala/linux.git opregion_panel_type_quirk_2 Please test to make sure I didn't fumble anything for other machines. Fingers crossed that this is the last revision... All good. For branch opregion_panel_type_quirk_2 (current HEAD 1138c4d8382f0): Tested-by: Sean Greenslade <sean@seangreenslade.com> Thanks for all your work on this. Patch submitted and under review: https://patchwork.freedesktop.org/series/12380/ Resolving as fixed due to re-test feedback and waiting for patch to be merged and tested to close it. (In reply to yann from comment #14) > Resolving as fixed due to re-test feedback and waiting for patch to be > merged and tested to close it. Please let's resolve fixed only after the patch has been merged. Thanks. Fixed by commit ea54ff4008892b46c7a3e6bc8ab8aaec9d198639 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Tue Sep 13 12:22:19 2016 +0300 drm/i915: Ignore OpRegion panel type except on select machines in drm-intel-fixes. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.