Re: [PATCH] drm/msm/a6xx: Remove unneeded GBIF unhalt

2020-02-05 Thread Rob Clark
On Tue, Feb 4, 2020 at 9:42 AM Jordan Crouse  wrote:
>
> Commit e812744c5f95 ("drm: msm: a6xx: Add support for A618") added a
> universal GBIF un-halt into a6xx_start(). This can cause problems for
> a630 targets which do not use GBIF and might have access protection
> enabled on the region now occupied by the GBIF registers.
>
> But it turns out that we didn't need to unhalt the GBIF in this path
> since the stop function already takes care of that after executing a flush
> but before turning off the headswitch. We should be confident that the
> GBIF is open for business when we restart the hardware.
>
> Signed-off-by: Jordan Crouse 

Reviewed-by: Rob Clark 
Fixes: e812744c5f95 ("drm: msm: a6xx: Add support for A618")

> ---
>
>  drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 
>  1 file changed, 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c 
> b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> index daf0780..e51c723 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> @@ -378,18 +378,6 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
> struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
> int ret;
>
> -   /*
> -* During a previous slumber, GBIF halt is asserted to ensure
> -* no further transaction can go through GPU before GPU
> -* headswitch is turned off.
> -*
> -* This halt is deasserted once headswitch goes off but
> -* incase headswitch doesn't goes off clear GBIF halt
> -* here to ensure GPU wake-up doesn't fail because of
> -* halted GPU transactions.
> -*/
> -   gpu_write(gpu, REG_A6XX_GBIF_HALT, 0x0);
> -
> /* Make sure the GMU keeps the GPU on while we set it up */
> a6xx_gmu_set_oob(_gpu->gmu, GMU_OOB_GPU_SET);
>
> --
> 2.7.4
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm/msm/a6xx: Remove unneeded GBIF unhalt

2020-02-05 Thread John Stultz
On Tue, Feb 4, 2020 at 9:42 AM Jordan Crouse  wrote:
>
> Commit e812744c5f95 ("drm: msm: a6xx: Add support for A618") added a
> universal GBIF un-halt into a6xx_start(). This can cause problems for
> a630 targets which do not use GBIF and might have access protection
> enabled on the region now occupied by the GBIF registers.
>
> But it turns out that we didn't need to unhalt the GBIF in this path
> since the stop function already takes care of that after executing a flush
> but before turning off the headswitch. We should be confident that the
> GBIF is open for business when we restart the hardware.
>
> Signed-off-by: Jordan Crouse 

Sorry, yesterday got busy with other things and I didn't get around to
testing your patch, but I have tested earlier with my own patch which
is identical:
  
https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/db845c-mainline-WIP=4e6a2e84dd77fe74faa1a6b797eb0ee7bf11ffd7

So, I think I can safely add:
Tested-by: John Stultz 

Thanks so much for the quick turnaround on this!
-john
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm/msm/a6xx: Remove unneeded GBIF unhalt

2020-02-04 Thread Rob Clark
+jstultz

On Tue, Feb 4, 2020 at 9:42 AM Jordan Crouse  wrote:
>
> Commit e812744c5f95 ("drm: msm: a6xx: Add support for A618") added a
> universal GBIF un-halt into a6xx_start(). This can cause problems for
> a630 targets which do not use GBIF and might have access protection
> enabled on the region now occupied by the GBIF registers.
>
> But it turns out that we didn't need to unhalt the GBIF in this path
> since the stop function already takes care of that after executing a flush
> but before turning off the headswitch. We should be confident that the
> GBIF is open for business when we restart the hardware.
>
> Signed-off-by: Jordan Crouse 
> ---
>
>  drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 
>  1 file changed, 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c 
> b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> index daf0780..e51c723 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> @@ -378,18 +378,6 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
> struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
> int ret;
>
> -   /*
> -* During a previous slumber, GBIF halt is asserted to ensure
> -* no further transaction can go through GPU before GPU
> -* headswitch is turned off.
> -*
> -* This halt is deasserted once headswitch goes off but
> -* incase headswitch doesn't goes off clear GBIF halt
> -* here to ensure GPU wake-up doesn't fail because of
> -* halted GPU transactions.
> -*/
> -   gpu_write(gpu, REG_A6XX_GBIF_HALT, 0x0);
> -
> /* Make sure the GMU keeps the GPU on while we set it up */
> a6xx_gmu_set_oob(_gpu->gmu, GMU_OOB_GPU_SET);
>
> --
> 2.7.4
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] drm/msm/a6xx: Remove unneeded GBIF unhalt

2020-02-04 Thread Jordan Crouse
Commit e812744c5f95 ("drm: msm: a6xx: Add support for A618") added a
universal GBIF un-halt into a6xx_start(). This can cause problems for
a630 targets which do not use GBIF and might have access protection
enabled on the region now occupied by the GBIF registers.

But it turns out that we didn't need to unhalt the GBIF in this path
since the stop function already takes care of that after executing a flush
but before turning off the headswitch. We should be confident that the
GBIF is open for business when we restart the hardware.

Signed-off-by: Jordan Crouse 
---

 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
index daf0780..e51c723 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
@@ -378,18 +378,6 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
int ret;
 
-   /*
-* During a previous slumber, GBIF halt is asserted to ensure
-* no further transaction can go through GPU before GPU
-* headswitch is turned off.
-*
-* This halt is deasserted once headswitch goes off but
-* incase headswitch doesn't goes off clear GBIF halt
-* here to ensure GPU wake-up doesn't fail because of
-* halted GPU transactions.
-*/
-   gpu_write(gpu, REG_A6XX_GBIF_HALT, 0x0);
-
/* Make sure the GMU keeps the GPU on while we set it up */
a6xx_gmu_set_oob(_gpu->gmu, GMU_OOB_GPU_SET);
 
-- 
2.7.4
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel