Lines Matching full:plane
26 * New plane/sprite handling.
28 * The older chips had a separate interface for programming plane related
29 * registers; newer ones are much simpler and we can use the new DRM plane
69 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in chv_sprite_update_csc() local
70 struct intel_display *display = to_intel_display(plane->base.dev); in chv_sprite_update_csc()
72 enum plane_id plane_id = plane->id; in chv_sprite_update_csc()
141 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in vlv_sprite_update_clrc() local
142 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_update_clrc()
144 enum pipe pipe = plane->pipe; in vlv_sprite_update_clrc()
145 enum plane_id plane_id = plane->id; in vlv_sprite_update_clrc()
256 static unsigned int vlv_sprite_min_alignment(struct intel_plane *plane, in vlv_sprite_min_alignment() argument
359 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in vlv_sprite_update_gamma() local
360 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_update_gamma()
362 enum pipe pipe = plane->pipe; in vlv_sprite_update_gamma()
363 enum plane_id plane_id = plane->id; in vlv_sprite_update_gamma()
382 struct intel_plane *plane, in vlv_sprite_update_noarm() argument
386 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_update_noarm()
387 enum pipe pipe = plane->pipe; in vlv_sprite_update_noarm()
388 enum plane_id plane_id = plane->id; in vlv_sprite_update_noarm()
404 struct intel_plane *plane, in vlv_sprite_update_arm() argument
408 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_update_arm()
409 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in vlv_sprite_update_arm()
410 enum pipe pipe = plane->pipe; in vlv_sprite_update_arm()
411 enum plane_id plane_id = plane->id; in vlv_sprite_update_arm()
441 * The control register self-arms if the plane was previously in vlv_sprite_update_arm()
442 * disabled. Try to make the plane enable atomic by writing in vlv_sprite_update_arm()
455 struct intel_plane *plane, in vlv_sprite_disable_arm() argument
458 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_disable_arm()
459 enum pipe pipe = plane->pipe; in vlv_sprite_disable_arm()
460 enum plane_id plane_id = plane->id; in vlv_sprite_disable_arm()
467 vlv_sprite_get_hw_state(struct intel_plane *plane, in vlv_sprite_get_hw_state() argument
470 struct intel_display *display = to_intel_display(plane->base.dev); in vlv_sprite_get_hw_state()
471 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in vlv_sprite_get_hw_state()
473 enum plane_id plane_id = plane->id; in vlv_sprite_get_hw_state()
477 power_domain = POWER_DOMAIN_PIPE(plane->pipe); in vlv_sprite_get_hw_state()
482 ret = intel_de_read(display, SPCNTR(plane->pipe, plane_id)) & SP_ENABLE; in vlv_sprite_get_hw_state()
484 *pipe = plane->pipe; in vlv_sprite_get_hw_state()
665 to_i915(plane_state->uapi.plane->dev); in ivb_need_sprite_gamma()
676 to_i915(plane_state->uapi.plane->dev); in ivb_sprite_ctl()
773 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in ivb_sprite_update_gamma() local
774 struct intel_display *display = to_intel_display(plane->base.dev); in ivb_sprite_update_gamma()
775 enum pipe pipe = plane->pipe; in ivb_sprite_update_gamma()
802 struct intel_plane *plane, in ivb_sprite_update_noarm() argument
806 struct intel_display *display = to_intel_display(plane->base.dev); in ivb_sprite_update_noarm()
807 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in ivb_sprite_update_noarm()
808 enum pipe pipe = plane->pipe; in ivb_sprite_update_noarm()
834 struct intel_plane *plane, in ivb_sprite_update_arm() argument
838 struct intel_display *display = to_intel_display(plane->base.dev); in ivb_sprite_update_arm()
839 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in ivb_sprite_update_arm()
840 enum pipe pipe = plane->pipe; in ivb_sprite_update_arm()
870 * The control register self-arms if the plane was previously in ivb_sprite_update_arm()
871 * disabled. Try to make the plane enable atomic by writing in ivb_sprite_update_arm()
883 struct intel_plane *plane, in ivb_sprite_disable_arm() argument
886 struct intel_display *display = to_intel_display(plane->base.dev); in ivb_sprite_disable_arm()
887 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in ivb_sprite_disable_arm()
888 enum pipe pipe = plane->pipe; in ivb_sprite_disable_arm()
898 ivb_sprite_get_hw_state(struct intel_plane *plane, in ivb_sprite_get_hw_state() argument
901 struct intel_display *display = to_intel_display(plane->base.dev); in ivb_sprite_get_hw_state()
902 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in ivb_sprite_get_hw_state()
907 power_domain = POWER_DOMAIN_PIPE(plane->pipe); in ivb_sprite_get_hw_state()
912 ret = intel_de_read(display, SPRCTL(plane->pipe)) & SPRITE_ENABLE; in ivb_sprite_get_hw_state()
914 *pipe = plane->pipe; in ivb_sprite_get_hw_state()
968 g4x_sprite_max_stride(struct intel_plane *plane, in g4x_sprite_max_stride() argument
983 hsw_sprite_max_stride(struct intel_plane *plane, in hsw_sprite_max_stride() argument
994 static unsigned int g4x_sprite_min_alignment(struct intel_plane *plane, in g4x_sprite_min_alignment() argument
1018 to_i915(plane_state->uapi.plane->dev); in g4x_sprite_ctl()
1087 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in g4x_sprite_update_gamma() local
1088 struct intel_display *display = to_intel_display(plane->base.dev); in g4x_sprite_update_gamma()
1090 enum pipe pipe = plane->pipe; in g4x_sprite_update_gamma()
1117 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in ilk_sprite_update_gamma() local
1118 struct intel_display *display = to_intel_display(plane->base.dev); in ilk_sprite_update_gamma()
1120 enum pipe pipe = plane->pipe; in ilk_sprite_update_gamma()
1143 struct intel_plane *plane, in g4x_sprite_update_noarm() argument
1147 struct intel_display *display = to_intel_display(plane->base.dev); in g4x_sprite_update_noarm()
1148 enum pipe pipe = plane->pipe; in g4x_sprite_update_noarm()
1173 struct intel_plane *plane, in g4x_sprite_update_arm() argument
1177 struct intel_display *display = to_intel_display(plane->base.dev); in g4x_sprite_update_arm()
1178 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in g4x_sprite_update_arm()
1179 enum pipe pipe = plane->pipe; in g4x_sprite_update_arm()
1202 * The control register self-arms if the plane was previously in g4x_sprite_update_arm()
1203 * disabled. Try to make the plane enable atomic by writing in g4x_sprite_update_arm()
1218 struct intel_plane *plane, in g4x_sprite_disable_arm() argument
1221 struct intel_display *display = to_intel_display(plane->base.dev); in g4x_sprite_disable_arm()
1222 enum pipe pipe = plane->pipe; in g4x_sprite_disable_arm()
1231 g4x_sprite_get_hw_state(struct intel_plane *plane, in g4x_sprite_get_hw_state() argument
1234 struct intel_display *display = to_intel_display(plane->base.dev); in g4x_sprite_get_hw_state()
1235 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in g4x_sprite_get_hw_state()
1240 power_domain = POWER_DOMAIN_PIPE(plane->pipe); in g4x_sprite_get_hw_state()
1245 ret = intel_de_read(display, DVSCNTR(plane->pipe)) & DVS_ENABLE; in g4x_sprite_get_hw_state()
1247 *pipe = plane->pipe; in g4x_sprite_get_hw_state()
1342 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in g4x_sprite_check() local
1343 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in g4x_sprite_check()
1388 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in chv_plane_check_rotation() local
1389 struct intel_display *display = to_intel_display(plane->base.dev); in chv_plane_check_rotation()
1390 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in chv_plane_check_rotation()
1600 struct intel_plane *plane; in intel_sprite_plane_create() local
1608 plane = intel_plane_alloc(); in intel_sprite_plane_create()
1609 if (IS_ERR(plane)) in intel_sprite_plane_create()
1610 return plane; in intel_sprite_plane_create()
1613 plane->update_noarm = vlv_sprite_update_noarm; in intel_sprite_plane_create()
1614 plane->update_arm = vlv_sprite_update_arm; in intel_sprite_plane_create()
1615 plane->disable_arm = vlv_sprite_disable_arm; in intel_sprite_plane_create()
1616 plane->get_hw_state = vlv_sprite_get_hw_state; in intel_sprite_plane_create()
1617 plane->check_plane = vlv_sprite_check; in intel_sprite_plane_create()
1618 plane->max_stride = i965_plane_max_stride; in intel_sprite_plane_create()
1619 plane->min_alignment = vlv_sprite_min_alignment; in intel_sprite_plane_create()
1620 plane->min_cdclk = vlv_plane_min_cdclk; in intel_sprite_plane_create()
1632 plane->update_noarm = ivb_sprite_update_noarm; in intel_sprite_plane_create()
1633 plane->update_arm = ivb_sprite_update_arm; in intel_sprite_plane_create()
1634 plane->disable_arm = ivb_sprite_disable_arm; in intel_sprite_plane_create()
1635 plane->get_hw_state = ivb_sprite_get_hw_state; in intel_sprite_plane_create()
1636 plane->check_plane = g4x_sprite_check; in intel_sprite_plane_create()
1639 plane->max_stride = hsw_sprite_max_stride; in intel_sprite_plane_create()
1640 plane->min_cdclk = hsw_plane_min_cdclk; in intel_sprite_plane_create()
1642 plane->max_stride = g4x_sprite_max_stride; in intel_sprite_plane_create()
1643 plane->min_cdclk = ivb_sprite_min_cdclk; in intel_sprite_plane_create()
1646 plane->min_alignment = g4x_sprite_min_alignment; in intel_sprite_plane_create()
1653 plane->update_noarm = g4x_sprite_update_noarm; in intel_sprite_plane_create()
1654 plane->update_arm = g4x_sprite_update_arm; in intel_sprite_plane_create()
1655 plane->disable_arm = g4x_sprite_disable_arm; in intel_sprite_plane_create()
1656 plane->get_hw_state = g4x_sprite_get_hw_state; in intel_sprite_plane_create()
1657 plane->check_plane = g4x_sprite_check; in intel_sprite_plane_create()
1658 plane->max_stride = g4x_sprite_max_stride; in intel_sprite_plane_create()
1659 plane->min_alignment = g4x_sprite_min_alignment; in intel_sprite_plane_create()
1660 plane->min_cdclk = g4x_sprite_min_cdclk; in intel_sprite_plane_create()
1684 plane->pipe = pipe; in intel_sprite_plane_create()
1685 plane->id = PLANE_SPRITE0 + sprite; in intel_sprite_plane_create()
1686 plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, plane->id); in intel_sprite_plane_create()
1690 ret = drm_universal_plane_init(display->drm, &plane->base, in intel_sprite_plane_create()
1700 drm_plane_create_rotation_property(&plane->base, in intel_sprite_plane_create()
1704 drm_plane_create_color_properties(&plane->base, in intel_sprite_plane_create()
1713 drm_plane_create_zpos_immutable_property(&plane->base, zpos); in intel_sprite_plane_create()
1715 intel_plane_helper_add(plane); in intel_sprite_plane_create()
1717 return plane; in intel_sprite_plane_create()
1720 intel_plane_free(plane); in intel_sprite_plane_create()