drivers/gpu/drm/amd/include/displayobject.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/include/displayobject.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/include/displayobject.h
Extension
.h
Size
12043 bytes
Lines
250
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 _DISPLAY_OBJECT_SOC15_H_
#define _DISPLAY_OBJECT_SOC15_H_

#if defined(_X86_)
#pragma pack(1)
#endif


/****************************************************
* Display Object Type Definition 
*****************************************************/
enum display_object_type{
DISPLAY_OBJECT_TYPE_NONE						=0x00,
DISPLAY_OBJECT_TYPE_GPU							=0x01,
DISPLAY_OBJECT_TYPE_ENCODER						=0x02,
DISPLAY_OBJECT_TYPE_CONNECTOR					=0x03
};

/****************************************************
* Encorder Object Type Definition 
*****************************************************/
enum encoder_object_type{
ENCODER_OBJECT_ID_NONE							 =0x00,
ENCODER_OBJECT_ID_INTERNAL_UNIPHY				 =0x01,
ENCODER_OBJECT_ID_INTERNAL_UNIPHY1				 =0x02,
ENCODER_OBJECT_ID_INTERNAL_UNIPHY2				 =0x03,
};


/****************************************************
* Connector Object ID Definition 
*****************************************************/

enum connector_object_type{
CONNECTOR_OBJECT_ID_NONE						  =0x00, 
CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_D			  =0x01,
CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_D				  =0x02,
CONNECTOR_OBJECT_ID_HDMI_TYPE_A					  =0x03,
CONNECTOR_OBJECT_ID_LVDS						  =0x04,
CONNECTOR_OBJECT_ID_DISPLAYPORT					  =0x05,
CONNECTOR_OBJECT_ID_eDP							  =0x06,
CONNECTOR_OBJECT_ID_OPM							  =0x07
};


/****************************************************
* Protection Object ID Definition 
*****************************************************/
//No need

/****************************************************
*  Object ENUM ID Definition 
*****************************************************/

enum object_enum_id{
OBJECT_ENUM_ID1									  =0x01,
OBJECT_ENUM_ID2									  =0x02,
OBJECT_ENUM_ID3									  =0x03,
OBJECT_ENUM_ID4									  =0x04,
OBJECT_ENUM_ID5									  =0x05,
OBJECT_ENUM_ID6									  =0x06
};

/****************************************************
*Object ID Bit definition 
*****************************************************/
enum object_id_bit{
OBJECT_ID_MASK									  =0x00FF,
ENUM_ID_MASK									  =0x0F00,
OBJECT_TYPE_MASK								  =0xF000,
OBJECT_ID_SHIFT									  =0x00,
ENUM_ID_SHIFT									  =0x08,
OBJECT_TYPE_SHIFT								  =0x0C
};


/****************************************************
* GPU Object definition - Shared with BIOS
*****************************************************/
enum gpu_objet_def{
GPU_ENUM_ID1                            =( DISPLAY_OBJECT_TYPE_GPU << OBJECT_TYPE_SHIFT | OBJECT_ENUM_ID1 << ENUM_ID_SHIFT)
};

/****************************************************
* Encoder Object definition - Shared with BIOS
*****************************************************/

enum encoder_objet_def{
ENCODER_INTERNAL_UNIPHY_ENUM_ID1         =( DISPLAY_OBJECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\

Annotation

Implementation Notes