[PATCH] drm/panfrost: Add errata descriptions from kbase

Rob Herring robh at kernel.org
Tue Aug 6 21:08:10 UTC 2019


On Tue, Aug 6, 2019 at 2:25 PM Alyssa Rosenzweig
<alyssa.rosenzweig at collabora.com> wrote:
>
> While newer kbase include only the numbers of errata, older kbase
> releases included one-line descriptions for each errata, which is useful
> for those working on the driver. Import these descriptions. Most are
> from kbase verbatim; a few I edited for clarity.
>
> A few issues pertaining to newer models are unknown as they were not
> added to kbase until after kbase began stripping these comments.
>
> Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
> ---
>  drivers/gpu/drm/panfrost/panfrost_issues.h | 80 ++++++++++++++++++++++
>  1 file changed, 80 insertions(+)

A couple of nits below.

>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_issues.h b/drivers/gpu/drm/panfrost/panfrost_issues.h
> index cec6dcdad..af3a31539 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_issues.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_issues.h
> @@ -13,37 +13,117 @@
>   * to care about.
>   */
>  enum panfrost_hw_issue {
> +       /* Need way to guarantee that all previously-translated memory accesses
> +        * are commited */
>         HW_ISSUE_6367,
> +
> +       /* On job complete with non-done the cache is not flushed */
>         HW_ISSUE_6787,
> +
> +       /* Write of PRFCNT_CONFIG_MODE_MANUAL to PRFCNT_CONFIG causes a
> +        * instrumentation dump if PRFCNT_TILER_EN is enabled */
>         HW_ISSUE_8186,
> +
> +       /* TIB: Reports faults from a vtile which has not yet been allocated */
>         HW_ISSUE_8245,
> +
> +       /* uTLB deadlock could occur when writing to an invalid page at the
> +        * same time as access to a valid page in the same uTLB cache line ( ==
> +        * 4 PTEs == 16K block of mapping) */
>         HW_ISSUE_8316,
> +
> +       /* HT: TERMINATE for RUN command ignored if previous LOAD_DESCRIPTOR is
> +        * still executing */
>         HW_ISSUE_8394,
> +
> +       /* CSE: Sends a TERMINATED response for a task that should not be
> +        * terminated */
>         HW_ISSUE_8401,
> +
> +       /* Repeatedly Soft-stopping a job chain consisting of (Vertex Shader,
> +        * Cache Flush, Tiler) jobs causes DATA_INVALID_FAULT on tiler job. */
>         HW_ISSUE_8408,
> +
> +       /* Disable the Pause Buffer in the LS pipe. */
>         HW_ISSUE_8443,
> +
> +       /* Change in RMUs in use causes problems related with the core's SDC */
>         HW_ISSUE_8987,
> +
> +       /* Compute endpoint has a 4-deep queue of tasks, meaning a soft stop
> +        * won't complete until all 4 tasks have completed */
>         HW_ISSUE_9435,
> +
> +       /* HT: Tiler returns TERMINATED for command that hasn't been terminated
> +        */

Inconsistent comment formatting on some of these like this.

>         HW_ISSUE_9510,
> +
> +       /* Occasionally the GPU will issue multiple page faults for the same
> +        * address before the MMU page table has been read by the GPU */
>         HW_ISSUE_9630,
> +
> +       /* RA DCD load request to SDC returns invalid load ignore causing
> +        * colour buffer mismatch */
>         HW_ISSUE_10327,
> +
> +       /* MMU TLB invalidation hazards */
>         HW_ISSUE_10649,
> +
> +       /* Missing cache flush in multi core-group configuration */
>         HW_ISSUE_10676,
> +
> +       /* Chicken bit on T72X for a hardware workaround in compiler */
>         HW_ISSUE_10797,
> +
> +       /* Soft-stopping fragment jobs might fail with TILE_RANGE_FAULT */
>         HW_ISSUE_10817,
> +
> +       /* Intermittent missing interrupt on job completion */
>         HW_ISSUE_10883,
> +
> +       /* Soft-stopping fragment jobs might fail with TILE_RANGE_ERROR
> +        * (similar to issue 10817) and can use HW_ISSUE_10817 workaround
> +        */
>         HW_ISSUE_10959,
> +
> +       /* Soft-stopped fragment shader job can restart with out-of-bound
> +        * restart index
> +        */
>         HW_ISSUE_10969,
> +
> +       /* Race condition can cause tile list corruption */
>         HW_ISSUE_11020,
> +
> +       /* Write buffer can cause tile list corruption */
>         HW_ISSUE_11024,
> +
> +       /* Pause buffer can cause a fragment job hang */
>         HW_ISSUE_11035,
> +
> +       /* TODO: Unknown */
>         HW_ISSUE_11056,
> +
> +       /* Clear encoder state for a hard stopped fragment job which is AFBC
> +        * encoded by soft resetting the GPU. Only for T76X r0p0, r0p1 and
> +        * r0p1_50rel0
> +        */
>         HW_ISSUE_T76X_3542,
> +
> +       /* Keep tiler module clock on to prevent GPU stall */
>         HW_ISSUE_T76X_3953,
> +
> +       /* TODO: Unknown */

This is Bifrost errata which is newer and I'm assuming will never have
a description. Is there much point in any comment?

>         HW_ISSUE_TMIX_8463,
> +
> +       /* TODO: Unknown */
>         GPUCORE_1619,
> +
> +       /* TODO: Unknown */
>         HW_ISSUE_TMIX_8438,
> +
> +       /* TODO: Unknown */
>         HW_ISSUE_TGOX_R1_1234,
> +
>         HW_ISSUE_END
>  };
>
> --
> 2.20.1
>


More information about the dri-devel mailing list