#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/oom.h>
#include <linux/pci.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/string_helpers.h>
#include <linux/vga_switcheroo.h>
#include <linux/vt.h>
#include <drm/drm_aperture.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_managed.h>
#include <drm/drm_probe_helper.h>
#include "display/intel_acpi.h"
#include "display/intel_bw.h"
#include "display/intel_cdclk.h"
#include "display/intel_display_driver.h"
#include "display/intel_display.h"
#include "display/intel_dmc.h"
#include "display/intel_dp.h"
#include "display/intel_dpt.h"
#include "display/intel_encoder.h"
#include "display/intel_fbdev.h"
#include "display/intel_hotplug.h"
#include "display/intel_overlay.h"
#include "display/intel_pch_refclk.h"
#include "display/intel_pps.h"
#include "display/intel_sprite.h"
#include "display/skl_watermark.h"
#include "gem/i915_gem_context.h"
#include "gem/i915_gem_create.h"
#include "gem/i915_gem_dmabuf.h"
#include "gem/i915_gem_ioctls.h"
#include "gem/i915_gem_mman.h"
#include "gem/i915_gem_pm.h"
#include "gt/intel_gt.h"
#include "gt/intel_gt_pm.h"
#include "gt/intel_gt_print.h"
#include "gt/intel_rc6.h"
#include "pxp/intel_pxp.h"
#include "pxp/intel_pxp_debugfs.h"
#include "pxp/intel_pxp_pm.h"
#include "soc/intel_dram.h"
#include "soc/intel_gmch.h"
#include "i915_debugfs.h"
#include "i915_driver.h"
#include "i915_drm_client.h"
#include "i915_drv.h"
#include "i915_file_private.h"
#include "i915_getparam.h"
#include "i915_hwmon.h"
#include "i915_ioc32.h"
#include "i915_ioctl.h"
#include "i915_irq.h"
#include "i915_memcpy.h"
#include "i915_perf.h"
#include "i915_query.h"
#include "i915_suspend.h"
#include "i915_switcheroo.h"
#include "i915_sysfs.h"
#include "i915_utils.h"
#include "i915_vgpu.h"
#include "intel_clock_gating.h"
#include "intel_gvt.h"
#include "intel_memory_region.h"
#include "intel_pci_config.h"
#include "intel_pcode.h"
#include "intel_region_ttm.h"
#include "vlv_suspend.h"
static const struct drm_driver i915_drm_driver;
static int i915_workqueues_init(struct drm_i915_private *dev_priv)
{ … }
static void i915_workqueues_cleanup(struct drm_i915_private *dev_priv)
{ … }
static void intel_detect_preproduction_hw(struct drm_i915_private *dev_priv)
{ … }
static void sanitize_gpu(struct drm_i915_private *i915)
{ … }
static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
{ … }
static void i915_driver_late_release(struct drm_i915_private *dev_priv)
{ … }
static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
{ … }
static void i915_driver_mmio_release(struct drm_i915_private *dev_priv)
{ … }
static int i915_set_dma_info(struct drm_i915_private *i915)
{ … }
static int i915_pcode_init(struct drm_i915_private *i915)
{ … }
static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
{ … }
static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
{ … }
static void i915_driver_register(struct drm_i915_private *dev_priv)
{ … }
static void i915_driver_unregister(struct drm_i915_private *dev_priv)
{ … }
void
i915_print_iommu_status(struct drm_i915_private *i915, struct drm_printer *p)
{ … }
static void i915_welcome_messages(struct drm_i915_private *dev_priv)
{ … }
static struct drm_i915_private *
i915_driver_create(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
void i915_driver_remove(struct drm_i915_private *i915)
{ … }
static void i915_driver_release(struct drm_device *dev)
{ … }
static int i915_driver_open(struct drm_device *dev, struct drm_file *file)
{ … }
static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
{ … }
void i915_driver_shutdown(struct drm_i915_private *i915)
{ … }
static bool suspend_to_idle(struct drm_i915_private *dev_priv)
{ … }
static void i915_drm_complete(struct drm_device *dev)
{ … }
static int i915_drm_prepare(struct drm_device *dev)
{ … }
static int i915_drm_suspend(struct drm_device *dev)
{ … }
static int i915_drm_suspend_late(struct drm_device *dev, bool hibernation)
{ … }
int i915_driver_suspend_switcheroo(struct drm_i915_private *i915,
pm_message_t state)
{ … }
static int i915_drm_resume(struct drm_device *dev)
{ … }
static int i915_drm_resume_early(struct drm_device *dev)
{ … }
int i915_driver_resume_switcheroo(struct drm_i915_private *i915)
{ … }
static int i915_pm_prepare(struct device *kdev)
{ … }
static int i915_pm_suspend(struct device *kdev)
{ … }
static int i915_pm_suspend_late(struct device *kdev)
{ … }
static int i915_pm_poweroff_late(struct device *kdev)
{ … }
static int i915_pm_resume_early(struct device *kdev)
{ … }
static int i915_pm_resume(struct device *kdev)
{ … }
static void i915_pm_complete(struct device *kdev)
{ … }
static int i915_pm_freeze(struct device *kdev)
{ … }
static int i915_pm_freeze_late(struct device *kdev)
{ … }
static int i915_pm_thaw_early(struct device *kdev)
{ … }
static int i915_pm_thaw(struct device *kdev)
{ … }
static int i915_pm_restore_early(struct device *kdev)
{ … }
static int i915_pm_restore(struct device *kdev)
{ … }
static int intel_runtime_suspend(struct device *kdev)
{ … }
static int intel_runtime_resume(struct device *kdev)
{ … }
const struct dev_pm_ops i915_pm_ops = …;
static const struct file_operations i915_driver_fops = …;
static int
i915_gem_reject_pin_ioctl(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static const struct drm_ioctl_desc i915_ioctls[] = …;
#define DRIVER_MAJOR …
#define DRIVER_MINOR …
#define DRIVER_PATCHLEVEL …
static const struct drm_driver i915_drm_driver = …;