From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/3] radeon/cik: Fix GFX IB test on Big-Endian Date: Sun, 6 Dec 2015 19:45:11 +0100 Message-ID: <56648237.2070809@vodafone.de> References: <1449263345-4938-1-git-send-email-oded.gabbay@gmail.com> <5662BB2D.3040007@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id E30DF6E04E for ; Sun, 6 Dec 2015 10:45:17 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Oded Gabbay Cc: stable@vger.kernel.org, Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org T24gMDYuMTIuMjAxNSAwODoyOSwgT2RlZCBHYWJiYXkgd3JvdGU6Cj4gT24gU2F0LCBEZWMgNSwg MjAxNSBhdCAxMjoyMyBQTSwgQ2hyaXN0aWFuIEvDtm5pZwo+IDxkZWF0aHNpbXBsZUB2b2RhZm9u ZS5kZT4gd3JvdGU6Cj4+IFBhdGNoICMxICYgIzIgYXJlIFJldmlld2VkLWJ5OiBDaHJpc3RpYW4g S8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4+Cj4+IEZvciBwYXRjaCAjMzoKPj4K Pj4gQ291bGRuJ3Qgd2UganVzdCBpbiBhIGxvb3AgZ28gb3ZlciBhbGwgdGhlIGR3IGluIHRoZSBJ QiBhbmQgc3dhcCB0aGVtIGFmdGVyCj4+IHdyaXRpbmcgdGhlbT8gVGhhdCB3b3VsZCBzaW1wbGlm eSB0aGUgcGF0Y2ggbWFzc2l2ZWx5Lgo+IEkgZ3Vlc3Mgd2UgY291bGQgZG8gdGhhdCwgaG93ZXZl ciBJIG1hZGUgdGhlIGZpeCBzaW1pbGFyIHRvIHRoZSBzYW1lCj4gY29kZSBpbiB0aGUgdXZkIG1v ZHVsZSAoU2VlIHJhZGVvbl91dmRfZ2V0X2NyZWF0ZV9tc2coKSBmb3IgZXhhbXBsZSkKPgo+PiBB bmQgbGluZSBsaWtlIHRoZSBvbmUgYmVsb3cganVzdCBsb29rIGEgYml0IG9kZCB0byBtZToKPj4+ ICAgICAgICAgIGZvciAoaSA9IGliLmxlbmd0aF9kdzsgaSA8IGliX3NpemVfZHc7ICsraSkKPj4+ IC0gICAgICAgICAgICAgICBpYi5wdHJbaV0gPSAweDA7Cj4+PiArICAgICAgICAgICAgICAgaWIu cHRyW2ldID0gY3B1X3RvX2xlMzIoMHgwKTsKPiBTYW1lIHJlbWFyayBhcyBhYm92ZS4gSSBhZGRl ZCBpdCBpbiB0aGUgbGFzdCBzZWNvbmQgYmVmb3JlIHNlbmRpbmcgdGhlCj4gcGF0Y2gganVzdCB0 byBiZSBzaW1pbGFyIHRvIHV2ZCBjb2RlLiBJIGd1ZXNzIG1heWJlIGl0IGlzIHRvIHJlbWluZAo+ IHBlb3BsZSB0byBkbyBpdCBpZiB0aGV5IGV2ZXIgY2hhbmdlIHRoYXQgemVybyB2YWx1ZSB0byBz b21ldGhpbmcgZWxzZQo+ID8/Pwo+Cj4+IEFsdGVybmF0aXZlbHkgYSBoZWxwZXIgZnVuY3Rpb24g YWRkaW5nIERXIHRvIGFuIElCIHdpdGggc3dhcHBpbmcgY291bGQgZG8gaXQKPj4gYXMgd2VsbC4K Pj4KPiBEb24ndCB5b3UgdGhpbmsgaXRzIGFuIG92ZXJraWxsID8gSXQncyBqdXN0IGEgZmV3IHBs YWNlcyBpbiB0aGUgY29kZS4KClllYWgsIHRydWUgaW5kZWVkLiBPayB0aGVuIGxldCdzIGp1c3Qg c3RpY2sgd2l0aCB0aGUgY29kaW5nIHN0eWxlIGxpa2UgCml0IGlzIGluIHJhZGVvbl91dmRfZ2V0 X2NyZWF0ZV9tc2coKS4KClNvIHRoZSBwYXRjaCBpcyBSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPi4KCkl0IHNvdW5kIGxpa2UgeW91IGhhdmUg aGFyZHdhcmUgdG8gdGVzdCB0aGlzIGNvbWJpbmF0aW9uLCBzbyBjb3VsZCB5b3UgCnRyeSB0byBn ZXQgaXQgd29ya2luZyBvbiBmb3IgYW1kZ3B1IGFzIHdlbGw/CgpTaG91bGRuJ3QgYmUgdG8gbXVj aCBvZiBhIGhhc3NsZSwgc2luY2UgYW1kZ3B1IG9ubHkgc3VwcG9ydHMgQ0lLIGFuZCBWSSAKZ2Vu ZXJhdGlvbiBmb3Igbm93IGFuZCBJIHRoaW5rIHdlIG5ldmVyIGVuYWJsZWQgdGhlIGhhcmR3YXJl IHN3YXBwaW5nIGluIAphbWRncHUuCgpUaGFua3MgaW4gYWR2YW5jZSwKQ2hyaXN0aWFuLgoKPgo+ PiBSZWdhcmRzLAo+PiBDaHJpc3RpYW4uCj4+Cj4+Cj4+IE9uIDA0LjEyLjIwMTUgMjI6MDksIE9k ZWQgR2FiYmF5IHdyb3RlOgo+Pj4gVGhpcyBwYXRjaCBtYWtlcyB0aGUgSUIgdGVzdCBvbiB0aGUg R0ZYIHJpbmcgcGFzcyBmb3IgQ0ktYmFzZWQgY2FyZHMKPj4+IGluc3RhbGxlZCBpbiBCaWctRW5k aWFuIG1hY2hpbmVzLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IE9kZWQgR2FiYmF5IDxvZGVkLmdh YmJheUBnbWFpbC5jb20+Cj4+PiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+Pj4gLS0tCj4+ PiAgICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jIHwgNiArLS0tLS0KPj4+ICAgIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNSBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vY2lrLmMKPj4+IGluZGV4IDI0ODk1M2QuLjA1ZDQzYTAgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L2Npay5jCj4+PiBAQCAtNDE3MywxMSArNDE3Myw3IEBAIHZvaWQgY2lrX3JpbmdfaWJfZXhlY3V0 ZShzdHJ1Y3QgcmFkZW9uX2RldmljZQo+Pj4gKnJkZXYsIHN0cnVjdCByYWRlb25faWIgKmliKQo+ Pj4gICAgICAgICAgY29udHJvbCB8PSBpYi0+bGVuZ3RoX2R3IHwgKHZtX2lkIDw8IDI0KTsKPj4+ ICAgICAgICAgIHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIGhlYWRlcik7Cj4+PiAtICAgICAgIHJh ZGVvbl9yaW5nX3dyaXRlKHJpbmcsCj4+PiAtI2lmZGVmIF9fQklHX0VORElBTgo+Pj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAoMiA8PCAwKSB8Cj4+PiAtI2VuZGlmCj4+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgIChpYi0+Z3B1X2FkZHIgJiAweEZGRkZGRkZDKSk7Cj4+PiArICAgICAg IHJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIChpYi0+Z3B1X2FkZHIgJiAweEZGRkZGRkZDKSk7Cj4+ PiAgICAgICAgICByYWRlb25fcmluZ193cml0ZShyaW5nLCB1cHBlcl8zMl9iaXRzKGliLT5ncHVf YWRkcikgJiAweEZGRkYpOwo+Pj4gICAgICAgICAgcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgY29u dHJvbCk7Cj4+PiAgICB9Cj4+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from pegasos-out.vodafone.de ([80.84.1.38]:41142 "EHLO pegasos-out.vodafone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753534AbbLFSpR (ORCPT ); Sun, 6 Dec 2015 13:45:17 -0500 Subject: Re: [PATCH 1/3] radeon/cik: Fix GFX IB test on Big-Endian To: Oded Gabbay References: <1449263345-4938-1-git-send-email-oded.gabbay@gmail.com> <5662BB2D.3040007@vodafone.de> Cc: Maling list - DRI developers , Alex Deucher , stable@vger.kernel.org From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <56648237.2070809@vodafone.de> Date: Sun, 6 Dec 2015 19:45:11 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: On 06.12.2015 08:29, Oded Gabbay wrote: > On Sat, Dec 5, 2015 at 12:23 PM, Christian König > wrote: >> Patch #1 & #2 are Reviewed-by: Christian König >> >> 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. > I guess we could do that, however I made the fix similar to the same > code in the uvd module (See radeon_uvd_get_create_msg() for example) > >> 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); > Same remark as above. I added it in the last second before sending the > patch just to be similar to uvd code. I guess maybe it is to remind > people to do it if they ever change that zero value to something else > ??? > >> Alternatively a helper function adding DW to an IB with swapping could do it >> as well. >> > Don't you think its an overkill ? It's just a few places in the code. Yeah, true indeed. Ok then let's just stick with the coding style like it is in radeon_uvd_get_create_msg(). So the patch is Reviewed-by: Christian König . It sound like you have hardware to test this combination, so could you try to get it working on for amdgpu as well? Shouldn't be to much of a hassle, since amdgpu only supports CIK and VI generation for now and I think we never enabled the hardware swapping in amdgpu. Thanks in advance, Christian. > >> 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 >>> Cc: stable@vger.kernel.org >>> --- >>> 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); >>> } >>