#include <drm/drm_color_mgmt.h>
#include <drm/drm_drv.h>
#include <drm/intel/i915_pciids.h>
#include "display/intel_display_driver.h"
#include "gt/intel_gt_regs.h"
#include "gt/intel_sa_media.h"
#include "gem/i915_gem_object_types.h"
#include "i915_driver.h"
#include "i915_drv.h"
#include "i915_pci.h"
#include "i915_reg.h"
#include "intel_pci_config.h"
__diag_push();
__diag_ignore_all("-Woverride-init", "Allow field initialization overrides for device info");
#define PLATFORM …
#define GEN …
#define LEGACY_CACHELEVEL …
#define TGL_CACHELEVEL …
#define MTL_CACHELEVEL …
#define GEN_DEFAULT_PAGE_SIZES …
#define GEN_DEFAULT_REGIONS …
#define I830_FEATURES …
#define I845_FEATURES …
static const struct intel_device_info i830_info = …;
static const struct intel_device_info i845g_info = …;
static const struct intel_device_info i85x_info = …;
static const struct intel_device_info i865g_info = …;
#define GEN3_FEATURES …
static const struct intel_device_info i915g_info = …;
static const struct intel_device_info i915gm_info = …;
static const struct intel_device_info i945g_info = …;
static const struct intel_device_info i945gm_info = …;
static const struct intel_device_info g33_info = …;
static const struct intel_device_info pnv_g_info = …;
static const struct intel_device_info pnv_m_info = …;
#define GEN4_FEATURES …
static const struct intel_device_info i965g_info = …;
static const struct intel_device_info i965gm_info = …;
static const struct intel_device_info g45_info = …;
static const struct intel_device_info gm45_info = …;
#define GEN5_FEATURES …
static const struct intel_device_info ilk_d_info = …;
static const struct intel_device_info ilk_m_info = …;
#define GEN6_FEATURES …
#define SNB_D_PLATFORM …
static const struct intel_device_info snb_d_gt1_info = …;
static const struct intel_device_info snb_d_gt2_info = …;
#define SNB_M_PLATFORM …
static const struct intel_device_info snb_m_gt1_info = …;
static const struct intel_device_info snb_m_gt2_info = …;
#define GEN7_FEATURES …
#define IVB_D_PLATFORM …
static const struct intel_device_info ivb_d_gt1_info = …;
static const struct intel_device_info ivb_d_gt2_info = …;
#define IVB_M_PLATFORM …
static const struct intel_device_info ivb_m_gt1_info = …;
static const struct intel_device_info ivb_m_gt2_info = …;
static const struct intel_device_info ivb_q_info = …;
static const struct intel_device_info vlv_info = …;
#define G75_FEATURES …
#define HSW_PLATFORM …
static const struct intel_device_info hsw_gt1_info = …;
static const struct intel_device_info hsw_gt2_info = …;
static const struct intel_device_info hsw_gt3_info = …;
#define GEN8_FEATURES …
#define BDW_PLATFORM …
static const struct intel_device_info bdw_gt1_info = …;
static const struct intel_device_info bdw_gt2_info = …;
static const struct intel_device_info bdw_rsvd_info = …;
static const struct intel_device_info bdw_gt3_info = …;
static const struct intel_device_info chv_info = …;
#define GEN9_DEFAULT_PAGE_SIZES …
#define GEN9_FEATURES …
#define SKL_PLATFORM …
static const struct intel_device_info skl_gt1_info = …;
static const struct intel_device_info skl_gt2_info = …;
#define SKL_GT3_PLUS_PLATFORM …
static const struct intel_device_info skl_gt3_info = …;
static const struct intel_device_info skl_gt4_info = …;
#define GEN9_LP_FEATURES …
static const struct intel_device_info bxt_info = …;
static const struct intel_device_info glk_info = …;
#define KBL_PLATFORM …
static const struct intel_device_info kbl_gt1_info = …;
static const struct intel_device_info kbl_gt2_info = …;
static const struct intel_device_info kbl_gt3_info = …;
#define CFL_PLATFORM …
static const struct intel_device_info cfl_gt1_info = …;
static const struct intel_device_info cfl_gt2_info = …;
static const struct intel_device_info cfl_gt3_info = …;
#define CML_PLATFORM …
static const struct intel_device_info cml_gt1_info = …;
static const struct intel_device_info cml_gt2_info = …;
#define GEN11_DEFAULT_PAGE_SIZES …
#define GEN11_FEATURES …
static const struct intel_device_info icl_info = …;
static const struct intel_device_info ehl_info = …;
static const struct intel_device_info jsl_info = …;
#define GEN12_FEATURES …
static const struct intel_device_info tgl_info = …;
static const struct intel_device_info rkl_info = …;
#define DGFX_FEATURES …
static const struct intel_device_info dg1_info = …;
static const struct intel_device_info adl_s_info = …;
static const struct intel_device_info adl_p_info = …;
#undef GEN
#define XE_HP_PAGE_SIZES …
#define XE_HP_FEATURES …
#define DG2_FEATURES …
static const struct intel_device_info dg2_info = …;
static const struct intel_device_info ats_m_info = …;
static const struct intel_gt_definition xelpmp_extra_gt[] = …;
static const struct intel_device_info mtl_info = …;
#undef PLATFORM
__diag_pop();
static const struct pci_device_id pciidlist[] = …;
MODULE_DEVICE_TABLE(pci, pciidlist);
static void i915_pci_remove(struct pci_dev *pdev)
{ … }
static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
{ … }
static bool id_forced(u16 device_id)
{ … }
static bool id_blocked(u16 device_id)
{ … }
bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
{ … }
static bool intel_mmio_bar_valid(struct pci_dev *pdev, struct intel_device_info *intel_info)
{ … }
static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void i915_pci_shutdown(struct pci_dev *pdev)
{ … }
static struct pci_driver i915_pci_driver = …;
int i915_pci_register_driver(void)
{ … }
void i915_pci_unregister_driver(void)
{ … }