Lines Matching refs:dev_priv
60 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_overlay() local
61 return dev_priv ? dev_priv->overlay_priv : NULL; in vmw_overlay()
96 static int vmw_overlay_send_put(struct vmw_private *dev_priv, in vmw_overlay_send_put() argument
103 bool have_so = (dev_priv->active_display_unit == vmw_du_screen_object); in vmw_overlay_send_put()
127 cmds = vmw_fifo_reserve(dev_priv, fifo_size); in vmw_overlay_send_put()
174 vmw_fifo_commit(dev_priv, fifo_size); in vmw_overlay_send_put()
185 static int vmw_overlay_send_stop(struct vmw_private *dev_priv, in vmw_overlay_send_stop() argument
197 cmds = vmw_fifo_reserve(dev_priv, sizeof(*cmds)); in vmw_overlay_send_stop()
201 ret = vmw_fallback_wait(dev_priv, false, true, 0, in vmw_overlay_send_stop()
216 vmw_fifo_commit(dev_priv, sizeof(*cmds)); in vmw_overlay_send_stop()
227 static int vmw_overlay_move_buffer(struct vmw_private *dev_priv, in vmw_overlay_move_buffer() argument
232 return vmw_dmabuf_unpin(dev_priv, buf, inter); in vmw_overlay_move_buffer()
234 if (dev_priv->active_display_unit == vmw_du_legacy) in vmw_overlay_move_buffer()
235 return vmw_dmabuf_pin_in_vram(dev_priv, buf, inter); in vmw_overlay_move_buffer()
237 return vmw_dmabuf_pin_in_vram_or_gmr(dev_priv, buf, inter); in vmw_overlay_move_buffer()
252 static int vmw_overlay_stop(struct vmw_private *dev_priv, in vmw_overlay_stop() argument
256 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_stop()
266 ret = vmw_overlay_send_stop(dev_priv, stream_id, in vmw_overlay_stop()
272 ret = vmw_overlay_move_buffer(dev_priv, stream->buf, false, in vmw_overlay_stop()
299 static int vmw_overlay_update_stream(struct vmw_private *dev_priv, in vmw_overlay_update_stream() argument
304 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_update_stream()
315 ret = vmw_overlay_stop(dev_priv, arg->stream_id, in vmw_overlay_update_stream()
323 ret = vmw_overlay_send_put(dev_priv, buf, arg, interruptible); in vmw_overlay_update_stream()
335 ret = vmw_overlay_move_buffer(dev_priv, buf, true, interruptible); in vmw_overlay_update_stream()
339 ret = vmw_overlay_send_put(dev_priv, buf, arg, interruptible); in vmw_overlay_update_stream()
344 BUG_ON(vmw_overlay_move_buffer(dev_priv, buf, false, false) in vmw_overlay_update_stream()
365 int vmw_overlay_stop_all(struct vmw_private *dev_priv) in vmw_overlay_stop_all() argument
367 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_stop_all()
380 ret = vmw_overlay_stop(dev_priv, i, false, false); in vmw_overlay_stop_all()
396 int vmw_overlay_resume_all(struct vmw_private *dev_priv) in vmw_overlay_resume_all() argument
398 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_resume_all()
411 ret = vmw_overlay_update_stream(dev_priv, stream->buf, in vmw_overlay_resume_all()
430 int vmw_overlay_pause_all(struct vmw_private *dev_priv) in vmw_overlay_pause_all() argument
432 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_pause_all()
444 ret = vmw_overlay_stop(dev_priv, i, true, false); in vmw_overlay_pause_all()
454 static bool vmw_overlay_available(const struct vmw_private *dev_priv) in vmw_overlay_available() argument
456 return (dev_priv->overlay_priv != NULL && in vmw_overlay_available()
457 ((dev_priv->fifo.capabilities & VMW_OVERLAY_CAP_MASK) == in vmw_overlay_available()
465 struct vmw_private *dev_priv = vmw_priv(dev); in vmw_overlay_ioctl() local
466 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_ioctl()
473 if (!vmw_overlay_available(dev_priv)) in vmw_overlay_ioctl()
476 ret = vmw_user_stream_lookup(dev_priv, tfile, &arg->stream_id, &res); in vmw_overlay_ioctl()
483 ret = vmw_overlay_stop(dev_priv, arg->stream_id, false, true); in vmw_overlay_ioctl()
491 ret = vmw_overlay_update_stream(dev_priv, buf, arg, true); in vmw_overlay_ioctl()
502 int vmw_overlay_num_overlays(struct vmw_private *dev_priv) in vmw_overlay_num_overlays() argument
504 if (!vmw_overlay_available(dev_priv)) in vmw_overlay_num_overlays()
510 int vmw_overlay_num_free_overlays(struct vmw_private *dev_priv) in vmw_overlay_num_free_overlays() argument
512 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_num_free_overlays()
515 if (!vmw_overlay_available(dev_priv)) in vmw_overlay_num_free_overlays()
529 int vmw_overlay_claim(struct vmw_private *dev_priv, uint32_t *out) in vmw_overlay_claim() argument
531 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_claim()
554 int vmw_overlay_unref(struct vmw_private *dev_priv, uint32_t stream_id) in vmw_overlay_unref() argument
556 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_unref()
566 vmw_overlay_stop(dev_priv, stream_id, false, false); in vmw_overlay_unref()
573 int vmw_overlay_init(struct vmw_private *dev_priv) in vmw_overlay_init() argument
578 if (dev_priv->overlay_priv) in vmw_overlay_init()
592 dev_priv->overlay_priv = overlay; in vmw_overlay_init()
597 int vmw_overlay_close(struct vmw_private *dev_priv) in vmw_overlay_close() argument
599 struct vmw_overlay *overlay = dev_priv->overlay_priv; in vmw_overlay_close()
609 vmw_overlay_stop(dev_priv, i, false, false); in vmw_overlay_close()
615 dev_priv->overlay_priv = NULL; in vmw_overlay_close()