## intel chipset intel chipset — Feature macros and chipset helpers |

## Functions

struct pci_device * | intel_get_pci_device ()
uint32_t | intel_get_drm_devid ()
int | intel_gen ()
void | intel_check_pch ()
#define | HAS_IBX
#define | HAS_CPT
#define | HAS_LPT
#define | IS_MOBILE()
#define | IS_G45()
#define | IS_GM45()
#define | IS_G4X()
#define | IS_ILD()
#define | IS_ILM()
#define | IS_915()
#define | IS_945GM()
#define | IS_945()
#define | IS_G33()
#define | IS_GEN2()
#define | IS_GEN3()
#define | IS_GEN4()
#define | IS_GEN5()
#define | IS_GEN6()
#define | IS_GEN7()
#define | IS_IVYBRIDGE()
#define | IS_VALLEYVIEW()
#define | IS_HSW_GT1()
#define | IS_HSW_GT2()
#define | IS_HSW_GT3()
#define | IS_HASWELL()
#define | IS_BROADWELL()
#define | IS_CHERRYVIEW()
#define | IS_GEN8()
#define | IS_SKL_GT1()
#define | IS_SKL_GT2()
#define | IS_SKL_GT3()
#define | IS_SKYLAKE()
#define | IS_GEN9()
#define | IS_965()
#define | IS_9XX()
#define | IS_INTEL()
#define | HAS_PCH_SPLIT()
#define | HAS_BLT_RING()
#define | HAS_BSD_RING()
#define | IS_BROADWATER()
#define | IS_CRESTLINE()
#define | HAS_VEBOX_RING()

## Types and Values

enum | pch_type

## Includes

    #include <intel_chipset.h>

## Description

This library mostly provides feature macros which use raw pci device ids. It also provides a few more helper functions to handle pci devices, chipset detection and related issues.

## Functions

### intel_get_pci_device ()

    struct pci_device *
    intel_get_pci_device (void);

Looks up the main graphics pci device using libpciaccess.

#### Returns

The pci_device, exits the program on any failures.

### intel_get_drm_devid ()

    uint32_t
    intel_get_drm_devid (int fd);

Queries the kernel for the pci device id corresponding to the drm file descriptor.

#### Parameters

fd | open i915 drm file descriptor |

#### Returns

The devid, exits the program on any failures.

### intel_gen ()

    int
    intel_gen (uint32_t devid);

Computes the Intel GFX generation for the give device id.

#### Parameters

devid | pci device id |

#### Returns

The GFX generation on successful lookup, -1 on failure.

### intel_check_pch ()

    void
    intel_check_pch (void);

Detects the PCH chipset type of the running systems and fills in the results into the global intel_pch varaible.

### HAS_IBX

    #define HAS_IBX (intel_pch == PCH_IBX)

### HAS_CPT

    #define HAS_CPT (intel_pch == PCH_CPT)

### HAS_LPT

    #define HAS_LPT (intel_pch == PCH_LPT)

### IS_MOBILE()

    #define             IS_MOBILE(devid)

### IS_G45()

    #define             IS_G45(devid)

### IS_GM45()

    #define IS_GM45(devid)		((devid) == PCI_CHIP_GM45_GM)

### IS_G4X()

    #define IS_G4X(devid)		(IS_G45(devid) || IS_GM45(devid))

### IS_ILD()

    #define IS_ILD(devid)		((devid) == PCI_CHIP_ILD_G)

### IS_ILM()

    #define IS_ILM(devid)		((devid) == PCI_CHIP_ILM_G)

### IS_915()

    #define             IS_915(devid)

### IS_945GM()

    #define             IS_945GM(devid)

### IS_945()

    #define             IS_945(devid)

### IS_G33()

    #define             IS_G33(devid)

### IS_GEN2()

    #define             IS_GEN2(devid)

### IS_GEN3()

    #define IS_GEN3(devid)		(IS_945(devid) || IS_915(devid))

### IS_GEN4()

    #define             IS_GEN4(devid)

### IS_GEN5()

    #define IS_GEN5(devid)		(IS_ILD(devid) || IS_ILM(devid))

### IS_GEN6()

    #define             IS_GEN6(devid)

### IS_GEN7()

    #define             IS_GEN7(devid)

### IS_IVYBRIDGE()

    #define             IS_IVYBRIDGE(devid)

### IS_VALLEYVIEW()

    #define             IS_VALLEYVIEW(devid)

### IS_HSW_GT1()

    #define             IS_HSW_GT1(devid)

### IS_HSW_GT2()

    #define             IS_HSW_GT2(devid)

### IS_HSW_GT3()

    #define             IS_HSW_GT3(devid)

### IS_HASWELL()

    #define             IS_HASWELL(devid)

### IS_BROADWELL()

    #define             IS_BROADWELL(devid)

### IS_CHERRYVIEW()

    #define             IS_CHERRYVIEW(devid)

### IS_GEN8()

    #define             IS_GEN8(devid)

### IS_SKL_GT1()

    #define             IS_SKL_GT1(devid)

### IS_SKL_GT2()

    #define             IS_SKL_GT2(devid)

### IS_SKL_GT3()

    #define             IS_SKL_GT3(devid)

### IS_SKYLAKE()

    #define             IS_SKYLAKE(devid)

### IS_GEN9()

    #define IS_GEN9(devid)		IS_SKYLAKE(devid)

### IS_965()

    #define             IS_965(devid)

### IS_9XX()

    #define             IS_9XX(devid)

### IS_INTEL()

    #define             IS_INTEL(devid)

### HAS_PCH_SPLIT()

    #define             HAS_PCH_SPLIT(devid)

### HAS_BLT_RING()

    #define             HAS_BLT_RING(devid)

### HAS_BSD_RING()

    #define             HAS_BSD_RING(devid)

### IS_BROADWATER()

    #define             IS_BROADWATER(devid)

### IS_CRESTLINE()

    #define             IS_CRESTLINE(devid)

### HAS_VEBOX_RING()

    #define HAS_VEBOX_RING(devid)   (IS_HASWELL(devid))

## Types and Values

### enum pch_type

#### Members

PCH_NONE |  |
PCH_IBX |  |
PCH_CPT |  |
PCH_LPT |  |