1. 03 3月, 2017 5 次提交
  2. 02 3月, 2017 3 次提交
  3. 27 2月, 2017 3 次提交
  4. 23 2月, 2017 2 次提交
    • A
      drm/i915/glk: Pass dev_priv to intel_atomic_setup_scalers() · 6ebc6923
      Ander Conselvan de Oliveira 提交于
      Pass dev_priv to intel_atomic_setup_scalers(). The next patch will need
      a dev_priv pointer.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170223071600.14356-4-ander.conselvan.de.oliveira@intel.com
      6ebc6923
    • A
      drm/i915/glk: Fix maximum scaling factor for Geminilake scalers · 5b7280f0
      Ander Conselvan de Oliveira 提交于
      Geminilake can output two pixels per clock, and that affects the maximum
      scaling factor for its scalers. Take that into account and avoid the
      following warning:
      
      WARNING: CPU: 1 PID: 593 at drivers/gpu/drm/i915/intel_display.c:13223 skl_max_scale.part.129+0x78/0x80 [i915]
      WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
      Modules linked in: x86_pkg_temp_thermal i915 coretemp kvm_intel kvm i2c_algo_bit drm_kms_helper irqbypass crct10dif_pclmul prime_numbers crc32_pclmul drm ghash_clmulni_intel shpchp tpm_tis tpm_tis_core tpm nfsd authw
      CPU: 1 PID: 593 Comm: kworker/u8:3 Tainted: G        W       4.10.0-rc8ander+ #330
      Hardware name: Intel Corp. Geminilake/GLK RVP1 DDR4 (05), BIOS GELKRVPA.X64.0035.B33.1702150552 02/15/2017
      Workqueue: events_unbound async_run_entry_fn
      Call Trace:
       dump_stack+0x86/0xc3
       __warn+0xcb/0xf0
       warn_slowpath_fmt+0x5f/0x80
       skl_max_scale.part.129+0x78/0x80 [i915]
       intel_check_primary_plane+0xa6/0xc0 [i915]
       intel_plane_atomic_check_with_state+0xd1/0x1a0 [i915]
       ? drm_printk+0xb5/0xc0 [drm]
       intel_plane_atomic_check+0x3d/0x80 [i915]
       drm_atomic_helper_check_planes+0x7c/0x200 [drm_kms_helper]
       intel_atomic_check+0xa5b/0x11a0 [i915]
       drm_atomic_check_only+0x353/0x600 [drm]
       ? drm_atomic_add_affected_connectors+0x10c/0x120 [drm]
       drm_atomic_commit+0x18/0x50 [drm]
       restore_fbdev_mode+0x14c/0x2a0 [drm_kms_helper]
       drm_fb_helper_restore_fbdev_mode_unlocked+0x34/0x80 [drm_kms_helper]
       drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
       intel_fbdev_set_par+0x1a/0x70 [i915]
       fbcon_init+0x582/0x610
       visual_init+0xd6/0x130
       do_bind_con_driver+0x1da/0x3c0
       do_take_over_console+0x116/0x180
       do_fbcon_takeover+0x5c/0xb0
       fbcon_event_notify+0x772/0x8a0
       ? __blocking_notifier_call_chain+0x35/0x70
       notifier_call_chain+0x4a/0x70
       __blocking_notifier_call_chain+0x4d/0x70
       blocking_notifier_call_chain+0x16/0x20
       fb_notifier_call_chain+0x1b/0x20
       register_framebuffer+0x278/0x360
       drm_fb_helper_initial_config+0x253/0x440 [drm_kms_helper]
       intel_fbdev_initial_config+0x18/0x30 [i915]
       async_run_entry_fn+0x39/0x170
       process_one_work+0x212/0x670
       ? process_one_work+0x197/0x670
       worker_thread+0x4e/0x490
       kthread+0x101/0x140
       ? process_one_work+0x670/0x670
       ? kthread_create_on_node+0x60/0x60
       ret_from_fork+0x31/0x40
      
      v2: s/max_pixclk/max_dotclk/ (Ville)
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170223071600.14356-3-ander.conselvan.de.oliveira@intel.com
      5b7280f0
  5. 22 2月, 2017 3 次提交
  6. 20 2月, 2017 1 次提交
  7. 17 2月, 2017 3 次提交
  8. 15 2月, 2017 1 次提交
  9. 14 2月, 2017 2 次提交
    • T
      drm/i915: Emit to ringbuffer directly · 73dec95e
      Tvrtko Ursulin 提交于
      This removes the usage of intel_ring_emit in favour of
      directly writing to the ring buffer.
      
      intel_ring_emit was preventing the compiler for optimising
      fetch and increment of the current ring buffer pointer and
      therefore generating very verbose code for every write.
      
      It had no useful purpose since all ringbuffer operations
      are started and ended with intel_ring_begin and
      intel_ring_advance respectively, with no bail out in the
      middle possible, so it is fine to increment the tail in
      intel_ring_begin and let the code manage the pointer
      itself.
      
      Useless instruction removal amounts to approximately
      two and half kilobytes of saved text on my build.
      
      Not sure if this has any measurable performance
      implications but executing a ton of useless instructions
      on fast paths cannot be good.
      
      v2:
       * Change return from intel_ring_begin to error pointer by
         popular demand.
       * Move tail increment to intel_ring_advance to enable some
         error checking.
      
      v3:
       * Move tail advance back into intel_ring_begin.
       * Rebase and tidy.
      
      v4:
       * Complete rebase after a few months since v3.
      
      v5:
       * Remove unecessary cast and fix !debug compile. (Chris Wilson)
      
      v6:
       * Make intel_ring_offset take request as well.
       * Fix recording of request postfix plus a sprinkle of asserts.
         (Chris Wilson)
      
      v7:
       * Use intel_ring_offset to get the postfix. (Chris Wilson)
       * Convert GVT code as well.
      
      v8:
       * Rename *out++ to *cs++.
      
      v9:
       * Fix GVT out to cs conversion in GVT.
      
      v10:
       * Rebase for new intel_ring_begin in selftests.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Zhi Wang <zhi.a.wang@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170214113242.29241-1-tvrtko.ursulin@linux.intel.com
      73dec95e
    • A
      drm/i915: Convert remaining users of 32bit power domain masks · d2d15016
      Ander Conselvan de Oliveira 提交于
      I screwed up the rebase of commit d8fc70b7 ("drm/i915: Make power
      domain masks 64 bit long") before sending v2, causing a couple of
      conversions from 32 to 64 bit masks to be lost.
      
      Fixes: d8fc70b7 ("drm/i915: Make power domain masks 64 bit long")
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: intel-gfx@lists.freedesktop.org
      Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170213145733.8779-1-ander.conselvan.de.oliveira@intel.com
      d2d15016
  10. 11 2月, 2017 1 次提交
  11. 10 2月, 2017 1 次提交
  12. 09 2月, 2017 9 次提交
  13. 08 2月, 2017 2 次提交
  14. 06 2月, 2017 1 次提交
  15. 02 2月, 2017 1 次提交
    • M
      drm/i915: Fix POWER_DOMAIN_AUDIO refcounting. · 37255d8d
      Maarten Lankhorst 提交于
      If the crtc was brought up with audio before the driver loads,
      then crtc_disable will remove a refcount to audio that doesn't exist
      before.
      
      Fortunately we already set power domains on readout, so we can just add
      the power domain handling to get_crtc_power_domains, which will update
      the power domains correctly in all cases.
      
      This was found when testing module reload on CI with the crtc enabled,
      which resulted in the following warn after module reload + modeset:
      
      [   24.197041] ------------[ cut here ]------------
      [   24.197075] WARNING: CPU: 0 PID: 99 at drivers/gpu/drm/i915/intel_runtime_pm.c:1790 intel_display_power_put+0x134/0x140 [i915]
      [   24.197076] Use count on domain AUDIO is already zero
      [   24.197098] CPU: 0 PID: 99 Comm: kworker/u8:2 Not tainted 4.9.0-CI-Trybot_393+ #1
      [   24.197099] Hardware name:                  /NUC6i5SYB, BIOS SYSKLi35.86A.0042.2016.0409.1246 04/09/2016
      [   24.197102] Workqueue: events_unbound async_run_entry_fn
      [   24.197105]  ffffc900003c7688 ffffffff81435b35 ffffc900003c76d8 0000000000000000
      [   24.197107]  ffffc900003c76c8 ffffffff8107e4d6 000006fe5dc36f28 ffff88025dc30054
      [   24.197109]  ffff88025dc36f28 ffff88025dc30000 ffff88025dc30000 0000000000000015
      [   24.197110] Call Trace:
      [   24.197113]  [<ffffffff81435b35>] dump_stack+0x67/0x92
      [   24.197116]  [<ffffffff8107e4d6>] __warn+0xc6/0xe0
      [   24.197118]  [<ffffffff8107e53a>] warn_slowpath_fmt+0x4a/0x50
      [   24.197149]  [<ffffffffa039b4b4>] intel_display_power_put+0x134/0x140 [i915]
      [   24.197187]  [<ffffffffa04217dd>] intel_disable_ddi+0x4d/0x80 [i915]
      [   24.197223]  [<ffffffffa03f388f>] intel_encoders_disable.isra.74+0x7f/0x90 [i915]
      [   24.197257]  [<ffffffffa03f6c05>] haswell_crtc_disable+0x55/0x170 [i915]
      [   24.197292]  [<ffffffffa03fec88>] intel_atomic_commit_tail+0x108/0xfd0 [i915]
      [   24.197295]  [<ffffffff810d47c6>] ? __lock_is_held+0x66/0x90
      [   24.197330]  [<ffffffffa03fff79>] intel_atomic_commit+0x429/0x560 [i915]
      [   24.197332]  [<ffffffff81570186>] ?drm_atomic_add_affected_connectors+0x56/0xf0
      [   24.197334]  [<ffffffff8156f726>] drm_atomic_commit+0x46/0x50
      [   24.197336]  [<ffffffff81553f87>] restore_fbdev_mode+0x147/0x270
      [   24.197337]  [<ffffffff81555bee>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70
      [   24.197339]  [<ffffffff81555aa8>] drm_fb_helper_set_par+0x28/0x50
      [   24.197374]  [<ffffffffa041c7d3>] intel_fbdev_set_par+0x13/0x70 [i915]
      [   24.197376]  [<ffffffff8149e07a>] fbcon_init+0x57a/0x600
      [   24.197379]  [<ffffffff81514b71>] visual_init+0xd1/0x130
      [   24.197381]  [<ffffffff8151603c>] do_bind_con_driver+0x1bc/0x3a0
      [   24.197384]  [<ffffffff81516521>] do_take_over_console+0x111/0x180
      [   24.197386]  [<ffffffff8149e152>] do_fbcon_takeover+0x52/0xb0
      [   24.197387]  [<ffffffff814a12c3>] fbcon_event_notify+0x723/0x850
      [   24.197390]  [<ffffffff810a4830>] ?__blocking_notifier_call_chain+0x30/0x70
      [   24.197392]  [<ffffffff810a44a4>] notifier_call_chain+0x34/0xa0
      [   24.197394]  [<ffffffff810a4848>] __blocking_notifier_call_chain+0x48/0x70
      [   24.197397]  [<ffffffff810a4881>] blocking_notifier_call_chain+0x11/0x20
      [   24.197398]  [<ffffffff814a4556>] fb_notifier_call_chain+0x16/0x20
      [   24.197400]  [<ffffffff814a678c>] register_framebuffer+0x24c/0x330
      [   24.197402]  [<ffffffff815558d9>] drm_fb_helper_initial_config+0x219/0x3c0
      [   24.197436]  [<ffffffffa041d373>] intel_fbdev_initial_config+0x13/0x30 [i915]
      [   24.197438]  [<ffffffff810a5d44>] async_run_entry_fn+0x34/0x140
      [   24.197440]  [<ffffffff8109c26c>] process_one_work+0x1ec/0x6b0
      [   24.197442]  [<ffffffff8109c1e6>] ? process_one_work+0x166/0x6b0
      [   24.197445]  [<ffffffff8109c779>] worker_thread+0x49/0x490
      [   24.197447]  [<ffffffff8109c730>] ? process_one_work+0x6b0/0x6b0
      [   24.197448]  [<ffffffff810a2a9b>] kthread+0xeb/0x110
      [   24.197451]  [<ffffffff810a29b0>] ? kthread_park+0x60/0x60
      [   24.197453]  [<ffffffff818241a7>] ret_from_fork+0x27/0x40
      [   24.197476] ---[ end trace bda64b683b8e8162 ]---
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1481812185-19098-3-git-send-email-maarten.lankhorst@linux.intel.comReviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      37255d8d
  16. 01 2月, 2017 1 次提交
  17. 30 1月, 2017 1 次提交