[PATCH 7/9] drm/panfrost: Don't set L2_MMU_CONFIG quirks
Steven Price
steven.price at arm.com
Mon Feb 14 16:23:37 UTC 2022
On 11/02/2022 20:27, alyssa.rosenzweig at collabora.com wrote:
> From: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
>
> L2_MMU_CONFIG is an implementation-defined register. Different Mali GPUs
> define slightly different MAX_READS and MAX_WRITES fields, which
> throttle outstanding reads and writes when set to non-zero values. When
> left as zero, reads and writes are not throttled.
>
> Both kbase and panfrost always zero these registers. Per discussion with
> Steven Price, there are two reasons these quirks may be used:
>
> 1. Simulating slower memory subsystems. This use case is only of
> interest to system-on-chip designers; it is not relevant to mainline.
>
> 2. Working around broken memory subsystems. Hopefully we never see this
> case in mainline. If we do, we'll need to set this register based on
> an SoC-compatible, rather than generally matching on the GPU model.
>
> To the best of our knowledge, these fields are zero at reset, so the
> write is not necessary. Let's remove the write to aid porting to new
> Mali GPUs, which have different layouts for the L2_MMU_CONFIG register.
>
> Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
> Suggested-by: Steven Price <steven.price at arm.com>
Reviewed-by: Steven Price <steven.price at arm.com>
> ---
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 12 ------------
> 1 file changed, 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> index 1c1e2017aa80..73e5774f01c1 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -127,18 +127,6 @@ static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)
> gpu_write(pfdev, GPU_TILER_CONFIG, quirks);
>
>
> - quirks = gpu_read(pfdev, GPU_L2_MMU_CONFIG);
> -
> - /* Limit read & write ID width for AXI */
> - if (panfrost_has_hw_feature(pfdev, HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG))
> - quirks &= ~(L2_MMU_CONFIG_3BIT_LIMIT_EXTERNAL_READS |
> - L2_MMU_CONFIG_3BIT_LIMIT_EXTERNAL_WRITES);
> - else
> - quirks &= ~(L2_MMU_CONFIG_LIMIT_EXTERNAL_READS |
> - L2_MMU_CONFIG_LIMIT_EXTERNAL_WRITES);
> -
> - gpu_write(pfdev, GPU_L2_MMU_CONFIG, quirks);
> -
> quirks = 0;
> if ((panfrost_model_eq(pfdev, 0x860) || panfrost_model_eq(pfdev, 0x880)) &&
> pfdev->features.revision >= 0x2000)
More information about the dri-devel
mailing list