#include <drm/i915_drm.h>
#include <asm/msr.h>
#include <asm/processor.h>
-#include "intel_ips.h"
#define PCI_DEVICE_ID_INTEL_THERMAL_SENSOR 0x3b32
#define thm_writel(off, val) writel((val), ips->regmap + (off))
static const int IPS_ADJUST_PERIOD = 5000; /* ms */
-static bool late_i915_load = false;
/* For initial average collection */
static const int IPS_SAMPLE_PERIOD = 200; /* ms */
u64 orig_turbo_ratios;
};
-static bool
-ips_gpu_turbo_enabled(struct ips_driver *ips);
-
/**
* ips_cpu_busy - is CPU busy?
* @ips: IPS driver struct
*/
static bool ips_gpu_busy(struct ips_driver *ips)
{
- if (!ips_gpu_turbo_enabled(ips))
+ if (!ips->gpu_turbo_enabled)
return false;
return ips->gpu_busy();
*/
static void ips_gpu_raise(struct ips_driver *ips)
{
- if (!ips_gpu_turbo_enabled(ips))
+ if (!ips->gpu_turbo_enabled)
return;
if (!ips->gpu_raise())
*/
static void ips_gpu_lower(struct ips_driver *ips)
{
- if (!ips_gpu_turbo_enabled(ips))
+ if (!ips->gpu_turbo_enabled)
return;
if (!ips->gpu_lower())
return false;
}
-static bool
-ips_gpu_turbo_enabled(struct ips_driver *ips)
-{
- if (!ips->gpu_busy && late_i915_load) {
- if (ips_get_i915_syms(ips)) {
- dev_info(&ips->dev->dev,
- "i915 driver attached, reenabling gpu turbo\n");
- ips->gpu_turbo_enabled = !(thm_readl(THM_HTS) & HTS_GTD_DIS);
- }
- }
-
- return ips->gpu_turbo_enabled;
-}
-
-void
-ips_link_to_i915_driver()
-{
- /* We can't cleanly get at the various ips_driver structs from
- * this caller (the i915 driver), so just set a flag saying
- * that it's time to try getting the symbols again.
- */
- late_i915_load = true;
-}
-EXPORT_SYMBOL_GPL(ips_link_to_i915_driver);
-
static DEFINE_PCI_DEVICE_TABLE(ips_id_table) = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_THERMAL_SENSOR), },