kernel_optimize_test/include/drm
Chris Wilson 490d3d1b91 drm: Store the plane's index
Currently the plane's index is determined by walking the list of all
planes in the mode and finding the position of that plane in the list. A
linear walk, especially a linear walk within a linear walk as frequently
conceived by i915.ko [O(N^2)] quickly comes to dominate profiles.

The plane's index is constant for as long as no earlier planes are
removed from the list. For all drivers, planes are static, determined
at boot and then untouched until shutdown. In fact, there is no locking
provided to allow for dynamic removal of planes/encoders/crtcs.

v2: Convert drm_crtc_index() and drm_encoder_index() as well.
v3: Stop adjusting the indices upon removal; consider the list
construct-only.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
[danvet: Fixup typo in kerneldoc that Matt spotted.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1464375900-2542-1-git-send-email-chris@chris-wilson.co.uk
2016-06-03 00:02:23 +02:00
..
bridge drm: rockchip: dp: add rockchip platform dp driver 2016-04-05 10:13:04 +08:00
i2c drm/i2c: tda998x: add video and audio input configuration 2013-08-19 09:10:32 +10:00
ttm drm/ttm: implement LRU add callbacks v2 2016-05-04 20:21:38 -04:00
ati_pcigart.h drm: Move legacy buffer structures to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
drm_agpsupport.h drm: Give drm_agp_clear drm_legacy_ prefix 2016-04-27 08:41:34 +02:00
drm_atomic_helper.h drm/atomic: Add drm_atomic_crtc_state_for_each_plane_state 2016-06-02 16:59:05 +02:00
drm_atomic.h drm/atomic-docs: Spelling fixups 2016-06-02 17:41:10 +02:00
drm_cache.h drm: Loongson-3 doesn't fully support wc memory 2016-04-22 10:24:11 +10:00
drm_core.h drm: Fix support for PCI domains 2010-08-10 08:20:20 +10:00
drm_crtc_helper.h drm: introduce pipe color correction properties 2016-03-08 13:57:32 +01:00
drm_crtc.h drm: Store the plane's index 2016-06-03 00:02:23 +02:00
drm_displayid.h drm/edid: add displayid detailed 1 timings to the modelist. (v1.1) 2016-05-23 11:35:31 +10:00
drm_dp_aux_dev.h drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. 2016-02-12 14:22:40 +01:00
drm_dp_dual_mode_helper.h drm: Add helper for DP++ adaptors 2016-05-23 11:10:46 +03:00
drm_dp_helper.h Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-05-17 12:15:49 +02:00
drm_dp_mst_helper.h drm/dp/mst: move GUID storage from mgr, port to only mst branch 2016-02-05 15:23:49 +10:00
drm_edid.h drm: probe_helper: Hide ugly ifdef 2016-04-20 13:35:14 +02:00
drm_encoder_slave.h drm: Constify drm_encoder_slave_funcs 2015-12-15 13:41:17 +01:00
drm_fb_cma_helper.h drm/fb-cma-helper: Add function drm_fb_cma_create_with_funcs() 2016-05-17 09:08:32 +02:00
drm_fb_helper.h drm/fb-helper: Add fb_deferred_io support 2016-05-02 16:22:03 +02:00
drm_fixed.h drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil 2016-02-05 15:23:48 +10:00
drm_flip_work.h drm: flip-work: change drm_flip_work_init prototype 2014-11-15 09:29:14 +10:00
drm_gem_cma_helper.h drm/cma: Introduce drm_gem_cma_dumb_create_internal() 2014-11-13 13:27:17 +01:00
drm_gem.h drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
drm_global.h drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
drm_hashtab.h drm: Add a hash-tab rcu-safe API 2012-11-28 18:36:05 +10:00
drm_legacy.h drm: Hide master MAP cleanup in drm_bufs.c 2016-04-27 10:14:17 +02:00
drm_mem_util.h drm,i915: Introduce drm_malloc_gfp() 2016-04-11 17:13:10 +01:00
drm_mipi_dsi.h drm/dsi: Get DSI host by DT device node 2016-03-02 17:02:54 +01:00
drm_mm.h drm/mm: use list_next_entry 2015-11-25 16:22:58 +01:00
drm_modes.h drm: Drop drm_helper_probe_single_connector_modes_nomerge() 2015-12-11 09:32:53 +01:00
drm_modeset_helper_vtables.h drm: Fix up markup fumble 2016-05-05 09:12:43 +02:00
drm_modeset_lock.h drm: Implement drm_modeset_lock_all_ctx() 2015-12-02 23:10:59 +01:00
drm_of.h drm: add drm_of_encoder_active_endpoint helpers 2016-02-10 14:19:21 +01:00
drm_os_linux.h drm: Kill DRM_SUSER 2013-12-18 11:35:45 +10:00
drm_panel.h drm/panel: Flesh out kerneldoc 2016-05-06 16:04:48 +02:00
drm_pciids.h drm/radeon: add new OLAND pci id 2015-08-12 12:24:05 -04:00
drm_plane_helper.h drm: Reorganize helper vtables and their docs 2015-12-08 16:07:52 +01:00
drm_rect.h drm: Add "prefix" parameter to drm_rect_debug_print() 2015-11-24 11:47:46 +01:00
drm_sysfs.h
drm_vma_manager.h drm/vma_manage: Drop has_offset 2016-04-20 12:58:53 +02:00
drmP.h drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
gma_drm.h drm/gma500: Remove unused ioctls 2014-03-17 20:11:57 +01:00
i915_component.h drm/i915: Add get_eld audio component 2015-12-10 13:39:27 +01:00
i915_drm.h drm/i915: Canonicalize stolen memory calculations 2016-04-25 13:30:32 +03:00
i915_pciids.h drm/i915/skl: Add missing SKL ids 2016-02-08 15:31:34 +02:00
intel-gtt.h drm/i915/gtt: Allow >= 4GB sizes for vm. 2015-06-26 10:41:13 +02:00