Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: vmwgfx: Use kcalloc instead of kzalloc to allocate array drm/i915: fix infinite recursion on unbind due to ilk vt-d w/a drm/radeon/kms: fix return type for radeon_encoder_get_dp_bridge_encoder_id
This commit is contained in:
commit
10ec5e6c0c
|
@ -2026,8 +2026,13 @@ i915_wait_request(struct intel_ring_buffer *ring,
|
||||||
* to handle this, the waiter on a request often wants an associated
|
* to handle this, the waiter on a request often wants an associated
|
||||||
* buffer to have made it to the inactive list, and we would need
|
* buffer to have made it to the inactive list, and we would need
|
||||||
* a separate wait queue to handle that.
|
* a separate wait queue to handle that.
|
||||||
|
*
|
||||||
|
* To avoid a recursion with the ilk VT-d workaround (that calls
|
||||||
|
* gpu_idle when unbinding objects with interruptible==false) don't
|
||||||
|
* retire requests in that case (because it might call unbind if the
|
||||||
|
* active list holds the last reference to the object).
|
||||||
*/
|
*/
|
||||||
if (ret == 0)
|
if (ret == 0 && dev_priv->mm.interruptible)
|
||||||
i915_gem_retire_requests_ring(ring);
|
i915_gem_retire_requests_ring(ring);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -233,13 +233,12 @@ u16 radeon_encoder_get_dp_bridge_encoder_id(struct drm_encoder *encoder)
|
||||||
switch (radeon_encoder->encoder_id) {
|
switch (radeon_encoder->encoder_id) {
|
||||||
case ENCODER_OBJECT_ID_TRAVIS:
|
case ENCODER_OBJECT_ID_TRAVIS:
|
||||||
case ENCODER_OBJECT_ID_NUTMEG:
|
case ENCODER_OBJECT_ID_NUTMEG:
|
||||||
return true;
|
return radeon_encoder->encoder_id;
|
||||||
default:
|
default:
|
||||||
return false;
|
return ENCODER_OBJECT_ID_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return ENCODER_OBJECT_ID_NONE;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void radeon_panel_mode_fixup(struct drm_encoder *encoder,
|
void radeon_panel_mode_fixup(struct drm_encoder *encoder,
|
||||||
|
|
|
@ -140,7 +140,7 @@ int vmw_present_ioctl(struct drm_device *dev, void *data,
|
||||||
goto out_clips;
|
goto out_clips;
|
||||||
}
|
}
|
||||||
|
|
||||||
clips = kzalloc(num_clips * sizeof(*clips), GFP_KERNEL);
|
clips = kcalloc(num_clips, sizeof(*clips), GFP_KERNEL);
|
||||||
if (clips == NULL) {
|
if (clips == NULL) {
|
||||||
DRM_ERROR("Failed to allocate clip rect list.\n");
|
DRM_ERROR("Failed to allocate clip rect list.\n");
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
@ -232,7 +232,7 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void *data,
|
||||||
goto out_clips;
|
goto out_clips;
|
||||||
}
|
}
|
||||||
|
|
||||||
clips = kzalloc(num_clips * sizeof(*clips), GFP_KERNEL);
|
clips = kcalloc(num_clips, sizeof(*clips), GFP_KERNEL);
|
||||||
if (clips == NULL) {
|
if (clips == NULL) {
|
||||||
DRM_ERROR("Failed to allocate clip rect list.\n");
|
DRM_ERROR("Failed to allocate clip rect list.\n");
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue