History

Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux

Pull drm updates from Dave Airlie: "This is the main pull request for the drm for 4.3. Nouveau is probably the biggest amount of changes in here, since it missed 4.2. Highlights below, along with the usual bunch of fixes. All stuff outside drm should have applicable acks. Highlights: - new drivers: freescale dcu kms driver - core: more atomic fixes disable some dri1 interfaces on kms drivers drop fb panic handling, this was just getting more broken, as more locking was required. new core fbdev Kconfig support - instead of each driver enable/disabling it struct_mutex cleanups - panel: more new panels cleanup Kconfig - i915: Skylake support enabled by default legacy modesetting using atomic infrastructure Skylake fixes GEN9 workarounds - amdgpu: Fiji support CGS support for amdgpu Initial GPU scheduler - off by default Lots of bug fixes and optimisations. - radeon: DP fixes misc fixes - amdkfd: Add Carrizo support for amdkfd using amdgpu. - nouveau: long pending cleanup to complete driver, fully bisectable which makes it larger, perfmon work more reclocking improvements maxwell displayport fixes - vmwgfx: new DX device support, supports OpenGL 3.3 screen targets support - mgag200: G200eW support G200e new revision support - msm: dragonboard 410c support, msm8x94 support, msm8x74v1 support yuv format support dma plane support mdp5 rotation initial hdcp - sti: atomic support - exynos: lots of cleanups atomic modesetting/pageflipping support render node support - tegra: tegra210 support (dc, dsi, dp/hdmi) dpms with atomic modesetting support - atmel: support for 3 more atmel SoCs new input formats, PRIME support. - dwhdmi: preparing to add audio support - rockchip: yuv plane support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits) drm/amdgpu: rename gmc_v8_0_init_compute_vmid drm/amdgpu: fix vce3 instance handling drm/amdgpu: remove ib test for the second VCE Ring drm/amdgpu: properly enable VM fault interrupts drm/amdgpu: fix warning in scheduler drm/amdgpu: fix buffer placement under memory pressure drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic drm/amdgpu: fix typo in dce11 watermark setup drm/amdgpu: fix typo in dce10 watermark setup drm/amdgpu: use top down allocation for non-CPU accessible vram drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) drm/amdgpu: set MEC doorbell range for Fiji drm/amdgpu: implement burst NOP for SDMA drm/amdgpu: add insert_nop ring func and default implementation drm/amdgpu: add amdgpu_get_sdma_instance helper function drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES drm/amdgpu: add burst_nop flag for sdma drm/amdgpu: add count field for the SDMA NOP packet v2 drm/amdgpu: use PT for VM sync on unmap drm/amdgpu: make wait_event uninterruptible in push_job ...

Linus Torvalds committed 11 years ago

Commit f377ea82 parents 51e771c 73bf1b71226 files · +104927 −60946Browse files

Showing the changes to include/uapi (3 of 1226 files). Show all

Unified · Split

3 files
  1. include/uapi/drm/drm_fourcc.h +7 −0
  2. include/uapi/drm/i915_drm.h +14 −2
  3. include/uapi/drm/vmwgfx_drm.h +34 −4
