1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 #ifndef _XE_I915_DRV_H_ 6 #define _XE_I915_DRV_H_ 7 8 /* 9 * "Adaptation header" to allow i915 display to also build for xe driver. 10 * TODO: refactor i915 and xe so this can cease to exist 11 */ 12 13 #include <drm/drm_drv.h> 14 15 #include "i915_utils.h" 16 #include "xe_device.h" /* for xe_device_has_flat_ccs() */ 17 #include "xe_device_types.h" 18 19 static inline struct drm_i915_private *to_i915(const struct drm_device *dev) 20 { 21 return container_of(dev, struct drm_i915_private, drm); 22 } 23 24 /* compat platform checks only for soc/ usage */ 25 #define IS_PLATFORM(xe, x) ((xe)->info.platform == x) 26 #define IS_I915G(dev_priv) (dev_priv && 0) 27 #define IS_I915GM(dev_priv) (dev_priv && 0) 28 #define IS_PINEVIEW(dev_priv) (dev_priv && 0) 29 #define IS_IVYBRIDGE(dev_priv) (dev_priv && 0) 30 #define IS_VALLEYVIEW(dev_priv) (dev_priv && 0) 31 #define IS_CHERRYVIEW(dev_priv) (dev_priv && 0) 32 #define IS_HASWELL(dev_priv) (dev_priv && 0) 33 #define IS_BROADWELL(dev_priv) (dev_priv && 0) 34 #define IS_SKYLAKE(dev_priv) (dev_priv && 0) 35 #define IS_BROXTON(dev_priv) (dev_priv && 0) 36 #define IS_KABYLAKE(dev_priv) (dev_priv && 0) 37 #define IS_GEMINILAKE(dev_priv) (dev_priv && 0) 38 #define IS_COFFEELAKE(dev_priv) (dev_priv && 0) 39 #define IS_COMETLAKE(dev_priv) (dev_priv && 0) 40 #define IS_ICELAKE(dev_priv) (dev_priv && 0) 41 #define IS_JASPERLAKE(dev_priv) (dev_priv && 0) 42 #define IS_ELKHARTLAKE(dev_priv) (dev_priv && 0) 43 #define IS_TIGERLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_TIGERLAKE) 44 #define IS_ROCKETLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_ROCKETLAKE) 45 #define IS_DG1(dev_priv) IS_PLATFORM(dev_priv, XE_DG1) 46 #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S) 47 #define IS_ALDERLAKE_P(dev_priv) (IS_PLATFORM(dev_priv, XE_ALDERLAKE_P) || \ 48 IS_PLATFORM(dev_priv, XE_ALDERLAKE_N)) 49 #define IS_DG2(dev_priv) IS_PLATFORM(dev_priv, XE_DG2) 50 #define IS_METEORLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_METEORLAKE) 51 #define IS_LUNARLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_LUNARLAKE) 52 #define IS_BATTLEMAGE(dev_priv) IS_PLATFORM(dev_priv, XE_BATTLEMAGE) 53 #define IS_PANTHERLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_PANTHERLAKE) 54 55 #define IS_HASWELL_ULT(dev_priv) (dev_priv && 0) 56 #define IS_BROADWELL_ULT(dev_priv) (dev_priv && 0) 57 58 #define IS_MOBILE(xe) (xe && 0) 59 60 #define HAS_FLAT_CCS(xe) (xe_device_has_flat_ccs(xe)) 61 #define HAS_128_BYTE_Y_TILING(xe) (xe || 1) 62 63 #endif 64