Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
i7300_idle.c File Reference
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/gfp.h>
#include <linux/sched.h>
#include <linux/notifier.h>
#include <linux/cpumask.h>
#include <linux/ktime.h>
#include <linux/delay.h>
#include <linux/debugfs.h>
#include <linux/stop_machine.h>
#include <linux/i7300_idle.h>
#include <asm/idle.h>
#include "../dma/ioat/hw.h"
#include "../dma/ioat/registers.h"

Go to the source code of this file.

Data Structures

struct  debugfs_file_info
 

Macros

#define I7300_IDLE_DRIVER_VERSION   "1.55"
 
#define I7300_PRINT   "i7300_idle:"
 
#define MAX_STOP_RETRIES   10
 
#define dprintk(fmt, arg...)   do { if (debug) printk(KERN_INFO I7300_PRINT fmt, ##arg); } while (0)
 
#define MAX_THROTTLE_LOW_LIMIT   168
 
#define IOAT_CHANBASE(ioat_ctl, chan)   (ioat_ctl + 0x80 + 0x80 * chan)
 
#define IOAT_DESC_SADDR_SNP_CTL   (1UL << 1)
 
#define IOAT_DESC_DADDR_SNP_CTL   (1UL << 2)
 
#define DIMM_THRTLOW   0x64
 
#define DIMM_THRTCTL   0x67
 
#define DIMM_THRTCTL_THRMHUNT   (1UL << 0)
 
#define DIMM_MC   0x40
 
#define DIMM_GTW_MODE   (1UL << 17)
 
#define DIMM_GBLACT   0x60
 
#define DURATION_WEIGHT_PCT   55
 
#define DURATION_THRESHOLD_US   100
 

Functions

 module_param_named (debug, debug, uint, 0644)
 
 MODULE_PARM_DESC (debug,"Enable debug printks in this driver")
 
 module_param_named (forceload, forceload, uint, 0644)
 
 MODULE_PARM_DESC (debug,"Enable driver testing on unvalidated i5000")
 
 module_param_named (throttle_low_limit, throttle_low_limit, uint, 0644)
 
 MODULE_PARM_DESC (throttle_low_limit,"Value for THRTLOWLM activation field ""(0 = disable throttle, 1 = Max throttle, 168 = Min throttle)")
 
 MODULE_DEVICE_TABLE (pci, pci_tbl)
 
 module_init (i7300_idle_init)
 
 module_exit (i7300_idle_exit)
 
 MODULE_AUTHOR ("Andy Henroid <[email protected]>")
 
 MODULE_DESCRIPTION ("Intel Chipset DIMM Idle Power Saving Driver v"I7300_IDLE_DRIVER_VERSION)
 
 MODULE_LICENSE ("GPL")
 

Variables

struct debugfs_file_info debugfs_file_list []
 

Macro Definition Documentation

#define DIMM_GBLACT   0x60

Definition at line 326 of file i7300_idle.c.

#define DIMM_GTW_MODE   (1UL << 17)

Definition at line 325 of file i7300_idle.c.

#define DIMM_MC   0x40

Definition at line 324 of file i7300_idle.c.

#define DIMM_THRTCTL   0x67

Definition at line 322 of file i7300_idle.c.

#define DIMM_THRTCTL_THRMHUNT   (1UL << 0)

Definition at line 323 of file i7300_idle.c.

#define DIMM_THRTLOW   0x64

Definition at line 321 of file i7300_idle.c.

#define dprintk (   fmt,
  arg... 
)    do { if (debug) printk(KERN_INFO I7300_PRINT fmt, ##arg); } while (0)

Definition at line 49 of file i7300_idle.c.

#define DURATION_THRESHOLD_US   100

Definition at line 342 of file i7300_idle.c.

#define DURATION_WEIGHT_PCT   55

Definition at line 335 of file i7300_idle.c.

#define I7300_IDLE_DRIVER_VERSION   "1.55"

Definition at line 36 of file i7300_idle.c.

#define I7300_PRINT   "i7300_idle:"

Definition at line 37 of file i7300_idle.c.

#define IOAT_CHANBASE (   ioat_ctl,
  chan 
)    (ioat_ctl + 0x80 + 0x80 * chan)

Definition at line 93 of file i7300_idle.c.

#define IOAT_DESC_DADDR_SNP_CTL   (1UL << 2)

Definition at line 96 of file i7300_idle.c.

#define IOAT_DESC_SADDR_SNP_CTL   (1UL << 1)

Definition at line 95 of file i7300_idle.c.

#define MAX_STOP_RETRIES   10

Definition at line 39 of file i7300_idle.c.

#define MAX_THROTTLE_LOW_LIMIT   168

Definition at line 59 of file i7300_idle.c.

Function Documentation

MODULE_AUTHOR ( "Andy Henroid <[email protected]>"  )
MODULE_DESCRIPTION ( "Intel Chipset DIMM Idle Power Saving Driver v I7300_IDLE_DRIVER_VERSION)
MODULE_DEVICE_TABLE ( pci  ,
pci_tbl   
)
module_exit ( i7300_idle_exit  )
module_init ( i7300_idle_init  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( debug  ,
debug  ,
uint  ,
0644   
)
module_param_named ( forceload  ,
forceload  ,
uint  ,
0644   
)
module_param_named ( throttle_low_limit  ,
throttle_low_limit  ,
uint  ,
0644   
)
MODULE_PARM_DESC ( debug  ,
"Enable debug printks in this driver  
)
MODULE_PARM_DESC ( debug  ,
"Enable driver testing on unvalidated i5000"   
)
MODULE_PARM_DESC ( throttle_low_limit  ,
"Value for THRTLOWLM activation field ""(0 = disable throttle, 1 = Max throttle, 168 = Min throttle)"   
)

Variable Documentation

struct debugfs_file_info debugfs_file_list[]
Initial value:
= {
{&total_starts, "total_starts", NULL},
{&total_us, "total_us", NULL},
{NULL, "", NULL}
}