1cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt/* 2cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * 3cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. 4cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * All Rights Reserved. 5cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * 6cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * Permission is hereby granted, free of charge, to any person obtaining a 7cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * copy of this software and associated documentation files (the 8cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * "Software"), to deal in the Software without restriction, including 9cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * without limitation the rights to use, copy, modify, merge, publish, 10cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * distribute, sub license, and/or sell copies of the Software, and to 11cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * permit persons to whom the Software is furnished to do so, subject to 12cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * the following conditions: 13cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * 14cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * The above copyright notice and this permission notice (including the 15cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * next paragraph) shall be included in all copies or substantial portions 16cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * of the Software. 17cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * 18cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt * 26cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt */ 27cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt 28cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt#ifndef _INTEL_CHIPSET_H 29cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt#define _INTEL_CHIPSET_H 30cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt 3136d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I810 0x7121 3236d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I810_DC100 0x7123 3336d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I810_E 0x7125 3436d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I815 0x1132 3536d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 3636d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I830_M 0x3577 3736d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_845_G 0x2562 3836d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I855_GM 0x3582 3936d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I865_G 0x2572 4036d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 4136d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I915_G 0x2582 4236d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_E7221_G 0x258A 4336d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I915_GM 0x2592 4436d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I945_G 0x2772 4536d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I945_GM 0x27A2 4636d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I945_GME 0x27AE 4736d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 4836d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_Q35_G 0x29B2 4936d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_G33_G 0x29C2 5036d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_Q33_G 0x29D2 5136d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 5236d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_IGD_GM 0xA011 5336d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_IGD_G 0xA001 5436d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 556e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_IGDGM(devid) ((devid) == PCI_CHIP_IGD_GM) 566e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_IGDG(devid) ((devid) == PCI_CHIP_IGD_G) 576e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_IGD(devid) (IS_IGDG(devid) || IS_IGDGM(devid)) 5836d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 5936d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I965_G 0x29A2 6036d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I965_Q 0x2992 6136d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I965_G_1 0x2982 6236d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_I946_GZ 0x2972 636e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_I965_GM 0x2A02 646e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_I965_GME 0x2A12 6536d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 666e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_GM45_GM 0x2A42 6736d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 686e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_IGD_E_G 0x2E02 696e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_Q45_G 0x2E12 706e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_G45_G 0x2E22 716e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_G41_G 0x2E32 7236d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 736e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_ILD_G 0x0042 746e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_ILM_G 0x0046 751d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt 761d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_GT1 0x0102 /* desktop */ 771d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_GT2 0x0112 781d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_GT2_PLUS 0x0122 791d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_M_GT1 0x0106 /* mobile */ 801d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_M_GT2 0x0116 811d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS 0x0126 821d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_SANDYBRIDGE_S 0x010A /* server */ 831d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt 841d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_IVYBRIDGE_GT1 0x0152 /* desktop */ 851d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_IVYBRIDGE_GT2 0x0162 861d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_IVYBRIDGE_M_GT1 0x0156 /* mobile */ 871d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_IVYBRIDGE_M_GT2 0x0166 881d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt#define PCI_CHIP_IVYBRIDGE_S 0x015a /* server */ 89e057a56448e2e785f74bc13dbd6ead8572ebed91Eugeni Dodonov#define PCI_CHIP_IVYBRIDGE_S_GT2 0x016a /* server */ 901d318e2a79c3ae02fa886bcba79ac68b5222e1a3Eric Anholt 916e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_GT1 0x0402 /* Desktop */ 926e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_GT2 0x0412 93150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_GT3 0x0422 946e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_M_GT1 0x0406 /* Mobile */ 956e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_M_GT2 0x0416 96150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_M_GT3 0x0426 976e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_S_GT1 0x040A /* Server */ 986e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_S_GT2 0x041A 99150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_S_GT3 0x042A 1001669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_B_GT1 0x040B /* Reserved */ 1011669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_B_GT2 0x041B 1021669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_B_GT3 0x042B 1031669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_E_GT1 0x040E /* Reserved */ 1041669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_E_GT2 0x041E 1051669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_E_GT3 0x042E 1066e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_GT1 0x0C02 /* Desktop */ 1076e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_GT2 0x0C12 108150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_GT3 0x0C22 1096e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_M_GT1 0x0C06 /* Mobile */ 1106e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_M_GT2 0x0C16 111150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_M_GT3 0x0C26 1126e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_S_GT1 0x0C0A /* Server */ 1136e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_SDV_S_GT2 0x0C1A 114150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_S_GT3 0x0C2A 1151669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_B_GT1 0x0C0B /* Reserved */ 1161669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_B_GT2 0x0C1B 1171669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_B_GT3 0x0C2B 1181669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_E_GT1 0x0C0E /* Reserved */ 1191669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_E_GT2 0x0C1E 1201669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_SDV_E_GT3 0x0C2E 1216e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_GT1 0x0A02 /* Desktop */ 1226e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_GT2 0x0A12 123150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_GT3 0x0A22 1246e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_M_GT1 0x0A06 /* Mobile */ 1256e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_M_GT2 0x0A16 126150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_M_GT3 0x0A26 1276e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_S_GT1 0x0A0A /* Server */ 1286e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define PCI_CHIP_HASWELL_ULT_S_GT2 0x0A1A 129150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_S_GT3 0x0A2A 1301669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_B_GT1 0x0A0B /* Reserved */ 1311669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_B_GT2 0x0A1B 1321669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_B_GT3 0x0A2B 1331669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_E_GT1 0x0A0E /* Reserved */ 1341669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_E_GT2 0x0A1E 1351669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_ULT_E_GT3 0x0A2E 136ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_GT1 0x0D02 /* Desktop */ 137ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_GT2 0x0D12 138150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_GT3 0x0D22 139ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_M_GT1 0x0D06 /* Mobile */ 140ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_M_GT2 0x0D16 141150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_M_GT3 0x0D26 142ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D0A /* Server */ 143ca678bc073462623cfc89dea80271bc361f1655fKenneth Graunke#define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D1A 144150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_S_GT3 0x0D2A 1451669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_B_GT1 0x0D0B /* Reserved */ 1461669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_B_GT2 0x0D1B 1471669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_B_GT3 0x0D2B 1481669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_E_GT1 0x0D0E /* Reserved */ 1491669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_E_GT2 0x0D1E 1501669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi#define PCI_CHIP_HASWELL_CRW_E_GT3 0x0D2E 1516ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_SPARE 0x2 1526ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_ULT 0x6 1536ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_SERVER 0xa 1546ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_IRIS 0xb 1556ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_WORKSTATION 0xd 1566ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define BDW_ULX 0xe 157617213357e94299a5e9a3cb1342de55de949d156Kenneth Graunke 15836d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define PCI_CHIP_VALLEYVIEW_PO 0x0f30 /* VLV PO board */ 159ef866c7293e699b119ae61738e221857a36a5362Jesse Barnes#define PCI_CHIP_VALLEYVIEW_1 0x0f31 160ef866c7293e699b119ae61738e221857a36a5362Jesse Barnes#define PCI_CHIP_VALLEYVIEW_2 0x0f32 161ef866c7293e699b119ae61738e221857a36a5362Jesse Barnes#define PCI_CHIP_VALLEYVIEW_3 0x0f33 1629d9cb8553c945fac15421770da233fb3e38396e0Jesse Barnes 163bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define PCI_CHIP_CHERRYVIEW_0 0x22b0 164bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define PCI_CHIP_CHERRYVIEW_1 0x22b1 165bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define PCI_CHIP_CHERRYVIEW_2 0x22b2 166bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define PCI_CHIP_CHERRYVIEW_3 0x22b3 167bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä 168c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULT_GT2 0x1916 169c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULT_GT1 0x1906 170c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULT_GT3 0x1926 171c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULT_GT2F 0x1921 172c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULX_GT1 0x190E 173c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_ULX_GT2 0x191E 174c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_DT_GT2 0x1912 175c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_DT_GT1 0x1902 176c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_HALO_GT2 0x191B 177c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_HALO_GT3 0x192B 178c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_HALO_GT1 0x190B 179c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_SRV_GT2 0x191A 180c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_SRV_GT3 0x192A 181c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_SRV_GT1 0x190A 182c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define PCI_CHIP_SKYLAKE_WKS_GT2 0x191D 183c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 1846e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_MOBILE(devid) ((devid) == PCI_CHIP_I855_GM || \ 1856e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I915_GM || \ 1866e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I945_GM || \ 1876e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I945_GME || \ 1886e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_GM || \ 1896e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_GME || \ 1906e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_GM45_GM || IS_IGD(devid) || \ 1916e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_M_GT1 || \ 1926e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_M_GT2) 1936e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 1946e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_G45(devid) ((devid) == PCI_CHIP_IGD_E_G || \ 1956e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_Q45_G || \ 1966e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_G45_G || \ 1976e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_G41_G) 1986e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_GM45(devid) ((devid) == PCI_CHIP_GM45_GM) 19936d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define IS_G4X(devid) (IS_G45(devid) || IS_GM45(devid)) 200f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2016e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_ILD(devid) ((devid) == PCI_CHIP_ILD_G) 2026e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_ILM(devid) ((devid) == PCI_CHIP_ILM_G) 203f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2046e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_915(devid) ((devid) == PCI_CHIP_I915_G || \ 2056e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_E7221_G || \ 2066e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I915_GM) 207f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2086e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_945GM(devid) ((devid) == PCI_CHIP_I945_GM || \ 2096e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I945_GME) 210f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2116e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_945(devid) ((devid) == PCI_CHIP_I945_G || \ 2126e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I945_GM || \ 2136e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I945_GME || \ 21436d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky IS_G33(devid)) 215f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2166e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_G33(devid) ((devid) == PCI_CHIP_G33_G || \ 2176e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_Q33_G || \ 2186e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_Q35_G || IS_IGD(devid)) 219f6dc964e1d4d43e4053b84b31e76d974af128276Eric Anholt 2206e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_GEN2(devid) ((devid) == PCI_CHIP_I830_M || \ 2216e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_845_G || \ 2226e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I855_GM || \ 2236e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I865_G) 224cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt 22536d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define IS_GEN3(devid) (IS_945(devid) || IS_915(devid)) 226cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt 2276e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_GEN4(devid) ((devid) == PCI_CHIP_I965_G || \ 2286e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_Q || \ 2296e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_G_1 || \ 2306e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_GM || \ 2316e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I965_GME || \ 2326e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_I946_GZ || \ 23336d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky IS_G4X(devid)) 2349d9cb8553c945fac15421770da233fb3e38396e0Jesse Barnes 23536d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky#define IS_GEN5(devid) (IS_ILD(devid) || IS_ILM(devid)) 23636d18211b196cad4761ac70c4fd08aba323f5b0dBen Widawsky 2376e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_GEN6(devid) ((devid) == PCI_CHIP_SANDYBRIDGE_GT1 || \ 2386e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_GT2 || \ 2396e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_GT2_PLUS || \ 2406e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_M_GT1 || \ 2416e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2 || \ 2426e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS || \ 2436e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_SANDYBRIDGE_S) 2446e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 2456e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_GEN7(devid) (IS_IVYBRIDGE(devid) || \ 24693d12593e5f1b251a09b112d7beaf5cfca026896Ville Syrjälä IS_HASWELL(devid) || \ 24793d12593e5f1b251a09b112d7beaf5cfca026896Ville Syrjälä IS_VALLEYVIEW(devid)) 2486e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 2496e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_IVYBRIDGE(devid) ((devid) == PCI_CHIP_IVYBRIDGE_GT1 || \ 2506e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_GT2 || \ 2516e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_M_GT1 || \ 2526e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_M_GT2 || \ 2536e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_S || \ 25493d12593e5f1b251a09b112d7beaf5cfca026896Ville Syrjälä (devid) == PCI_CHIP_IVYBRIDGE_S_GT2) 2556e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 2566e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_VALLEYVIEW(devid) ((devid) == PCI_CHIP_VALLEYVIEW_PO || \ 2576e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_VALLEYVIEW_1 || \ 2586e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_VALLEYVIEW_2 || \ 2596e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_VALLEYVIEW_3) 2606e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 2616e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_HSW_GT1(devid) ((devid) == PCI_CHIP_HASWELL_GT1 || \ 2626e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_M_GT1 || \ 2636e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_S_GT1 || \ 2641669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_B_GT1 || \ 2651669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_E_GT1 || \ 2666e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_GT1 || \ 2676e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_M_GT1 || \ 2686e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_S_GT1 || \ 2691669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_B_GT1 || \ 2701669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_E_GT1 || \ 2716e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_GT1 || \ 2726e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_M_GT1 || \ 2736e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_S_GT1 || \ 2741669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_B_GT1 || \ 2751669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_E_GT1 || \ 2766e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_CRW_GT1 || \ 2776e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_CRW_M_GT1 || \ 2781669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_S_GT1 || \ 2791669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_B_GT1 || \ 2801669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_E_GT1) 2816e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_HSW_GT2(devid) ((devid) == PCI_CHIP_HASWELL_GT2 || \ 2826e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_M_GT2 || \ 2836e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_S_GT2 || \ 2841669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_B_GT2 || \ 2851669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_E_GT2 || \ 2866e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_GT2 || \ 2876e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_M_GT2 || \ 2886e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_SDV_S_GT2 || \ 2891669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_B_GT2 || \ 2901669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_E_GT2 || \ 2916e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_GT2 || \ 2926e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_M_GT2 || \ 2936e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_ULT_S_GT2 || \ 2941669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_B_GT2 || \ 2951669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_E_GT2 || \ 2966e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_CRW_GT2 || \ 2976e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä (devid) == PCI_CHIP_HASWELL_CRW_M_GT2 || \ 2981669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_S_GT2 || \ 2991669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_B_GT2 || \ 3001669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_E_GT2) 301150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi#define IS_HSW_GT3(devid) ((devid) == PCI_CHIP_HASWELL_GT3 || \ 302150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_M_GT3 || \ 303150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_S_GT3 || \ 3041669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_B_GT3 || \ 3051669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_E_GT3 || \ 306150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_GT3 || \ 307150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_M_GT3 || \ 308150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_S_GT3 || \ 3091669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_B_GT3 || \ 3101669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_SDV_E_GT3 || \ 311150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_GT3 || \ 312150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_M_GT3 || \ 313150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_S_GT3 || \ 3141669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_B_GT3 || \ 3151669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_ULT_E_GT3 || \ 316150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_GT3 || \ 317150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_M_GT3 || \ 3181669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_S_GT3 || \ 3191669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_B_GT3 || \ 3201669a67d063e82a58dae4d906015172d471e9a2aRodrigo Vivi (devid) == PCI_CHIP_HASWELL_CRW_E_GT3) 3216e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 3226e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_HASWELL(devid) (IS_HSW_GT1(devid) || \ 323150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi IS_HSW_GT2(devid) || \ 324150c3555e7ba53f6ad2d3970cca8e4d5970410aaRodrigo Vivi IS_HSW_GT3(devid)) 3256e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä 3266ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky#define IS_BROADWELL(devid) (((devid & 0xff00) != 0x1600) ? 0 : \ 3276ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky (((devid & 0x00f0) >> 4) > 3) ? 0 : \ 3286ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_SPARE) ? 1 : \ 3296ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_ULT) ? 1 : \ 3306ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_IRIS) ? 1 : \ 3316ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_SERVER) ? 1 : \ 3326ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_WORKSTATION) ? 1 : \ 3336ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky ((devid & 0x000f) == BDW_ULX) ? 1 : 0) 3346ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky 335bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define IS_CHERRYVIEW(devid) ((devid) == PCI_CHIP_CHERRYVIEW_0 || \ 336bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä (devid) == PCI_CHIP_CHERRYVIEW_1 || \ 337bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä (devid) == PCI_CHIP_CHERRYVIEW_2 || \ 338bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä (devid) == PCI_CHIP_CHERRYVIEW_3) 3396ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky 340bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä#define IS_GEN8(devid) (IS_BROADWELL(devid) || \ 341bb1f4263b7ce169ab484b8463f0bf630a1ab4f2bVille Syrjälä IS_CHERRYVIEW(devid)) 3426ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky 343c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define IS_SKL_GT1(devid) ((devid) == PCI_CHIP_SKYLAKE_ULT_GT1 || \ 344c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_ULX_GT1 || \ 345c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_DT_GT1 || \ 346c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_HALO_GT1 || \ 347c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_SRV_GT1) 348c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 349c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define IS_SKL_GT2(devid) ((devid) == PCI_CHIP_SKYLAKE_ULT_GT2 || \ 350c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_ULT_GT2F || \ 351c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_ULX_GT2 || \ 352c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_DT_GT2 || \ 353c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_HALO_GT2 || \ 354c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_SRV_GT2 || \ 355c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_WKS_GT2) 356c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 357c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define IS_SKL_GT3(devid) ((devid) == PCI_CHIP_SKYLAKE_ULT_GT3 || \ 358c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_HALO_GT3 || \ 359c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau (devid) == PCI_CHIP_SKYLAKE_SRV_GT3) 360c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 361c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define IS_SKYLAKE(devid) (IS_SKL_GT1(devid) || \ 362c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau IS_SKL_GT2(devid) || \ 363c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau IS_SKL_GT3(devid)) 364c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 365c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau#define IS_GEN9(devid) IS_SKYLAKE(devid) 366c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau 3676e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä#define IS_9XX(dev) (IS_GEN3(dev) || \ 3686e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä IS_GEN4(dev) || \ 3696e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä IS_GEN5(dev) || \ 3706e55fd7dee48dabcd46939df1aa8729eba426298Ville Syrjälä IS_GEN6(dev) || \ 3716ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky IS_GEN7(dev) || \ 372c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau IS_GEN8(dev) || \ 373c19a9867ab35834b0fc6a8b0cb8d19382424ff07Damien Lespiau IS_GEN9(dev)) 3746ea20a0fe2f3ede1c89176db0aa447b9758fefd1Ben Widawsky 375cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt 376cbdd6272c04f487c8a63b595829d2d551e2b58f8Eric Anholt#endif /* _INTEL_CHIPSET_H */ 377