vmwgfx: Add vblank stubs
This fixes kernel panics when running the vbltest from the drm repo. We can't just skip initializing the vblank system since it sets up certain state for us, see: "vmwgfx: Enable use of the vblank system." Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
74b5ea3076
commit
1c482ab359
|
@ -1069,6 +1069,8 @@ static struct drm_driver driver = {
|
||||||
.irq_uninstall = vmw_irq_uninstall,
|
.irq_uninstall = vmw_irq_uninstall,
|
||||||
.irq_handler = vmw_irq_handler,
|
.irq_handler = vmw_irq_handler,
|
||||||
.get_vblank_counter = vmw_get_vblank_counter,
|
.get_vblank_counter = vmw_get_vblank_counter,
|
||||||
|
.enable_vblank = vmw_enable_vblank,
|
||||||
|
.disable_vblank = vmw_disable_vblank,
|
||||||
.reclaim_buffers_locked = NULL,
|
.reclaim_buffers_locked = NULL,
|
||||||
.ioctls = vmw_ioctls,
|
.ioctls = vmw_ioctls,
|
||||||
.num_ioctls = DRM_ARRAY_SIZE(vmw_ioctls),
|
.num_ioctls = DRM_ARRAY_SIZE(vmw_ioctls),
|
||||||
|
|
|
@ -618,6 +618,8 @@ bool vmw_kms_validate_mode_vram(struct vmw_private *dev_priv,
|
||||||
uint32_t pitch,
|
uint32_t pitch,
|
||||||
uint32_t height);
|
uint32_t height);
|
||||||
u32 vmw_get_vblank_counter(struct drm_device *dev, int crtc);
|
u32 vmw_get_vblank_counter(struct drm_device *dev, int crtc);
|
||||||
|
int vmw_enable_vblank(struct drm_device *dev, int crtc);
|
||||||
|
void vmw_disable_vblank(struct drm_device *dev, int crtc);
|
||||||
int vmw_kms_present(struct vmw_private *dev_priv,
|
int vmw_kms_present(struct vmw_private *dev_priv,
|
||||||
struct drm_file *file_priv,
|
struct drm_file *file_priv,
|
||||||
struct vmw_framebuffer *vfb,
|
struct vmw_framebuffer *vfb,
|
||||||
|
|
|
@ -1459,11 +1459,30 @@ bool vmw_kms_validate_mode_vram(struct vmw_private *dev_priv,
|
||||||
return ((u64) pitch * (u64) height) < (u64) dev_priv->vram_size;
|
return ((u64) pitch * (u64) height) < (u64) dev_priv->vram_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called by DRM code called with vbl_lock held.
|
||||||
|
*/
|
||||||
u32 vmw_get_vblank_counter(struct drm_device *dev, int crtc)
|
u32 vmw_get_vblank_counter(struct drm_device *dev, int crtc)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called by DRM code called with vbl_lock held.
|
||||||
|
*/
|
||||||
|
int vmw_enable_vblank(struct drm_device *dev, int crtc)
|
||||||
|
{
|
||||||
|
return -ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called by DRM code called with vbl_lock held.
|
||||||
|
*/
|
||||||
|
void vmw_disable_vblank(struct drm_device *dev, int crtc)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Small shared kms functions.
|
* Small shared kms functions.
|
||||||
|
|
Loading…
Reference in New Issue