dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init
@ 2014-09-18 17:26 Alex Deucher
  2014-09-18 17:26 ` [PATCH 2/3] drm/radeon: don't reset sdma on CIK init Alex Deucher
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Alex Deucher @ 2014-09-18 17:26 UTC (permalink / raw)
  To: dri-devel; +Cc: Alex Deucher, stable

Otherwise we may lose the DMA golden settings which can
lead to hangs, etc.

bug:
https://www.libreoffice.org/bugzilla/show_bug.cgi?id=83500

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
---
 drivers/gpu/drm/radeon/ni_dma.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/radeon/ni_dma.c b/drivers/gpu/drm/radeon/ni_dma.c
index 8a3e622..f26f0a9 100644
--- a/drivers/gpu/drm/radeon/ni_dma.c
+++ b/drivers/gpu/drm/radeon/ni_dma.c
@@ -191,12 +191,6 @@ int cayman_dma_resume(struct radeon_device *rdev)
 	u32 reg_offset, wb_offset;
 	int i, r;
 
-	/* Reset dma */
-	WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA | SOFT_RESET_DMA1);
-	RREG32(SRBM_SOFT_RESET);
-	udelay(50);
-	WREG32(SRBM_SOFT_RESET, 0);
-
 	for (i = 0; i < 2; i++) {
 		if (i == 0) {
 			ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] drm/radeon: don't reset sdma on CIK init
  2014-09-18 17:26 [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Alex Deucher
@ 2014-09-18 17:26 ` Alex Deucher
  2014-09-18 17:26 ` [PATCH 3/3] drm/radeon: don't reset dma on r6xx-evergreen init Alex Deucher
  2014-09-18 17:51 ` [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Christian König
  2 siblings, 0 replies; 6+ messages in thread
From: Alex Deucher @ 2014-09-18 17:26 UTC (permalink / raw)
  To: dri-devel; +Cc: Alex Deucher, stable

Otherwise we may lose the DMA golden settings which can
lead to hangs, etc.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
---
 drivers/gpu/drm/radeon/cik_sdma.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c
index 192278b..c4ffa54 100644
--- a/drivers/gpu/drm/radeon/cik_sdma.c
+++ b/drivers/gpu/drm/radeon/cik_sdma.c
@@ -489,13 +489,6 @@ int cik_sdma_resume(struct radeon_device *rdev)
 {
 	int r;
 
-	/* Reset dma */
-	WREG32(SRBM_SOFT_RESET, SOFT_RESET_SDMA | SOFT_RESET_SDMA1);
-	RREG32(SRBM_SOFT_RESET);
-	udelay(50);
-	WREG32(SRBM_SOFT_RESET, 0);
-	RREG32(SRBM_SOFT_RESET);
-
 	r = cik_sdma_load_microcode(rdev);
 	if (r)
 		return r;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] drm/radeon: don't reset dma on r6xx-evergreen init
  2014-09-18 17:26 [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Alex Deucher
  2014-09-18 17:26 ` [PATCH 2/3] drm/radeon: don't reset sdma on CIK init Alex Deucher
@ 2014-09-18 17:26 ` Alex Deucher
  2014-09-18 17:51 ` [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Christian König
  2 siblings, 0 replies; 6+ messages in thread
From: Alex Deucher @ 2014-09-18 17:26 UTC (permalink / raw)
  To: dri-devel; +Cc: Alex Deucher, stable

Otherwise we may lose the DMA golden settings which can
lead to hangs, etc.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
---
 drivers/gpu/drm/radeon/r600_dma.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r600_dma.c b/drivers/gpu/drm/radeon/r600_dma.c
index 51fd985..a908daa 100644
--- a/drivers/gpu/drm/radeon/r600_dma.c
+++ b/drivers/gpu/drm/radeon/r600_dma.c
@@ -124,15 +124,6 @@ int r600_dma_resume(struct radeon_device *rdev)
 	u32 rb_bufsz;
 	int r;
 
-	/* Reset dma */
-	if (rdev->family >= CHIP_RV770)
-		WREG32(SRBM_SOFT_RESET, RV770_SOFT_RESET_DMA);
-	else
-		WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA);
-	RREG32(SRBM_SOFT_RESET);
-	udelay(50);
-	WREG32(SRBM_SOFT_RESET, 0);
-
 	WREG32(DMA_SEM_INCOMPLETE_TIMER_CNTL, 0);
 	WREG32(DMA_SEM_WAIT_FAIL_TIMER_CNTL, 0);
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init
  2014-09-18 17:26 [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Alex Deucher
  2014-09-18 17:26 ` [PATCH 2/3] drm/radeon: don't reset sdma on CIK init Alex Deucher
  2014-09-18 17:26 ` [PATCH 3/3] drm/radeon: don't reset dma on r6xx-evergreen init Alex Deucher
@ 2014-09-18 17:51 ` Christian König
  2014-09-18 18:01   ` Alex Deucher
  2 siblings, 1 reply; 6+ messages in thread
From: Christian König @ 2014-09-18 17:51 UTC (permalink / raw)
  To: Alex Deucher, dri-devel; +Cc: Alex Deucher, stable

Am 18.09.2014 um 19:26 schrieb Alex Deucher:
> Otherwise we may lose the DMA golden settings which can
> lead to hangs, etc.

Don't we still want the soft reset at some point, e.g. when the engine 
hangs?

I would rather move that to another function and call it before loading 
the golden values.

Christian.

>
> bug:
> https://www.libreoffice.org/bugzilla/show_bug.cgi?id=83500
>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> Cc: stable@vger.kernel.org
> ---
>   drivers/gpu/drm/radeon/ni_dma.c | 6 ------
>   1 file changed, 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/ni_dma.c b/drivers/gpu/drm/radeon/ni_dma.c
> index 8a3e622..f26f0a9 100644
> --- a/drivers/gpu/drm/radeon/ni_dma.c
> +++ b/drivers/gpu/drm/radeon/ni_dma.c
> @@ -191,12 +191,6 @@ int cayman_dma_resume(struct radeon_device *rdev)
>   	u32 reg_offset, wb_offset;
>   	int i, r;
>   
> -	/* Reset dma */
> -	WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA | SOFT_RESET_DMA1);
> -	RREG32(SRBM_SOFT_RESET);
> -	udelay(50);
> -	WREG32(SRBM_SOFT_RESET, 0);
> -
>   	for (i = 0; i < 2; i++) {
>   		if (i == 0) {
>   			ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init
  2014-09-18 17:51 ` [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Christian König
@ 2014-09-18 18:01   ` Alex Deucher
  2014-09-18 18:03     ` Christian König
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Deucher @ 2014-09-18 18:01 UTC (permalink / raw)
  To: Christian König; +Cc: Maling list - DRI developers, Alex Deucher, for 3.8

On Thu, Sep 18, 2014 at 1:51 PM, Christian König
<deathsimple@vodafone.de> wrote:
> Am 18.09.2014 um 19:26 schrieb Alex Deucher:
>>
>> Otherwise we may lose the DMA golden settings which can
>> lead to hangs, etc.
>
>
> Don't we still want the soft reset at some point, e.g. when the engine
> hangs?
>
> I would rather move that to another function and call it before loading the
> golden values.

We have separate soft reset code for dma already.  This is just a
one-off soft reset in the dma init code.  The golden registers are
reloaded after a GPU reset so we should be fine.

Alex

>
> Christian.
>
>
>>
>> bug:
>> https://www.libreoffice.org/bugzilla/show_bug.cgi?id=83500
>>
>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>> Cc: stable@vger.kernel.org
>> ---
>>   drivers/gpu/drm/radeon/ni_dma.c | 6 ------
>>   1 file changed, 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/ni_dma.c
>> b/drivers/gpu/drm/radeon/ni_dma.c
>> index 8a3e622..f26f0a9 100644
>> --- a/drivers/gpu/drm/radeon/ni_dma.c
>> +++ b/drivers/gpu/drm/radeon/ni_dma.c
>> @@ -191,12 +191,6 @@ int cayman_dma_resume(struct radeon_device *rdev)
>>         u32 reg_offset, wb_offset;
>>         int i, r;
>>   -     /* Reset dma */
>> -       WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA | SOFT_RESET_DMA1);
>> -       RREG32(SRBM_SOFT_RESET);
>> -       udelay(50);
>> -       WREG32(SRBM_SOFT_RESET, 0);
>> -
>>         for (i = 0; i < 2; i++) {
>>                 if (i == 0) {
>>                         ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init
  2014-09-18 18:01   ` Alex Deucher
@ 2014-09-18 18:03     ` Christian König
  0 siblings, 0 replies; 6+ messages in thread
From: Christian König @ 2014-09-18 18:03 UTC (permalink / raw)
  To: Alex Deucher; +Cc: Alex Deucher, for 3.8, Maling list - DRI developers

Am 18.09.2014 um 20:01 schrieb Alex Deucher:
> On Thu, Sep 18, 2014 at 1:51 PM, Christian König
> <deathsimple@vodafone.de> wrote:
>> Am 18.09.2014 um 19:26 schrieb Alex Deucher:
>>> Otherwise we may lose the DMA golden settings which can
>>> lead to hangs, etc.
>>
>> Don't we still want the soft reset at some point, e.g. when the engine
>> hangs?
>>
>> I would rather move that to another function and call it before loading the
>> golden values.
> We have separate soft reset code for dma already.  This is just a
> one-off soft reset in the dma init code.  The golden registers are
> reloaded after a GPU reset so we should be fine.

Of course!

In this case the patches are Reviewed-by: Christian König 
<christian.koenig@amd.com>

>
> Alex
>
>> Christian.
>>
>>
>>> bug:
>>> https://www.libreoffice.org/bugzilla/show_bug.cgi?id=83500
>>>
>>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>>> Cc: stable@vger.kernel.org
>>> ---
>>>    drivers/gpu/drm/radeon/ni_dma.c | 6 ------
>>>    1 file changed, 6 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/radeon/ni_dma.c
>>> b/drivers/gpu/drm/radeon/ni_dma.c
>>> index 8a3e622..f26f0a9 100644
>>> --- a/drivers/gpu/drm/radeon/ni_dma.c
>>> +++ b/drivers/gpu/drm/radeon/ni_dma.c
>>> @@ -191,12 +191,6 @@ int cayman_dma_resume(struct radeon_device *rdev)
>>>          u32 reg_offset, wb_offset;
>>>          int i, r;
>>>    -     /* Reset dma */
>>> -       WREG32(SRBM_SOFT_RESET, SOFT_RESET_DMA | SOFT_RESET_DMA1);
>>> -       RREG32(SRBM_SOFT_RESET);
>>> -       udelay(50);
>>> -       WREG32(SRBM_SOFT_RESET, 0);
>>> -
>>>          for (i = 0; i < 2; i++) {
>>>                  if (i == 0) {
>>>                          ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
>>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-09-18 18:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-18 17:26 [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Alex Deucher
2014-09-18 17:26 ` [PATCH 2/3] drm/radeon: don't reset sdma on CIK init Alex Deucher
2014-09-18 17:26 ` [PATCH 3/3] drm/radeon: don't reset dma on r6xx-evergreen init Alex Deucher
2014-09-18 17:51 ` [PATCH 1/3] drm/radeon: don't reset dma on NI/SI init Christian König
2014-09-18 18:01   ` Alex Deucher
2014-09-18 18:03     ` Christian König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox