From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liu, Monk" Subject: =?gb2312?B?tPC4tDogW1BBVENIIDMvM10gZHJtL2FtZGdwdTppbnZva2UgbWV0YS1kYXRh?= =?gb2312?Q?_write_around_cntx=5Fcntl?= Date: Mon, 16 Jan 2017 08:21:22 +0000 Message-ID: References: <1484206893-18806-1-git-send-email-Monk.Liu@amd.com> <1484206893-18806-4-git-send-email-Monk.Liu@amd.com> , Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1887758279==" Return-path: In-Reply-To: Content-Language: zh-CN List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Alex Deucher Cc: amd-gfx list --===============1887758279== Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_BY2PR1201MB1110254EE3F6E5B71C41201C847D0BY2PR1201MB1110_" --_000_BY2PR1201MB1110254EE3F6E5B71C41201C847D0BY2PR1201MB1110_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 b2theSwgdGhhbmtzDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQq3orz+yMs6 IEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJAZ21haWwuY29tPg0Kt6LLzcqxvOQ6IDIwMTfE6jHU wjE0yNUgMDozNTo0NQ0KytW8/sjLOiBMaXUsIE1vbmsNCrOty806IGFtZC1nZnggbGlzdA0K1vfM 4jogUmU6IFtQQVRDSCAzLzNdIGRybS9hbWRncHU6aW52b2tlIG1ldGEtZGF0YSB3cml0ZSBhcm91 bmQgY250eF9jbnRsDQoNCk9uIEZyaSwgSmFuIDEzLCAyMDE3IGF0IDExOjI4IEFNLCBBbGV4IERl dWNoZXIgPGFsZXhkZXVjaGVyQGdtYWlsLmNvbT4gd3JvdGU6DQo+IE9uIFRodSwgSmFuIDEyLCAy MDE3IGF0IDI6NDEgQU0sIE1vbmsgTGl1IDxNb25rLkxpdUBhbWQuY29tPiB3cm90ZToNCj4+IGNl J3MgTUVUQS1EQVRBIHdyaXRlIG5lZWQgcHJpb3IgdG8gY250eF9jbnRybCBwYWNrYWdlDQo+PiBh bmQgZGUncyBzaG91bGQgZm9sbG93aW5nLg0KPj4NCj4+IENoYW5nZS1JZDogSTJiZjQzNmQ4YTE2 YmFlMzhjZTQ4NGY4NDZmMGIzOTllMTZjZmU4MGENCj4+IFNpZ25lZC1vZmYtYnk6IE1vbmsgTGl1 IDxNb25rLkxpdUBhbWQuY29tPg0KPg0KPiBSZXZpZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4 YW5kZXIuZGV1Y2hlckBhbWQuY29tPg0KQWN0dWFsbHksIEkgdGFrZSB0aGF0IGJhY2suICBBIGZl dyBjb21tZW50cyBiZWxvdy4NCg0KPg0KPj4gLS0tDQo+PiAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmggICAgfCAxICsNCj4+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfaWIuYyB8IDMgKysrDQo+PiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4 XzAuYyAgfCA4ICsrKysrKysrDQo+PiAgMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4+IGluZGV4IDIwMzlkYTcu LmI3Zjc2NzkgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHUuaA0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4+IEBA IC05NTMsNiArOTUzLDcgQEAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgew0KPj4gICNkZWZpbmUg QU1ER1BVX1BSRUFNQkxFX0lCX1BSRVNFTlQgICAgICAgICAgKDEgPDwgMCkgLyogYml0IHNldCBt ZWFucyBjb21tYW5kIHN1Ym1pdCBpbnZvbHZlcyBhIHByZWFtYmxlIElCICovDQo+PiAgI2RlZmlu ZSBBTURHUFVfUFJFQU1CTEVfSUJfUFJFU0VOVF9GSVJTVCAgICAoMSA8PCAxKSAvKiBiaXQgc2V0 IG1lYW5zIHByZWFtYmxlIElCIGlzIGZpcnN0IHByZXNlbnRlZCBpbiBiZWxvbmdpbmcgY29udGV4 dCAqLw0KPj4gICNkZWZpbmUgQU1ER1BVX0hBVkVfQ1RYX1NXSVRDSCAgICAgICAgICAgICAgKDEg PDwgMikgLyogYml0IHNldCBtZWFucyBjb250ZXh0IHN3aXRjaCBvY2N1cmVkICovDQo+PiArI2Rl ZmluZSBBTURHUFVfVk1fRE9NQUlOICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKSAvKiBiaXQg c2V0IG1lYW5zIGluIHZpcnR1YWwgbWVtb3J5IGNvbnRleHQgKi8NCj4+DQo+PiAgc3RydWN0IGFt ZGdwdV9qb2Igew0KPj4gICAgICAgICBzdHJ1Y3QgYW1kX3NjaGVkX2pvYiAgICBiYXNlOw0KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pYi5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMNCj4+IGluZGV4IDE2MzA4ZWIuLjY5 Mzk4MjIgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf aWIuYw0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMNCj4+ IEBAIC0xODQsNiArMTg0LDkgQEAgaW50IGFtZGdwdV9pYl9zY2hlZHVsZShzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcsIHVuc2lnbmVkIG51bV9pYnMsDQo+PiAgICAgICAgICAgICAgICAgaWYgKG5l ZWRfY3R4X3N3aXRjaCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyB8PSBBTURH UFVfSEFWRV9DVFhfU1dJVENIOw0KPj4gICAgICAgICAgICAgICAgIHN0YXR1cyB8PSBqb2ItPnBy ZWFtYmxlX3N0YXR1czsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICBpZiAodm0pDQo+PiArICAg ICAgICAgICAgICAgICAgICAgICBzdGF0dXMgfD0gQU1ER1BVX1ZNX0RPTUFJTjsNCj4+ICAgICAg ICAgICAgICAgICBhbWRncHVfcmluZ19lbWl0X2NudHhjbnRsKHJpbmcsIHN0YXR1cyk7DQo+PiAg ICAgICAgIH0NCj4+DQoNClRoaXMgdG9wIGNodW5rIHNob3VsZCBiZSBhIHNlcGFyYXRlIHBhdGNo Lg0KDQoNCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhf MC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYw0KPj4gaW5kZXggM2U4 Y2ZmMy4uOGE1YzgxOCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2dmeF92OF8wLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8w LmMNCj4+IEBAIC02NzA0LDYgKzY3MDQsMTAgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y4X3JpbmdfZW1p dF9jbnR4Y250bChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGZsYWdzKQ0KPj4g IHsNCj4+ICAgICAgICAgdWludDMyX3QgZHcyID0gMDsNCj4+DQo+PiArICAgICAgIGlmIChhbWRn cHVfc3Jpb3ZfdmYocmluZy0+YWRldikpDQo+PiArICAgICAgICAgICAgICAgZ2Z4X3Y4XzBfcmlu Z19lbWl0X2NlX21ldGFfaW5pdChyaW5nLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgKGZs YWdzICYgQU1ER1BVX1ZNX0RPTUFJTikgPyBBTURHUFVfQ1NBX1ZBRERSIDogcmluZy0+YWRldi0+ dmlydC5jc2Ffdm1pZDBfYWRkcik7DQo+PiArDQo+PiAgICAgICAgIGR3MiB8PSAweDgwMDAwMDAw OyAvKiBzZXQgbG9hZF9lbmFibGUgb3RoZXJ3aXNlIHRoaXMgcGFja2FnZSBpcyBqdXN0IE5PUHMg Ki8NCj4+ICAgICAgICAgaWYgKGZsYWdzICYgQU1ER1BVX0hBVkVfQ1RYX1NXSVRDSCkgew0KPj4g ICAgICAgICAgICAgICAgIGdmeF92OF8wX3JpbmdfZW1pdF92Z3RfZmx1c2gocmluZyk7DQo+PiBA QCAtNjcyOCw2ICs2NzMyLDEwIEBAIHN0YXRpYyB2b2lkIGdmeF92OF9yaW5nX2VtaXRfY250eGNu dGwoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBmbGFncykNCj4+ICAgICAgICAg YW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMyhQQUNLRVQzX0NPTlRFWFRfQ09OVFJPTCwg MSkpOw0KPj4gICAgICAgICBhbWRncHVfcmluZ193cml0ZShyaW5nLCBkdzIpOw0KPj4gICAgICAg ICBhbWRncHVfcmluZ193cml0ZShyaW5nLCAwKTsNCj4+ICsNCj4+ICsgICAgICAgaWYgKGFtZGdw dV9zcmlvdl92ZihyaW5nLT5hZGV2KSkNCj4+ICsgICAgICAgICAgICAgICBnZnhfdjhfMF9yaW5n X2VtaXRfZGVfbWV0YV9pbml0KHJpbmcsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAoZmxh Z3MgJiBBTURHUFVfVk1fRE9NQUlOKSA/IEFNREdQVV9DU0FfVkFERFIgOiByaW5nLT5hZGV2LT52 aXJ0LmNzYV92bWlkMF9hZGRyKTsNCj4+ICB9DQo+Pg0KDQpJIHRoaW5rIHlvdSBuZWVkIHRvIHVw ZGF0ZSB0aGUgZW1pdF9mcmFtZV9zaXplIHRvIHJlZmxlY3QgdGhlIGxhcmdlciBmcmFtZS4NCg0K Pj4gIHN0YXRpYyB2b2lkIGdmeF92OF8wX3NldF9nZnhfZW9wX2ludGVycnVwdF9zdGF0ZShzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCj4+IC0tDQo+PiAyLjcuNA0KPj4NCj4+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBhbWQtZ2Z4IG1haWxp bmcgbGlzdA0KPj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4+IGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0K --_000_BY2PR1201MB1110254EE3F6E5B71C41201C847D0BY2PR1201MB1110_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

