diff options
author | Jani Nikula <jani.nikula@intel.com> | 2019-12-05 17:43:40 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2020-01-15 15:10:16 +0200 |
commit | c43c5a8818d4c399e38f636495fb02a8ff8a029a (patch) | |
tree | 8e3c1cf75e2e9cb435b2715bbedbeb114efe4f4e /drivers/gpu/drm/i915/i915_params.h | |
parent | f22fd334890e0e24305aaa7249ff56baba082eca (diff) | |
download | linux-c43c5a8818d4c399e38f636495fb02a8ff8a029a.tar.gz |
drm/i915/params: add i915 parameters to debugfs
Add a debugfs subdirectory i915_params with all the i915 module
parameters. This is a first step, with lots of boilerplate, and not much
benefit yet.
This will result in a new device specific debugfs directory at
/sys/kernel/debug/dri/<N>/i915_params duplicating the module specific
sysfs directory at /sys/module/i915/parameters/. Going forward, all
users of the parameters should use the debugfs, with the module
parameters being phased out.
Add debugfs permissions to I915_PARAMS_FOR_EACH(). This duplicates the
mode with module parameter sysfs, but the goal is to make the module
parameters read-only initial values for device specific parameters.
0 mode will bypass debugfs creation. Use it for verbose_state_checks
which will need special attention in follow-up work.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/600101c8433e7caf9303663fc85a9972fa1f05e7.1575560168.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_params.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_params.h | 76 |
1 files changed, 39 insertions, 37 deletions
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h index 31b88f297fbc..be6089e4f9e6 100644 --- a/drivers/gpu/drm/i915/i915_params.h +++ b/drivers/gpu/drm/i915/i915_params.h @@ -36,49 +36,51 @@ struct drm_printer; /* * Invoke param, a function-like macro, for each i915 param, with arguments: * - * param(type, name, value) + * param(type, name, value, mode) * - * type: parameter type, one of {bool, int, unsigned int, char *} + * type: parameter type, one of {bool, int, unsigned int, unsigned long, char *} * name: name of the parameter * value: initial/default value of the parameter + * mode: debugfs file permissions, one of {0400, 0600, 0}, use 0 to not create + * debugfs file */ #define I915_PARAMS_FOR_EACH(param) \ - param(char *, vbt_firmware, NULL) \ - param(int, modeset, -1) \ - param(int, lvds_channel_mode, 0) \ - param(int, panel_use_ssc, -1) \ - param(int, vbt_sdvo_panel_type, -1) \ - param(int, enable_dc, -1) \ - param(int, enable_fbc, -1) \ - param(int, enable_psr, -1) \ - param(int, disable_power_well, -1) \ - param(int, enable_ips, 1) \ - param(int, invert_brightness, 0) \ - param(int, enable_guc, 0) \ - param(int, guc_log_level, -1) \ - param(char *, guc_firmware_path, NULL) \ - param(char *, huc_firmware_path, NULL) \ - param(char *, dmc_firmware_path, NULL) \ - param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO)) \ - param(int, edp_vswing, 0) \ - param(int, reset, 3) \ - param(unsigned int, inject_probe_failure, 0) \ - param(int, fastboot, -1) \ - param(int, enable_dpcd_backlight, 0) \ - param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \ - param(unsigned long, fake_lmem_start, 0) \ + param(char *, vbt_firmware, NULL, 0400) \ + param(int, modeset, -1, 0400) \ + param(int, lvds_channel_mode, 0, 0400) \ + param(int, panel_use_ssc, -1, 0600) \ + param(int, vbt_sdvo_panel_type, -1, 0400) \ + param(int, enable_dc, -1, 0400) \ + param(int, enable_fbc, -1, 0600) \ + param(int, enable_psr, -1, 0600) \ + param(int, disable_power_well, -1, 0400) \ + param(int, enable_ips, 1, 0600) \ + param(int, invert_brightness, 0, 0600) \ + param(int, enable_guc, 0, 0400) \ + param(int, guc_log_level, -1, 0400) \ + param(char *, guc_firmware_path, NULL, 0400) \ + param(char *, huc_firmware_path, NULL, 0400) \ + param(char *, dmc_firmware_path, NULL, 0400) \ + param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO), 0600) \ + param(int, edp_vswing, 0, 0400) \ + param(int, reset, 3, 0600) \ + param(unsigned int, inject_probe_failure, 0, 0600) \ + param(int, fastboot, -1, 0600) \ + param(int, enable_dpcd_backlight, 0, 0600) \ + param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \ + param(unsigned long, fake_lmem_start, 0, 0400) \ /* leave bools at the end to not create holes */ \ - param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \ - param(bool, enable_hangcheck, true) \ - param(bool, prefault_disable, false) \ - param(bool, load_detect_test, false) \ - param(bool, force_reset_modeset_test, false) \ - param(bool, error_capture, true) \ - param(bool, disable_display, false) \ - param(bool, verbose_state_checks, true) \ - param(bool, nuclear_pageflip, false) \ - param(bool, enable_dp_mst, true) \ - param(bool, enable_gvt, false) + param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT), 0400) \ + param(bool, enable_hangcheck, true, 0600) \ + param(bool, prefault_disable, false, 0600) \ + param(bool, load_detect_test, false, 0600) \ + param(bool, force_reset_modeset_test, false, 0600) \ + param(bool, error_capture, true, 0600) \ + param(bool, disable_display, false, 0400) \ + param(bool, verbose_state_checks, true, 0) \ + param(bool, nuclear_pageflip, false, 0400) \ + param(bool, enable_dp_mst, true, 0600) \ + param(bool, enable_gvt, false, 0400) #define MEMBER(T, member, ...) T member; struct i915_params { |