[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 &lt;&lt; 8)</span><br><span> #define \
SNB_GTT_SIZE_2MB				(2 &lt;&lt; 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 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_64MB			(2 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_96MB			(3 &lt;&lt; 16)</span><br><span style="color: hsl(120, 100%, \
40%);">+#define BDW_STOLEN_MEMORY_128MB			(4 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_160MB			(5 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_192MB			(6 &lt;&lt; 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_224MB			(7 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_256MB			(8 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_288MB			(9 &lt;&lt; 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_320MB			(10 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_352MB			(11 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_384MB			(12 &lt;&lt; 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_416MB			(13 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_448MB			(14 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_480MB			(15 &lt;&lt; 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_512MB			(16 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_STOLEN_MEMORY_1024MB		(32 &lt;&lt; \
16)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_STOLEN_MEMORY_1536MB		(48 &lt;&lt; 16)</span><br><span style="color: hsl(120, \
100%, 40%);">+#define BDW_STOLEN_MEMORY_2016MB		(63 &lt;&lt; 16)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define SKL_STOLEN_MEMORY_2048MB		(64 &lt;&lt; \
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 &lt;&lt; \
6)</span><br><span style="color: hsl(120, 100%, 40%);">+#define \
BDW_GTT_SIZE_NONE				(0 &lt;&lt; 6)</span><br><span style="color: hsl(120, 100%, \
40%);">+#define BDW_GTT_SIZE_2MB				(1 &lt;&lt; 6)</span><br><span style="color: \
hsl(120, 100%, 40%);">+#define BDW_GTT_SIZE_4MB				(2 &lt;&lt; 6)</span><br><span \
style="color: hsl(120, 100%, 40%);">+#define BDW_GTT_SIZE_8MB				(3 &lt;&lt; \
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 &amp;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-&gt;InGroup(INTEL_GROUP_SNB))</span><br><span style="color: hsl(120, 100%, \
40%);">+	if (info.type-&gt;Generation() &gt;= 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-&gt;InGroup(INTEL_GROUP_SNB)) {</span><br><span style="color: hsl(120, \
100%, 40%);">+	} else if (info.type-&gt;InGroup(INTEL_GROUP_SNB)</span><br><span \
style="color: hsl(120, 100%, 40%);">+		|| \
info.type-&gt;InGroup(INTEL_GROUP_IVB)</span><br><span style="color: hsl(120, 100%, \
40%);">+		|| info.type-&gt;InGroup(INTEL_GROUP_HAS)) {</span><br><span> 		switch \
(memoryConfig &amp; 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-&gt;InGroup(INTEL_GROUP_BDW)</span><br><span style="color: \
hsl(120, 100%, 40%);">+		|| info.type-&gt;InGroup(INTEL_GROUP_SKY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+		|| \
info.type-&gt;InGroup(INTEL_GROUP_KBY)</span><br><span style="color: hsl(120, 100%, \
40%);">+		|| info.type-&gt;InGroup(INTEL_GROUP_CFL)</span><br><span style="color: \
hsl(120, 100%, 40%);">+		|| info.type-&gt;InGroup(INTEL_GROUP_CML)) {</span><br><span \
style="color: hsl(120, 100%, 40%);">+		switch (memoryConfig &amp; \
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-&gt;InGroup(INTEL_GROUP_BDW)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+			if((memoryConfig &amp; 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-&gt;InGroup(INTEL_GROUP_SKY)</span><br><span style="color: hsl(120, \
100%, 40%);">+			|| info.type-&gt;InGroup(INTEL_GROUP_KBY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+			|| \
info.type-&gt;InGroup(INTEL_GROUP_CFL)</span><br><span style="color: hsl(120, 100%, \
40%);">+			|| info.type-&gt;InGroup(INTEL_GROUP_CML)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+			if((memoryConfig &amp; 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-&gt;InGroup(INTEL_GROUP_85x)</span><br><span style="color: hsl(0, 100%, \
40%);">-		|| info.type-&gt;InFamily(INTEL_FAMILY_9xx)</span><br><span style="color: \
hsl(0, 100%, 40%);">-		|| info.type-&gt;InFamily(INTEL_FAMILY_SER5)</span><br><span \
style="color: hsl(0, 100%, 40%);">-		|| info.type-&gt;InFamily(INTEL_FAMILY_SOC0)) \
{</span><br><span style="color: hsl(120, 100%, 40%);">+		|| \
info.type-&gt;InFamily(INTEL_FAMILY_9xx)) {</span><br><span> 		switch (memoryConfig \
&amp; 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 &lt;&lt; 20;</span><br><span> \
break;</span><br><span> 		}</span><br><span style="color: hsl(0, 100%, 40%);">-	} \
else if (info.type-&gt;InGroup(INTEL_GROUP_SNB)) {</span><br><span style="color: \
hsl(120, 100%, 40%);">+	} else if \
(info.type-&gt;InGroup(INTEL_GROUP_SNB)</span><br><span style="color: hsl(120, 100%, \
40%);">+			|| info.type-&gt;InGroup(INTEL_GROUP_IVB)</span><br><span style="color: \
hsl(120, 100%, 40%);">+			|| info.type-&gt;InGroup(INTEL_GROUP_HAS)) \
{</span><br><span> 		switch (memoryConfig &amp; 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 &lt;&lt; 20;</span><br><span> \
break;</span><br><span> 		}</span><br><span style="color: hsl(120, 100%, 40%);">+	} \
else if (info.type-&gt;InGroup(INTEL_GROUP_BDW)</span><br><span style="color: \
hsl(120, 100%, 40%);">+			|| info.type-&gt;InGroup(INTEL_GROUP_SKY)</span><br><span \
style="color: hsl(120, 100%, 40%);">+			|| \
info.type-&gt;InGroup(INTEL_GROUP_KBY)</span><br><span style="color: hsl(120, 100%, \
40%);">+			|| info.type-&gt;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 \
&lt;kacperkasper@gmail.com&gt; </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