intel_extreme: Beginnings of Broadwell support.

At present, does not work (it fails to properly set up interrupts,
resulting in thousands of unhandled ones which all but grinds the system
to a halt) but this at least is some progress.
This commit is contained in:
Augustin Cavalier 2017-11-21 23:34:59 +00:00
parent cec4fe2f85
commit 164e4f8de4
3 changed files with 11 additions and 4 deletions

View File

@ -50,7 +50,7 @@
#define INTEL_GROUP_FSM (INTEL_FAMILY_POVR | 0x0020) // Fu.Silvermont
#define INTEL_GROUP_VLV (INTEL_FAMILY_SOC0 | 0x0010) // ValleyView
#define INTEL_GROUP_CHV (INTEL_FAMILY_SOC0 | 0x0020) // CherryView
#define INTEL_GROUP_BXT (INTEL_FAMILY_SOC0 | 0x0040) // Broxton
#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
// models
@ -79,6 +79,8 @@
#define INTEL_MODEL_HASM (INTEL_GROUP_HAS | INTEL_TYPE_MOBILE)
#define INTEL_MODEL_VLV (INTEL_GROUP_VLV)
#define INTEL_MODEL_VLVM (INTEL_GROUP_VLV | INTEL_TYPE_MOBILE)
#define INTEL_MODEL_BDW (INTEL_GROUP_BDW)
#define INTEL_MODEL_BDWM (INTEL_GROUP_BDW | INTEL_TYPE_MOBILE)
#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)
@ -88,7 +90,7 @@
#define INTEL_PCH_CPT_DEVICE_ID 0x1c00
#define INTEL_PCH_PPT_DEVICE_ID 0x1e00
#define INTEL_PCH_LPT_DEVICE_ID 0x8c00
#define INTEL_PCH_LPT_LP_DEVICE_ID 0x9c00
#define INTEL_PCH_LPT_LP_DEVICE_ID 0x9c00 /* Wildcat Point */
#define INTEL_PCH_SPT_DEVICE_ID 0xa100
#define INTEL_PCH_SPT_LP_DEVICE_ID 0x9d00
#define INTEL_PCH_P2X_DEVICE_ID 0x7100
@ -198,9 +200,9 @@ struct DeviceType {
return 6;
if (InFamily(INTEL_FAMILY_SER5) || InGroup(INTEL_GROUP_VLV))
return 7;
if (InGroup(INTEL_GROUP_CHV))
if (InGroup(INTEL_GROUP_CHV) || InGroup(INTEL_GROUP_BDW))
return 8;
if (InGroup(INTEL_GROUP_BXT) || InFamily(INTEL_FAMILY_LAKE))
if (InFamily(INTEL_FAMILY_LAKE))
return 9;
// Generation 0 means somethins is wrong :-)

View File

@ -128,6 +128,8 @@ const struct supported_device {
{0x0f00, 0x0f33, INTEL_MODEL_VLVM, "ValleyView Mobile"},
{0x0f00, 0x0157, INTEL_MODEL_VLVM, "ValleyView Mobile"},
{0x1604, 0x1616, INTEL_MODEL_BDWM, "HD Graphics 5500 (Broadwell GT2)"},
// XXX: 0x1904 only confirmed on 0x1916
{0x1904, 0x1902, INTEL_MODEL_SKY, "Skylake GT1"},
{0x1904, 0x1906, INTEL_MODEL_SKYM, "Skylake GT1"},

View File

@ -111,6 +111,8 @@ const struct supported_device {
{0x0f33, INTEL_MODEL_VLVM, "ValleyView Mobile"},
{0x0157, INTEL_MODEL_VLVM, "ValleyView Mobile"},
// {0x1616, INTEL_MODEL_BDWM, "HD Graphics 5500 (Broadwell GT2)"},
{0x1902, INTEL_MODEL_SKY, "Skylake GT1"},
{0x1906, INTEL_MODEL_SKYM, "Skylake GT1"},
{0x190a, INTEL_MODEL_SKYS, "Skylake GT1"},
@ -194,6 +196,7 @@ detect_intel_pch()
ERROR("%s: Found PantherPoint PCH\n", __func__);
return INTEL_PCH_CPT;
case INTEL_PCH_LPT_DEVICE_ID:
case INTEL_PCH_LPT_LP_DEVICE_ID:
ERROR("%s: Found LynxPoint PCH\n", __func__);
return INTEL_PCH_LPT;
case INTEL_PCH_SPT_DEVICE_ID: