17eb186bbSJani Nikula /* SPDX-License-Identifier: MIT */ 27eb186bbSJani Nikula /* 37eb186bbSJani Nikula * Copyright © 2020,2021 Intel Corporation 47eb186bbSJani Nikula */ 57eb186bbSJani Nikula 67eb186bbSJani Nikula #ifndef __INTEL_STEP_H__ 77eb186bbSJani Nikula #define __INTEL_STEP_H__ 87eb186bbSJani Nikula 97eb186bbSJani Nikula #include <linux/types.h> 107eb186bbSJani Nikula 11ef47b7abSJani Nikula struct drm_i915_private; 12ef47b7abSJani Nikula 135644dc0aSJani Nikula struct intel_step_info { 14*8b449f1cSMatt Roper u8 graphics_step; /* Represents the compute tile on Xe_HPC */ 1526475ca9SJani Nikula u8 display_step; 16e181fa1dSJosé Roberto de Souza u8 media_step; 17*8b449f1cSMatt Roper u8 basedie_step; 187eb186bbSJani Nikula }; 197eb186bbSJani Nikula 20e631a440SAnusha Srivatsa #define STEP_ENUM_VAL(name) STEP_##name, 21e631a440SAnusha Srivatsa 22e631a440SAnusha Srivatsa #define STEP_NAME_LIST(func) \ 23e631a440SAnusha Srivatsa func(A0) \ 24e631a440SAnusha Srivatsa func(A1) \ 25e631a440SAnusha Srivatsa func(A2) \ 26e631a440SAnusha Srivatsa func(B0) \ 27e631a440SAnusha Srivatsa func(B1) \ 28e631a440SAnusha Srivatsa func(B2) \ 29*8b449f1cSMatt Roper func(B3) \ 30e631a440SAnusha Srivatsa func(C0) \ 31e631a440SAnusha Srivatsa func(C1) \ 32e631a440SAnusha Srivatsa func(D0) \ 33e631a440SAnusha Srivatsa func(D1) \ 34e631a440SAnusha Srivatsa func(E0) \ 35e631a440SAnusha Srivatsa func(F0) \ 36e631a440SAnusha Srivatsa func(G0) \ 37e631a440SAnusha Srivatsa func(H0) \ 38e631a440SAnusha Srivatsa func(I0) \ 39e631a440SAnusha Srivatsa func(I1) \ 40e631a440SAnusha Srivatsa func(J0) 41e631a440SAnusha Srivatsa 42439c8dccSJani Nikula /* 43439c8dccSJani Nikula * Symbolic steppings that do not match the hardware. These are valid both as gt 44439c8dccSJani Nikula * and display steppings as symbolic names. 45439c8dccSJani Nikula */ 46439c8dccSJani Nikula enum intel_step { 47439c8dccSJani Nikula STEP_NONE = 0, 48e631a440SAnusha Srivatsa STEP_NAME_LIST(STEP_ENUM_VAL) 49ef47b7abSJani Nikula STEP_FUTURE, 50ef47b7abSJani Nikula STEP_FOREVER, 51439c8dccSJani Nikula }; 52439c8dccSJani Nikula 53ef47b7abSJani Nikula void intel_step_init(struct drm_i915_private *i915); 54e631a440SAnusha Srivatsa const char *intel_step_name(enum intel_step step); 55ef47b7abSJani Nikula 567eb186bbSJani Nikula #endif /* __INTEL_STEP_H__ */ 57