drm/i915/step: Add macro magic for handling steps
With the addition of stepping info for all platforms, lets use macros for handling them and autogenerating code for all steps at a time. Suggested-by: Matt Roper <matthew.d.roper@intel.com> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210721215238.24980-1-anusha.srivatsa@intel.com
This commit is contained in:
Родитель
34ba3c8a7d
Коммит
e631a440c0
|
@ -210,3 +210,17 @@ void intel_step_init(struct drm_i915_private *i915)
|
|||
|
||||
RUNTIME_INFO(i915)->step = step;
|
||||
}
|
||||
|
||||
#define STEP_NAME_CASE(name) \
|
||||
case STEP_##name: \
|
||||
return #name;
|
||||
|
||||
const char *intel_step_name(enum intel_step step)
|
||||
{
|
||||
switch (step) {
|
||||
STEP_NAME_LIST(STEP_NAME_CASE);
|
||||
|
||||
default:
|
||||
return "**";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,31 +15,39 @@ struct intel_step_info {
|
|||
u8 display_step;
|
||||
};
|
||||
|
||||
#define STEP_ENUM_VAL(name) STEP_##name,
|
||||
|
||||
#define STEP_NAME_LIST(func) \
|
||||
func(A0) \
|
||||
func(A1) \
|
||||
func(A2) \
|
||||
func(B0) \
|
||||
func(B1) \
|
||||
func(B2) \
|
||||
func(C0) \
|
||||
func(C1) \
|
||||
func(D0) \
|
||||
func(D1) \
|
||||
func(E0) \
|
||||
func(F0) \
|
||||
func(G0) \
|
||||
func(H0) \
|
||||
func(I0) \
|
||||
func(I1) \
|
||||
func(J0)
|
||||
|
||||
/*
|
||||
* Symbolic steppings that do not match the hardware. These are valid both as gt
|
||||
* and display steppings as symbolic names.
|
||||
*/
|
||||
enum intel_step {
|
||||
STEP_NONE = 0,
|
||||
STEP_A0,
|
||||
STEP_A1,
|
||||
STEP_A2,
|
||||
STEP_B0,
|
||||
STEP_B1,
|
||||
STEP_C0,
|
||||
STEP_D0,
|
||||
STEP_D1,
|
||||
STEP_E0,
|
||||
STEP_F0,
|
||||
STEP_G0,
|
||||
STEP_H0,
|
||||
STEP_I0,
|
||||
STEP_I1,
|
||||
STEP_J0,
|
||||
STEP_NAME_LIST(STEP_ENUM_VAL)
|
||||
STEP_FUTURE,
|
||||
STEP_FOREVER,
|
||||
};
|
||||
|
||||
void intel_step_init(struct drm_i915_private *i915);
|
||||
const char *intel_step_name(enum intel_step step);
|
||||
|
||||
#endif /* __INTEL_STEP_H__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче