[prev in list] [next in list] [prev in thread] [next in thread]
List: haiku-commits
Subject: [haiku-commits] Change in haiku[master]: intel_gart: add support for Gen8+ GPUs
From: Gerrit <review () review ! haiku-os ! org>
Date: 2021-11-28 4:29:35
Message-ID: gerrit.1638073770000.I8b84e278f33542c359fc0d783f571e06ebc89b2a () review ! haiku-os ! org
[Download RAW message or body]
From Kacper Kasper <kacperkasper@gmail.com>:
Kacper Kasper has uploaded this change for review. ( \
https://review.haiku-os.org/c/haiku/+/4737 )
Change subject: intel_gart: add support for Gen8+ GPUs
......................................................................
intel_gart: add support for Gen8+ GPUs
Change-Id: I8b84e278f33542c359fc0d783f571e06ebc89b2a
---
M headers/private/graphics/intel_extreme/intel_extreme.h
M src/add-ons/kernel/busses/agp_gart/intel_gart.cpp
2 files changed, 136 insertions(+), 6 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/37/4737/1
diff --git a/headers/private/graphics/intel_extreme/intel_extreme.h \
b/headers/private/graphics/intel_extreme/intel_extreme.h index 6936b03..ca76494 \
100644
--- a/headers/private/graphics/intel_extreme/intel_extreme.h
+++ b/headers/private/graphics/intel_extreme/intel_extreme.h
@@ -51,6 +51,8 @@
#define INTEL_GROUP_BDW (INTEL_FAMILY_SOC0 | 0x0040) // Broadwell
#define INTEL_GROUP_SKY (INTEL_FAMILY_LAKE | 0x0010) // SkyLake
#define INTEL_GROUP_KBY (INTEL_FAMILY_LAKE | 0x0020) // KabyLake
+#define INTEL_GROUP_CFL (INTEL_FAMILY_LAKE | 0x0040) // CoffeeLake
+#define INTEL_GROUP_CML (INTEL_FAMILY_LAKE | 0x0080) // CometLake
// models
#define INTEL_TYPE_SERVER 0x0004
#define INTEL_TYPE_MOBILE 0x0008
@@ -82,6 +84,8 @@
#define INTEL_MODEL_SKY (INTEL_GROUP_SKY)
#define INTEL_MODEL_SKYM (INTEL_GROUP_SKY | INTEL_TYPE_MOBILE)
#define INTEL_MODEL_SKYS (INTEL_GROUP_SKY | INTEL_TYPE_SERVER)
+#define INTEL_MODEL_CFL (INTEL_GROUP_CFL)
+#define INTEL_MODEL_CML (INTEL_GROUP_CML)
#define INTEL_PCH_DEVICE_ID_MASK 0xff80
#define INTEL_PCH_IBX_DEVICE_ID 0x3b00
@@ -420,6 +424,38 @@
#define SNB_GTT_SIZE_1MB (1 << 8)
#define SNB_GTT_SIZE_2MB (2 << 8)
+// BDW+ (GGC_0_0_0_PCI)
+
+#define BDW_GRAPHICS_MEMORY_CONTROL 0x50
+
+#define BDW_STOLEN_MEMORY_MASK 0xff00
+#define BDW_STOLEN_MEMORY_32MB (1 << 16)
+#define BDW_STOLEN_MEMORY_64MB (2 << 16)
+#define BDW_STOLEN_MEMORY_96MB (3 << 16)
+#define BDW_STOLEN_MEMORY_128MB (4 << 16)
+#define BDW_STOLEN_MEMORY_160MB (5 << 16)
+#define BDW_STOLEN_MEMORY_192MB (6 << 16)
+#define BDW_STOLEN_MEMORY_224MB (7 << 16)
+#define BDW_STOLEN_MEMORY_256MB (8 << 16)
+#define BDW_STOLEN_MEMORY_288MB (9 << 16)
+#define BDW_STOLEN_MEMORY_320MB (10 << 16)
+#define BDW_STOLEN_MEMORY_352MB (11 << 16)
+#define BDW_STOLEN_MEMORY_384MB (12 << 16)
+#define BDW_STOLEN_MEMORY_416MB (13 << 16)
+#define BDW_STOLEN_MEMORY_448MB (14 << 16)
+#define BDW_STOLEN_MEMORY_480MB (15 << 16)
+#define BDW_STOLEN_MEMORY_512MB (16 << 16)
+#define BDW_STOLEN_MEMORY_1024MB (32 << 16)
+#define BDW_STOLEN_MEMORY_1536MB (48 << 16)
+#define BDW_STOLEN_MEMORY_2016MB (63 << 16)
+#define SKL_STOLEN_MEMORY_2048MB (64 << 16)
+
+#define BDW_GTT_SIZE_MASK (3 << 6)
+#define BDW_GTT_SIZE_NONE (0 << 6)
+#define BDW_GTT_SIZE_2MB (1 << 6)
+#define BDW_GTT_SIZE_4MB (2 << 6)
+#define BDW_GTT_SIZE_8MB (3 << 6)
+
// graphics page translation table
#define INTEL_PAGE_TABLE_CONTROL 0x02020
#define PAGE_TABLE_ENABLED 0x00000001
diff --git a/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp \
b/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp index 6ee5165..a85d2cb 100644
--- a/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp
+++ b/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp
@@ -193,7 +193,7 @@
gtt_memory_config(intel_info &info)
{
uint8 controlRegister = INTEL_GRAPHICS_MEMORY_CONTROL;
- if (info.type->InGroup(INTEL_GROUP_SNB))
+ if (info.type->Generation() >= 6)
controlRegister = SNB_GRAPHICS_MEMORY_CONTROL;
return get_pci_config(info.bridge, controlRegister, 2);
@@ -223,7 +223,9 @@
memorySize *= 8;
break;
}
- } else if (info.type->InGroup(INTEL_GROUP_SNB)) {
+ } else if (info.type->InGroup(INTEL_GROUP_SNB)
+ || info.type->InGroup(INTEL_GROUP_IVB)
+ || info.type->InGroup(INTEL_GROUP_HAS)) {
switch (memoryConfig & SNB_STOLEN_MEMORY_MASK) {
case SNB_STOLEN_MEMORY_32MB:
memorySize *= 32;
@@ -274,10 +276,81 @@
memorySize *= 512;
break;
}
+ } else if (info.type->InGroup(INTEL_GROUP_BDW)
+ || info.type->InGroup(INTEL_GROUP_SKY)
+ || info.type->InGroup(INTEL_GROUP_KBY)
+ || info.type->InGroup(INTEL_GROUP_CFL)
+ || info.type->InGroup(INTEL_GROUP_CML)) {
+ switch (memoryConfig & BDW_STOLEN_MEMORY_MASK) {
+ case BDW_STOLEN_MEMORY_32MB:
+ memorySize *= 32;
+ break;
+ case BDW_STOLEN_MEMORY_64MB:
+ memorySize *= 64;
+ break;
+ case BDW_STOLEN_MEMORY_96MB:
+ memorySize *= 96;
+ break;
+ case BDW_STOLEN_MEMORY_128MB:
+ memorySize *= 128;
+ break;
+ case BDW_STOLEN_MEMORY_160MB:
+ memorySize *= 160;
+ break;
+ case BDW_STOLEN_MEMORY_192MB:
+ memorySize *= 192;
+ break;
+ case BDW_STOLEN_MEMORY_224MB:
+ memorySize *= 224;
+ break;
+ case BDW_STOLEN_MEMORY_256MB:
+ memorySize *= 256;
+ break;
+ case BDW_STOLEN_MEMORY_288MB:
+ memorySize *= 288;
+ break;
+ case BDW_STOLEN_MEMORY_320MB:
+ memorySize *= 320;
+ break;
+ case BDW_STOLEN_MEMORY_352MB:
+ memorySize *= 352;
+ break;
+ case BDW_STOLEN_MEMORY_384MB:
+ memorySize *= 384;
+ break;
+ case BDW_STOLEN_MEMORY_416MB:
+ memorySize *= 416;
+ break;
+ case BDW_STOLEN_MEMORY_448MB:
+ memorySize *= 448;
+ break;
+ case BDW_STOLEN_MEMORY_480MB:
+ memorySize *= 480;
+ break;
+ case BDW_STOLEN_MEMORY_512MB:
+ memorySize *= 512;
+ break;
+ case BDW_STOLEN_MEMORY_1024MB:
+ memorySize *= 1024;
+ break;
+ case BDW_STOLEN_MEMORY_1536MB:
+ memorySize *= 1536;
+ break;
+ }
+ if(info.type->InGroup(INTEL_GROUP_BDW)) {
+ if((memoryConfig & BDW_STOLEN_MEMORY_MASK) == BDW_STOLEN_MEMORY_2016MB) {
+ memorySize *= 2016;
+ }
+ } else if(info.type->InGroup(INTEL_GROUP_SKY)
+ || info.type->InGroup(INTEL_GROUP_KBY)
+ || info.type->InGroup(INTEL_GROUP_CFL)
+ || info.type->InGroup(INTEL_GROUP_CML)) {
+ if((memoryConfig & BDW_STOLEN_MEMORY_MASK) == SKL_STOLEN_MEMORY_2048MB) {
+ memorySize *= 2048;
+ }
+ }
} else if (info.type->InGroup(INTEL_GROUP_85x)
- || info.type->InFamily(INTEL_FAMILY_9xx)
- || info.type->InFamily(INTEL_FAMILY_SER5)
- || info.type->InFamily(INTEL_FAMILY_SOC0)) {
+ || info.type->InFamily(INTEL_FAMILY_9xx)) {
switch (memoryConfig & STOLEN_MEMORY_MASK) {
case i855_STOLEN_MEMORY_4M:
memorySize *= 4;
@@ -372,7 +445,9 @@
gttSize = 4 << 20;
break;
}
- } else if (info.type->InGroup(INTEL_GROUP_SNB)) {
+ } else if (info.type->InGroup(INTEL_GROUP_SNB)
+ || info.type->InGroup(INTEL_GROUP_IVB)
+ || info.type->InGroup(INTEL_GROUP_HAS)) {
switch (memoryConfig & SNB_GTT_SIZE_MASK) {
case SNB_GTT_SIZE_NONE:
gttSize = 0;
@@ -384,6 +459,25 @@
gttSize = 2 << 20;
break;
}
+ } else if (info.type->InGroup(INTEL_GROUP_BDW)
+ || info.type->InGroup(INTEL_GROUP_SKY)
+ || info.type->InGroup(INTEL_GROUP_KBY)
+ || info.type->InGroup(INTEL_GROUP_CFL)
+ || info.type->InGroup(INTEL_GROUP_CML)) {
+ switch (memoryConfig & BDW_GTT_SIZE_MASK) {
+ case BDW_GTT_SIZE_NONE:
+ gttSize = 0;
+ break;
+ case BDW_GTT_SIZE_2MB:
+ gttSize = 2 << 20;
+ break;
+ case BDW_GTT_SIZE_4MB:
+ gttSize = 4 << 20;
+ break;
+ case BDW_GTT_SIZE_8MB:
+ gttSize = 8 << 20;
+ break;
+ }
} else {
// older models have the GTT as large as their frame buffer mapping
// TODO: check if the i9xx version works with the i8xx chips as well
--
To view, visit https://review.haiku-os.org/c/haiku/+/4737
To unsubscribe, or for help writing mail filters, visit \
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I8b84e278f33542c359fc0d783f571e06ebc89b2a
Gerrit-Change-Number: 4737
Gerrit-PatchSet: 1
Gerrit-Owner: Kacper Kasper <kacperkasper@gmail.com>
Gerrit-MessageType: newchange
[Attachment #3 (text/html)]
<p>Kacper Kasper has uploaded this change for <strong>review</strong>.</p><p><a \
href="https://review.haiku-os.org/c/haiku/+/4737">View Change</a></p><pre \
style="font-family: monospace,monospace; white-space: pre-wrap;">intel_gart: add \
support for Gen8+ GPUs<br><br>Change-Id: \
I8b84e278f33542c359fc0d783f571e06ebc89b2a<br>---<br>M \
headers/private/graphics/intel_extreme/intel_extreme.h<br>M \
src/add-ons/kernel/busses/agp_gart/intel_gart.cpp<br>2 files changed, 136 \
insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: \
monospace,monospace; white-space: pre-wrap;">git pull ssh://git.haiku-os.org:22/haiku \
refs/changes/37/4737/1</pre><pre style="font-family: monospace,monospace; \
white-space: pre-wrap;"><span>diff --git \
a/headers/private/graphics/intel_extreme/intel_extreme.h \
b/headers/private/graphics/intel_extreme/intel_extreme.h</span><br><span>index \
6936b03..ca76494 100644</span><br><span>--- \
a/headers/private/graphics/intel_extreme/intel_extreme.h</span><br><span>+++ \
b/headers/private/graphics/intel_extreme/intel_extreme.h</span><br><span>@@ -51,6 \
+51,8 @@</span><br><span> #define INTEL_GROUP_BDW (INTEL_FAMILY_SOC0 | 0x0040) // \
Broadwell</span><br><span> #define INTEL_GROUP_SKY (INTEL_FAMILY_LAKE | 0x0010) // \
SkyLake</span><br><span> #define INTEL_GROUP_KBY (INTEL_FAMILY_LAKE | 0x0020) // \
KabyLake</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
INTEL_GROUP_CFL (INTEL_FAMILY_LAKE | 0x0040) // CoffeeLake</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define INTEL_GROUP_CML (INTEL_FAMILY_LAKE | \
0x0080) // CometLake</span><br><span> // models</span><br><span> #define \
INTEL_TYPE_SERVER 0x0004</span><br><span> #define \
INTEL_TYPE_MOBILE 0x0008</span><br><span>@@ -82,6 +84,8 @@</span><br><span> #define \
INTEL_MODEL_SKY (INTEL_GROUP_SKY)</span><br><span> #define \
INTEL_MODEL_SKYM (INTEL_GROUP_SKY | INTEL_TYPE_MOBILE)</span><br><span> #define \
INTEL_MODEL_SKYS (INTEL_GROUP_SKY | INTEL_TYPE_SERVER)</span><br><span style="color: \
hsl(120, 100%, 40%);">+#define INTEL_MODEL_CFL (INTEL_GROUP_CFL)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define \
INTEL_MODEL_CML (INTEL_GROUP_CML)</span><br><span> </span><br><span> #define \
INTEL_PCH_DEVICE_ID_MASK 0xff80</span><br><span> #define \
INTEL_PCH_IBX_DEVICE_ID 0x3b00</span><br><span>@@ -420,6 +424,38 @@</span><br><span> \
#define SNB_GTT_SIZE_1MB (1 << 8)</span><br><span> #define \
SNB_GTT_SIZE_2MB (2 << 8)</span><br><span> </span><br><span style="color: \
hsl(120, 100%, 40%);">+// BDW+ (GGC_0_0_0_PCI)</span><br><span style="color: hsl(120, \
100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_GRAPHICS_MEMORY_CONTROL 0x50</span><br><span style="color: hsl(120, 100%, \
40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_MASK 0xff00</span><br><span style="color: hsl(120, 100%, \
40%);">+#define BDW_STOLEN_MEMORY_32MB (1 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_64MB (2 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_96MB (3 << 16)</span><br><span style="color: hsl(120, 100%, \
40%);">+#define BDW_STOLEN_MEMORY_128MB (4 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_160MB (5 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_192MB (6 << 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_224MB (7 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_256MB (8 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_288MB (9 << 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_320MB (10 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_352MB (11 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_384MB (12 << 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_416MB (13 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_448MB (14 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_480MB (15 << 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_512MB (16 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_1024MB (32 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_1536MB (48 << 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_2016MB (63 << 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define SKL_STOLEN_MEMORY_2048MB (64 << \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_GTT_SIZE_MASK (3 << \
6)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_GTT_SIZE_NONE (0 << 6)</span><br><span style="color: hsl(120, 100%, \
40%);">+#define BDW_GTT_SIZE_2MB (1 << 6)</span><br><span style="color: \
hsl(120, 100%, 40%);">+#define BDW_GTT_SIZE_4MB (2 << 6)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_GTT_SIZE_8MB (3 << \
6)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> // graphics \
page translation table</span><br><span> #define \
INTEL_PAGE_TABLE_CONTROL 0x02020</span><br><span> #define \
PAGE_TABLE_ENABLED 0x00000001</span><br><span>diff --git \
a/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp \
b/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp</span><br><span>index \
6ee5165..a85d2cb 100644</span><br><span>--- \
a/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp</span><br><span>+++ \
b/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp</span><br><span>@@ -193,7 +193,7 \
@@</span><br><span> gtt_memory_config(intel_info &info)</span><br><span> \
{</span><br><span> uint8 controlRegister = \
INTEL_GRAPHICS_MEMORY_CONTROL;</span><br><span style="color: hsl(0, 100%, 40%);">- if \
(info.type->InGroup(INTEL_GROUP_SNB))</span><br><span style="color: hsl(120, 100%, \
40%);">+ if (info.type->Generation() >= 6)</span><br><span> controlRegister = \
SNB_GRAPHICS_MEMORY_CONTROL;</span><br><span> </span><br><span> return \
get_pci_config(info.bridge, controlRegister, 2);</span><br><span>@@ -223,7 +223,9 \
@@</span><br><span> memorySize *= 8;</span><br><span> break;</span><br><span> \
}</span><br><span style="color: hsl(0, 100%, 40%);">- } else if \
(info.type->InGroup(INTEL_GROUP_SNB)) {</span><br><span style="color: hsl(120, \
100%, 40%);">+ } else if (info.type->InGroup(INTEL_GROUP_SNB)</span><br><span \
style="color: hsl(120, 100%, 40%);">+ || \
info.type->InGroup(INTEL_GROUP_IVB)</span><br><span style="color: hsl(120, 100%, \
40%);">+ || info.type->InGroup(INTEL_GROUP_HAS)) {</span><br><span> switch \
(memoryConfig & SNB_STOLEN_MEMORY_MASK) {</span><br><span> case \
SNB_STOLEN_MEMORY_32MB:</span><br><span> memorySize *= 32;</span><br><span>@@ \
-274,10 +276,81 @@</span><br><span> memorySize *= 512;</span><br><span> \
break;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ } \
else if (info.type->InGroup(INTEL_GROUP_BDW)</span><br><span style="color: \
hsl(120, 100%, 40%);">+ || info.type->InGroup(INTEL_GROUP_SKY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+ || \
info.type->InGroup(INTEL_GROUP_KBY)</span><br><span style="color: hsl(120, 100%, \
40%);">+ || info.type->InGroup(INTEL_GROUP_CFL)</span><br><span style="color: \
hsl(120, 100%, 40%);">+ || info.type->InGroup(INTEL_GROUP_CML)) {</span><br><span \
style="color: hsl(120, 100%, 40%);">+ switch (memoryConfig & \
BDW_STOLEN_MEMORY_MASK) {</span><br><span style="color: hsl(120, 100%, \
40%);">+ case BDW_STOLEN_MEMORY_32MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 32;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_64MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 64;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_96MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 96;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_128MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 128;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_160MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 160;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_192MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 192;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_224MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 224;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_256MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 256;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_288MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 288;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_320MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 320;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_352MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 352;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_384MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 384;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_416MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 416;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_448MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 448;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_480MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 480;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_512MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 512;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_1024MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 1024;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case \
BDW_STOLEN_MEMORY_1536MB:</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 1536;</span><br><span style="color: hsl(120, 100%, \
40%);">+ break;</span><br><span style="color: hsl(120, 100%, \
40%);">+ }</span><br><span style="color: hsl(120, 100%, \
40%);">+ if(info.type->InGroup(INTEL_GROUP_BDW)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+ if((memoryConfig & BDW_STOLEN_MEMORY_MASK) == \
BDW_STOLEN_MEMORY_2016MB) {</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 2016;</span><br><span style="color: hsl(120, 100%, \
40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ } else \
if(info.type->InGroup(INTEL_GROUP_SKY)</span><br><span style="color: hsl(120, \
100%, 40%);">+ || info.type->InGroup(INTEL_GROUP_KBY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+ || \
info.type->InGroup(INTEL_GROUP_CFL)</span><br><span style="color: hsl(120, 100%, \
40%);">+ || info.type->InGroup(INTEL_GROUP_CML)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+ if((memoryConfig & BDW_STOLEN_MEMORY_MASK) == \
SKL_STOLEN_MEMORY_2048MB) {</span><br><span style="color: hsl(120, 100%, \
40%);">+ memorySize *= 2048;</span><br><span style="color: hsl(120, 100%, \
40%);">+ }</span><br><span style="color: hsl(120, 100%, \
40%);">+ }</span><br><span> } else if \
(info.type->InGroup(INTEL_GROUP_85x)</span><br><span style="color: hsl(0, 100%, \
40%);">- || info.type->InFamily(INTEL_FAMILY_9xx)</span><br><span style="color: \
hsl(0, 100%, 40%);">- || info.type->InFamily(INTEL_FAMILY_SER5)</span><br><span \
style="color: hsl(0, 100%, 40%);">- || info.type->InFamily(INTEL_FAMILY_SOC0)) \
{</span><br><span style="color: hsl(120, 100%, 40%);">+ || \
info.type->InFamily(INTEL_FAMILY_9xx)) {</span><br><span> switch (memoryConfig \
& STOLEN_MEMORY_MASK) {</span><br><span> case \
i855_STOLEN_MEMORY_4M:</span><br><span> memorySize *= 4;</span><br><span>@@ \
-372,7 +445,9 @@</span><br><span> gttSize = 4 << 20;</span><br><span> \
break;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- } \
else if (info.type->InGroup(INTEL_GROUP_SNB)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+ } else if \
(info.type->InGroup(INTEL_GROUP_SNB)</span><br><span style="color: hsl(120, 100%, \
40%);">+ || info.type->InGroup(INTEL_GROUP_IVB)</span><br><span style="color: \
hsl(120, 100%, 40%);">+ || info.type->InGroup(INTEL_GROUP_HAS)) \
{</span><br><span> switch (memoryConfig & SNB_GTT_SIZE_MASK) {</span><br><span> \
case SNB_GTT_SIZE_NONE:</span><br><span> gttSize = 0;</span><br><span>@@ -384,6 \
+459,25 @@</span><br><span> gttSize = 2 << 20;</span><br><span> \
break;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+ } \
else if (info.type->InGroup(INTEL_GROUP_BDW)</span><br><span style="color: \
hsl(120, 100%, 40%);">+ || info.type->InGroup(INTEL_GROUP_SKY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+ || \
info.type->InGroup(INTEL_GROUP_KBY)</span><br><span style="color: hsl(120, 100%, \
40%);">+ || info.type->InGroup(INTEL_GROUP_CFL)</span><br><span style="color: \
<div style="display:none"> Gerrit-Project: haiku </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: \
I8b84e278f33542c359fc0d783f571e06ebc89b2a </div> <div style="display:none"> \
Gerrit-Change-Number: 4737 </div> <div style="display:none"> Gerrit-PatchSet: 1 \
</div> <div style="display:none"> Gerrit-Owner: Kacper Kasper \
<kacperkasper@gmail.com> </div> <div style="display:none"> Gerrit-MessageType: \
newchange </div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic