Commit 928352e9eebabb814d0c38af1772af55677faf62
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie: "Just two radeon and two intel fixes: endian and regression fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: fix endian swapping in vbios fetch for tdp table drm/radeon: disable native backlight control on pre-r6xx asics (v2) drm/i915: Kick fbdev before vgacon drm/i915: drop WaSetupGtModeTdRowDispatch:snb
Showing 4 changed files Side-by-side Diff
drivers/gpu/drm/i915/i915_dma.c
... | ... | @@ -1670,15 +1670,17 @@ |
1670 | 1670 | goto out_regs; |
1671 | 1671 | |
1672 | 1672 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
1673 | - ret = i915_kick_out_vgacon(dev_priv); | |
1673 | + /* WARNING: Apparently we must kick fbdev drivers before vgacon, | |
1674 | + * otherwise the vga fbdev driver falls over. */ | |
1675 | + ret = i915_kick_out_firmware_fb(dev_priv); | |
1674 | 1676 | if (ret) { |
1675 | - DRM_ERROR("failed to remove conflicting VGA console\n"); | |
1677 | + DRM_ERROR("failed to remove conflicting framebuffer drivers\n"); | |
1676 | 1678 | goto out_gtt; |
1677 | 1679 | } |
1678 | 1680 | |
1679 | - ret = i915_kick_out_firmware_fb(dev_priv); | |
1681 | + ret = i915_kick_out_vgacon(dev_priv); | |
1680 | 1682 | if (ret) { |
1681 | - DRM_ERROR("failed to remove conflicting framebuffer drivers\n"); | |
1683 | + DRM_ERROR("failed to remove conflicting VGA console\n"); | |
1682 | 1684 | goto out_gtt; |
1683 | 1685 | } |
1684 | 1686 | } |
drivers/gpu/drm/i915/intel_pm.c
... | ... | @@ -5469,11 +5469,6 @@ |
5469 | 5469 | I915_WRITE(_3D_CHICKEN, |
5470 | 5470 | _MASKED_BIT_ENABLE(_3D_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB)); |
5471 | 5471 | |
5472 | - /* WaSetupGtModeTdRowDispatch:snb */ | |
5473 | - if (IS_SNB_GT1(dev)) | |
5474 | - I915_WRITE(GEN6_GT_MODE, | |
5475 | - _MASKED_BIT_ENABLE(GEN6_TD_FOUR_ROW_DISPATCH_DISABLE)); | |
5476 | - | |
5477 | 5472 | /* WaDisable_RenderCache_OperationalFlush:snb */ |
5478 | 5473 | I915_WRITE(CACHE_MODE_0, _MASKED_BIT_DISABLE(RC_OP_FLUSH_ENABLE)); |
5479 | 5474 |
drivers/gpu/drm/radeon/r600_dpm.c
... | ... | @@ -1256,7 +1256,7 @@ |
1256 | 1256 | (mode_info->atom_context->bios + data_offset + |
1257 | 1257 | le16_to_cpu(ext_hdr->usPowerTuneTableOffset)); |
1258 | 1258 | rdev->pm.dpm.dyn_state.cac_tdp_table->maximum_power_delivery_limit = |
1259 | - ppt->usMaximumPowerDeliveryLimit; | |
1259 | + le16_to_cpu(ppt->usMaximumPowerDeliveryLimit); | |
1260 | 1260 | pt = &ppt->power_tune_table; |
1261 | 1261 | } else { |
1262 | 1262 | ATOM_PPLIB_POWERTUNE_Table *ppt = (ATOM_PPLIB_POWERTUNE_Table *) |
drivers/gpu/drm/radeon/radeon_encoders.c
... | ... | @@ -179,6 +179,9 @@ |
179 | 179 | (rdev->pdev->subsystem_vendor == 0x1734) && |
180 | 180 | (rdev->pdev->subsystem_device == 0x1107)) |
181 | 181 | use_bl = false; |
182 | + /* disable native backlight control on older asics */ | |
183 | + else if (rdev->family < CHIP_R600) | |
184 | + use_bl = false; | |
182 | 185 | else |
183 | 186 | use_bl = true; |
184 | 187 | } |