linux/drivers/gpu/drm
Maxime Ripard f3e9632cb6
drm: Remove users of drm_format_(horz|vert)_chroma_subsampling
drm_format_horz_chroma_subsampling and drm_format_vert_chroma_subsampling
are basically a lookup in the drm_format_info table plus an access to the
hsub and vsub fields of the appropriate entry.

Most drivers are using this function while having access to the entry
already, which means that we will perform an unnecessary lookup. Removing
the call to these functions is therefore more efficient.

Some drivers will not have access to that entry in the function, but in
this case the overhead is minimal (we just have to call drm_format_info()
to perform the lookup) and we can even avoid multiple, inefficient lookups
in some places that need multiple fields from the drm_format_info
structure.

This is amplified by the fact that most of the time the callers will have
to retrieve both the vsub and hsub fields, meaning that they would perform
twice the lookup.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/6b3cceb8161e2c1d40c2681de99202328b0a8abc.1558002671.git-series.maxime.ripard@bootlin.com
2019-05-20 13:33:11 +02:00
..
amd Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
arc
arm drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
armada drm: Remove users of drm_format_num_planes 2019-05-20 13:32:57 +02:00
aspeed drm: aspeed: Clean up Kconfig options 2019-04-16 16:39:24 +02:00
ast drm: Reserve/unreserve GEM VRAM BOs from within pin/unpin functions 2019-05-17 13:14:11 +02:00
atmel-hlcdc drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
bochs drm/bochs: Convert bochs driver to VRAM MM 2019-05-15 16:17:08 +02:00
bridge drm/bridge: Remove duplicate header 2019-05-20 09:51:08 +02:00
cirrus drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
etnaviv Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
exynos drm/ipp: clean up debug messages 2019-04-24 11:23:20 +09:00
fsl-dcu drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
gma500 drm/gma500: Use drm_fb_helper_fill_info 2019-03-27 09:57:28 +01:00
hisilicon drm: Reserve/unreserve GEM VRAM BOs from within pin/unpin functions 2019-05-17 13:14:11 +02:00
i2c
i810
i915 Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
imx drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
lib
lima drm/scheduler: rework job destruction 2019-05-02 15:45:48 -05:00
mediatek drm: Remove users of drm_format_num_planes 2019-05-20 13:32:57 +02:00
meson drm: Remove users of drm_format_num_planes 2019-05-20 13:32:57 +02:00
mga drm/irq: Ditch DRIVER_IRQ_SHARED 2019-01-29 15:45:21 +01:00
mgag200 drm: Reserve/unreserve GEM VRAM BOs from within pin/unpin functions 2019-05-17 13:14:11 +02:00
msm drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
mxsfb drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
nouveau Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
omapdrm drm: Remove users of drm_format_num_planes 2019-05-20 13:32:57 +02:00
panel drm/panel: simple: Add FriendlyELEC HD702E 800x1280 LCD panel 2019-05-07 19:57:58 +02:00
panfrost Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
pl111 drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
qxl Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
r128 drm/irq: Ditch DRIVER_IRQ_SHARED 2019-01-29 15:45:21 +01:00
radeon drm/radeon: drop unused ati pcigart include. 2019-04-24 12:32:14 +10:00
rcar-du drm: rcar-du: lvds: Set LVEN and LVRES bits together on D3 2019-03-28 06:12:42 +02:00
rockchip drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
savage drm/savage: mark expected switch fall-throughs 2019-01-30 17:35:29 +01:00
scheduler drm/scheduler: Add flag to hint the release of guilty job. 2019-05-02 15:50:55 -05:00
selftests drm/selftests/mm: Switch to bitmap_zalloc() 2019-03-20 17:36:06 +00:00
shmobile drm/irq: Don't check for DRIVER_HAVE_IRQ in drm_irq_(un)install 2019-01-29 15:45:06 +01:00
sis
sti
stm drm/stm: dsi: add regulator support 2019-05-17 12:11:31 +02:00
sun4i drm/sun4i: sun6i_mipi_dsi: Support DSI GENERIC_SHORT_WRITE_2 transfer 2019-05-16 11:03:19 +02:00
tdfx
tegra drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
tilcdc drm/irq: Don't check for DRIVER_HAVE_IRQ in drm_irq_(un)install 2019-01-29 15:45:06 +01:00
tinydrm drm/tinydrm: Fix fbdev pixel format 2019-04-11 16:16:06 +02:00
ttm drm/ttm: Fix spelling of "KiB" 2019-03-19 15:04:03 -05:00
tve200 drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
udl drm/udl: move to embedding drm device inside udl device. 2019-04-24 13:48:45 +10:00
v3d drm/v3d: Fix and extend MMU error handling. 2019-05-16 09:24:52 -07:00
vboxvideo drm/vboxvideo: Convert vboxvideo driver to VRAM MM 2019-05-15 16:17:09 +02:00
vc4 drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
vgem drm/vgem: fix use-after-free when drm_gem_handle_create() fails 2019-03-18 08:45:57 +01:00
via drm/via: mark expected switch fall-throughs 2019-01-30 17:35:29 +01:00
virtio drm/virtio: Remove redundant return type 2019-05-06 15:36:23 +02:00
vkms Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
vmwgfx drm/vmwgfx: Remove set but not used variable 'fb_offset, fb_depth' 2019-04-08 10:29:05 -07:00
xen drm/drv: drm_dev_unplug(): Move out drm_dev_put() call 2019-02-21 12:11:58 +01:00
zte drm: Remove users of drm_format_num_planes 2019-05-20 13:32:57 +02:00
ati_pcigart.c
drm_agpsupport.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_atomic.c drm: Add drm_atomic_get_old/new_private_obj_state 2019-04-29 12:35:56 +01:00
drm_atomic_helper.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
drm_atomic_state_helper.c drm/docs: Fix typo in __drm_atomic_helper_connector_reset 2019-04-24 11:52:24 +02:00
drm_atomic_uapi.c drm/atomic: -EACCESS for lease-denied crtc lookup 2019-04-24 11:31:17 +02:00
drm_auth.c drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
drm_blend.c
drm_bridge.c
drm_bufs.c drm/legacy: move map cleanups into drm_bufs.c 2019-04-24 12:32:13 +10:00
drm_cache.c
drm_client.c drm/client: Rename drm_client_add() to drm_client_register() 2019-04-11 16:14:49 +02:00
drm_color_mgmt.c drm: Constify drm_color_lut_check() 2019-01-29 23:26:12 +02:00
drm_connector.c drm: Fix timestamp docs for variable refresh properties. 2019-05-07 10:39:14 -05:00
drm_context.c
drm_crtc.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_damage_helper.c drm: prepare for drmP.h removal from drm_modeset_helper.h 2019-02-07 21:48:28 +01:00
drm_debugfs.c
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_mst_topology.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_drv.c drm/legacy: move init/destroy of struct members into legacy file 2019-04-24 12:32:18 +10:00
drm_dsc.c drm/dsc: Split DSC PPS and SDP header initialisations 2019-03-05 13:24:34 -05:00
drm_dumb_buffers.c
drm_edid.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
drm_edid_load.c drm/edid: drmP.h include removal 2019-05-06 16:01:07 +03:00
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Fix drm_fb_helper_hotplug_event() NULL ptr argument 2019-05-16 12:01:46 +02:00
drm_file.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_flip_work.c
drm_format_helper.c drm: add drm_format_helper.c to kerneldoc 2019-04-17 09:39:22 +02:00
drm_fourcc.c drm: Remove users of drm_format_(horz|vert)_chroma_subsampling 2019-05-20 13:33:11 +02:00
drm_framebuffer.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_gem.c drm/gem: Fix sphinx warnings 2019-04-25 10:02:10 -04:00
drm_gem_cma_helper.c drm/cma-helper: Fix drm_gem_cma_free_object() 2019-05-08 16:01:40 +02:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm: shmem: Off by one in drm_gem_shmem_fault() 2019-04-01 10:44:34 -07:00
drm_gem_vram_helper.c drm: Reserve/unreserve GEM VRAM BOs from within pin/unpin functions 2019-05-17 13:14:11 +02:00
drm_hashtab.c
drm_internal.h drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
drm_ioc32.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_ioctl.c drm: introduce a capability flag for syncobj timeline support 2019-05-02 12:36:47 +10:00
drm_irq.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_kms_helper_common.c drm: fix spelling mistake "intead" -> "instead" 2019-03-04 11:18:50 -05:00
drm_lease.c drm/lease: Check for lessor outside of locks 2019-04-24 11:29:32 +02:00
drm_legacy.h drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_legacy_misc.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_lock.c drm/legacy: move lock cleanup for master into lock file (v2) 2019-04-24 12:32:15 +10:00
drm_memory.c drm: fallback to dma_alloc_coherent when memory encryption is active 2019-04-01 11:43:42 +02:00
drm_mipi_dsi.c
drm_mm.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_mode_config.c drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only 2019-04-16 15:13:23 -07:00
drm_mode_object.c drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_modes.c drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
drm_modeset_helper.c drm: prepare for drmP.h removal from drm_modeset_helper.h 2019-02-07 21:48:28 +01:00
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo Ideapad D330 2019-03-01 09:15:55 +02:00
drm_pci.c
drm_plane.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_plane_helper.c
drm_prime.c drm: Add reservation_object to drm_gem_object 2019-02-19 11:08:40 +01:00
drm_print.c drm: Add a helper function for printing a debugfs_regset32. 2019-04-01 10:44:34 -07:00
drm_probe_helper.c
drm_property.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_rect.c drm: Nuke drm_calc_{h,v}scale_relaxed() 2019-02-07 13:14:06 +02:00
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm: introduce a capability flag for syncobj timeline support 2019-05-02 12:36:47 +10:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm: Trivial comment grammar cleanups 2019-02-04 10:21:17 +01:00
drm_vm.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_vma_manager.c
drm_vram_helper_common.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_vram_mm_helper.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_writeback.c drm: writeback: Add job prepare and cleanup operations 2019-03-18 17:24:38 +02:00
Kconfig drm: Add |struct drm_gem_vram_object| and helpers 2019-05-15 16:17:04 +02:00
Makefile drm: Add VRAM MM, a simple memory manager for dedicated VRAM 2019-05-15 16:17:06 +02:00