Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/imagination/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  pvr_rogue_fwif_stream.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
/* Copyright (c) 2023 Imagination Technologies Ltd. */

#ifndef PVR_ROGUE_FWIF_STREAM_H
#define PVR_ROGUE_FWIF_STREAM_H

/**
 * DOC: Streams
 *
 * Commands are submitted to the kernel driver in the form of streams.
 *
 * A command stream has the following layout :
 *  - A 64-bit header containing:
 *    * A u32 containing the length of the main stream inclusive of the length of the header.
 *    * A u32 for padding.
 *  - The main stream data.
 *  - The extension stream (optional), which is composed of:
 *    * One or more headers.
 *    * The extension stream data, corresponding to the extension headers.
 *
 * The main stream provides the base command data. This has a fixed layout based on the features
 * supported by a given GPU.
 *
 * The extension stream provides the command parameters that are required for BRNs & ERNs for the
 * current GPU. This stream is comprised of one or more headers, followed by data for each given
 * BRN/ERN.
 *
 * Each header is a u32 containing a bitmask of quirks & enhancements in the extension stream, a
 * "type" field determining the set of quirks & enhancements the bitmask represents, and a
 * continuation bit determining whether any more headers are present. The headers are then followed
 * by command data; this is specific to each quirk/enhancement. All unused / reserved bits in the
 * header must be set to 0.
 *
 * All parameters and headers in the main and extension streams must be naturally aligned.
 *
 * If a parameter appears in both the main and extension streams, then the extension parameter is
 * used.
 */


/*
 * Stream extension header definition
 */

#define PVR_STREAM_EXTHDR_TYPE_SHIFT 29U
#define PVR_STREAM_EXTHDR_TYPE_MASK (7U << PVR_STREAM_EXTHDR_TYPE_SHIFT)
#define PVR_STREAM_EXTHDR_TYPE_MAX 8U
#define PVR_STREAM_EXTHDR_CONTINUATION BIT(28U)

#define PVR_STREAM_EXTHDR_DATA_MASK ~(PVR_STREAM_EXTHDR_TYPE_MASK | PVR_STREAM_EXTHDR_CONTINUATION)

/*
 * Stream extension header - Geometry 0
 */

#define PVR_STREAM_EXTHDR_TYPE_GEOM0 0U

#define PVR_STREAM_EXTHDR_GEOM0_BRN49927 BIT(0U)

#define PVR_STREAM_EXTHDR_GEOM0_VALID PVR_STREAM_EXTHDR_GEOM0_BRN49927

/*
 * Stream extension header - Fragment 0
 */

#define PVR_STREAM_EXTHDR_TYPE_FRAG0 0U

#define PVR_STREAM_EXTHDR_FRAG0_BRN47217 BIT(0U)
#define PVR_STREAM_EXTHDR_FRAG0_BRN49927 BIT(1U)

#define PVR_STREAM_EXTHDR_FRAG0_VALID PVR_STREAM_EXTHDR_FRAG0_BRN49927

/*
 * Stream extension header - Compute 0
 */

#define PVR_STREAM_EXTHDR_TYPE_COMPUTE0 0U

#define PVR_STREAM_EXTHDR_COMPUTE0_BRN49927 BIT(0U)

#define PVR_STREAM_EXTHDR_COMPUTE0_VALID PVR_STREAM_EXTHDR_COMPUTE0_BRN49927

#endif /* PVR_ROGUE_FWIF_STREAM_H */

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.