xref: /linux/drivers/gpu/drm/i915/display/intel_display_utils.h (revision 24f171c7e145f43b9f187578e89b0982ce87e54c)
17c15791dSJani Nikula /* SPDX-License-Identifier: MIT */
27c15791dSJani Nikula /* Copyright © 2025 Intel Corporation */
37c15791dSJani Nikula 
47c15791dSJani Nikula #ifndef __INTEL_DISPLAY_UTILS__
57c15791dSJani Nikula #define __INTEL_DISPLAY_UTILS__
67c15791dSJani Nikula 
7*b062cf54SJani Nikula #include <linux/bug.h>
8cd81a70dSJani Nikula #include <linux/types.h>
9cd81a70dSJani Nikula 
10cd81a70dSJani Nikula struct intel_display;
11cd81a70dSJani Nikula 
12*b062cf54SJani Nikula #ifndef MISSING_CASE
13*b062cf54SJani Nikula #define MISSING_CASE(x) WARN(1, "Missing case (%s == %ld)\n", \
14*b062cf54SJani Nikula 			     __stringify(x), (long)(x))
15*b062cf54SJani Nikula #endif
16*b062cf54SJani Nikula 
17*b062cf54SJani Nikula #ifndef fetch_and_zero
18*b062cf54SJani Nikula #define fetch_and_zero(ptr) ({						\
19*b062cf54SJani Nikula 	typeof(*ptr) __T = *(ptr);					\
20*b062cf54SJani Nikula 	*(ptr) = (typeof(*ptr))0;					\
21*b062cf54SJani Nikula 	__T;								\
22*b062cf54SJani Nikula })
23*b062cf54SJani Nikula #endif
24*b062cf54SJani Nikula 
257c15791dSJani Nikula #define KHz(x) (1000 * (x))
267c15791dSJani Nikula #define MHz(x) KHz(1000 * (x))
277c15791dSJani Nikula 
28cd81a70dSJani Nikula bool intel_display_run_as_guest(struct intel_display *display);
29aaccf0baSJani Nikula bool intel_display_vtd_active(struct intel_display *display);
30cd81a70dSJani Nikula 
317c15791dSJani Nikula #endif /* __INTEL_DISPLAY_UTILS__ */
32