1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26#ifndef _I915_DRM_H_
27#define _I915_DRM_H_
28
29#include <drm/i915_pciids.h>
30#include <uapi/drm/i915_drm.h>
31
32
33unsigned long i915_read_mch_val(void);
34bool i915_gpu_raise(void);
35bool i915_gpu_lower(void);
36bool i915_gpu_busy(void);
37bool i915_gpu_turbo_disable(void);
38
39
40extern struct resource intel_graphics_stolen_res;
41
42
43
44
45
46
47
48#define INTEL_GMCH_CTRL 0x52
49#define INTEL_GMCH_VGA_DISABLE (1 << 1)
50#define SNB_GMCH_CTRL 0x50
51#define SNB_GMCH_GGMS_SHIFT 8
52#define SNB_GMCH_GGMS_MASK 0x3
53#define SNB_GMCH_GMS_SHIFT 3
54#define SNB_GMCH_GMS_MASK 0x1f
55#define BDW_GMCH_GGMS_SHIFT 6
56#define BDW_GMCH_GGMS_MASK 0x3
57#define BDW_GMCH_GMS_SHIFT 8
58#define BDW_GMCH_GMS_MASK 0xff
59
60#define I830_GMCH_CTRL 0x52
61
62#define I830_GMCH_GMS_MASK 0x70
63#define I830_GMCH_GMS_LOCAL 0x10
64#define I830_GMCH_GMS_STOLEN_512 0x20
65#define I830_GMCH_GMS_STOLEN_1024 0x30
66#define I830_GMCH_GMS_STOLEN_8192 0x40
67
68#define I855_GMCH_GMS_MASK 0xF0
69#define I855_GMCH_GMS_STOLEN_0M 0x0
70#define I855_GMCH_GMS_STOLEN_1M (0x1 << 4)
71#define I855_GMCH_GMS_STOLEN_4M (0x2 << 4)
72#define I855_GMCH_GMS_STOLEN_8M (0x3 << 4)
73#define I855_GMCH_GMS_STOLEN_16M (0x4 << 4)
74#define I855_GMCH_GMS_STOLEN_32M (0x5 << 4)
75#define I915_GMCH_GMS_STOLEN_48M (0x6 << 4)
76#define I915_GMCH_GMS_STOLEN_64M (0x7 << 4)
77#define G33_GMCH_GMS_STOLEN_128M (0x8 << 4)
78#define G33_GMCH_GMS_STOLEN_256M (0x9 << 4)
79#define INTEL_GMCH_GMS_STOLEN_96M (0xa << 4)
80#define INTEL_GMCH_GMS_STOLEN_160M (0xb << 4)
81#define INTEL_GMCH_GMS_STOLEN_224M (0xc << 4)
82#define INTEL_GMCH_GMS_STOLEN_352M (0xd << 4)
83
84#define I830_DRB3 0x63
85#define I85X_DRB3 0x43
86#define I865_TOUD 0xc4
87
88#define I830_ESMRAMC 0x91
89#define I845_ESMRAMC 0x9e
90#define I85X_ESMRAMC 0x61
91#define TSEG_ENABLE (1 << 0)
92#define I830_TSEG_SIZE_512K (0 << 1)
93#define I830_TSEG_SIZE_1M (1 << 1)
94#define I845_TSEG_SIZE_MASK (3 << 1)
95#define I845_TSEG_SIZE_512K (2 << 1)
96#define I845_TSEG_SIZE_1M (3 << 1)
97
98#define INTEL_BSM 0x5c
99#define INTEL_GEN11_BSM_DW0 0xc0
100#define INTEL_GEN11_BSM_DW1 0xc4
101#define INTEL_BSM_MASK (-(1u << 20))
102
103enum port {
104 PORT_NONE = -1,
105
106 PORT_A = 0,
107 PORT_B,
108 PORT_C,
109 PORT_D,
110 PORT_E,
111 PORT_F,
112 PORT_G,
113 PORT_H,
114 PORT_I,
115
116 I915_MAX_PORTS
117};
118
119#define port_name(p) ((p) + 'A')
120
121#endif
122