0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef _I915_PARAMS_H_
0026 #define _I915_PARAMS_H_
0027
0028 #include <linux/bitops.h>
0029 #include <linux/cache.h> /* for __read_mostly */
0030
0031 struct drm_printer;
0032
0033 #define ENABLE_GUC_SUBMISSION BIT(0)
0034 #define ENABLE_GUC_LOAD_HUC BIT(1)
0035 #define ENABLE_GUC_MASK GENMASK(1, 0)
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048 #define I915_PARAMS_FOR_EACH(param) \
0049 param(char *, vbt_firmware, NULL, 0400) \
0050 param(int, modeset, -1, 0400) \
0051 param(int, lvds_channel_mode, 0, 0400) \
0052 param(int, panel_use_ssc, -1, 0600) \
0053 param(int, vbt_sdvo_panel_type, -1, 0400) \
0054 param(int, enable_dc, -1, 0400) \
0055 param(int, enable_fbc, -1, 0600) \
0056 param(int, enable_psr, -1, 0600) \
0057 param(bool, psr_safest_params, false, 0400) \
0058 param(bool, enable_psr2_sel_fetch, true, 0400) \
0059 param(int, disable_power_well, -1, 0400) \
0060 param(int, enable_ips, 1, 0600) \
0061 param(int, invert_brightness, 0, 0600) \
0062 param(int, enable_guc, -1, 0400) \
0063 param(int, guc_log_level, -1, 0400) \
0064 param(char *, guc_firmware_path, NULL, 0400) \
0065 param(char *, huc_firmware_path, NULL, 0400) \
0066 param(char *, dmc_firmware_path, NULL, 0400) \
0067 param(bool, memtest, false, 0400) \
0068 param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO), 0600) \
0069 param(int, edp_vswing, 0, 0400) \
0070 param(unsigned int, reset, 3, 0600) \
0071 param(unsigned int, inject_probe_failure, 0, 0) \
0072 param(int, fastboot, -1, 0600) \
0073 param(int, enable_dpcd_backlight, -1, 0600) \
0074 param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \
0075 param(unsigned int, request_timeout_ms, CONFIG_DRM_I915_REQUEST_TIMEOUT, CONFIG_DRM_I915_REQUEST_TIMEOUT ? 0600 : 0) \
0076 param(unsigned int, lmem_size, 0, 0400) \
0077 param(unsigned int, lmem_bar_size, 0, 0400) \
0078 \
0079 param(bool, enable_hangcheck, true, 0600) \
0080 param(bool, load_detect_test, false, 0600) \
0081 param(bool, force_reset_modeset_test, false, 0600) \
0082 param(bool, error_capture, true, IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR) ? 0600 : 0) \
0083 param(bool, disable_display, false, 0400) \
0084 param(bool, verbose_state_checks, true, 0) \
0085 param(bool, nuclear_pageflip, false, 0400) \
0086 param(bool, enable_dp_mst, true, 0600) \
0087 param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0)
0088
0089 #define MEMBER(T, member, ...) T member;
0090 struct i915_params {
0091 I915_PARAMS_FOR_EACH(MEMBER);
0092 };
0093 #undef MEMBER
0094
0095 extern struct i915_params i915_modparams __read_mostly;
0096
0097 void i915_params_dump(const struct i915_params *params, struct drm_printer *p);
0098 void i915_params_copy(struct i915_params *dest, const struct i915_params *src);
0099 void i915_params_free(struct i915_params *params);
0100
0101 #endif