drm/i915/opregion: proper handling of DIDL and CADL

Submitted by Jani Nikula on March 23, 2016, 10:54 a.m.

Details

Reviewer None
Submitted March 23, 2016, 10:54 a.m.
Last Updated June 29, 2016, 4:23 p.m.
Revision 4

Cover Letter(s)

Revision 1
      This hopefully handles DIDL and CADL as they're supposed to be
handled. I haven't had the time to give this testing (thus RFC only),
and also I don't have a machine that actually suffers from the CADL not
being handled properly.

BR,
Jani.

References: http://mid.gmane.org/563B7E31.60200@redhat.com


Jani Nikula (5):
  drm/i915/opregion: add acpi defines from the spec
  drm/i915/opregion: abstract acpi display type getter for a connector
  drm/i915/opregion: handle missing connector types for acpi display
    types
  drm/i915: make i915 the source of acpi device ids for _DOD
  drm/i915/opregion: update cadl based on actually active outputs

 drivers/gpu/drm/i915/i915_drv.h       |   2 +
 drivers/gpu/drm/i915/intel_display.c  |   2 +
 drivers/gpu/drm/i915/intel_drv.h      |   3 +
 drivers/gpu/drm/i915/intel_opregion.c | 235 +++++++++++++++++-----------------
 4 files changed, 127 insertions(+), 115 deletions(-)
    
Revision 2
      This is v2 of [1].

Peter, sorry it took me so long to get back to this. Please confirm your
reviewed-and-tested-by on the series.

Maarten, I'm not confident patch 5/5 is the best way to do this. Any
suggestions?


BR,
Jani.


[1] http://mid.gmane.org/cover.1458731538.git.jani.nikula@intel.com

Jani Nikula (5):
  drm/i915/opregion: add acpi defines from the spec
  drm/i915/opregion: abstract acpi display type getter for a connector
  drm/i915/opregion: handle missing connector types for acpi display
    types
  drm/i915: make i915 the source of acpi device ids for _DOD
  drm/i915/opregion: update cadl based on actually active outputs

 drivers/gpu/drm/i915/i915_drv.h       |   2 +
 drivers/gpu/drm/i915/intel_display.c  |   2 +
 drivers/gpu/drm/i915/intel_drv.h      |   3 +
 drivers/gpu/drm/i915/intel_opregion.c | 235 +++++++++++++++++-----------------
 4 files changed, 126 insertions(+), 116 deletions(-)
    
Revision 4
      This is v4 of [1]. The first three have already been pushed to
drm-intel-next-queued. The only change here is the atomic commit.

Review and testing would be much appreciated to move this forward. For
testing, I've pushed this to opregion-didl-v4 branch of my repo at [2].

Maarten, please check the hunk touching the atomic code in patch 2.

BR,
Jani.


[1] http://mid.gmane.org/cover.1465810007.git.jani.nikula@intel.com
[2] https://cgit.freedesktop.org/~jani/drm/

Jani Nikula (2):
  drm/i915: make i915 the source of acpi device ids for _DOD
  drm/i915/opregion: update cadl based on actually active outputs

 drivers/gpu/drm/i915/i915_drv.h       |   2 +
 drivers/gpu/drm/i915/intel_display.c  |   4 +
 drivers/gpu/drm/i915/intel_drv.h      |   3 +
 drivers/gpu/drm/i915/intel_opregion.c | 155 +++++++++++++---------------------
 4 files changed, 69 insertions(+), 95 deletions(-)
    

Revisions

Patches download mbox

Tests

Series 4783v1 drm/i915/opregion: proper handling of DIDL and CADL
http://patchwork.freedesktop.org/api/1.0/series/4783/revisions/1/mbox/

Test drv_hangman:
        Subgroup error-state-basic:
                pass       -> FAIL       (ilk-hp8440p)
Test gem_exec_suspend:
        Subgroup basic-s3:
                dmesg-warn -> PASS       (bsw-nuc-2)
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-c:
                pass       -> DMESG-WARN (bsw-nuc-2)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-WARN (bsw-nuc-2)
        Subgroup basic-rte:
                dmesg-warn -> PASS       (bsw-nuc-2)

