mirror-linux/include/uapi/drm
Alyssa Rosenzweig 3e2926f875 drm/panfrost: Add AFBC_FEATURES parameter
The value of the AFBC_FEATURES register is required by userspace to
determine AFBC support on Bifrost. A user on our IRC channel (#panfrost)
reported a workload that raised a fault on one system's Mali G31 but
worked flawlessly with another system's Mali G31. We determined the
cause to be missing AFBC support on one vendor's Mali implementation --
it turns out AFBC is optional on Bifrost!

Whether AFBC is supported or not is exposed in the AFBC_FEATURES
register on Bifrost, which reads back as 0 on Midgard. A zero value
indicates AFBC is fully supported, provided the architecture itself
supports AFBC, allowing backwards-compatibility with Midgard. Bits 0 and
15 indicate that AFBC support is absent for texturing and rendering
respectively.

The user experiencing the fault reports that AFBC_FEATURES reads back
0x10001 on their system, confirming the architectural lack of AFBC.
Userspace needs this parameter to know to disable AFBC on that
chip, and perhaps others.

v2: Fix typo from copy-paste fail.

v3: Bump the UABI version. This commit was cherry-picked from another
series so chalking this up to a rebase fail.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210604130011.3203-1-alyssa.rosenzweig@collabora.com
2021-06-04 16:16:04 +01:00
..
amdgpu_drm.h drm/amdgpu: remove AMDGPU_GEM_CREATE_SHADOW flag 2021-04-23 17:18:56 -04:00
armada_drm.h
drm.h drm: document minimum kernel version for DRM_CLIENT_CAP_* 2021-05-31 18:57:22 +02:00
drm_fourcc.h - HDCP 2.2 and HDCP 1.4 Gen12 DP MST support (Anshuman) 2021-01-29 17:05:15 +10:00
drm_mode.h drm/connector: demote connector force-probes for non-master clients 2021-05-03 12:08:37 +02:00
drm_sarea.h
etnaviv_drm.h drm/etnaviv: implement softpin 2019-08-15 12:07:47 +02:00
exynos_drm.h drm/exynos: Rename Exynos to lowercase 2020-01-21 09:09:42 +09:00
i810_drm.h
i915_drm.h drm/i915/gem: Drop legacy execbuffer support (v2) 2021-03-18 14:25:42 +01:00
lima_drm.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08:00
mga_drm.h
msm_drm.h drm/msm: Add param for userspace to query suspend count 2021-04-07 11:05:43 -07:00
nouveau_drm.h drm/nouveau: support synchronous pushbuf submission 2020-01-29 15:49:56 +10:00
omap_drm.h Revert "drm/omap: add OMAP_BO flags to affect buffer allocation" 2019-10-23 10:41:41 -04:00
panfrost_drm.h drm/panfrost: Add AFBC_FEATURES parameter 2021-06-04 16:16:04 +01:00
qxl_drm.h
r128_drm.h
radeon_drm.h
savage_drm.h
sis_drm.h
tegra_drm.h
v3d_drm.h drm/v3d: clean caches at the end of render jobs on request from user space 2019-09-19 12:57:44 -07:00
vc4_drm.h
vgem_drm.h
via_drm.h
virtgpu_drm.h drm/virtgpu api: cross-device feature 2020-09-29 11:23:18 +02:00
vmwgfx_drm.h drm/vmwgfx: Add SM5 param for userspace 2020-03-23 22:48:57 +01:00