diff options
author | Robert Noland <rnoland@2hip.net> | 2009-10-05 11:56:44 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-10-07 19:56:27 -0400 |
commit | 49c458e544ae14514209ed80ea6829ca1b18ddf0 (patch) | |
tree | e26fa7bcaa9f91b309dae972ac16032e22e2da75 | |
parent | 9d8401fcbb8c8a390b649b9c1b18dab113a918d6 (diff) |
drm/r600: avoid assigning vb twice in blit code
There is no need to assign vb before you know that space is available.
[agd5f: adapted for kernel tree.]
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/radeon/r600_blit.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/r600_blit_kms.c | 3 |
2 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/radeon/r600_blit.c b/drivers/gpu/drm/radeon/r600_blit.c index d988eece0187..dec501081608 100644 --- a/drivers/gpu/drm/radeon/r600_blit.c +++ b/drivers/gpu/drm/radeon/r600_blit.c | |||
@@ -582,8 +582,6 @@ r600_blit_copy(struct drm_device *dev, | |||
582 | u64 vb_addr; | 582 | u64 vb_addr; |
583 | u32 *vb; | 583 | u32 *vb; |
584 | 584 | ||
585 | vb = r600_nomm_get_vb_ptr(dev); | ||
586 | |||
587 | if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { | 585 | if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { |
588 | max_bytes = 8192; | 586 | max_bytes = 8192; |
589 | 587 | ||
@@ -619,8 +617,8 @@ r600_blit_copy(struct drm_device *dev, | |||
619 | if (!dev_priv->blit_vb) | 617 | if (!dev_priv->blit_vb) |
620 | return; | 618 | return; |
621 | set_shaders(dev); | 619 | set_shaders(dev); |
622 | vb = r600_nomm_get_vb_ptr(dev); | ||
623 | } | 620 | } |
621 | vb = r600_nomm_get_vb_ptr(dev); | ||
624 | 622 | ||
625 | vb[0] = i2f(dst_x); | 623 | vb[0] = i2f(dst_x); |
626 | vb[1] = 0; | 624 | vb[1] = 0; |
@@ -708,8 +706,8 @@ r600_blit_copy(struct drm_device *dev, | |||
708 | return; | 706 | return; |
709 | 707 | ||
710 | set_shaders(dev); | 708 | set_shaders(dev); |
711 | vb = r600_nomm_get_vb_ptr(dev); | ||
712 | } | 709 | } |
710 | vb = r600_nomm_get_vb_ptr(dev); | ||
713 | 711 | ||
714 | vb[0] = i2f(dst_x / 4); | 712 | vb[0] = i2f(dst_x / 4); |
715 | vb[1] = 0; | 713 | vb[1] = 0; |
@@ -777,8 +775,6 @@ r600_blit_swap(struct drm_device *dev, | |||
777 | u64 vb_addr; | 775 | u64 vb_addr; |
778 | u32 *vb; | 776 | u32 *vb; |
779 | 777 | ||
780 | vb = r600_nomm_get_vb_ptr(dev); | ||
781 | |||
782 | if ((dev_priv->blit_vb->used + 48) > dev_priv->blit_vb->total) { | 778 | if ((dev_priv->blit_vb->used + 48) > dev_priv->blit_vb->total) { |
783 | 779 | ||
784 | r600_nomm_put_vb(dev); | 780 | r600_nomm_put_vb(dev); |
@@ -787,8 +783,8 @@ r600_blit_swap(struct drm_device *dev, | |||
787 | return; | 783 | return; |
788 | 784 | ||
789 | set_shaders(dev); | 785 | set_shaders(dev); |
790 | vb = r600_nomm_get_vb_ptr(dev); | ||
791 | } | 786 | } |
787 | vb = r600_nomm_get_vb_ptr(dev); | ||
792 | 788 | ||
793 | if (cpp == 4) { | 789 | if (cpp == 4) { |
794 | cb_format = COLOR_8_8_8_8; | 790 | cb_format = COLOR_8_8_8_8; |
diff --git a/drivers/gpu/drm/radeon/r600_blit_kms.c b/drivers/gpu/drm/radeon/r600_blit_kms.c index acae33e2ad51..93108bb31d1d 100644 --- a/drivers/gpu/drm/radeon/r600_blit_kms.c +++ b/drivers/gpu/drm/radeon/r600_blit_kms.c | |||
@@ -610,7 +610,6 @@ void r600_kms_blit_copy(struct radeon_device *rdev, | |||
610 | 610 | ||
611 | DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr, | 611 | DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr, |
612 | size_bytes, rdev->r600_blit.vb_used); | 612 | size_bytes, rdev->r600_blit.vb_used); |
613 | vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used); | ||
614 | if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { | 613 | if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { |
615 | max_bytes = 8192; | 614 | max_bytes = 8192; |
616 | 615 | ||
@@ -653,6 +652,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev, | |||
653 | vb = r600_nomm_get_vb_ptr(dev); | 652 | vb = r600_nomm_get_vb_ptr(dev); |
654 | #endif | 653 | #endif |
655 | } | 654 | } |
655 | vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used); | ||
656 | 656 | ||
657 | vb[0] = i2f(dst_x); | 657 | vb[0] = i2f(dst_x); |
658 | vb[1] = 0; | 658 | vb[1] = 0; |
@@ -747,6 +747,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev, | |||
747 | vb = r600_nomm_get_vb_ptr(dev); | 747 | vb = r600_nomm_get_vb_ptr(dev); |
748 | } | 748 | } |
749 | #endif | 749 | #endif |
750 | vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used); | ||
750 | 751 | ||
751 | vb[0] = i2f(dst_x / 4); | 752 | vb[0] = i2f(dst_x / 4); |
752 | vb[1] = 0; | 753 | vb[1] = 0; |