Re: [PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-28 Thread Christian König

Am 27.05.19 um 20:23 schrieb Kuehling, Felix:

On 2019-05-27 7:51 a.m., Christian König wrote:

That idea sounds sane to me as well.

By the way, do we somewhere signal to userspace if atomics are
supported or not?

Yes. KFD topology (a flag in the iolink) provides that information to
user mode.


Yeah, but we are enabling this for the render node as well.

Question is now if we have that in the info IOCTL or not? I strongly 
suspect that's not present there.


Regards,
Christian.



Regards,
    Felix



I mean would be nice to keep the state inside adev if this fails for
some reason.

Christian.

Am 27.05.19 um 13:16 schrieb Zhang, Hawking:

How about put pci_enable_atomic_ops_to_root ahead of
amdgpu_device_ip_early_init, while move pci_atomic_requested from kfd
device to kgd device ? In such way, we can avoid duplicate atomic
request from both amdgpu and amdkfd.

Regards,
Hawking
-Original Message-
From: amd-gfx  On Behalf Of
Xiao, Jack
Sent: 2019年5月27日 18:19
To: amd-gfx@lists.freedesktop.org
Cc: Xiao, Jack 
Subject: [PATCH] drm/amdgpu: enable PCIE atomics ops support

GPU atomics operation depends on PCIE atomics support.
Always enable PCIE atomics ops support in case that it hasn't been
enabled.

Signed-off-by: Jack Xiao 
---
   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
   1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index bdd1fe73..a2c6064 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device
*adev,
   if (adev->rio_mem == NULL)
   DRM_INFO("PCI I/O BAR is not found.\n");
   +    /* enable PCIE atomic ops */
+    r = pci_enable_atomic_ops_to_root(adev->pdev,
+    PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
+    PCI_EXP_DEVCAP2_ATOMIC_COMP64);
+    if (r)
+    DRM_INFO("PCIE atomic ops is not supported\n");
+
   amdgpu_device_get_pcie_info(adev);
     /* early init functions */
--
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Re: [PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-27 Thread Kuehling, Felix
On 2019-05-27 7:51 a.m., Christian König wrote:
> That idea sounds sane to me as well.
>
> By the way, do we somewhere signal to userspace if atomics are 
> supported or not?
Yes. KFD topology (a flag in the iolink) provides that information to 
user mode.

Regards,
   Felix


>
> I mean would be nice to keep the state inside adev if this fails for 
> some reason.
>
> Christian.
>
> Am 27.05.19 um 13:16 schrieb Zhang, Hawking:
>> How about put pci_enable_atomic_ops_to_root ahead of 
>> amdgpu_device_ip_early_init, while move pci_atomic_requested from kfd 
>> device to kgd device ? In such way, we can avoid duplicate atomic 
>> request from both amdgpu and amdkfd.
>>
>> Regards,
>> Hawking
>> -Original Message-
>> From: amd-gfx  On Behalf Of 
>> Xiao, Jack
>> Sent: 2019年5月27日 18:19
>> To: amd-gfx@lists.freedesktop.org
>> Cc: Xiao, Jack 
>> Subject: [PATCH] drm/amdgpu: enable PCIE atomics ops support
>>
>> GPU atomics operation depends on PCIE atomics support.
>> Always enable PCIE atomics ops support in case that it hasn't been 
>> enabled.
>>
>> Signed-off-by: Jack Xiao 
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index bdd1fe73..a2c6064 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device 
>> *adev,
>>   if (adev->rio_mem == NULL)
>>   DRM_INFO("PCI I/O BAR is not found.\n");
>>   +    /* enable PCIE atomic ops */
>> +    r = pci_enable_atomic_ops_to_root(adev->pdev,
>> +    PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
>> +    PCI_EXP_DEVCAP2_ATOMIC_COMP64);
>> +    if (r)
>> +    DRM_INFO("PCIE atomic ops is not supported\n");
>> +
>>   amdgpu_device_get_pcie_info(adev);
>>     /* early init functions */
>> -- 
>> 1.9.1
>>
>> ___
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>> ___
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Re: [PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-27 Thread Christian König

That idea sounds sane to me as well.

By the way, do we somewhere signal to userspace if atomics are supported 
or not?


I mean would be nice to keep the state inside adev if this fails for 
some reason.


Christian.

Am 27.05.19 um 13:16 schrieb Zhang, Hawking:

How about put pci_enable_atomic_ops_to_root ahead of 
amdgpu_device_ip_early_init, while move pci_atomic_requested from kfd device to 
kgd device ? In such way, we can avoid duplicate atomic request from both 
amdgpu and amdkfd.

Regards,
Hawking
-Original Message-
From: amd-gfx  On Behalf Of Xiao, Jack
Sent: 2019年5月27日 18:19
To: amd-gfx@lists.freedesktop.org
Cc: Xiao, Jack 
Subject: [PATCH] drm/amdgpu: enable PCIE atomics ops support

GPU atomics operation depends on PCIE atomics support.
Always enable PCIE atomics ops support in case that it hasn't been enabled.

Signed-off-by: Jack Xiao 
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
  1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index bdd1fe73..a2c6064 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
if (adev->rio_mem == NULL)
DRM_INFO("PCI I/O BAR is not found.\n");
  
+	/* enable PCIE atomic ops */

+   r = pci_enable_atomic_ops_to_root(adev->pdev,
+   PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
+   PCI_EXP_DEVCAP2_ATOMIC_COMP64);
+   if (r)
+   DRM_INFO("PCIE atomic ops is not supported\n");
+
amdgpu_device_get_pcie_info(adev);
  
  	/* early init functions */

--
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

RE: [PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-27 Thread Zhang, Hawking
How about put pci_enable_atomic_ops_to_root ahead of 
amdgpu_device_ip_early_init, while move pci_atomic_requested from kfd device to 
kgd device ? In such way, we can avoid duplicate atomic request from both 
amdgpu and amdkfd.

Regards,
Hawking
-Original Message-
From: amd-gfx  On Behalf Of Xiao, Jack
Sent: 2019年5月27日 18:19
To: amd-gfx@lists.freedesktop.org
Cc: Xiao, Jack 
Subject: [PATCH] drm/amdgpu: enable PCIE atomics ops support

GPU atomics operation depends on PCIE atomics support.
Always enable PCIE atomics ops support in case that it hasn't been enabled.

Signed-off-by: Jack Xiao 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index bdd1fe73..a2c6064 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
if (adev->rio_mem == NULL)
DRM_INFO("PCI I/O BAR is not found.\n");
 
+   /* enable PCIE atomic ops */
+   r = pci_enable_atomic_ops_to_root(adev->pdev,
+   PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
+   PCI_EXP_DEVCAP2_ATOMIC_COMP64);
+   if (r)
+   DRM_INFO("PCIE atomic ops is not supported\n");
+
amdgpu_device_get_pcie_info(adev);
 
/* early init functions */
--
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

[PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-27 Thread Xiao, Jack
GPU atomics operation depends on PCIE atomics support.
Always enable PCIE atomics ops support in case that
it hasn't been enabled.

Signed-off-by: Jack Xiao 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index bdd1fe73..a2c6064 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
if (adev->rio_mem == NULL)
DRM_INFO("PCI I/O BAR is not found.\n");
 
+   /* enable PCIE atomic ops */
+   r = pci_enable_atomic_ops_to_root(adev->pdev,
+   PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
+   PCI_EXP_DEVCAP2_ATOMIC_COMP64);
+   if (r)
+   DRM_INFO("PCIE atomic ops is not supported\n");
+
amdgpu_device_get_pcie_info(adev);
 
/* early init functions */
-- 
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

[PATCH] drm/amdgpu: enable PCIE atomics ops support

2019-05-23 Thread Xiao, Jack
GPU atomics operation depends on PCIE atomics support.
Always enable PCIE atomics ops support in case that
it hasn't been enabled.

Signed-off-by: Jack Xiao 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index bdd1fe73..a2c6064 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2562,6 +2562,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
if (adev->rio_mem == NULL)
DRM_INFO("PCI I/O BAR is not found.\n");
 
+   /* enable PCIE atomic ops */
+   r = pci_enable_atomic_ops_to_root(adev->pdev,
+   PCI_EXP_DEVCAP2_ATOMIC_COMP32 |
+   PCI_EXP_DEVCAP2_ATOMIC_COMP64);
+   if (r)
+   DRM_INFO("PCIE atomic ops is not supported\n");
+
amdgpu_device_get_pcie_info(adev);
 
/* early init functions */
-- 
1.9.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx