drivers/gpu/drm/etnaviv/cmdstream.xml.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/etnaviv/cmdstream.xml.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/etnaviv/cmdstream.xml.h
Extension
.h
Size
15348 bytes
Lines
315
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 CMDSTREAM_XML
#define CMDSTREAM_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
http://0x04.net/cgit/index.cgi/rules-ng-ng
git clone git://0x04.net/rules-ng-ng

The rules-ng-ng source files this header was generated from are:
- cmdstream.xml (  16933 bytes, from 2023-12-11 15:50:17)
- copyright.xml (   1597 bytes, from 2016-11-10 13:58:32)
- common.xml    (  35664 bytes, from 2023-12-06 10:55:32)

Copyright (C) 2012-2023 by the following authors:
- Wladimir J. van der Laan <laanwj@gmail.com>
- Christian Gmeiner <christian.gmeiner@gmail.com>
- Lucas Stach <l.stach@pengutronix.de>
- Russell King <rmk@arm.linux.org.uk>

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sub license,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial portions
of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/


#define FE_OPCODE_LOAD_STATE					0x00000001
#define FE_OPCODE_END						0x00000002
#define FE_OPCODE_NOP						0x00000003
#define FE_OPCODE_DRAW_2D					0x00000004
#define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
#define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
#define FE_OPCODE_WAIT						0x00000007
#define FE_OPCODE_LINK						0x00000008
#define FE_OPCODE_STALL						0x00000009
#define FE_OPCODE_CALL						0x0000000a
#define FE_OPCODE_RETURN					0x0000000b
#define FE_OPCODE_DRAW_INSTANCED				0x0000000c
#define FE_OPCODE_CHIP_SELECT					0x0000000d
#define FE_OPCODE_WAIT_FENCE					0x0000000f
#define FE_OPCODE_DRAW_INDIRECT					0x00000010
#define FE_OPCODE_SNAP_PAGES					0x00000013
#define PRIMITIVE_TYPE_POINTS					0x00000001
#define PRIMITIVE_TYPE_LINES					0x00000002
#define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
#define PRIMITIVE_TYPE_TRIANGLES				0x00000004
#define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
#define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
#define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
#define PRIMITIVE_TYPE_QUADS					0x00000008
#define VIV_FE_LOAD_STATE					0x00000000

#define VIV_FE_LOAD_STATE_HEADER				0x00000000
#define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
#define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
#define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
#define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
#define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
#define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
#define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
#define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
#define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
#define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2

#define VIV_FE_END						0x00000000

#define VIV_FE_END_HEADER					0x00000000
#define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
#define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
#define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
#define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
#define VIV_FE_END_HEADER_OP__MASK				0xf8000000
#define VIV_FE_END_HEADER_OP__SHIFT				27
#define VIV_FE_END_HEADER_OP_END				0x10000000

Annotation

Implementation Notes