linux/drivers/gpu/drm
Ville Syrjälä 65b2f7c43c drm: Inline drm_color_lut_extract()
This thing can get called several thousand times per LUT
so seems like we want to inline it to:
- avoid the function call overhead
- allow constant folding

A quick synthetic test (w/o any hardware interaction) with
a ridiculously large LUT size shows about 50% reduction in
runtime on my HSW and BSW boxes. Slightly less with more
reasonable LUT size but still easily measurable in tens
of microseconds.

v2: Include drm_color_mgmt.h in the .rst (Daniel)

Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191108135654.12907-1-ville.syrjala@linux.intel.com
2019-11-29 21:29:17 +02:00
..
amd drm/amdgpu: use drm_debug_enabled() to check for debug categories 2019-11-14 14:08:39 +02:00
arc drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
arm drm/komeda: Clean warnings: candidate for 'gnu_printf’ format attribute 2019-11-19 16:11:47 +08:00
armada drm/armada: Delete dma_buf->k(un)map implemenation 2019-11-26 11:52:34 +01:00
aspeed drm/aspeed: gfc_crtc: Make structure aspeed_gfx_funcs constant 2019-08-14 19:27:26 +02:00
ast drm/ast: Call struct drm_driver.{load, unload} before registering device 2019-11-14 13:54:39 +01:00
atmel-hlcdc drm/atmel: ditch fb_create wrapper 2019-11-19 22:25:55 +01:00
bochs drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers 2019-10-24 16:12:30 +02:00
bridge drm/bridge: Fix Kconfig indentation 2019-11-20 17:40:32 +01:00
cirrus drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
etnaviv Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
exynos drm/exynos: Provide ddc symlink in connector's sysfs 2019-11-08 09:16:14 +01:00
fsl-dcu drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
gma500 drm/gma500: Remove struct psb_fbdev 2019-11-25 11:19:31 +01:00
hisilicon drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb() helpers 2019-10-24 16:12:36 +02:00
i2c drm: tda998x: use cec_notifier_conn_(un)register 2019-10-21 14:23:25 +02:00
i810 drm/i810: Prevent underflow in ioctl 2019-10-04 17:04:05 +01:00
i915 drm/i915: Drop dma_buf->k(un)map 2019-11-25 22:36:14 +01:00
imx Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
ingenic drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
lib
lima drm/lima: Fix Kconfig indentation 2019-11-20 17:40:32 +01:00
mcde drm/mcde: Do not needlessly logically and with 3 2019-11-24 18:04:08 +01:00
mediatek drm/mediatek: Fix build break 2019-11-27 19:10:06 +01:00
meson drm/meson: Enable DRM InfoFrame support on GXL, GXM and G12A 2019-10-10 12:50:02 +02:00
mga
mgag200 drm/mgag200: Fix Kconfig indentation 2019-11-20 17:40:32 +01:00
msm drm/msm: Don't init ww_mutec acquire ctx before needed 2019-11-21 11:03:31 +01:00
mxsfb drm/mxsfb: Read bus flags from bridge if present 2019-10-14 22:19:32 +02:00
nouveau drm/nouveau: Fix Kconfig indentation 2019-11-20 17:40:32 +01:00
omapdrm drm/omapdrm: Drop dma_buf->k(un)map 2019-11-25 22:36:14 +01:00
panel Linux 5.4-rc4 2019-10-23 12:10:05 +02:00
panfrost drm/panfrost: Simplify devfreq utilisation tracking 2019-10-29 13:01:51 -05:00
pl111 drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
qxl drm/qxl: Complete exception handling in qxl_device_init() 2019-11-29 13:09:11 +01:00
r128 drm/r128: make ATI PCI GART part of its only user, r128 2019-11-20 11:09:05 +02:00
radeon drm/radeon: finally fix the racy VMA setup 2019-11-08 11:33:32 +01:00
rcar-du drm: rcar-du: lvds: Add r8a774b1 support 2019-10-16 00:28:32 +03:00
rockchip drm/rockchip: Use drm_gem_fb_create_with_dirty 2019-11-29 09:58:28 +01:00
savage
scheduler drm/scheduler: Avoid accessing freed bad job. 2019-11-27 16:05:49 +01:00
selftests drm/selftests: Add drm_rect selftests 2019-11-28 13:33:43 +02:00
shmobile
sis
sti drm: sti: fix W=1 warnings 2019-09-16 15:14:43 +02:00
stm drm/stm: dsi: higher pll out only in video burst mode 2019-09-16 15:14:10 +02:00
sun4i drm/sun4i: Fix Kconfig indentation 2019-11-25 10:04:41 +01:00
tdfx
tegra drm/tegra: Remove dma_buf->k(un)map 2019-11-25 22:36:14 +01:00
tilcdc drm/tilcdc: Drop drm_gem_fb_create wrapper 2019-11-19 22:25:55 +01:00
tiny Merge tag 'topic/drm-mipi-dsi-dsc-updates-2019-11-11' of ssh://git.freedesktop.org/git/drm-intel into drm-misc-next 2019-11-20 14:12:00 +01:00
ttm drm/ttm: also export ttm_bo_vm_fault v2 2019-11-08 11:33:32 +01:00
tve200 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
udl drm/udl: Replace struct udl_framebuffer with generic implementation 2019-11-26 12:34:50 +01:00
v3d drm/shmem: drop DEFINE_DRM_GEM_SHMEM_FOPS 2019-10-17 13:59:16 +02:00
vboxvideo drm/vboxvideo: Use drm_gem_fb_create_with_dirty instead of drm_gem_fb_create 2019-10-29 13:10:07 +01:00
vc4 drm/vc4: Fix Kconfig indentation 2019-11-25 10:04:41 +01:00
vgem dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
via drivers/gpu/drm/via: convert put_page() to put_user_page*() 2019-09-24 15:54:08 -07:00
virtio drm/virtio: factor out virtio_gpu_update_dumb_bo 2019-11-20 09:22:27 +01:00
vkms drm/vkms: Update VKMS documentation 2019-11-04 18:39:58 +01:00
vmwgfx drm/vmwgfx: Delete mmaping functions 2019-11-25 22:36:14 +01:00
xen drm/xen: Simplify fb_create 2019-11-19 22:25:55 +01:00
zte Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_agpsupport.c drm: use DIV_ROUND_UP helper macro for calculations 2019-11-04 18:17:36 +01:00
drm_atomic_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic_state_helper.c drm/atomic: Rename crtc_state->pageflip_flags to async_flip 2019-09-18 18:43:36 +02:00
drm_atomic_uapi.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic.c drm: Free the writeback_job when it with an empty fb 2019-09-23 15:31:53 +08:00
drm_auth.c
drm_blend.c drm: two planes with the same zpos have undefined ordering 2019-10-09 20:04:55 +02:00
drm_bridge.c
drm_bufs.c
drm_cache.c drm/gpu: Fix Memory barrier without comment Issue 2019-10-25 09:35:06 +02:00
drm_client_modeset.c Revert "drm/fbdev: Fallback to non tiled mode if all tiles not present" 2019-11-25 16:55:40 +02:00
drm_client.c drm/fb-helper: Map DRM client buffer only when required 2019-08-01 15:01:29 +02:00
drm_color_mgmt.c drm: Inline drm_color_lut_extract() 2019-11-29 21:29:17 +02:00
drm_connector.c drm: Add DisplayPort colorspace property creation function 2019-09-20 18:46:18 +03:00
drm_context.c
drm_crtc_helper_internal.h drm/connector: Share with non-atomic drivers the function to get the single encoder 2019-09-16 15:13:02 -07:00
drm_crtc_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c drm: damage_helper: Fix race checking plane->state->fb 2019-10-08 09:41:06 -04:00
drm_debugfs_crc.c drm: Fix return type of crc .poll() 2019-09-30 20:17:31 +03:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp_mst: Enable registration of AUX devices for MST ports 2019-07-25 16:39:35 -04:00
drm_dp_cec.c drm_dp_cec: drop use of drmP.h 2019-10-08 18:29:00 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
drm_dp_mst_topology_internal.h drm/dp_mst: Add sideband down request tracing + selftests 2019-09-03 19:30:06 -04:00
drm_dp_mst_topology.c drm/dp_mst: fix multiple frees of tx->bytes 2019-11-20 14:16:15 -05:00
drm_drv.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_dsc.c drm/dsc: Fix bogus cpu_to_be16() usage 2019-09-30 20:15:53 +03:00
drm_dumb_buffers.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
drm_edid_load.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_edid.c drm/edid: Add alternate clock for SMPTE 4K 2019-11-29 17:05:01 +02:00
drm_encoder_slave.c
drm_encoder.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Remove drm_fb_helper_unlink_fbi() 2019-11-19 14:37:39 +01:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c drm/fourcc: Fill out all block sizes for P210 2019-11-28 11:19:32 +01:00
drm_framebuffer.c drm: silence variable 'conn' set but not used 2019-07-22 16:04:53 -04:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_shmem_helper.c drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap 2019-10-29 13:29:21 -05:00
drm_gem_ttm_helper.c drm/ttm: add drm_gem_ttm_mmap() 2019-10-17 13:59:16 +02:00
drm_gem_vram_helper.c drm/ttm: remove pointers to globals 2019-10-25 11:40:51 +02:00
drm_gem.c drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap 2019-10-29 13:29:21 -05:00
drm_hashtab.c
drm_hdcp.c drm/hdcp: reference for srm file format 2019-08-06 13:18:42 +05:30
drm_internal.h
drm_ioc32.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_ioctl.c drm/atomic: Take the atomic toys away from X 2019-09-18 18:42:21 +02:00
drm_irq.c
drm_kms_helper_common.c drm: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c drm: Include prototype for drm_need_swiotlb() 2019-09-30 20:16:28 +03:00
drm_mipi_dbi.c drm/mipi_dbi: Use simple right shift instead of double negation 2019-10-22 15:09:15 +02:00
drm_mipi_dsi.c drm/dsi: add helpers for DSI compression mode and PPS packets 2019-11-07 15:00:16 +02:00
drm_mm.c drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node() 2019-10-04 13:43:43 +01:00
drm_mode_config.c drm/modeset: Prime modeset lock vs dma_resv 2019-11-21 11:03:31 +01:00
drm_mode_object.c drm/property: Enforce more lifetime rules 2019-11-04 18:17:36 +01:00
drm_modes.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: Remove redundant of_device_is_available check 2019-09-20 15:03:42 -04:00
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: Add and fill drm_panel type field 2019-09-08 19:04:01 +02:00
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c drm: add mmap() to drm_gem_object_funcs 2019-10-17 13:59:16 +02:00
drm_print.c drm/print: convert debug category macros into an enum 2019-11-14 14:08:57 +02:00
drm_probe_helper.c drm/connector: Allow max possible encoders to attach to a connector 2019-09-16 15:13:53 -07:00
drm_property.c
drm_rect.c drm/rect: update kerneldoc for drm_rect_clip_scaled() 2019-11-28 13:15:43 +01:00
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c drm: Measure Self Refresh Entry/Exit times to avoid thrashing 2019-09-19 10:03:32 -04:00
drm_simple_kms_helper.c drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
drm_syncobj.c drm/syncobj: extend syncobj query ability v3 2019-10-18 12:24:56 +02:00
drm_sysfs.c drm: uevent for connector status change 2019-08-06 13:16:54 +05:30
drm_trace_points.c
drm_trace.h drm: Add high-precision time to vblank trace event 2019-09-03 09:46:18 +02:00
drm_vblank.c drm/drm_vblank: Change EINVAL by the correct errno 2019-10-08 18:43:26 -04:00
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
drm_writeback.c drm: Clear the fence pointer when writeback job signaled 2019-09-23 15:32:53 +08:00
Kconfig drm/r128: make ATI PCI GART part of its only user, r128 2019-11-20 11:09:05 +02:00
Makefile drm/r128: make ATI PCI GART part of its only user, r128 2019-11-20 11:09:05 +02:00