linux_dsm_epyc7002/drivers/gpu/drm/i915
Paulo Zanoni 9005874532 drm/i915: add i915.pc8_timeout function
We currently only enter PC8+ after all its required conditions are
met, there's no rendering, and we stay like that for at least 5
seconds.

I chose "5 seconds" because this value is conservative and won't make
us enter/leave PC8+ thousands of times after the screen is off: some
desktop environments have applications that wake up and do rendering
every 1-3 seconds, even when the screen is off and the machine is
completely idle.

But when I was testing my PC8+ patches I set the default value to
100ms so I could use the bad-behaving desktop environments to
stress-test my patches. I also thought it would be a good idea to ask
our power management team to test different values, but I'm pretty
sure they would ask me for an easy way to change the timeout. So to
help these 2 cases I decided to create an option that would make it
easier to change the default value. I also expect people making
specific products that use our driver could try to find the perfect
timeout for them.

Anyway, fixing the bad-behaving applications will always lead to
better power savings than just changing the timeout value: you need to
stop waking the Kernel, not quickly put it back to sleep again after
you wake it for nothing. Bad sleep leads to bad mood!

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>
2013-08-23 14:52:35 +02:00
..
dvo_ch7xxx.c drm/i915: dvo_ch7xxx: fix vsync polarity setting 2013-07-25 16:10:22 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_debugfs.c drm/i915: add i915_pc8_status debugfs file 2013-08-23 14:52:34 +02:00
i915_dma.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
i915_drv.c drm/i915: add i915.pc8_timeout function 2013-08-23 14:52:35 +02:00
i915_drv.h drm/i915: add i915.pc8_timeout function 2013-08-23 14:52:35 +02:00
i915_gem_context.c drm/i915: mm_list is per VMA 2013-08-08 14:06:58 +02:00
i915_gem_debug.c drm/i915: Fix #endif comment 2013-08-09 10:45:52 +02:00
i915_gem_dmabuf.c drm/i915: explicit store base gem object in dma_buf->priv 2013-08-22 13:31:49 +02:00
i915_gem_evict.c drm/i915/vma: Correct use after free in eviction 2013-08-23 14:52:21 +02:00
i915_gem_execbuffer.c drm/i915: Cleaning up the relocate entry function 2013-08-23 14:52:31 +02:00
i915_gem_gtt.c drm/i915: Use Write-Through cacheing for the display plane on Iris 2013-08-22 13:31:38 +02:00
i915_gem_stolen.c drm/i915: clarify error paths in create_stolen_for_preallocated 2013-08-22 13:31:43 +02:00
i915_gem_tiling.c drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_gem.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
i915_gpu_error.c drm/i915: Get VECS semaphore info on error 2013-08-22 13:31:43 +02:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
i915_reg.h drm/i915: Expose energy counter on SNB+ through debugfs 2013-08-23 14:52:25 +02:00
i915_suspend.c Linux 3.10 2013-07-18 12:03:29 +02:00
i915_sysfs.c drm/i915: add error_state sysfs entry 2013-07-01 19:39:31 +02:00
i915_trace_points.c
i915_trace.h drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_ums.c drm/i915: scrap register address storage 2013-06-10 19:54:14 +02:00
intel_acpi.c i915: fix ACPI _DSM warning 2013-08-05 19:04:05 +02:00
intel_bios.c drm/i915: Organize VBT stuff inside drm_i915_private 2013-05-10 21:56:46 +02:00
intel_bios.h drm/i915: set CPT FDI RX polarity bits based on VBT 2013-04-18 09:43:31 +02:00
intel_crt.c drm/i915/crt: use native encoder->mode_set callback 2013-08-04 21:25:23 +02:00
intel_ddi.c drm/i915: add the FCLK case to intel_ddi_get_cdclk_freq 2013-08-23 14:52:25 +02:00
intel_display.c drm/i915: add i915.pc8_timeout function 2013-08-23 14:52:35 +02:00
intel_dp.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_drv.h drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_dvo.c drm/i915/dvo: use native encoder ->mode_set callback 2013-08-04 21:25:21 +02:00
intel_fb.c drm/i915: Export intel_framebuffer_fini 2013-08-06 20:08:50 +02:00
intel_hdmi.c drm/i915: remove set but unused variables 2013-08-22 13:31:39 +02:00
intel_i2c.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_lvds.c drm/i915/lvds: use the native encoder ->mode_set callback 2013-08-04 21:25:25 +02:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c drm/i915: tune down DIDL warning about too many outputs 2013-07-01 11:14:42 +02:00
intel_overlay.c drm/i915: Add VM to pin 2013-08-05 19:04:09 +02:00
intel_panel.c drm/i915: clean up crtc timings computation 2013-08-04 21:25:27 +02:00
intel_pm.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_ringbuffer.c drm/i915: wrap GEN6_PMIMR changes 2013-08-23 14:52:26 +02:00
intel_ringbuffer.h drm/i915: Remove I915_READ_{NOPID, SYNC_0, SYNC_1})() 2013-08-23 14:52:24 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sdvo.c i915: Fix SDVO potentially turning off randomly 2013-08-22 13:31:36 +02:00
intel_sideband.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
intel_sprite.c drm/i915: Always call intel_update_sprite_watermarks() when disabling a plane 2013-08-08 14:11:15 +02:00
intel_tv.c drm/i915/tv: Use native encoder->mode_set callback 2013-08-04 21:25:22 +02:00
intel_uncore.c drm/i915: Convert the register access tracepoint to be conditional 2013-07-25 15:22:07 +02:00
Makefile drm/i915: Colocate all GT access routines in the same file 2013-07-25 15:21:50 +02:00