drivers/gpu/drm/panfrost/panfrost_issues.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/panfrost/panfrost_issues.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/panfrost/panfrost_issues.h
Extension
.h
Size
7346 bytes
Lines
275
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __PANFROST_ISSUES_H__
#define __PANFROST_ISSUES_H__

#include <linux/bitops.h>

#include "panfrost_device.h"

/*
 * This is not a complete list of issues, but only the ones the driver needs
 * to care about.
 */
enum panfrost_hw_issue {
	/* Need way to guarantee that all previously-translated memory accesses
	 * are committed */
	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 non-terminated command */
	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 #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,

Annotation

Implementation Notes