diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index bc4a088f9023..0180df640472 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -362,18 +362,24 @@ static void __init intel_graphics_stolen(int num, int slot, int func) PCI_SUBSYSTEM_VENDOR_ID); subdevice = read_pci_config_16(num, slot, func, PCI_SUBSYSTEM_ID); + printk("stolen checking for device 0x%04x\n"); + for (i = 0; i < ARRAY_SIZE(intel_stolen_ids); i++) { if (intel_stolen_ids[i].device == device) { + stolen_size_fn stolen_size = (stolen_size_fn)intel_stolen_ids[i].driver_data; size = stolen_size(num, slot, func); start = intel_stolen_base(num, slot, func); + printk("match on device 0x%04x, start 0x%08x, size 0x%08zx\n", + device, start, size); if (size && start) { /* Mark this space as reserved */ e820_add_region(start, size, E820_RESERVED); sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map); + printk("successfully reserved\n"); } return; } diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c index d58b4e287e32..0601bde058d5 100644 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c @@ -91,7 +91,7 @@ static unsigned long i915_stolen_to_physical(struct drm_device *dev) * reservation starting from 1 instead of 0. */ r = devm_request_mem_region(dev->dev, base + 1, - dev_priv->gtt.stolen_size - 1, + dev_priv->gtt.stolen_size - 2, "Graphics Stolen Memory"); if (r == NULL) { DRM_ERROR("conflict detected with stolen region: [0x%08x - 0x%08x]\n",