include/uapi/drm/drm_fourcc.h+7−0
@@ -34,6 +34,13 @@ · 33 unmodified lines
3434 /* color index */
3535 #define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') /* [7:0] C */
3636
37+/* 8 bpp Red */
38+#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') /* [7:0] R */
39+
40+/* 16 bpp RG */
41+#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8') /* [15:0] R:G 8:8 little endian */
42+#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */
43+
3744 /* 8 bpp RGB */
3845 #define DRM_FORMAT_RGB332 fourcc_code('R', 'G', 'B', '8') /* [7:0] R:G:B 3:3:2 */
3946 #define DRM_FORMAT_BGR233 fourcc_code('B', 'G', 'R', '8') /* [7:0] B:G:R 2:3:3 */
include/uapi/drm/i915_drm.h+14−2
@@ -354,9 +354,15 @@ typedef struct drm_i915_irq_wait { · 353 unmodified lines
354354 #define I915_PARAM_REVISION 32
355355 #define I915_PARAM_SUBSLICE_TOTAL 33
356356 #define I915_PARAM_EU_TOTAL 34
357+#define I915_PARAM_HAS_GPU_RESET 35
358+#define I915_PARAM_HAS_RESOURCE_STREAMER 36
357359
358360 typedef struct drm_i915_getparam {
359− int param;
361+ s32 param;
362+ /*
363+ * WARNING: Using pointers instead of fixed-size u64 means we need to write
364+ * compat32 code. Don't repeat this mistake.
365+ */
360366 int __user *value;
361367 } drm_i915_getparam_t;
362368
@@ -764,7 +770,12 @@ struct drm_i915_gem_execbuffer2 { · 401 unmodified lines
764770 #define I915_EXEC_BSD_RING1 (1<<13)
765771 #define I915_EXEC_BSD_RING2 (2<<13)
766772
767−#define __I915_EXEC_UNKNOWN_FLAGS -(1<<15)
773+/** Tell the kernel that the batchbuffer is processed by
774+ * the resource streamer.
775+ */
776+#define I915_EXEC_RESOURCE_STREAMER (1<<15)
777+
778+#define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_RESOURCE_STREAMER<<1)
768779
769780 #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
770781 #define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1114,6 +1125,7 @@ struct drm_i915_gem_context_param { · 343 unmodified lines
11141125 __u32 size;
11151126 __u64 param;
11161127 #define I915_CONTEXT_PARAM_BAN_PERIOD 0x1
1128+#define I915_CONTEXT_PARAM_NO_ZEROMAP 0x2
11171129 __u64 value;
11181130 };
11191131
include/uapi/drm/vmwgfx_drm.h+34−4
@@ -1,6 +1,6 @@
11 /**************************************************************************
22 *
3− * Copyright © 2009 VMware, Inc., Palo Alto, CA., USA
3+ * Copyright © 2009-2015 VMware, Inc., Palo Alto, CA., USA
44 * All Rights Reserved.
55 *
66 * Permission is hereby granted, free of charge, to any person obtaining a
@@ -64,6 +64,7 @@ · 57 unmodified lines
6464 #define DRM_VMW_GB_SURFACE_CREATE 23
6565 #define DRM_VMW_GB_SURFACE_REF 24
6666 #define DRM_VMW_SYNCCPU 25
67+#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
6768
6869 /*************************************************************************/
6970 /**
@@ -88,6 +89,8 @@ · 18 unmodified lines
8889 #define DRM_VMW_PARAM_3D_CAPS_SIZE 8
8990 #define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
9091 #define DRM_VMW_PARAM_MAX_MOB_SIZE 10
92+#define DRM_VMW_PARAM_SCREEN_TARGET 11
93+#define DRM_VMW_PARAM_DX 12
9194
9295 /**
9396 * enum drm_vmw_handle_type - handle type for ref ioctls
@@ -296,7 +299,7 @@ union drm_vmw_surface_reference_arg { · 202 unmodified lines
296299 * Argument to the DRM_VMW_EXECBUF Ioctl.
297300 */
298301
299−#define DRM_VMW_EXECBUF_VERSION 1
302+#define DRM_VMW_EXECBUF_VERSION 2
300303
301304 struct drm_vmw_execbuf_arg {
302305 uint64_t commands;
@@ -305,6 +308,8 @@ struct drm_vmw_execbuf_arg { · 2 unmodified lines
305308 uint64_t fence_rep;
306309 uint32_t version;
307310 uint32_t flags;
311+ uint32_t context_handle;
312+ uint32_t pad64;
308313 };
309314
310315 /**
@@ -825,7 +830,6 @@ struct drm_vmw_update_layout_arg { · 514 unmodified lines
825830 enum drm_vmw_shader_type {
826831 drm_vmw_shader_type_vs = 0,
827832 drm_vmw_shader_type_ps,
828− drm_vmw_shader_type_gs
829833 };
830834
831835
@@ -907,6 +911,8 @@ enum drm_vmw_surface_flags { · 75 unmodified lines
907911 * @buffer_handle Buffer handle of backup buffer. SVGA3D_INVALID_ID
908912 * if none.
909913 * @base_size Size of the base mip level for all faces.
914+ * @array_size Must be zero for non-DX hardware, and if non-zero
915+ * svga3d_flags must have proper bind flags setup.
910916 *
911917 * Input argument to the DRM_VMW_GB_SURFACE_CREATE Ioctl.
912918 * Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl.
@@ -919,7 +925,7 @@ struct drm_vmw_gb_surface_create_req { · 6 unmodified lines
919925 uint32_t multisample_count;
920926 uint32_t autogen_filter;
921927 uint32_t buffer_handle;
922− uint32_t pad64;
928+ uint32_t array_size;
923929 struct drm_vmw_size base_size;
924930 };
925931
@@ -1059,4 +1065,28 @@ struct drm_vmw_synccpu_arg { · 133 unmodified lines
10591065 uint32_t pad64;
10601066 };
10611067
1068+/*************************************************************************/
1069+/**
1070+ * DRM_VMW_CREATE_EXTENDED_CONTEXT - Create a host context.
1071+ *
1072+ * Allocates a device unique context id, and queues a create context command
1073+ * for the host. Does not wait for host completion.
1074+ */
1075+enum drm_vmw_extended_context {
1076+ drm_vmw_context_legacy,
1077+ drm_vmw_context_dx
1078+};
1079+
1080+/**
1081+ * union drm_vmw_extended_context_arg
1082+ *
1083+ * @req: Context type.
1084+ * @rep: Context identifier.
1085+ *
1086+ * Argument to the DRM_VMW_CREATE_EXTENDED_CONTEXT Ioctl.
1087+ */
1088+union drm_vmw_extended_context_arg {
1089+ enum drm_vmw_extended_context req;
1090+ struct drm_vmw_context_arg rep;
1091+};
10621092 #endif