drm: msm: adreno: Disable preemption on Adreno 510
[ Upstream commit 010c8bbad2cb8c33c47963e29f051f1e917e45a5 ]
Downstream driver appears to not support preemption on A510 target,
trying to use one make device slow and fill log with rings related errors.
Set num_rings to 1 to disable preemption.
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fixes: e20c9284c8
("drm/msm/adreno: Add support for Adreno 510 GPU")
Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/526898/
Link: https://lore.kernel.org/r/20230314221757.13096-1-a39.skl@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a8d2b46954
commit
0289170151
@ -1750,6 +1750,7 @@ struct msm_gpu *a5xx_gpu_init(struct drm_device *dev)
|
|||||||
struct a5xx_gpu *a5xx_gpu = NULL;
|
struct a5xx_gpu *a5xx_gpu = NULL;
|
||||||
struct adreno_gpu *adreno_gpu;
|
struct adreno_gpu *adreno_gpu;
|
||||||
struct msm_gpu *gpu;
|
struct msm_gpu *gpu;
|
||||||
|
unsigned int nr_rings;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!pdev) {
|
if (!pdev) {
|
||||||
@ -1770,7 +1771,12 @@ struct msm_gpu *a5xx_gpu_init(struct drm_device *dev)
|
|||||||
|
|
||||||
check_speed_bin(&pdev->dev);
|
check_speed_bin(&pdev->dev);
|
||||||
|
|
||||||
ret = adreno_gpu_init(dev, pdev, adreno_gpu, &funcs, 4);
|
nr_rings = 4;
|
||||||
|
|
||||||
|
if (adreno_is_a510(adreno_gpu))
|
||||||
|
nr_rings = 1;
|
||||||
|
|
||||||
|
ret = adreno_gpu_init(dev, pdev, adreno_gpu, &funcs, nr_rings);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
a5xx_destroy(&(a5xx_gpu->base.base));
|
a5xx_destroy(&(a5xx_gpu->base.base));
|
||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
|
Loading…
Reference in New Issue
Block a user