okay, thanks


=B7=A2=BC=FE=C8=CB: Alex = Deucher <alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
=B7=A2=CB=CD=CA=B1=BC=E4: 2017=C4=EA1=D4=C214=C8=D5 0:35:45
=CA=D5=BC=FE=C8=CB: Liu, Monk
=B3=AD=CB=CD: amd-gfx list
=D6=F7=CC=E2: Re: [PATCH 3/3] drm/amdgpu:invoke meta-data write arou= nd cntx_cntl
 
On Fri, Jan 13, 2017 at 11:28 AM, Alex Deucher <= ;alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Thu, Jan 12, 2017 at 2:41 AM, Monk Liu <Monk.Liu-5C7GfCeVMHo@public.gmane.org> wro= te:
>> ce's META-DATA write need prior to cntx_cntrl package
>> and de's should following.
>>
>> Change-Id: I2bf436d8a16bae38ce484f846f0b399e16cfe80a
>> Signed-off-by: Monk Liu <Monk.Liu-5C7GfCeVMHo@public.gmane.org>
>
> Reviewed-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
Actually, I take that back.  A few comments below.

>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu.h    | 1 &#= 43;
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 3 +++ >>  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c  | 8 ++&#= 43;+++++
>>  3 files changed, 12 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm= /amd/amdgpu/amdgpu.h
>> index 2039da7..b7f7679 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -953,6 +953,7 @@ struct amdgpu_cs_parser {
>>  #define AMDGPU_PREAMBLE_IB_PRESENT    &n= bsp;     (1 << 0) /* bit set means command submit= involves a preamble IB */
>>  #define AMDGPU_PREAMBLE_IB_PRESENT_FIRST    (= 1 << 1) /* bit set means preamble IB is first presented in belonging = context */
>>  #define AMDGPU_HAVE_CTX_SWITCH     =          (1 << 2) /* bit set = means context switch occured */
>> +#define AMDGPU_VM_DOMAIN      &= nbsp;           &nbs= p; (1 << 3) /* bit set means in virtual memory context */
>>
>>  struct amdgpu_job {
>>         struct amd_sched_j= ob    base;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/= drm/amd/amdgpu/amdgpu_ib.c
>> index 16308eb..6939822 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> @@ -184,6 +184,9 @@ int amdgpu_ib_schedule(struct amdgpu_ring = *ring, unsigned num_ibs,
>>           &= nbsp;     if (need_ctx_switch)
>>           &= nbsp;           &nbs= p; status |=3D AMDGPU_HAVE_CTX_SWITCH;
>>           &= nbsp;     status |=3D job->preamble_status;
>> +
>> +          &= nbsp;    if (vm)
>> +          &= nbsp;            sta= tus |=3D AMDGPU_VM_DOMAIN;
>>           &= nbsp;     amdgpu_ring_emit_cntxcntl(ring, status);
>>         }
>>

This top chunk should be a separate patch.


>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/d= rm/amd/amdgpu/gfx_v8_0.c
>> index 3e8cff3..8a5c818 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> @@ -6704,6 +6704,10 @@ static void gfx_v8_ring_emit_cntxcntl(s= truct amdgpu_ring *ring, uint32_t flags)
>>  {
>>         uint32_t dw2 =3D 0= ;
>>
>> +       if (amdgpu_sriov_vf(ring= ->adev))
>> +          &= nbsp;    gfx_v8_0_ring_emit_ce_meta_init(ring,
>> +          &= nbsp;            (fl= ags & AMDGPU_VM_DOMAIN) ? AMDGPU_CSA_VADDR : ring->adev->virt.csa= _vmid0_addr);
>> +
>>         dw2 |=3D 0x8000000= 0; /* set load_enable otherwise this package is just NOPs */
>>         if (flags & AM= DGPU_HAVE_CTX_SWITCH) {
>>           &= nbsp;     gfx_v8_0_ring_emit_vgt_flush(ring);
>> @@ -6728,6 +6732,10 @@ static void gfx_v8_ring_emit_cntxcntl(s= truct amdgpu_ring *ring, uint32_t flags)
>>         amdgpu_ring_write(= ring, PACKET3(PACKET3_CONTEXT_CONTROL, 1));
>>         amdgpu_ring_write(= ring, dw2);
>>         amdgpu_ring_write(= ring, 0);
>> +
>> +       if (amdgpu_sriov_vf(ring= ->adev))
>> +          &= nbsp;    gfx_v8_0_ring_emit_de_meta_init(ring,
>> +          &= nbsp;            (fl= ags & AMDGPU_VM_DOMAIN) ? AMDGPU_CSA_VADDR : ring->adev->virt.csa= _vmid0_addr);
>>  }
>>

I think you need to update the emit_frame_size to reflect the larger frame.=

>>  static void gfx_v8_0_set_gfx_eop_interrupt_state(struct amdg= pu_device *adev,
>> --
>> 2.7.4
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
--_000_BY2PR1201MB1110254EE3F6E5B71C41201C847D0BY2PR1201MB1110_-- --===============1887758279== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg== --===============1887758279==--