1d722e3fbSopenharmony_ci/* 2d722e3fbSopenharmony_ci * 3d722e3fbSopenharmony_ci * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. 4d722e3fbSopenharmony_ci * All Rights Reserved. 5d722e3fbSopenharmony_ci * 6d722e3fbSopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a 7d722e3fbSopenharmony_ci * copy of this software and associated documentation files (the 8d722e3fbSopenharmony_ci * "Software"), to deal in the Software without restriction, including 9d722e3fbSopenharmony_ci * without limitation the rights to use, copy, modify, merge, publish, 10d722e3fbSopenharmony_ci * distribute, sub license, and/or sell copies of the Software, and to 11d722e3fbSopenharmony_ci * permit persons to whom the Software is furnished to do so, subject to 12d722e3fbSopenharmony_ci * the following conditions: 13d722e3fbSopenharmony_ci * 14d722e3fbSopenharmony_ci * The above copyright notice and this permission notice (including the 15d722e3fbSopenharmony_ci * next paragraph) shall be included in all copies or substantial portions 16d722e3fbSopenharmony_ci * of the Software. 17d722e3fbSopenharmony_ci * 18d722e3fbSopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19d722e3fbSopenharmony_ci * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20d722e3fbSopenharmony_ci * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21d722e3fbSopenharmony_ci * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22d722e3fbSopenharmony_ci * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23d722e3fbSopenharmony_ci * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24d722e3fbSopenharmony_ci * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25d722e3fbSopenharmony_ci * 26d722e3fbSopenharmony_ci */ 27d722e3fbSopenharmony_ci 28d722e3fbSopenharmony_ci#ifndef _INTEL_CHIPSET_H 29d722e3fbSopenharmony_ci#define _INTEL_CHIPSET_H 30d722e3fbSopenharmony_ci 31d722e3fbSopenharmony_ci#define PCI_CHIP_I810 0x7121 32d722e3fbSopenharmony_ci#define PCI_CHIP_I810_DC100 0x7123 33d722e3fbSopenharmony_ci#define PCI_CHIP_I810_E 0x7125 34d722e3fbSopenharmony_ci#define PCI_CHIP_I815 0x1132 35d722e3fbSopenharmony_ci 36d722e3fbSopenharmony_ci#define PCI_CHIP_I830_M 0x3577 37d722e3fbSopenharmony_ci#define PCI_CHIP_845_G 0x2562 38d722e3fbSopenharmony_ci#define PCI_CHIP_I855_GM 0x3582 39d722e3fbSopenharmony_ci#define PCI_CHIP_I865_G 0x2572 40d722e3fbSopenharmony_ci 41d722e3fbSopenharmony_ci#define PCI_CHIP_I915_G 0x2582 42d722e3fbSopenharmony_ci#define PCI_CHIP_E7221_G 0x258A 43d722e3fbSopenharmony_ci#define PCI_CHIP_I915_GM 0x2592 44d722e3fbSopenharmony_ci#define PCI_CHIP_I945_G 0x2772 45d722e3fbSopenharmony_ci#define PCI_CHIP_I945_GM 0x27A2 46d722e3fbSopenharmony_ci#define PCI_CHIP_I945_GME 0x27AE 47d722e3fbSopenharmony_ci 48d722e3fbSopenharmony_ci#define PCI_CHIP_Q35_G 0x29B2 49d722e3fbSopenharmony_ci#define PCI_CHIP_G33_G 0x29C2 50d722e3fbSopenharmony_ci#define PCI_CHIP_Q33_G 0x29D2 51d722e3fbSopenharmony_ci 52d722e3fbSopenharmony_ci#define PCI_CHIP_IGD_GM 0xA011 53d722e3fbSopenharmony_ci#define PCI_CHIP_IGD_G 0xA001 54d722e3fbSopenharmony_ci 55d722e3fbSopenharmony_ci#define IS_IGDGM(devid) ((devid) == PCI_CHIP_IGD_GM) 56d722e3fbSopenharmony_ci#define IS_IGDG(devid) ((devid) == PCI_CHIP_IGD_G) 57d722e3fbSopenharmony_ci#define IS_IGD(devid) (IS_IGDG(devid) || IS_IGDGM(devid)) 58d722e3fbSopenharmony_ci 59d722e3fbSopenharmony_ci#define PCI_CHIP_I965_G 0x29A2 60d722e3fbSopenharmony_ci#define PCI_CHIP_I965_Q 0x2992 61d722e3fbSopenharmony_ci#define PCI_CHIP_I965_G_1 0x2982 62d722e3fbSopenharmony_ci#define PCI_CHIP_I946_GZ 0x2972 63d722e3fbSopenharmony_ci#define PCI_CHIP_I965_GM 0x2A02 64d722e3fbSopenharmony_ci#define PCI_CHIP_I965_GME 0x2A12 65d722e3fbSopenharmony_ci 66d722e3fbSopenharmony_ci#define PCI_CHIP_GM45_GM 0x2A42 67d722e3fbSopenharmony_ci 68d722e3fbSopenharmony_ci#define PCI_CHIP_IGD_E_G 0x2E02 69d722e3fbSopenharmony_ci#define PCI_CHIP_Q45_G 0x2E12 70d722e3fbSopenharmony_ci#define PCI_CHIP_G45_G 0x2E22 71d722e3fbSopenharmony_ci#define PCI_CHIP_G41_G 0x2E32 72d722e3fbSopenharmony_ci 73d722e3fbSopenharmony_ci#define PCI_CHIP_ILD_G 0x0042 74d722e3fbSopenharmony_ci#define PCI_CHIP_ILM_G 0x0046 75d722e3fbSopenharmony_ci 76d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_GT1 0x0102 /* desktop */ 77d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_GT2 0x0112 78d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_GT2_PLUS 0x0122 79d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_M_GT1 0x0106 /* mobile */ 80d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_M_GT2 0x0116 81d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS 0x0126 82d722e3fbSopenharmony_ci#define PCI_CHIP_SANDYBRIDGE_S 0x010A /* server */ 83d722e3fbSopenharmony_ci 84d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_GT1 0x0152 /* desktop */ 85d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_GT2 0x0162 86d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_M_GT1 0x0156 /* mobile */ 87d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_M_GT2 0x0166 88d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_S 0x015a /* server */ 89d722e3fbSopenharmony_ci#define PCI_CHIP_IVYBRIDGE_S_GT2 0x016a /* server */ 90d722e3fbSopenharmony_ci 91d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_GT1 0x0402 /* Desktop */ 92d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_GT2 0x0412 93d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_GT3 0x0422 94d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_M_GT1 0x0406 /* Mobile */ 95d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_M_GT2 0x0416 96d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_M_GT3 0x0426 97d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_S_GT1 0x040A /* Server */ 98d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_S_GT2 0x041A 99d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_S_GT3 0x042A 100d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_B_GT1 0x040B /* Reserved */ 101d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_B_GT2 0x041B 102d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_B_GT3 0x042B 103d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_E_GT1 0x040E /* Reserved */ 104d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_E_GT2 0x041E 105d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_E_GT3 0x042E 106d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_GT1 0x0C02 /* Desktop */ 107d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_GT2 0x0C12 108d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_GT3 0x0C22 109d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_M_GT1 0x0C06 /* Mobile */ 110d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_M_GT2 0x0C16 111d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_M_GT3 0x0C26 112d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_S_GT1 0x0C0A /* Server */ 113d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_S_GT2 0x0C1A 114d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_S_GT3 0x0C2A 115d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_B_GT1 0x0C0B /* Reserved */ 116d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_B_GT2 0x0C1B 117d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_B_GT3 0x0C2B 118d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_E_GT1 0x0C0E /* Reserved */ 119d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_E_GT2 0x0C1E 120d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_SDV_E_GT3 0x0C2E 121d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_GT1 0x0A02 /* Desktop */ 122d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_GT2 0x0A12 123d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_GT3 0x0A22 124d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_M_GT1 0x0A06 /* Mobile */ 125d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_M_GT2 0x0A16 126d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_M_GT3 0x0A26 127d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_S_GT1 0x0A0A /* Server */ 128d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_S_GT2 0x0A1A 129d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_S_GT3 0x0A2A 130d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_B_GT1 0x0A0B /* Reserved */ 131d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_B_GT2 0x0A1B 132d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_B_GT3 0x0A2B 133d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_E_GT1 0x0A0E /* Reserved */ 134d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_E_GT2 0x0A1E 135d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_ULT_E_GT3 0x0A2E 136d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_GT1 0x0D02 /* Desktop */ 137d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_GT2 0x0D12 138d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_GT3 0x0D22 139d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_M_GT1 0x0D06 /* Mobile */ 140d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_M_GT2 0x0D16 141d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_M_GT3 0x0D26 142d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D0A /* Server */ 143d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D1A 144d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_S_GT3 0x0D2A 145d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_B_GT1 0x0D0B /* Reserved */ 146d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_B_GT2 0x0D1B 147d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_B_GT3 0x0D2B 148d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_E_GT1 0x0D0E /* Reserved */ 149d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_E_GT2 0x0D1E 150d722e3fbSopenharmony_ci#define PCI_CHIP_HASWELL_CRW_E_GT3 0x0D2E 151d722e3fbSopenharmony_ci#define BDW_SPARE 0x2 152d722e3fbSopenharmony_ci#define BDW_ULT 0x6 153d722e3fbSopenharmony_ci#define BDW_SERVER 0xa 154d722e3fbSopenharmony_ci#define BDW_IRIS 0xb 155d722e3fbSopenharmony_ci#define BDW_WORKSTATION 0xd 156d722e3fbSopenharmony_ci#define BDW_ULX 0xe 157d722e3fbSopenharmony_ci 158d722e3fbSopenharmony_ci#define PCI_CHIP_VALLEYVIEW_PO 0x0f30 /* VLV PO board */ 159d722e3fbSopenharmony_ci#define PCI_CHIP_VALLEYVIEW_1 0x0f31 160d722e3fbSopenharmony_ci#define PCI_CHIP_VALLEYVIEW_2 0x0f32 161d722e3fbSopenharmony_ci#define PCI_CHIP_VALLEYVIEW_3 0x0f33 162d722e3fbSopenharmony_ci 163d722e3fbSopenharmony_ci#define PCI_CHIP_CHERRYVIEW_0 0x22b0 164d722e3fbSopenharmony_ci#define PCI_CHIP_CHERRYVIEW_1 0x22b1 165d722e3fbSopenharmony_ci#define PCI_CHIP_CHERRYVIEW_2 0x22b2 166d722e3fbSopenharmony_ci#define PCI_CHIP_CHERRYVIEW_3 0x22b3 167d722e3fbSopenharmony_ci 168d722e3fbSopenharmony_ci#define PCI_CHIP_SKYLAKE_DT_GT2 0x1912 169d722e3fbSopenharmony_ci#define PCI_CHIP_KABYLAKE_DT_GT2 0x5912 170d722e3fbSopenharmony_ci 171d722e3fbSopenharmony_ci#define IS_MOBILE(devid) ((devid) == PCI_CHIP_I855_GM || \ 172d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I915_GM || \ 173d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I945_GM || \ 174d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I945_GME || \ 175d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_GM || \ 176d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_GME || \ 177d722e3fbSopenharmony_ci (devid) == PCI_CHIP_GM45_GM || IS_IGD(devid) || \ 178d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_M_GT1 || \ 179d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_M_GT2) 180d722e3fbSopenharmony_ci 181d722e3fbSopenharmony_ci#define IS_G45(devid) ((devid) == PCI_CHIP_IGD_E_G || \ 182d722e3fbSopenharmony_ci (devid) == PCI_CHIP_Q45_G || \ 183d722e3fbSopenharmony_ci (devid) == PCI_CHIP_G45_G || \ 184d722e3fbSopenharmony_ci (devid) == PCI_CHIP_G41_G) 185d722e3fbSopenharmony_ci#define IS_GM45(devid) ((devid) == PCI_CHIP_GM45_GM) 186d722e3fbSopenharmony_ci#define IS_G4X(devid) (IS_G45(devid) || IS_GM45(devid)) 187d722e3fbSopenharmony_ci 188d722e3fbSopenharmony_ci#define IS_ILD(devid) ((devid) == PCI_CHIP_ILD_G) 189d722e3fbSopenharmony_ci#define IS_ILM(devid) ((devid) == PCI_CHIP_ILM_G) 190d722e3fbSopenharmony_ci 191d722e3fbSopenharmony_ci#define IS_915(devid) ((devid) == PCI_CHIP_I915_G || \ 192d722e3fbSopenharmony_ci (devid) == PCI_CHIP_E7221_G || \ 193d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I915_GM) 194d722e3fbSopenharmony_ci 195d722e3fbSopenharmony_ci#define IS_945GM(devid) ((devid) == PCI_CHIP_I945_GM || \ 196d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I945_GME) 197d722e3fbSopenharmony_ci 198d722e3fbSopenharmony_ci#define IS_945(devid) ((devid) == PCI_CHIP_I945_G || \ 199d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I945_GM || \ 200d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I945_GME || \ 201d722e3fbSopenharmony_ci IS_G33(devid)) 202d722e3fbSopenharmony_ci 203d722e3fbSopenharmony_ci#define IS_G33(devid) ((devid) == PCI_CHIP_G33_G || \ 204d722e3fbSopenharmony_ci (devid) == PCI_CHIP_Q33_G || \ 205d722e3fbSopenharmony_ci (devid) == PCI_CHIP_Q35_G || IS_IGD(devid)) 206d722e3fbSopenharmony_ci 207d722e3fbSopenharmony_ci#define IS_GEN2(devid) ((devid) == PCI_CHIP_I830_M || \ 208d722e3fbSopenharmony_ci (devid) == PCI_CHIP_845_G || \ 209d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I855_GM || \ 210d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I865_G) 211d722e3fbSopenharmony_ci 212d722e3fbSopenharmony_ci#define IS_GEN3(devid) (IS_945(devid) || IS_915(devid)) 213d722e3fbSopenharmony_ci 214d722e3fbSopenharmony_ci#define IS_GEN4(devid) ((devid) == PCI_CHIP_I965_G || \ 215d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_Q || \ 216d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_G_1 || \ 217d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_GM || \ 218d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I965_GME || \ 219d722e3fbSopenharmony_ci (devid) == PCI_CHIP_I946_GZ || \ 220d722e3fbSopenharmony_ci IS_G4X(devid)) 221d722e3fbSopenharmony_ci 222d722e3fbSopenharmony_ci#define IS_GEN5(devid) (IS_ILD(devid) || IS_ILM(devid)) 223d722e3fbSopenharmony_ci 224d722e3fbSopenharmony_ci#define IS_GEN6(devid) ((devid) == PCI_CHIP_SANDYBRIDGE_GT1 || \ 225d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_GT2 || \ 226d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_GT2_PLUS || \ 227d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_M_GT1 || \ 228d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2 || \ 229d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS || \ 230d722e3fbSopenharmony_ci (devid) == PCI_CHIP_SANDYBRIDGE_S) 231d722e3fbSopenharmony_ci 232d722e3fbSopenharmony_ci#define IS_GEN7(devid) (IS_IVYBRIDGE(devid) || \ 233d722e3fbSopenharmony_ci IS_HASWELL(devid) || \ 234d722e3fbSopenharmony_ci IS_VALLEYVIEW(devid)) 235d722e3fbSopenharmony_ci 236d722e3fbSopenharmony_ci#define IS_IVYBRIDGE(devid) ((devid) == PCI_CHIP_IVYBRIDGE_GT1 || \ 237d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_GT2 || \ 238d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_M_GT1 || \ 239d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_M_GT2 || \ 240d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_S || \ 241d722e3fbSopenharmony_ci (devid) == PCI_CHIP_IVYBRIDGE_S_GT2) 242d722e3fbSopenharmony_ci 243d722e3fbSopenharmony_ci#define IS_VALLEYVIEW(devid) ((devid) == PCI_CHIP_VALLEYVIEW_PO || \ 244d722e3fbSopenharmony_ci (devid) == PCI_CHIP_VALLEYVIEW_1 || \ 245d722e3fbSopenharmony_ci (devid) == PCI_CHIP_VALLEYVIEW_2 || \ 246d722e3fbSopenharmony_ci (devid) == PCI_CHIP_VALLEYVIEW_3) 247d722e3fbSopenharmony_ci 248d722e3fbSopenharmony_ci#define IS_HSW_GT1(devid) ((devid) == PCI_CHIP_HASWELL_GT1 || \ 249d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_M_GT1 || \ 250d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_S_GT1 || \ 251d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_B_GT1 || \ 252d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_E_GT1 || \ 253d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_GT1 || \ 254d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_M_GT1 || \ 255d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_S_GT1 || \ 256d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_B_GT1 || \ 257d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_E_GT1 || \ 258d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_GT1 || \ 259d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_M_GT1 || \ 260d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_S_GT1 || \ 261d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_B_GT1 || \ 262d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_E_GT1 || \ 263d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_GT1 || \ 264d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_M_GT1 || \ 265d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_S_GT1 || \ 266d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_B_GT1 || \ 267d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_E_GT1) 268d722e3fbSopenharmony_ci#define IS_HSW_GT2(devid) ((devid) == PCI_CHIP_HASWELL_GT2 || \ 269d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_M_GT2 || \ 270d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_S_GT2 || \ 271d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_B_GT2 || \ 272d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_E_GT2 || \ 273d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_GT2 || \ 274d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_M_GT2 || \ 275d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_S_GT2 || \ 276d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_B_GT2 || \ 277d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_E_GT2 || \ 278d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_GT2 || \ 279d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_M_GT2 || \ 280d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_S_GT2 || \ 281d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_B_GT2 || \ 282d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_E_GT2 || \ 283d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_GT2 || \ 284d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_M_GT2 || \ 285d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_S_GT2 || \ 286d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_B_GT2 || \ 287d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_E_GT2) 288d722e3fbSopenharmony_ci#define IS_HSW_GT3(devid) ((devid) == PCI_CHIP_HASWELL_GT3 || \ 289d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_M_GT3 || \ 290d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_S_GT3 || \ 291d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_B_GT3 || \ 292d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_E_GT3 || \ 293d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_GT3 || \ 294d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_M_GT3 || \ 295d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_S_GT3 || \ 296d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_B_GT3 || \ 297d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_SDV_E_GT3 || \ 298d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_GT3 || \ 299d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_M_GT3 || \ 300d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_S_GT3 || \ 301d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_B_GT3 || \ 302d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_ULT_E_GT3 || \ 303d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_GT3 || \ 304d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_M_GT3 || \ 305d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_S_GT3 || \ 306d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_B_GT3 || \ 307d722e3fbSopenharmony_ci (devid) == PCI_CHIP_HASWELL_CRW_E_GT3) 308d722e3fbSopenharmony_ci 309d722e3fbSopenharmony_ci#define IS_HASWELL(devid) (IS_HSW_GT1(devid) || \ 310d722e3fbSopenharmony_ci IS_HSW_GT2(devid) || \ 311d722e3fbSopenharmony_ci IS_HSW_GT3(devid)) 312d722e3fbSopenharmony_ci 313d722e3fbSopenharmony_ci#define IS_BROADWELL(devid) (((devid & 0xff00) != 0x1600) ? 0 : \ 314d722e3fbSopenharmony_ci (((devid & 0x00f0) >> 4) > 3) ? 0 : \ 315d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_SPARE) ? 1 : \ 316d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_ULT) ? 1 : \ 317d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_IRIS) ? 1 : \ 318d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_SERVER) ? 1 : \ 319d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_WORKSTATION) ? 1 : \ 320d722e3fbSopenharmony_ci ((devid & 0x000f) == BDW_ULX) ? 1 : 0) 321d722e3fbSopenharmony_ci 322d722e3fbSopenharmony_ci#define IS_CHERRYVIEW(devid) ((devid) == PCI_CHIP_CHERRYVIEW_0 || \ 323d722e3fbSopenharmony_ci (devid) == PCI_CHIP_CHERRYVIEW_1 || \ 324d722e3fbSopenharmony_ci (devid) == PCI_CHIP_CHERRYVIEW_2 || \ 325d722e3fbSopenharmony_ci (devid) == PCI_CHIP_CHERRYVIEW_3) 326d722e3fbSopenharmony_ci 327d722e3fbSopenharmony_ci#define IS_GEN8(devid) (IS_BROADWELL(devid) || \ 328d722e3fbSopenharmony_ci IS_CHERRYVIEW(devid)) 329d722e3fbSopenharmony_ci 330d722e3fbSopenharmony_ci/* New platforms use kernel pci ids */ 331d722e3fbSopenharmony_ci#include <stdbool.h> 332d722e3fbSopenharmony_ci#include <libdrm_macros.h> 333d722e3fbSopenharmony_ci 334d722e3fbSopenharmony_cidrm_private bool intel_is_genx(unsigned int devid, int gen); 335d722e3fbSopenharmony_cidrm_private bool intel_get_genx(unsigned int devid, int *gen); 336d722e3fbSopenharmony_ci 337d722e3fbSopenharmony_ci#define IS_GEN9(devid) intel_is_genx(devid, 9) 338d722e3fbSopenharmony_ci#define IS_GEN10(devid) intel_is_genx(devid, 10) 339d722e3fbSopenharmony_ci#define IS_GEN11(devid) intel_is_genx(devid, 11) 340d722e3fbSopenharmony_ci#define IS_GEN12(devid) intel_is_genx(devid, 12) 341d722e3fbSopenharmony_ci 342d722e3fbSopenharmony_ci#define IS_9XX(dev) (IS_GEN3(dev) || \ 343d722e3fbSopenharmony_ci IS_GEN4(dev) || \ 344d722e3fbSopenharmony_ci IS_GEN5(dev) || \ 345d722e3fbSopenharmony_ci IS_GEN6(dev) || \ 346d722e3fbSopenharmony_ci IS_GEN7(dev) || \ 347d722e3fbSopenharmony_ci IS_GEN8(dev) || \ 348d722e3fbSopenharmony_ci intel_get_genx(dev, NULL)) 349d722e3fbSopenharmony_ci 350d722e3fbSopenharmony_ci#endif /* _INTEL_CHIPSET_H */ 351