linux/drivers/gpu/drm
Ben Widawsky 714244e280 drm/i915: Add format modifiers for Intel
This was based on a patch originally by Kristian. It has been modified
pretty heavily to use the new callbacks from the previous patch.

v2:
  - Add LINEAR and Yf modifiers to list (Ville)
  - Combine i8xx and i965 into one list of formats (Ville)
  - Allow 1010102 formats for Y/Yf tiled (Ville)

v3:
  - Handle cursor formats (Ville)
  - Put handling for LINEAR in the mod_support functions (Ville)

v4:
  - List each modifier explicitly in supported modifiers (Ville)
  - Handle the CURSOR plane (Ville)

v5:
  - Split out cursor and sprite handling (Ville)

v6:
  - Actually use the sprite funcs (Emil)
  - Use unreachable (Emil)

v7:
  - Only allow Intel modifiers and LINEAR (Ben)

v8
  - Fix spite assert introduced in v6 (Daniel)

v9
  - Change vendor check logic to avoid magic 56 (Emil)
  - Reorder skl_mod_support (Ville)
  - make intel_plane_funcs static, could be done as of v5 (Ville)
  - rename local variable intel_format_modifiers to modifiers (Ville)
    - actually use sprite modifiers
  - split out modifier/formats by platform (Ville)

v10:
  - Undo vendor check from v9

v11:
  - Squash CCS advertisement into this patch (daniels)
  - Don't advertise CCS on higher sprite planes (daniels)

v12:
  - Don't advertise Y-tiled or CCS on any sprite planes, since we don't
    allocate enough DDB space for it to work. (daniels)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v8)
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Stone <daniels@collabora.com>
2017-08-10 17:58:39 +01:00
..
amd Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
arc Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
arm drm: Nuke drm_atomic_helper_plane_set_property 2017-08-08 14:45:16 +02:00
armada drm: armada: remove dead empty functions 2017-08-04 11:35:34 +02:00
ast Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
atmel-hlcdc drm: Nuke drm_atomic_helper_plane_set_property 2017-08-08 14:45:16 +02:00
bochs drm/<drivers>: Drop fbdev info flags 2017-07-26 13:22:40 +02:00
bridge drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
cirrus drm: cirrus: remove dead code and pointless local lut storage 2017-08-04 11:35:44 +02:00
etnaviv main drm pull for v4.13 2017-07-09 18:48:37 -07:00
exynos drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
fsl-dcu drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
gma500 drm: gma500: remove dead code and pointless local lut storage 2017-08-04 11:35:51 +02:00
hisilicon drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
i2c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
i810 drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
i915 drm/i915: Add format modifiers for Intel 2017-08-10 17:58:39 +01:00
imx drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
lib
mediatek drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
meson drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
mga Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
mgag200 drm: mgag200: remove dead code and pointless local lut storage 2017-08-04 11:36:03 +02:00
msm drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
mxsfb drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
nouveau drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
omapdrm drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
panel drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
pl111 drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
qxl drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
r128 drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
radeon Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
rcar-du Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
rockchip drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
savage drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
selftests
shmobile drm/shmobile: Use .dumb_map_offset and .dumb_destroy defaults 2017-07-29 13:57:33 +02:00
sis drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
sti drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
stm drm: Nuke drm_atomic_helper_plane_set_property 2017-08-08 14:45:16 +02:00
sun4i drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
tdfx drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
tegra drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
tilcdc drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
tinydrm drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
ttm drm/ttm: Implement vm_operations_struct.access v2 2017-07-25 16:29:02 -04:00
udl drm/<drivers>: Drop fbdev info flags 2017-07-26 13:22:40 +02:00
vc4 drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
vgem drm/vgem: add compat_ioctl support 2017-07-17 21:08:31 +02:00
via drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
virtio drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
vmwgfx drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
zte drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge airlied/drm-next into drm-intel-next-queued 2017-08-10 18:12:01 +02:00
drm_atomic.c drm: Nuke drm_atomic_legacy_backoff 2017-08-08 14:49:29 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c switch compat_drm_mapbufs() to drm_ioctl_kernel() 2017-07-04 13:16:26 -04:00
drm_cache.c
drm_color_mgmt.c drm: More links for gamma support helpers 2017-06-20 12:13:11 +02:00
drm_connector.c drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_crtc_internal.h drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_crtc.c drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_debugfs_crc.c drm/crc: Only open CRC on atomic drivers when the CRTC is active. 2017-07-17 16:34:51 +02:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm_dp_aux_dev: switch to read_iter/write_iter 2017-07-08 20:51:46 -04:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c
drm_dp_mst_topology.c Linux 4.13-rc2 2017-07-27 08:15:43 +10:00
drm_drv.c drm: inhibit drm drivers register to uninitialized drm core 2017-07-11 12:03:11 +02:00
drm_dumb_buffers.c drm/dumb-buffers: Add defaults for .dumb_map_offset and .dumb_destroy 2017-07-29 13:51:44 +02:00
drm_edid_load.c
drm_edid.c drm/edid: parse ycbcr 420 deep color information 2017-07-14 21:23:54 +03:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c drm: Convert CMA fbdev console suspend helpers to use bool 2017-06-20 16:23:40 +02:00
drm_fb_helper.c drm/fb-helper: pass physical dimensions to fbdev 2017-08-07 17:01:15 +02:00
drm_file.c Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2017-06-27 09:18:17 -04:00
drm_flip_work.c
drm_fourcc.c
drm_framebuffer.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_gem_cma_helper.c drm: Update docs around gem_free_object 2017-07-26 13:22:39 +02:00
drm_gem.c drm/gem: Add drm_gem_dumb_map_offset() 2017-07-29 13:49:55 +02:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_ioc32.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_ioctl.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_legacy.h switch compat_drm_mapbufs() to drm_ioctl_kernel() 2017-07-04 13:16:26 -04:00
drm_lock.c
drm_memory.c
drm_mipi_dsi.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
drm_mm.c
drm_mode_config.c drm: Create a format/modifier blob 2017-08-01 17:50:06 +01:00
drm_mode_object.c drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_modes.c drm/modes: Fix drm_mode_is_420_only() comment 2017-07-31 14:23:30 +02:00
drm_modeset_helper.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
drm_modeset_lock.c drm: Improve kerneldoc for drm_modeset_lock 2017-07-26 13:45:08 +02:00
drm_of.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
drm_panel.c
drm_pci.c drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
drm_plane_helper.c
drm_plane.c drm: Handle properties in the core for atomic drivers 2017-08-08 14:45:09 +02:00
drm_prime.c
drm_print.c
drm_probe_helper.c drm: add helper to validate YCBCR420 modes 2017-07-14 21:23:54 +03:00
drm_property.c drm: rename, adjust and export drm_atomic_replace_property_blob 2017-07-14 15:53:06 +02:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm: Fix warning when building docs for scdc_helper 2017-07-31 14:24:14 +02:00
drm_simple_kms_helper.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
drm_syncobj.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_vm.c
drm_vma_manager.c
Kconfig
Makefile