mirror of
https://github.com/torvalds/linux.git
synced 2024-12-17 08:31:39 +00:00
0ad35fed61
This patch introduces the very basic framework of GVT-g device model, includes basic prototypes, definitions, initialization. v12: - Call intel_gvt_init() in driver early initialization stage. (Chris) v8: - Remove the GVT idr and mutex in intel_gvt_host. (Joonas) v7: - Refine the URL link in Kconfig. (Joonas) - Refine the introduction of GVT-g host support in Kconfig. (Joonas) - Remove the macro GVT_ALIGN(), use round_down() instead. (Joonas) - Make "struct intel_gvt" a data member in struct drm_i915_private.(Joonas) - Remove {alloc, free}_gvt_device() - Rename intel_gvt_{create, destroy}_gvt_device() - Expost intel_gvt_init_host() - Remove the dummy "struct intel_gvt" declaration in intel_gvt.h (Joonas) v6: - Refine introduction in Kconfig. (Chris) - The exposed API functions will take struct intel_gvt * instead of void *. (Chris/Tvrtko) - Remove most memebers of strct intel_gvt_device_info. Will add them in the device model patches.(Chris) - Remove gvt_info() and gvt_err() in debug.h. (Chris) - Move GVT kernel parameter into i915_params. (Chris) - Remove include/drm/i915_gvt.h, as GVT-g will be built within i915. - Remove the redundant struct i915_gvt *, as the functions in i915 will directly take struct intel_gvt *. - Add more comments for reviewer. v5: Take Tvrtko's comments: - Fix the misspelled words in Kconfig - Let functions take drm_i915_private * instead of struct drm_device * - Remove redundant prints/local varible initialization v3: Take Joonas' comments: - Change file name i915_gvt.* to intel_gvt.* - Move GVT kernel parameter into intel_gvt.c - Remove redundant debug macros - Change error handling style - Add introductions for some stub functions - Introduce drm/i915_gvt.h. Take Kevin's comments: - Move GVT-g host/guest check into intel_vgt_balloon in i915_gem_gtt.c v2: - Introduce i915_gvt.c. It's necessary to introduce the stubs between i915 driver and GVT-g host, as GVT-g components is configurable in kernel config. When disabled, the stubs here do nothing. Take Joonas' comments: - Replace boolean return value with int. - Replace customized info/warn/debug macros with DRM macros. - Document all non-static functions like i915. - Remove empty and unused functions. - Replace magic number with marcos. - Set GVT-g in kernel config to "n" by default. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1466078825-6662-5-git-send-email-zhi.a.wang@intel.com Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
87 lines
3.0 KiB
Plaintext
87 lines
3.0 KiB
Plaintext
config DRM_I915
|
|
tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
|
|
depends on DRM
|
|
depends on X86 && PCI
|
|
select INTEL_GTT
|
|
select INTERVAL_TREE
|
|
# we need shmfs for the swappable backing store, and in particular
|
|
# the shmem_readpage() which depends upon tmpfs
|
|
select SHMEM
|
|
select TMPFS
|
|
select DRM_KMS_HELPER
|
|
select DRM_PANEL
|
|
select DRM_MIPI_DSI
|
|
# i915 depends on ACPI_VIDEO when ACPI is enabled
|
|
# but for select to work, need to select ACPI_VIDEO's dependencies, ick
|
|
select BACKLIGHT_LCD_SUPPORT if ACPI
|
|
select BACKLIGHT_CLASS_DEVICE if ACPI
|
|
select INPUT if ACPI
|
|
select ACPI_VIDEO if ACPI
|
|
select ACPI_BUTTON if ACPI
|
|
help
|
|
Choose this option if you have a system that has "Intel Graphics
|
|
Media Accelerator" or "HD Graphics" integrated graphics,
|
|
including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G,
|
|
G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3,
|
|
Core i5, Core i7 as well as Atom CPUs with integrated graphics.
|
|
If M is selected, the module will be called i915. AGP support
|
|
is required for this driver to work. This driver is used by
|
|
the Intel driver in X.org 6.8 and XFree86 4.4 and above. It
|
|
replaces the older i830 module that supported a subset of the
|
|
hardware in older X.org releases.
|
|
|
|
Note that the older i810/i815 chipsets require the use of the
|
|
i810 driver instead, and the Atom z5xx series has an entirely
|
|
different implementation.
|
|
|
|
config DRM_I915_PRELIMINARY_HW_SUPPORT
|
|
bool "Enable preliminary support for prerelease Intel hardware by default"
|
|
depends on DRM_I915
|
|
default n
|
|
help
|
|
Choose this option if you have prerelease Intel hardware and want the
|
|
i915 driver to support it by default. You can enable such support at
|
|
runtime with the module option i915.preliminary_hw_support=1; this
|
|
option changes the default for that module option.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_I915_USERPTR
|
|
bool "Always enable userptr support"
|
|
depends on DRM_I915
|
|
select MMU_NOTIFIER
|
|
default y
|
|
help
|
|
This option selects CONFIG_MMU_NOTIFIER if it isn't already
|
|
selected to enabled full userptr support.
|
|
|
|
If in doubt, say "Y".
|
|
|
|
config DRM_I915_GVT
|
|
bool "Enable Intel GVT-g graphics virtualization host support"
|
|
depends on DRM_I915
|
|
default n
|
|
help
|
|
Choose this option if you want to enable Intel GVT-g graphics
|
|
virtualization technology host support with integrated graphics.
|
|
With GVT-g, it's possible to have one integrated graphics
|
|
device shared by multiple VMs under different hypervisors.
|
|
|
|
Note that at least one hypervisor like Xen or KVM is required for
|
|
this driver to work, and it only supports newer device from
|
|
Broadwell+. For further information and setup guide, you can
|
|
visit: http://01.org/igvt-g.
|
|
|
|
Now it's just a stub to support the modifications of i915 for
|
|
GVT device model. It requires at least one MPT modules for Xen/KVM
|
|
and other components of GVT device model to work. Use it under
|
|
you own risk.
|
|
|
|
If in doubt, say "N".
|
|
|
|
menu "drm/i915 Debugging"
|
|
depends on DRM_I915
|
|
depends on EXPERT
|
|
source drivers/gpu/drm/i915/Kconfig.debug
|
|
endmenu
|