Re: [PATCH 1/3] radeon/cik: Fix GFX IB test on Big-Endian

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Patch #1 & #2 are Reviewed-by: Christian König <christian.koenig@xxxxxxx>

For patch #3:

Couldn't we just in a loop go over all the dw in the IB and swap them after writing them? That would simplify the patch massively.

And line like the one below just look a bit odd to me:
  	for (i = ib.length_dw; i < ib_size_dw; ++i)
-		ib.ptr[i] = 0x0;
+		ib.ptr[i] = cpu_to_le32(0x0);

Alternatively a helper function adding DW to an IB with swapping could do it as well.

Regards,
Christian.

On 04.12.2015 22:09, Oded Gabbay wrote:
This patch makes the IB test on the GFX ring pass for CI-based cards
installed in Big-Endian machines.

Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
  drivers/gpu/drm/radeon/cik.c | 6 +-----
  1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 248953d..05d43a0 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -4173,11 +4173,7 @@ void cik_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib)
  	control |= ib->length_dw | (vm_id << 24);
radeon_ring_write(ring, header);
-	radeon_ring_write(ring,
-#ifdef __BIG_ENDIAN
-			  (2 << 0) |
-#endif
-			  (ib->gpu_addr & 0xFFFFFFFC));
+	radeon_ring_write(ring, (ib->gpu_addr & 0xFFFFFFFC));
  	radeon_ring_write(ring, upper_32_bits(ib->gpu_addr) & 0xFFFF);
  	radeon_ring_write(ring, control);
  }

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]