ELK_STOLEN_RESERVED);
        dma_addr_t stolen_top = dev_priv->mm.stolen_base + ggtt->stolen_size;
 
+       if ((reg_val & G4X_STOLEN_RESERVED_ENABLE) == 0) {
+               *base = 0;
+               *size = 0;
+               return;
+       }
+
        *base = (reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK) << 16;
 
        WARN_ON((reg_val & G4X_STOLEN_RESERVED_ADDR1_MASK) < *base);
 {
        uint32_t reg_val = I915_READ(GEN6_STOLEN_RESERVED);
 
+       if ((reg_val & GEN6_STOLEN_RESERVED_ENABLE) == 0) {
+               *base = 0;
+               *size = 0;
+               return;
+       }
+
        *base = reg_val & GEN6_STOLEN_RESERVED_ADDR_MASK;
 
        switch (reg_val & GEN6_STOLEN_RESERVED_SIZE_MASK) {
 {
        uint32_t reg_val = I915_READ(GEN6_STOLEN_RESERVED);
 
+       if ((reg_val & GEN6_STOLEN_RESERVED_ENABLE) == 0) {
+               *base = 0;
+               *size = 0;
+               return;
+       }
+
        *base = reg_val & GEN7_STOLEN_RESERVED_ADDR_MASK;
 
        switch (reg_val & GEN7_STOLEN_RESERVED_SIZE_MASK) {
 {
        uint32_t reg_val = I915_READ(GEN6_STOLEN_RESERVED);
 
+       if ((reg_val & GEN6_STOLEN_RESERVED_ENABLE) == 0) {
+               *base = 0;
+               *size = 0;
+               return;
+       }
+
        *base = reg_val & GEN6_STOLEN_RESERVED_ADDR_MASK;
 
        switch (reg_val & GEN8_STOLEN_RESERVED_SIZE_MASK) {
        uint32_t reg_val = I915_READ(GEN6_STOLEN_RESERVED);
        dma_addr_t stolen_top;
 
+       if ((reg_val & GEN6_STOLEN_RESERVED_ENABLE) == 0) {
+               *base = 0;
+               *size = 0;
+               return;
+       }
+
        stolen_top = dev_priv->mm.stolen_base + ggtt->stolen_size;
 
        *base = reg_val & GEN6_STOLEN_RESERVED_ADDR_MASK;
 
 #define GEN8_STOLEN_RESERVED_2M                (1 << 7)
 #define GEN8_STOLEN_RESERVED_4M                (2 << 7)
 #define GEN8_STOLEN_RESERVED_8M                (3 << 7)
+#define GEN6_STOLEN_RESERVED_ENABLE    (1 << 0)
 
 /* VGA stuff */
 
 #define ELK_STOLEN_RESERVED            _MMIO(MCHBAR_MIRROR_BASE + 0x48)
 #define G4X_STOLEN_RESERVED_ADDR1_MASK (0xFFFF << 16)
 #define G4X_STOLEN_RESERVED_ADDR2_MASK (0xFFF << 4)
+#define G4X_STOLEN_RESERVED_ENABLE     (1 << 0)
 
 /* Memory controller frequency in MCHBAR for Haswell (possible SNB+) */
 #define DCLK _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5e04)