.. | .. |
---|
33 | 33 | #define ENABLE_GUC_SUBMISSION BIT(0) |
---|
34 | 34 | #define ENABLE_GUC_LOAD_HUC BIT(1) |
---|
35 | 35 | |
---|
| 36 | +/* |
---|
| 37 | + * Invoke param, a function-like macro, for each i915 param, with arguments: |
---|
| 38 | + * |
---|
| 39 | + * param(type, name, value, mode) |
---|
| 40 | + * |
---|
| 41 | + * type: parameter type, one of {bool, int, unsigned int, unsigned long, char *} |
---|
| 42 | + * name: name of the parameter |
---|
| 43 | + * value: initial/default value of the parameter |
---|
| 44 | + * mode: debugfs file permissions, one of {0400, 0600, 0}, use 0 to not create |
---|
| 45 | + * debugfs file |
---|
| 46 | + */ |
---|
36 | 47 | #define I915_PARAMS_FOR_EACH(param) \ |
---|
37 | | - param(char *, vbt_firmware, NULL) \ |
---|
38 | | - param(int, modeset, -1) \ |
---|
39 | | - param(int, lvds_channel_mode, 0) \ |
---|
40 | | - param(int, panel_use_ssc, -1) \ |
---|
41 | | - param(int, vbt_sdvo_panel_type, -1) \ |
---|
42 | | - param(int, enable_dc, -1) \ |
---|
43 | | - param(int, enable_fbc, -1) \ |
---|
44 | | - param(int, enable_ppgtt, -1) \ |
---|
45 | | - param(int, enable_psr, -1) \ |
---|
46 | | - param(int, disable_power_well, -1) \ |
---|
47 | | - param(int, enable_ips, 1) \ |
---|
48 | | - param(int, invert_brightness, 0) \ |
---|
49 | | - param(int, enable_guc, 0) \ |
---|
50 | | - param(int, guc_log_level, -1) \ |
---|
51 | | - param(char *, guc_firmware_path, NULL) \ |
---|
52 | | - param(char *, huc_firmware_path, NULL) \ |
---|
53 | | - param(char *, dmc_firmware_path, NULL) \ |
---|
54 | | - param(int, mmio_debug, 0) \ |
---|
55 | | - param(int, edp_vswing, 0) \ |
---|
56 | | - param(int, reset, 2) \ |
---|
57 | | - param(unsigned int, inject_load_failure, 0) \ |
---|
| 48 | + param(char *, vbt_firmware, NULL, 0400) \ |
---|
| 49 | + param(int, modeset, -1, 0400) \ |
---|
| 50 | + param(int, lvds_channel_mode, 0, 0400) \ |
---|
| 51 | + param(int, panel_use_ssc, -1, 0600) \ |
---|
| 52 | + param(int, vbt_sdvo_panel_type, -1, 0400) \ |
---|
| 53 | + param(int, enable_dc, -1, 0400) \ |
---|
| 54 | + param(int, enable_fbc, -1, 0600) \ |
---|
| 55 | + param(int, enable_psr, -1, 0600) \ |
---|
| 56 | + param(bool, psr_safest_params, false, 0600) \ |
---|
| 57 | + param(bool, enable_psr2_sel_fetch, false, 0600) \ |
---|
| 58 | + param(int, disable_power_well, -1, 0400) \ |
---|
| 59 | + param(int, enable_ips, 1, 0600) \ |
---|
| 60 | + param(int, invert_brightness, 0, 0600) \ |
---|
| 61 | + param(int, enable_guc, 0, 0400) \ |
---|
| 62 | + param(int, guc_log_level, -1, 0400) \ |
---|
| 63 | + param(char *, guc_firmware_path, NULL, 0400) \ |
---|
| 64 | + param(char *, huc_firmware_path, NULL, 0400) \ |
---|
| 65 | + param(char *, dmc_firmware_path, NULL, 0400) \ |
---|
| 66 | + param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO), 0600) \ |
---|
| 67 | + param(int, edp_vswing, 0, 0400) \ |
---|
| 68 | + param(unsigned int, reset, 3, 0600) \ |
---|
| 69 | + param(unsigned int, inject_probe_failure, 0, 0) \ |
---|
| 70 | + param(int, fastboot, -1, 0600) \ |
---|
| 71 | + param(int, enable_dpcd_backlight, -1, 0600) \ |
---|
| 72 | + param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \ |
---|
| 73 | + param(unsigned long, fake_lmem_start, 0, 0400) \ |
---|
58 | 74 | /* leave bools at the end to not create holes */ \ |
---|
59 | | - param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \ |
---|
60 | | - param(bool, enable_hangcheck, true) \ |
---|
61 | | - param(bool, fastboot, false) \ |
---|
62 | | - param(bool, prefault_disable, false) \ |
---|
63 | | - param(bool, load_detect_test, false) \ |
---|
64 | | - param(bool, force_reset_modeset_test, false) \ |
---|
65 | | - param(bool, error_capture, true) \ |
---|
66 | | - param(bool, disable_display, false) \ |
---|
67 | | - param(bool, verbose_state_checks, true) \ |
---|
68 | | - param(bool, nuclear_pageflip, false) \ |
---|
69 | | - param(bool, enable_dp_mst, true) \ |
---|
70 | | - param(bool, enable_dpcd_backlight, false) \ |
---|
71 | | - param(bool, enable_gvt, false) |
---|
| 75 | + param(bool, enable_hangcheck, true, 0600) \ |
---|
| 76 | + param(bool, load_detect_test, false, 0600) \ |
---|
| 77 | + param(bool, force_reset_modeset_test, false, 0600) \ |
---|
| 78 | + param(bool, error_capture, true, 0600) \ |
---|
| 79 | + param(bool, disable_display, false, 0400) \ |
---|
| 80 | + param(bool, verbose_state_checks, true, 0) \ |
---|
| 81 | + param(bool, nuclear_pageflip, false, 0400) \ |
---|
| 82 | + param(bool, enable_dp_mst, true, 0600) \ |
---|
| 83 | + param(bool, enable_gvt, false, 0400) |
---|
72 | 84 | |
---|
73 | 85 | #define MEMBER(T, member, ...) T member; |
---|
74 | 86 | struct i915_params { |
---|
.. | .. |
---|
79 | 91 | extern struct i915_params i915_modparams __read_mostly; |
---|
80 | 92 | |
---|
81 | 93 | void i915_params_dump(const struct i915_params *params, struct drm_printer *p); |
---|
| 94 | +void i915_params_copy(struct i915_params *dest, const struct i915_params *src); |
---|
| 95 | +void i915_params_free(struct i915_params *params); |
---|
82 | 96 | |
---|
83 | 97 | #endif |
---|
84 | 98 | |
---|