mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
drm/i915/display_wa: Add helpers to check wa
Introduce a generic helper to check display workarounds using an enum. Convert Wa_16023588340 to use the new interface, simplifying WA checks and making future additions easier. v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa macro. (Jani) v3: Print Missing wa number, instead of enum value. (Gustavo, Jani) Suggested-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://lore.kernel.org/r/20250711041901.1607823-2-ankit.k.nautiyal@intel.com
This commit is contained in:
parent
8a643df55f
commit
5c30a6e12c
|
|
@ -3,6 +3,8 @@
|
|||
* Copyright © 2023 Intel Corporation
|
||||
*/
|
||||
|
||||
#include <drm/drm_print.h>
|
||||
|
||||
#include "i915_reg.h"
|
||||
#include "intel_de.h"
|
||||
#include "intel_display_core.h"
|
||||
|
|
@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
|
|||
else if (DISPLAY_VER(display) == 11)
|
||||
gen11_display_wa_apply(display);
|
||||
}
|
||||
|
||||
bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name)
|
||||
{
|
||||
switch (wa) {
|
||||
case INTEL_DISPLAY_WA_16023588340:
|
||||
return intel_display_needs_wa_16023588340(display);
|
||||
default:
|
||||
drm_WARN(display->drm, 1, "Missing Wa number: %s\n", name);
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
|
|||
bool intel_display_needs_wa_16023588340(struct intel_display *display);
|
||||
#endif
|
||||
|
||||
enum intel_display_wa {
|
||||
INTEL_DISPLAY_WA_16023588340,
|
||||
};
|
||||
|
||||
bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
|
||||
|
||||
#define intel_display_wa(__display, __wa) \
|
||||
__intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa, __stringify(__wa))
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (intel_display_needs_wa_16023588340(display)) {
|
||||
if (intel_display_wa(display, 16023588340)) {
|
||||
plane_state->no_fbc_reason = "Wa_16023588340";
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user