bdw-nuci7        total:192  pass:180  dwarn:0   dfail:0   fail:0   skip:12 
bdw-ultra        total:192  pass:171  dwarn:0   dfail:0   fail:0   skip:21 
bsw-nuc-2        total:192  pass:153  dwarn:2   dfail:0   fail:0   skip:37 
byt-nuc          total:192  pass:157  dwarn:0   dfail:0   fail:0   skip:35 
hsw-brixbox      total:192  pass:170  dwarn:0   dfail:0   fail:0   skip:22 
hsw-gt2          total:192  pass:175  dwarn:0   dfail:0   fail:0   skip:17 
ilk-hp8440p      total:192  pass:128  dwarn:0   dfail:0   fail:1   skip:63 
skl-i7k-2        total:192  pass:169  dwarn:0   dfail:0   fail:0   skip:23 
skl-nuci5        total:192  pass:181  dwarn:0   dfail:0   fail:0   skip:11 
snb-dellxps      total:192  pass:158  dwarn:0   dfail:0   fail:0   skip:34 
snb-x220t        total:192  pass:158  dwarn:0   dfail:0   fail:1   skip:33 

Results at /archive/results/CI_IGT_test/Patchwork_1685/

d93cd8c5ded88f5907ad90f1c8cd6625ae0b00b1 drm-intel-nightly: 2016y-03m-23d-10h-01m-57s UTC integration manifest
72586fe418879aeafb3d0880807aa596e15e32d8 drm/i915/opregion: update cadl based on actually active outputs
1c6104d3f1c0aed8ed06704c64544a5e26e3f829 drm/i915: make i915 the source of acpi device ids for _DOD
3db317adc7a62e11e0363808466dd68a080af895 drm/i915/opregion: handle missing connector types for acpi display types
a02958fe5a514bad1b0ff48e89496780f22900af drm/i915/opregion: abstract acpi display type getter for a connector
4074658de308431070f5c596991635579be26ede drm/i915/opregion: add acpi defines from the spec

Patches download mbox

Tests

  CC [M]  drivers/gpu/drm/i915/intel_panel.o
  LD      drivers/usb/storage/usb-storage.o
  LD      drivers/usb/storage/built-in.o
  LD      drivers/tty/serial/8250/built-in.o
  LD      drivers/tty/vt/built-in.o
  CC [M]  drivers/gpu/drm/i915/i915_vgpu.o
  LD      drivers/tty/serial/built-in.o
  CC [M]  drivers/gpu/drm/i915/i915_dma.o
  LD      drivers/usb/built-in.o
  LD      drivers/tty/built-in.o
drivers/gpu/drm/i915/intel_display.c: In function ‘intel_atomic_commit’:
drivers/gpu/drm/i915/intel_display.c:13836:29: error: passing argument 1 of ‘intel_opregion_update_cadl’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  intel_opregion_update_cadl(dev);
                             ^
In file included from drivers/gpu/drm/i915/intel_drv.h:32:0,
                 from drivers/gpu/drm/i915/intel_display.c:36:
drivers/gpu/drm/i915/i915_drv.h:3666:13: note: expected ‘struct drm_i915_private *’ but argument is of type ‘struct drm_device *’
 extern void intel_opregion_update_cadl(struct drm_i915_private *dev_priv);
             ^
cc1: some warnings being treated as errors
scripts/Makefile.build:289: recipe for target 'drivers/gpu/drm/i915/intel_display.o' failed
make[4]: *** [drivers/gpu/drm/i915/intel_display.o] Error 1
scripts/Makefile.build:440: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:440: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:440: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:985: recipe for target 'drivers' failed
make: *** [drivers] Error 2
SERIES REVISION LOOKS STRANGE. Please double-check patch list and the ordering before proceeding.

Patches download mbox

Tests

Series 4783v3 drm/i915/opregion: proper handling of DIDL and CADL
http://patchwork.freedesktop.org/api/1.0/series/4783/revisions/3/mbox

Test gem_exec_suspend:
        Subgroup basic-s3:
                pass       -> DMESG-WARN (ro-bdw-i7-5557U)
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                dmesg-warn -> SKIP       (ro-bdw-i5-5250u)
        Subgroup suspend-read-crc-pipe-c:
                skip       -> DMESG-WARN (ro-bdw-i5-5250u)
Test pm_rpm:
        Subgroup basic-rte:
                pass       -> FAIL       (ro-skl3-i5-6260u)

