1. 12 4月, 2017 1 次提交
  2. 27 2月, 2017 1 次提交
  3. 25 11月, 2016 1 次提交
  4. 01 11月, 2016 2 次提交
  5. 22 9月, 2016 2 次提交
  6. 29 8月, 2016 1 次提交
    • C
      drm/i915/dvo: Remove dangling call to drm_encoder_cleanup() · 8a07fed4
      Chris Wilson 提交于
      If we hit the error path, we have never called drm_encoder_init() and so
      have nothing to cleanup. Doing so hits a null dereference:
      
      [   10.066261] BUG: unable to handle kernel NULL pointer dereference at 00000104
      [   10.066273] IP: [<c16054b4>] mutex_lock+0xa/0x15
      [   10.066287] *pde = 00000000
      [   10.066295] Oops: 0002 [#1]
      [   10.066302] Modules linked in: i915(+) video i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm iTCO_wdt iTCO_vendor_support ppdev evdev snd_intel8x0 snd_ac97_codec ac97_bus psmouse snd_pcm snd_timer snd pcspkr uhci_hcd ehci_pci soundcore sr_mod ehci_hcd serio_raw i2c_i801 usbcore i2c_smbus cdrom lpc_ich mfd_core rng_core e100 mii floppy parport_pc parport acpi_cpufreq button processor usb_common eeprom lm85 hwmon_vid autofs4
      [   10.066378] CPU: 0 PID: 132 Comm: systemd-udevd Not tainted 4.8.0-rc3-00013-gef0e1ea8 #34
      [   10.066389] Hardware name: MicroLink                               /D865GLC                        , BIOS BF86510A.86A.0077.P25.0508040031 08/04/2005
      [   10.066401] task: f62db800 task.stack: f5970000
      [   10.066409] EIP: 0060:[<c16054b4>] EFLAGS: 00010286 CPU: 0
      [   10.066417] EIP is at mutex_lock+0xa/0x15
      [   10.066424] EAX: 00000104 EBX: 00000104 ECX: 00000000 EDX: 80000000
      [   10.066432] ESI: 00000000 EDI: 00000104 EBP: f5be8000 ESP: f5971b58
      [   10.066439]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
      [   10.066446] CR0: 80050033 CR2: 00000104 CR3: 35945000 CR4: 000006d0
      [   10.066453] Stack:
      [   10.066459]  f503d740 f824dddf 00000000 f61170c0 f61170c0 f82371ae f850f40e 00000001
      [   10.066476]  f61170c0 f5971bcc f5be8000 f9c2d401 00000001 f8236fcc 00000001 00000000
      [   10.066491]  f5144014 f5be8104 00000008 f9c5267c 00000007 f61170c0 f5144400 f9c4ff00
      [   10.066507] Call Trace:
      [   10.066526]  [<f824dddf>] ? drm_modeset_lock_all+0x27/0xb3 [drm]
      [   10.066545]  [<f82371ae>] ? drm_encoder_cleanup+0x1a/0x132 [drm]
      [   10.066559]  [<f850f40e>] ? drm_atomic_helper_connector_reset+0x3f/0x5c [drm_kms_helper]
      [   10.066644]  [<f9c2d401>] ? intel_dvo_init+0x569/0x788 [i915]
      [   10.066663]  [<f8236fcc>] ? drm_encoder_init+0x43/0x20b [drm]
      [   10.066734]  [<f9bf1fce>] ? intel_modeset_init+0x1436/0x17dd [i915]
      [   10.066791]  [<f9b37636>] ? i915_driver_load+0x85a/0x15d3 [i915]
      [   10.066846]  [<f9b3603d>] ? i915_driver_open+0x5/0x5 [i915]
      [   10.066857]  [<c14af4d0>] ? firmware_map_add_entry.part.2+0xc/0xc
      [   10.066868]  [<c1343daf>] ? pci_device_probe+0x8e/0x11c
      [   10.066878]  [<c140cec8>] ? driver_probe_device+0x1db/0x62e
      [   10.066888]  [<c120c010>] ? kernfs_new_node+0x29/0x9c
      [   10.066897]  [<c13438e0>] ? pci_match_device+0xd9/0x161
      [   10.066905]  [<c120c48b>] ? kernfs_create_dir_ns+0x42/0x88
      [   10.066914]  [<c140d401>] ? __driver_attach+0xe6/0x11b
      [   10.066924]  [<c1303b13>] ? kobject_add_internal+0x1bb/0x44f
      [   10.066933]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066941]  [<c140a2d2>] ? bus_for_each_dev+0x46/0x7f
      [   10.066950]  [<c140c502>] ? driver_attach+0x1a/0x34
      [   10.066958]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066966]  [<c140b758>] ? bus_add_driver+0x217/0x32a
      [   10.066975]  [<f8403000>] ? 0xf8403000
      [   10.066982]  [<c140de27>] ? driver_register+0x5f/0x108
      [   10.066991]  [<c1000493>] ? do_one_initcall+0x49/0x1f6
      [   10.067000]  [<c1082299>] ? pick_next_task_fair+0x14b/0x2a3
      [   10.067008]  [<c1603c8d>] ? __schedule+0x15c/0x4fe
      [   10.067016]  [<c1604104>] ? preempt_schedule_common+0x19/0x3c
      [   10.067027]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067035]  [<c1604139>] ? _cond_resched+0x12/0x1a
      [   10.067044]  [<c116f9aa>] ? kmem_cache_alloc+0x8f/0x11f
      [   10.067052]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067060]  [<c11703dd>] ? kfree+0x137/0x203
      [   10.067068]  [<c110523d>] ? do_init_module+0x76/0x230
      [   10.067078]  [<c10cadf3>] ? load_module+0x2a39/0x333f
      [   10.067087]  [<c10cb8b2>] ? SyS_finit_module+0x96/0xd5
      [   10.067096]  [<c1132231>] ? vm_mmap_pgoff+0x79/0xa0
      [   10.067105]  [<c1001e96>] ? do_fast_syscall_32+0xb5/0x1b0
      [   10.067114]  [<c16086a6>] ? sysenter_past_esp+0x47/0x75
      [   10.067121] Code: c8 f7 76 c1 e8 8e cc d2 ff e9 45 fe ff ff 66 90 66 90 66 90 66 90 90 ff 00 7f 05 e8 4e 0c 00 00 c3 53 89 c3 e8 75 ec ff ff 89 d8 <ff> 08 79 05 e8 fa 0a 00 00 5b c3 53 89 c3 85 c0 74 1b 8b 03 83
      [   10.067180] EIP: [<c16054b4>] mutex_lock+0xa/0x15 SS:ESP 0068:f5971b58
      [   10.067190] CR2: 0000000000000104
      [   10.067222] ---[ end trace 049f1f09da45a856 ]---
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Fixes: 580d8ed5 ("drm/i915: Give encoders useful names")
      Reviewed-by: NDavid Weinehall <david.weinehall@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: drm-intel-fixes@lists.freedesktop.org
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20160823092558.14931-1-chris@chris-wilson.co.uk
      (cherry picked from commit 8f76aa0e)
      8a07fed4
  7. 24 8月, 2016 1 次提交
    • C
      drm/i915/dvo: Remove dangling call to drm_encoder_cleanup() · 8f76aa0e
      Chris Wilson 提交于
      If we hit the error path, we have never called drm_encoder_init() and so
      have nothing to cleanup. Doing so hits a null dereference:
      
      [   10.066261] BUG: unable to handle kernel NULL pointer dereference at 00000104
      [   10.066273] IP: [<c16054b4>] mutex_lock+0xa/0x15
      [   10.066287] *pde = 00000000
      [   10.066295] Oops: 0002 [#1]
      [   10.066302] Modules linked in: i915(+) video i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm iTCO_wdt iTCO_vendor_support ppdev evdev snd_intel8x0 snd_ac97_codec ac97_bus psmouse snd_pcm snd_timer snd pcspkr uhci_hcd ehci_pci soundcore sr_mod ehci_hcd serio_raw i2c_i801 usbcore i2c_smbus cdrom lpc_ich mfd_core rng_core e100 mii floppy parport_pc parport acpi_cpufreq button processor usb_common eeprom lm85 hwmon_vid autofs4
      [   10.066378] CPU: 0 PID: 132 Comm: systemd-udevd Not tainted 4.8.0-rc3-00013-gef0e1ea8 #34
      [   10.066389] Hardware name: MicroLink                               /D865GLC                        , BIOS BF86510A.86A.0077.P25.0508040031 08/04/2005
      [   10.066401] task: f62db800 task.stack: f5970000
      [   10.066409] EIP: 0060:[<c16054b4>] EFLAGS: 00010286 CPU: 0
      [   10.066417] EIP is at mutex_lock+0xa/0x15
      [   10.066424] EAX: 00000104 EBX: 00000104 ECX: 00000000 EDX: 80000000
      [   10.066432] ESI: 00000000 EDI: 00000104 EBP: f5be8000 ESP: f5971b58
      [   10.066439]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
      [   10.066446] CR0: 80050033 CR2: 00000104 CR3: 35945000 CR4: 000006d0
      [   10.066453] Stack:
      [   10.066459]  f503d740 f824dddf 00000000 f61170c0 f61170c0 f82371ae f850f40e 00000001
      [   10.066476]  f61170c0 f5971bcc f5be8000 f9c2d401 00000001 f8236fcc 00000001 00000000
      [   10.066491]  f5144014 f5be8104 00000008 f9c5267c 00000007 f61170c0 f5144400 f9c4ff00
      [   10.066507] Call Trace:
      [   10.066526]  [<f824dddf>] ? drm_modeset_lock_all+0x27/0xb3 [drm]
      [   10.066545]  [<f82371ae>] ? drm_encoder_cleanup+0x1a/0x132 [drm]
      [   10.066559]  [<f850f40e>] ? drm_atomic_helper_connector_reset+0x3f/0x5c [drm_kms_helper]
      [   10.066644]  [<f9c2d401>] ? intel_dvo_init+0x569/0x788 [i915]
      [   10.066663]  [<f8236fcc>] ? drm_encoder_init+0x43/0x20b [drm]
      [   10.066734]  [<f9bf1fce>] ? intel_modeset_init+0x1436/0x17dd [i915]
      [   10.066791]  [<f9b37636>] ? i915_driver_load+0x85a/0x15d3 [i915]
      [   10.066846]  [<f9b3603d>] ? i915_driver_open+0x5/0x5 [i915]
      [   10.066857]  [<c14af4d0>] ? firmware_map_add_entry.part.2+0xc/0xc
      [   10.066868]  [<c1343daf>] ? pci_device_probe+0x8e/0x11c
      [   10.066878]  [<c140cec8>] ? driver_probe_device+0x1db/0x62e
      [   10.066888]  [<c120c010>] ? kernfs_new_node+0x29/0x9c
      [   10.066897]  [<c13438e0>] ? pci_match_device+0xd9/0x161
      [   10.066905]  [<c120c48b>] ? kernfs_create_dir_ns+0x42/0x88
      [   10.066914]  [<c140d401>] ? __driver_attach+0xe6/0x11b
      [   10.066924]  [<c1303b13>] ? kobject_add_internal+0x1bb/0x44f
      [   10.066933]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066941]  [<c140a2d2>] ? bus_for_each_dev+0x46/0x7f
      [   10.066950]  [<c140c502>] ? driver_attach+0x1a/0x34
      [   10.066958]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066966]  [<c140b758>] ? bus_add_driver+0x217/0x32a
      [   10.066975]  [<f8403000>] ? 0xf8403000
      [   10.066982]  [<c140de27>] ? driver_register+0x5f/0x108
      [   10.066991]  [<c1000493>] ? do_one_initcall+0x49/0x1f6
      [   10.067000]  [<c1082299>] ? pick_next_task_fair+0x14b/0x2a3
      [   10.067008]  [<c1603c8d>] ? __schedule+0x15c/0x4fe
      [   10.067016]  [<c1604104>] ? preempt_schedule_common+0x19/0x3c
      [   10.067027]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067035]  [<c1604139>] ? _cond_resched+0x12/0x1a
      [   10.067044]  [<c116f9aa>] ? kmem_cache_alloc+0x8f/0x11f
      [   10.067052]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067060]  [<c11703dd>] ? kfree+0x137/0x203
      [   10.067068]  [<c110523d>] ? do_init_module+0x76/0x230
      [   10.067078]  [<c10cadf3>] ? load_module+0x2a39/0x333f
      [   10.067087]  [<c10cb8b2>] ? SyS_finit_module+0x96/0xd5
      [   10.067096]  [<c1132231>] ? vm_mmap_pgoff+0x79/0xa0
      [   10.067105]  [<c1001e96>] ? do_fast_syscall_32+0xb5/0x1b0
      [   10.067114]  [<c16086a6>] ? sysenter_past_esp+0x47/0x75
      [   10.067121] Code: c8 f7 76 c1 e8 8e cc d2 ff e9 45 fe ff ff 66 90 66 90 66 90 66 90 90 ff 00 7f 05 e8 4e 0c 00 00 c3 53 89 c3 e8 75 ec ff ff 89 d8 <ff> 08 79 05 e8 fa 0a 00 00 5b c3 53 89 c3 85 c0 74 1b 8b 03 83
      [   10.067180] EIP: [<c16054b4>] mutex_lock+0xa/0x15 SS:ESP 0068:f5971b58
      [   10.067190] CR2: 0000000000000104
      [   10.067222] ---[ end trace 049f1f09da45a856 ]---
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Fixes: 580d8ed5 ("drm/i915: Give encoders useful names")
      Reviewed-by: NDavid Weinehall <david.weinehall@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: drm-intel-fixes@lists.freedesktop.org
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20160823092558.14931-1-chris@chris-wilson.co.uk
      8f76aa0e
  8. 23 8月, 2016 3 次提交
  9. 04 7月, 2016 1 次提交
  10. 24 6月, 2016 2 次提交
  11. 19 6月, 2016 1 次提交
  12. 11 6月, 2016 1 次提交
  13. 30 5月, 2016 1 次提交
  14. 11 12月, 2015 1 次提交
  15. 18 11月, 2015 2 次提交
  16. 30 9月, 2015 3 次提交
  17. 26 8月, 2015 1 次提交
  18. 14 8月, 2015 2 次提交
  19. 27 7月, 2015 1 次提交
  20. 29 4月, 2015 1 次提交
    • C
      drm/i915: Silence compiler warning in dvo · 699ab787
      Chris Wilson 提交于
      drivers/gpu/drm/i915/intel_dvo.c: In function ‘intel_dvo_init’:
      drivers/gpu/drm/i915/intel_dvo.c:531:8: warning: array subscript is above array bounds [-Warray-bounds]
      
      gcc -v
      Using built-in specs.
      COLLECT_GCC=gcc
      COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
      Target: x86_64-linux-gnu
      Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5'
      --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
      --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr
      --program-suffix=-4.7 --enable-shared --enable-linker-build-id
      --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
      --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7
      --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
      --enable-libstdcxx-debug --enable-libstdcxx-time=yes
      --enable-gnu-unique-object --enable-plugin --enable-objc-gc
      --with-arch-32=i586 --with-tune=generic --enable-checking=release
      --build=x86_64-linux-gnu --host=x86_64-linux-gnu
      --target=x86_64-linux-gnu
      Thread model: posix
      
      and
      
      gcc -v
      Using built-in specs.
      COLLECT_GCC=gcc
      COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.8/lto-wrapper
      Target: i686-linux-gnu
      Configured with: ../src/configure -v --with-pkgversion='Ubuntu
      4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
      --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
      --program-suffix=-4.8 --enable-shared --enable-linker-build-id
      --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
      --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib
      --enable-nls --with-sysroot=/ --enable-clocale=gnu
      --enable-libstdcxx-debug --enable-libstdcxx-time=yes
      --enable-gnu-unique-object --disable-libmudflap --enable-plugin
      --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
      --enable-gtk-cairo
      --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386/jre
      --enable-java-home
      --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386
      --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-i386
      --with-arch-directory=i386
      --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc
      --enable-targets=all --enable-multiarch --disable-werror
      --with-arch-32=i686 --with-multilib-list=m32,m64,mx32
      --with-tune=generic --enable-checking=release --build=i686-linux-gnu
      --host=i686-linux-gnu --target=i686-linux-gnu
      Thread model: posix
      gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDave Gordon <david.s.gordon@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      699ab787
  21. 13 4月, 2015 2 次提交
  22. 01 4月, 2015 3 次提交
  23. 31 3月, 2015 1 次提交
  24. 26 3月, 2015 1 次提交
  25. 27 1月, 2015 4 次提交
    • M
      drm/i915: Add atomic_get_property entrypoint for connectors (v2) · 2545e4a6
      Matt Roper 提交于
      Even though we only support atomic plane updates at the moment, we still
      need to add an .atomic_get_property() entrypoint for connectors before
      we allow the driver to flip on the DRIVER_ATOMIC bit.  As soon as that
      bit gets set, the DRM core will start adding atomic connector properties
      (in addition to the plane properties we care about at the moment), so we
      need to be able to handle the new way the DRM core will interact with
      us.
      
      For simplicity, we just lookup driver-specific connector properties in
      the usual shadow array maintained by the core.  Once we get real atomic
      modeset support for crtc's and planes, this code should be re-written to
      pull the data out of crtc/connector state structures.
      
      v2: Fix intel_dvo and intel_dsi that I missed on the first pass (Ander)
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NAnder Conselvan de Oliveira <conselvan2@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2545e4a6
    • M
      drm/i915: Setup dummy atomic state for connectors (v3) · c6f95f27
      Matt Roper 提交于
      We want to enable/test plane updates via the atomic interface, but as
      soon as we flip DRIVER_ATOMIC on, the DRM core will take some atomic
      codepaths to lookup properties during drmModeGetConnector() and some of
      those codepaths unconditionally dereference connector->state
      (specifically when looking up the CRTC ID property in
      drm_atomic_connector_get_property()).  Create a dummy connector state
      for each connector at init time to ensure the DRM core doesn't try to
      dereference a NULL connector->state.  The actual connector properties
      will never be updated or contain useful information, but since we're
      doing this specifically for testing/debug of the plane operations (and
      only when a specific kernel module option is given), that shouldn't
      really matter.
      
      Once we start creating connector states, the DRM core will want to be
      able to clean them up for us.  We also need to hook up the destruction
      entrypoint to the core's helper.
      
      v2: Squash in the patch to set the state destruction hook (Ander & Bob)
      
      v3: Only create dummy connector states when we're actually faking
          atomic support.  (Ander)
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NAnder Conselvan de Oliveira <conselvan2@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c6f95f27
    • A
      drm/i915: Make intel_crtc->config a pointer · 6e3c9717
      Ander Conselvan de Oliveira 提交于
      To match the semantics of drm_crtc->state, which this will eventually
      become. The allocation of the memory for config will be fixed in a
      followup patch. By adding the extra _config field to intel_crtc it was
      possible to generate this entire patch with the cocci script below.
      
      @@ @@
      struct intel_crtc {
      ...
      -struct intel_crtc_state config;
      +struct intel_crtc_state _config;
      +struct intel_crtc_state *config;
      ...
      }
      @@ struct intel_crtc *crtc; @@
      -memset(&crtc->config, 0, sizeof(crtc->config));
      +memset(crtc->config, 0, sizeof(*crtc->config));
      @@ @@
      __intel_set_mode(...) {
      <...
      -to_intel_crtc(crtc)->config = *pipe_config;
      +(*(to_intel_crtc(crtc)->config)) = *pipe_config;
      ...>
      }
      @@ @@
      intel_crtc_init(...) {
      ...
      WARN_ON(drm_crtc_index(&intel_crtc->base) != intel_crtc->pipe);
      +intel_crtc->config = &intel_crtc->_config;
      return;
      ...
      }
      @@ struct intel_crtc *crtc; @@
      -&crtc->config
      +crtc->config
      @@ struct intel_crtc *crtc; identifier member; @@
      -crtc->config.member
      +crtc->config->member
      @@ expression E; @@
      -&(to_intel_crtc(E)->config)
      +to_intel_crtc(E)->config
      @@ expression E; identifier member; @@
      -to_intel_crtc(E)->config.member
      +to_intel_crtc(E)->config->member
      
      v2: Clarify manual changes by splitting them into another patch. (Matt)
          Improve cocci script to generate even more of the changes. (Ander)
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6e3c9717
    • A
      drm/i915: Embedded struct drm_crtc_state in intel_crtc_state · 2d112de7
      Ander Conselvan de Oliveira 提交于
      And get rid of the duplicate mode structures. This patch was generated
      with the following semantic patch:
      
      @@ @@
      struct intel_crtc_state {
      +struct drm_crtc_state base;
      +
      ...
      -struct drm_display_mode requested_mode;
      -struct drm_display_mode adjusted_mode;
      ...
      }
      @@ struct intel_crtc_state *state; @@
      -state->adjusted_mode
      +state->base.adjusted_mode
      @@ struct intel_crtc_state *state; @@
      -state->requested_mode
      +state->base.mode
      @@ struct intel_crtc_state state; @@
      -state.adjusted_mode
      +state.base.adjusted_mode
      @@ struct intel_crtc_state state; @@
      -state.requested_mode
      +state.base.mode
      @@ struct drm_crtc *crtc; @@
      -to_intel_crtc(crtc)->config.adjusted_mode
      +to_intel_crtc(crtc)->config.base.adjusted_mode
      @@ identifier member; expression E; @@
      -PIPE_CONF_CHECK_FLAGS(adjusted_mode.member, E);
      +PIPE_CONF_CHECK_FLAGS(base.adjusted_mode.member, E);
      @@ identifier member; @@
      -PIPE_CONF_CHECK_I(adjusted_mode.member);
      +PIPE_CONF_CHECK_I(base.adjusted_mode.member);
      @@ identifier member; @@
      -PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.member);
      +PIPE_CONF_CHECK_CLOCK_FUZZY(base.adjusted_mode.member);
      
      v2: Completely generate the patch with cocci. (Ander)
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2d112de7