mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-02 10:43:57 +08:00
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create() drm/radeon/kms: bail on BTC parts if MC ucode is missing
This commit is contained in:
commit
4962516b23
@ -3276,6 +3276,18 @@ int evergreen_init(struct radeon_device *rdev)
|
|||||||
rdev->accel_working = false;
|
rdev->accel_working = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Don't start up if the MC ucode is missing on BTC parts.
|
||||||
|
* The default clocks and voltages before the MC ucode
|
||||||
|
* is loaded are not suffient for advanced operations.
|
||||||
|
*/
|
||||||
|
if (ASIC_IS_DCE5(rdev)) {
|
||||||
|
if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
|
||||||
|
DRM_ERROR("radeon: MC ucode required for NI+.\n");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1093,7 +1093,6 @@ static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev,
|
|||||||
struct vmw_surface *surface = NULL;
|
struct vmw_surface *surface = NULL;
|
||||||
struct vmw_dma_buffer *bo = NULL;
|
struct vmw_dma_buffer *bo = NULL;
|
||||||
struct ttm_base_object *user_obj;
|
struct ttm_base_object *user_obj;
|
||||||
u64 required_size;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1102,8 +1101,9 @@ static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev,
|
|||||||
* requested framebuffer.
|
* requested framebuffer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
required_size = mode_cmd->pitch * mode_cmd->height;
|
if (!vmw_kms_validate_mode_vram(dev_priv,
|
||||||
if (unlikely(required_size > (u64) dev_priv->vram_size)) {
|
mode_cmd->pitch,
|
||||||
|
mode_cmd->height)) {
|
||||||
DRM_ERROR("VRAM size is too small for requested mode.\n");
|
DRM_ERROR("VRAM size is too small for requested mode.\n");
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user