mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Listen for PMIC bus access notifications and get FORCEWAKE_ALL while the bus is accessed to avoid needing to do any forcewakes, which need PMIC bus access, while the PMIC bus is busy: This fixes errors like these showing up in dmesg, usually followed by a gfx or system freeze: [drm:fw_domains_get [i915]] *ERROR* render: timed out waiting for forcewake ack request. [drm:fw_domains_get [i915]] *MEDIA* render: timed out waiting for forcewake ack request. i2c_designware 808622C1:06: punit semaphore timed out, resetting i2c_designware 808622C1:06: PUNIT SEM: 2 i2c_designware 808622C1:06: couldn't acquire bus ownership Downside of this approach is that it causes wakeups whenever the PMIC bus is accessed. Unfortunately we cannot simply wait for the PMIC bus to go idle when we hit a race, as forcewakes may be done from interrupt handlers where we cannot sleep to wait for the i2c PMIC bus access to finish. Note that the notifications and thus the wakeups will only happen on baytrail / cherrytrail devices using PMICs with a shared i2c bus for P-Unit and host PMIC access (i2c busses with a _SEM method in their APCI node), e.g. an axp288 PMIC. I plan to write some patches for drivers accessing the PMIC bus to limit their bus accesses to a bare minimum (e.g. cache registers, do not update battery level more often then 4 times a minute), to limit the amount of wakeups. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=155241 Signed-off-by: Hans de Goede <hdegoede@redhat.com> Tested-by: tagorereddy <tagore.chandan@gmail.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> [danvet: Wiggle in conflicts.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
130 lines
4.2 KiB
Text
130 lines
4.2 KiB
Text
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
|
|
select RELAY
|
|
# 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
|
|
select IOSF_MBI
|
|
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.
|
|
|
|
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.
|
|
|
|
If "M" is selected, the module will be called i915.
|
|
|
|
config DRM_I915_ALPHA_SUPPORT
|
|
bool "Enable alpha quality support for new Intel hardware by default"
|
|
depends on DRM_I915
|
|
default n
|
|
help
|
|
Choose this option if you have new Intel hardware and want to enable
|
|
the alpha quality i915 driver support for the hardware in this kernel
|
|
version. You can also enable the support at runtime using the module
|
|
parameter i915.alpha_support=1; this option changes the default for
|
|
that module parameter.
|
|
|
|
It is recommended to upgrade to a kernel version with proper support
|
|
as soon as it is available. Generally fixes for platforms with alpha
|
|
support are not backported to older kernels.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_I915_CAPTURE_ERROR
|
|
bool "Enable capturing GPU state following a hang"
|
|
depends on DRM_I915
|
|
default y
|
|
help
|
|
This option enables capturing the GPU state when a hang is detected.
|
|
This information is vital for triaging hangs and assists in debugging.
|
|
Please report any hang to
|
|
https://bugs.freedesktop.org/enter_bug.cgi?product=DRI
|
|
for triaging.
|
|
|
|
If in doubt, say "Y".
|
|
|
|
config DRM_I915_COMPRESS_ERROR
|
|
bool "Compress GPU error state"
|
|
depends on DRM_I915_CAPTURE_ERROR
|
|
select ZLIB_DEFLATE
|
|
default y
|
|
help
|
|
This option selects ZLIB_DEFLATE if it isn't already
|
|
selected and causes any error state captured upon a GPU hang
|
|
to be compressed using zlib.
|
|
|
|
If in doubt, say "Y".
|
|
|
|
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
|
|
depends on 64BIT
|
|
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".
|
|
|
|
config DRM_I915_GVT_KVMGT
|
|
tristate "Enable KVM/VFIO support for Intel GVT-g"
|
|
depends on DRM_I915_GVT
|
|
depends on KVM
|
|
depends on VFIO_MDEV && VFIO_MDEV_DEVICE
|
|
default n
|
|
help
|
|
Choose this option if you want to enable KVMGT support for
|
|
Intel GVT-g.
|
|
|
|
menu "drm/i915 Debugging"
|
|
depends on DRM_I915
|
|
depends on EXPERT
|
|
source drivers/gpu/drm/i915/Kconfig.debug
|
|
endmenu
|