#include <drm/intel/i915_hdcp_interface.h>
 #include <uapi/drm/i915_drm.h>
 
-#include "i915_vma_types.h"
+#include "i915_gtt_view_types.h"
 #include "intel_bios.h"
 #include "intel_display.h"
 #include "intel_display_conversion.h"
 
--- /dev/null
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __I915_GTT_VIEW_TYPES_H__
+#define __I915_GTT_VIEW_TYPES_H__
+
+#include <linux/types.h>
+
+struct intel_remapped_plane_info {
+       /* in gtt pages */
+       u32 offset:31;
+       u32 linear:1;
+       union {
+               /* in gtt pages for !linear */
+               struct {
+                       u16 width;
+                       u16 height;
+                       u16 src_stride;
+                       u16 dst_stride;
+               };
+
+               /* in gtt pages for linear */
+               u32 size;
+       };
+} __packed;
+
+struct intel_rotation_info {
+       struct intel_remapped_plane_info plane[2];
+} __packed;
+
+struct intel_partial_info {
+       u64 offset;
+       unsigned int size;
+} __packed;
+
+struct intel_remapped_info {
+       struct intel_remapped_plane_info plane[4];
+       /* in gtt pages */
+       u32 plane_alignment;
+} __packed;
+
+enum i915_gtt_view_type {
+       I915_GTT_VIEW_NORMAL = 0,
+       I915_GTT_VIEW_ROTATED = sizeof(struct intel_rotation_info),
+       I915_GTT_VIEW_PARTIAL = sizeof(struct intel_partial_info),
+       I915_GTT_VIEW_REMAPPED = sizeof(struct intel_remapped_info),
+};
+
+struct i915_gtt_view {
+       enum i915_gtt_view_type type;
+       union {
+               /* Members need to contain no holes/padding */
+               struct intel_partial_info partial;
+               struct intel_rotation_info rotated;
+               struct intel_remapped_info remapped;
+       };
+};
+
+#endif /* __I915_GTT_VIEW_TYPES_H__ */
 
 
 #include "gem/i915_gem_object_types.h"
 
+#include "i915_gtt_view_types.h"
+
 /**
  * DOC: Global GTT views
  *
 
 struct i915_vma_resource;
 
-struct intel_remapped_plane_info {
-       /* in gtt pages */
-       u32 offset:31;
-       u32 linear:1;
-       union {
-               /* in gtt pages for !linear */
-               struct {
-                       u16 width;
-                       u16 height;
-                       u16 src_stride;
-                       u16 dst_stride;
-               };
-
-               /* in gtt pages for linear */
-               u32 size;
-       };
-} __packed;
-
-struct intel_remapped_info {
-       struct intel_remapped_plane_info plane[4];
-       /* in gtt pages */
-       u32 plane_alignment;
-} __packed;
-
-struct intel_rotation_info {
-       struct intel_remapped_plane_info plane[2];
-} __packed;
-
-struct intel_partial_info {
-       u64 offset;
-       unsigned int size;
-} __packed;
-
-enum i915_gtt_view_type {
-       I915_GTT_VIEW_NORMAL = 0,
-       I915_GTT_VIEW_ROTATED = sizeof(struct intel_rotation_info),
-       I915_GTT_VIEW_PARTIAL = sizeof(struct intel_partial_info),
-       I915_GTT_VIEW_REMAPPED = sizeof(struct intel_remapped_info),
-};
-
 static inline void assert_i915_gem_gtt_types(void)
 {
        BUILD_BUG_ON(sizeof(struct intel_rotation_info) != 2 * sizeof(u32) + 8 * sizeof(u16));
        }
 }
 
-struct i915_gtt_view {
-       enum i915_gtt_view_type type;
-       union {
-               /* Members need to contain no holes/padding */
-               struct intel_partial_info partial;
-               struct intel_rotation_info rotated;
-               struct intel_remapped_info remapped;
-       };
-};
-
 /**
  * DOC: Virtual Memory Address
  *
 
--- /dev/null
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#include "../../i915/i915_gtt_view_types.h"
+
+/* Partial view not supported in xe, fail build if used. */
+#define I915_GTT_VIEW_PARTIAL
 
+++ /dev/null
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#include <linux/types.h>
-#include <linux/build_bug.h>
-
-/* XX: Figure out how to handle this vma mapping in xe */
-struct intel_remapped_plane_info {
-       /* in gtt pages */
-       u32 offset:31;
-       u32 linear:1;
-       union {
-               /* in gtt pages for !linear */
-               struct {
-                       u16 width;
-                       u16 height;
-                       u16 src_stride;
-                       u16 dst_stride;
-               };
-
-               /* in gtt pages for linear */
-               u32 size;
-       };
-} __packed;
-
-struct intel_remapped_info {
-       struct intel_remapped_plane_info plane[4];
-       /* in gtt pages */
-       u32 plane_alignment;
-} __packed;
-
-struct intel_rotation_info {
-       struct intel_remapped_plane_info plane[2];
-} __packed;
-
-enum i915_gtt_view_type {
-       I915_GTT_VIEW_NORMAL = 0,
-       I915_GTT_VIEW_ROTATED = sizeof(struct intel_rotation_info),
-       I915_GTT_VIEW_REMAPPED = sizeof(struct intel_remapped_info),
-};
-
-static inline void assert_i915_gem_gtt_types(void)
-{
-       BUILD_BUG_ON(sizeof(struct intel_rotation_info) != 2 * sizeof(u32) + 8 * sizeof(u16));
-       BUILD_BUG_ON(sizeof(struct intel_remapped_info) != 5 * sizeof(u32) + 16 * sizeof(u16));
-
-       /* Check that rotation/remapped shares offsets for simplicity */
-       BUILD_BUG_ON(offsetof(struct intel_remapped_info, plane[0]) !=
-                    offsetof(struct intel_rotation_info, plane[0]));
-       BUILD_BUG_ON(offsetofend(struct intel_remapped_info, plane[1]) !=
-                    offsetofend(struct intel_rotation_info, plane[1]));
-
-       /* As we encode the size of each branch inside the union into its type,
-        * we have to be careful that each branch has a unique size.
-        */
-       switch ((enum i915_gtt_view_type)0) {
-       case I915_GTT_VIEW_NORMAL:
-       case I915_GTT_VIEW_ROTATED:
-       case I915_GTT_VIEW_REMAPPED:
-               /* gcc complains if these are identical cases */
-               break;
-       }
-}
-
-struct i915_gtt_view {
-       enum i915_gtt_view_type type;
-       union {
-               /* Members need to contain no holes/padding */
-               struct intel_rotation_info rotated;
-               struct intel_remapped_info remapped;
-       };
-};