1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#ifndef _I915_PARAMS_H_
26#define _I915_PARAMS_H_
27
28#include <linux/bitops.h>
29#include <linux/cache.h>
30
31struct drm_printer;
32
33#define ENABLE_GUC_SUBMISSION BIT(0)
34#define ENABLE_GUC_LOAD_HUC BIT(1)
35#define ENABLE_GUC_MASK GENMASK(1, 0)
36
37
38
39
40
41
42
43
44
45
46
47
48#define I915_PARAMS_FOR_EACH(param) \
49 param(char *, vbt_firmware, NULL, 0400) \
50 param(int, modeset, -1, 0400) \
51 param(int, lvds_channel_mode, 0, 0400) \
52 param(int, panel_use_ssc, -1, 0600) \
53 param(int, vbt_sdvo_panel_type, -1, 0400) \
54 param(int, enable_dc, -1, 0400) \
55 param(int, enable_fbc, -1, 0600) \
56 param(int, enable_psr, -1, 0600) \
57 param(bool, psr_safest_params, false, 0400) \
58 param(bool, enable_psr2_sel_fetch, false, 0400) \
59 param(int, disable_power_well, -1, 0400) \
60 param(int, enable_ips, 1, 0600) \
61 param(int, invert_brightness, 0, 0600) \
62 param(int, enable_guc, -1, 0400) \
63 param(int, guc_log_level, -1, 0400) \
64 param(char *, guc_firmware_path, NULL, 0400) \
65 param(char *, huc_firmware_path, NULL, 0400) \
66 param(char *, dmc_firmware_path, NULL, 0400) \
67 param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO), 0600) \
68 param(int, edp_vswing, 0, 0400) \
69 param(unsigned int, reset, 3, 0600) \
70 param(unsigned int, inject_probe_failure, 0, 0) \
71 param(int, fastboot, -1, 0600) \
72 param(int, enable_dpcd_backlight, -1, 0600) \
73 param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \
74 param(unsigned long, fake_lmem_start, 0, IS_ENABLED(CONFIG_DRM_I915_UNSTABLE_FAKE_LMEM) ? 0400 : 0) \
75 param(unsigned int, request_timeout_ms, CONFIG_DRM_I915_REQUEST_TIMEOUT, CONFIG_DRM_I915_REQUEST_TIMEOUT ? 0600 : 0) \
76 \
77 param(bool, enable_hangcheck, true, 0600) \
78 param(bool, load_detect_test, false, 0600) \
79 param(bool, force_reset_modeset_test, false, 0600) \
80 param(bool, error_capture, true, IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR) ? 0600 : 0) \
81 param(bool, disable_display, false, 0400) \
82 param(bool, verbose_state_checks, true, 0) \
83 param(bool, nuclear_pageflip, false, 0400) \
84 param(bool, enable_dp_mst, true, 0600) \
85 param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0)
86
87#define MEMBER(T, member, ...) T member;
88struct i915_params {
89 I915_PARAMS_FOR_EACH(MEMBER);
90};
91#undef MEMBER
92
93extern struct i915_params i915_modparams __read_mostly;
94
95void i915_params_dump(const struct i915_params *params, struct drm_printer *p);
96void i915_params_copy(struct i915_params *dest, const struct i915_params *src);
97void i915_params_free(struct i915_params *params);
98
99#endif
100