fi-skl-i7-6700k  total:213  pass:188  dwarn:0   dfail:0   fail:0   skip:25 
ro-bdw-i5-5250u  total:213  pass:197  dwarn:3   dfail:0   fail:0   skip:13 
ro-bdw-i7-5557U  total:213  pass:197  dwarn:1   dfail:0   fail:0   skip:15 
ro-bdw-i7-5600u  total:213  pass:185  dwarn:0   dfail:0   fail:0   skip:28 
ro-bsw-n3050     total:213  pass:172  dwarn:0   dfail:0   fail:2   skip:39 
ro-byt-n2820     total:213  pass:173  dwarn:0   dfail:0   fail:3   skip:37 
ro-hsw-i3-4010u  total:213  pass:190  dwarn:0   dfail:0   fail:0   skip:23 
ro-hsw-i7-4770r  total:213  pass:190  dwarn:0   dfail:0   fail:0   skip:23 
ro-ilk-i7-620lm  total:213  pass:150  dwarn:0   dfail:0   fail:1   skip:62 
ro-ilk1-i5-650   total:208  pass:150  dwarn:0   dfail:0   fail:1   skip:57 
ro-skl3-i5-6260u total:213  pass:200  dwarn:1   dfail:0   fail:1   skip:11 
ro-snb-i7-2620M  total:213  pass:174  dwarn:0   dfail:0   fail:1   skip:38 
fi-bdw-i7-5557u failed to connect after reboot
fi-hsw-i7-4770k failed to connect after reboot
fi-skl-i5-6260u failed to connect after reboot
fi-snb-i7-2600 failed to connect after reboot
ro-ivb2-i7-3770 failed to connect after reboot
ro-ivb-i7-3770 failed to connect after reboot

Results at /archive/results/CI_IGT_test/RO_Patchwork_1169/

5aacd93 drm-intel-nightly: 2016y-06m-13d-09h-05m-21s UTC integration manifest
228155a drm/i915/opregion: update cadl based on actually active outputs
2e7b211 drm/i915: make i915 the source of acpi device ids for _DOD
4a92722 drm/i915/opregion: handle missing connector types for acpi display types
70f121b drm/i915/opregion: abstract acpi display type getter for a connector
8a829b0 drm/i915/opregion: add acpi defines from the spec

Patches download mbox

Tests

Series 4783v4 drm/i915/opregion: proper handling of DIDL and CADL
http://patchwork.freedesktop.org/api/1.0/series/4783/revisions/4/mbox

Test drv_module_reload_basic:
                pass       -> SKIP       (fi-skl-i5-6260u)
Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-cmd:
                pass       -> FAIL       (ro-byt-n2820)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (ro-bdw-i7-5557U)

fi-kbl-qkkr      total:229  pass:161  dwarn:29  dfail:0   fail:0   skip:39 
fi-skl-i5-6260u  total:229  pass:201  dwarn:0   dfail:0   fail:2   skip:26 
fi-snb-i7-2600   total:229  pass:174  dwarn:0   dfail:0   fail:2   skip:53 
ro-bdw-i5-5250u  total:229  pass:202  dwarn:1   dfail:1   fail:2   skip:23 
ro-bdw-i7-5557U  total:229  pass:201  dwarn:1   dfail:1   fail:3   skip:23 
ro-bdw-i7-5600u  total:229  pass:190  dwarn:0   dfail:1   fail:0   skip:38 
ro-bsw-n3050     total:229  pass:177  dwarn:0   dfail:1   fail:2   skip:49 
ro-byt-n2820     total:229  pass:178  dwarn:0   dfail:1   fail:5   skip:45 
ro-hsw-i3-4010u  total:229  pass:195  dwarn:0   dfail:1   fail:2   skip:31 
ro-hsw-i7-4770r  total:229  pass:195  dwarn:0   dfail:1   fail:2   skip:31 
ro-ilk-i7-620lm  total:229  pass:155  dwarn:0   dfail:1   fail:3   skip:70 
ro-ilk1-i5-650   total:224  pass:155  dwarn:0   dfail:1   fail:3   skip:65 
ro-skl3-i5-6260u total:229  pass:206  dwarn:1   dfail:1   fail:2   skip:19 
ro-snb-i7-2620M  total:229  pass:179  dwarn:0   dfail:1   fail:1   skip:48 
fi-hsw-i7-4770k failed to connect after reboot
fi-skl-i7-6700k failed to connect after reboot
ro-ivb2-i7-3770 failed to connect after reboot
ro-ivb-i7-3770 failed to connect after reboot

Results at /archive/results/CI_IGT_test/RO_Patchwork_1333/

63f6b6c drm-intel-nightly: 2016y-06m-29d-14h-53m-39s UTC integration manifest
538feac drm/i915/opregion: update cadl based on actually active outputs
2d1aff8 drm/i915: make i915 the source of acpi device ids for _DOD