diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2013-05-31 15:33:23 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-05-31 15:40:08 -0400 |
commit | 3c4ca58c12a3bf71433425df534dfbb85d8a5dc5 (patch) | |
tree | 9abab8615571f4a7ba90ac273a386cd162c81f40 /drivers/gpu/drm | |
parent | 42db64efcd95014570835c7b0a08277c60486f07 (diff) |
drm/i915: add enable_ips module option
IPS is still enabled by default. Feature requested by the power
management team.
This should also help testing the feature on some early pre-production
hardware where there were relationship problems between IPS and PSR.
v2: Rebase on top of the newest IPS implementation.
v3: Check i915_enable_ips at compute_config, not supports_ips, so the
kernel parameter will be ignored at haswell_get_pipe_config.
Requested-by: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index a4e8f16a38e8..b23cd63b9fda 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -128,6 +128,10 @@ module_param_named(disable_power_well, i915_disable_power_well, int, 0600); | |||
128 | MODULE_PARM_DESC(disable_power_well, | 128 | MODULE_PARM_DESC(disable_power_well, |
129 | "Disable the power well when possible (default: false)"); | 129 | "Disable the power well when possible (default: false)"); |
130 | 130 | ||
131 | int i915_enable_ips __read_mostly = 1; | ||
132 | module_param_named(enable_ips, i915_enable_ips, int, 0600); | ||
133 | MODULE_PARM_DESC(enable_ips, "Enable IPS (default: true)"); | ||
134 | |||
131 | static struct drm_driver driver; | 135 | static struct drm_driver driver; |
132 | extern int intel_agp_enabled; | 136 | extern int intel_agp_enabled; |
133 | 137 | ||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index a18da3c6c96e..be869f261993 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -1470,6 +1470,7 @@ extern bool i915_enable_hangcheck __read_mostly; | |||
1470 | extern int i915_enable_ppgtt __read_mostly; | 1470 | extern int i915_enable_ppgtt __read_mostly; |
1471 | extern unsigned int i915_preliminary_hw_support __read_mostly; | 1471 | extern unsigned int i915_preliminary_hw_support __read_mostly; |
1472 | extern int i915_disable_power_well __read_mostly; | 1472 | extern int i915_disable_power_well __read_mostly; |
1473 | extern int i915_enable_ips __read_mostly; | ||
1473 | 1474 | ||
1474 | extern int i915_suspend(struct drm_device *dev, pm_message_t state); | 1475 | extern int i915_suspend(struct drm_device *dev, pm_message_t state); |
1475 | extern int i915_resume(struct drm_device *dev); | 1476 | extern int i915_resume(struct drm_device *dev); |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index acfc6a164a59..c112466bb769 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -4034,7 +4034,8 @@ retry: | |||
4034 | static void hsw_compute_ips_config(struct intel_crtc *crtc, | 4034 | static void hsw_compute_ips_config(struct intel_crtc *crtc, |
4035 | struct intel_crtc_config *pipe_config) | 4035 | struct intel_crtc_config *pipe_config) |
4036 | { | 4036 | { |
4037 | pipe_config->ips_enabled = hsw_crtc_supports_ips(crtc) && | 4037 | pipe_config->ips_enabled = i915_enable_ips && |
4038 | hsw_crtc_supports_ips(crtc) && | ||
4038 | pipe_config->pipe_bpp == 24; | 4039 | pipe_config->pipe_bpp == 24; |
4039 | } | 4040 | } |
4040 | 4041 | ||