mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-17 11:25:04 +08:00
drm/vmwgfx: Don't clear mode::type anymore
With kernel commit "drm/modes: Kill off the oddball DRM_MODE_TYPE_CRTC_C vs. DRM_MODE_TYPE_BUILTIN handling", no need to clear mode::type for user-space bug. Signed-off-by: Deepak Rawat <drawat@vmware.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
This commit is contained in:
parent
2f5544ff03
commit
b4fa61ba05
@ -2812,28 +2812,6 @@ vmw_kms_create_implicit_placement_property(struct vmw_private *dev_priv,
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* vmw_kms_set_config - Wrapper around drm_atomic_helper_set_config
|
||||
*
|
||||
* @set: The configuration to set.
|
||||
*
|
||||
* The vmwgfx Xorg driver doesn't assign the mode::type member, which
|
||||
* when drm_mode_set_crtcinfo is called as part of the configuration setting
|
||||
* causes it to return incorrect crtc dimensions causing severe problems in
|
||||
* the vmwgfx modesetting. So explicitly clear that member before calling
|
||||
* into drm_atomic_helper_set_config.
|
||||
*/
|
||||
int vmw_kms_set_config(struct drm_mode_set *set,
|
||||
struct drm_modeset_acquire_ctx *ctx)
|
||||
{
|
||||
if (set && set->mode)
|
||||
set->mode->type = 0;
|
||||
|
||||
return drm_atomic_helper_set_config(set, ctx);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* vmw_kms_suspend - Save modesetting state and turn modesetting off.
|
||||
*
|
||||
|
@ -572,9 +572,6 @@ int vmw_kms_stdu_dma(struct vmw_private *dev_priv,
|
||||
bool interruptible,
|
||||
struct drm_crtc *crtc);
|
||||
|
||||
int vmw_kms_set_config(struct drm_mode_set *set,
|
||||
struct drm_modeset_acquire_ctx *ctx);
|
||||
|
||||
int vmw_du_helper_plane_update(struct vmw_du_update_plane *update);
|
||||
|
||||
/**
|
||||
|
@ -233,7 +233,7 @@ static const struct drm_crtc_funcs vmw_legacy_crtc_funcs = {
|
||||
.reset = vmw_du_crtc_reset,
|
||||
.atomic_duplicate_state = vmw_du_crtc_duplicate_state,
|
||||
.atomic_destroy_state = vmw_du_crtc_destroy_state,
|
||||
.set_config = vmw_kms_set_config,
|
||||
.set_config = drm_atomic_helper_set_config,
|
||||
};
|
||||
|
||||
|
||||
|
@ -353,7 +353,7 @@ static const struct drm_crtc_funcs vmw_screen_object_crtc_funcs = {
|
||||
.reset = vmw_du_crtc_reset,
|
||||
.atomic_duplicate_state = vmw_du_crtc_duplicate_state,
|
||||
.atomic_destroy_state = vmw_du_crtc_destroy_state,
|
||||
.set_config = vmw_kms_set_config,
|
||||
.set_config = drm_atomic_helper_set_config,
|
||||
.page_flip = vmw_sou_crtc_page_flip,
|
||||
};
|
||||
|
||||
|
@ -990,7 +990,7 @@ static const struct drm_crtc_funcs vmw_stdu_crtc_funcs = {
|
||||
.reset = vmw_du_crtc_reset,
|
||||
.atomic_duplicate_state = vmw_du_crtc_duplicate_state,
|
||||
.atomic_destroy_state = vmw_du_crtc_destroy_state,
|
||||
.set_config = vmw_kms_set_config,
|
||||
.set_config = drm_atomic_helper_set_config,
|
||||
.page_flip = vmw_stdu_crtc_page_flip,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user