Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
/* SPDX-License-Identifier: MIT */ #ifndef __NVIF_IF0012_H__ #define __NVIF_IF0012_H__ union nvif_outp_args { struct nvif_outp_v0 { __u8 version; __u8 id; /* DCB device index. */ __u8 pad02[6]; } v0; }; #define NVIF_OUTP_V0_LOAD_DETECT 0x00 #define NVIF_OUTP_V0_ACQUIRE 0x01 #define NVIF_OUTP_V0_RELEASE 0x02 #define NVIF_OUTP_V0_INFOFRAME 0x03 #define NVIF_OUTP_V0_HDA_ELD 0x04 #define NVIF_OUTP_V0_DP_AUX_PWR 0x05 #define NVIF_OUTP_V0_DP_RETRAIN 0x06 #define NVIF_OUTP_V0_DP_MST_VCPI 0x07 union nvif_outp_load_detect_args { struct nvif_outp_load_detect_v0 { __u8 version; __u8 load; __u8 pad02[2]; __u32 data; /*TODO: move vbios loadval parsing into nvkm */ } v0; }; union nvif_outp_acquire_args { struct nvif_outp_acquire_v0 { __u8 version; #define NVIF_OUTP_ACQUIRE_V0_RGB_CRT 0x00 #define NVIF_OUTP_ACQUIRE_V0_TV 0x01 #define NVIF_OUTP_ACQUIRE_V0_TMDS 0x02 #define NVIF_OUTP_ACQUIRE_V0_LVDS 0x03 #define NVIF_OUTP_ACQUIRE_V0_DP 0x04 __u8 proto; __u8 or; __u8 link; __u8 pad04[4]; union { struct { __u8 head; __u8 hdmi; __u8 hdmi_max_ac_packet; __u8 hdmi_rekey; #define NVIF_OUTP_ACQUIRE_V0_TMDS_HDMI_SCDC_SCRAMBLE (1 << 0) #define NVIF_OUTP_ACQUIRE_V0_TMDS_HDMI_SCDC_DIV_BY_4 (1 << 1) __u8 hdmi_scdc; __u8 hdmi_hda; __u8 pad06[2]; } tmds; struct { __u8 dual; __u8 bpc8; __u8 pad02[6]; } lvds; struct { __u8 link_nr; /* 0 = highest possible. */ __u8 link_bw; /* 0 = highest possible, DP BW code otherwise. */ __u8 hda; __u8 mst; __u8 pad04[4]; __u8 dpcd[16]; } dp; }; } v0; }; union nvif_outp_release_args { struct nvif_outp_release_vn { } vn; }; union nvif_outp_infoframe_args { struct nvif_outp_infoframe_v0 { __u8 version; #define NVIF_OUTP_INFOFRAME_V0_AVI 0 #define NVIF_OUTP_INFOFRAME_V0_VSI 1 __u8 type; __u8 head; __u8 pad03[5]; __u8 data[]; } v0; }; union nvif_outp_hda_eld_args { struct nvif_outp_hda_eld_v0 { __u8 version; __u8 head; __u8 pad02[6]; __u8 data[]; } v0; }; union nvif_outp_dp_aux_pwr_args { struct nvif_outp_dp_aux_pwr_v0 { __u8 version; __u8 state; __u8 pad02[6]; } v0; }; union nvif_outp_dp_retrain_args { struct nvif_outp_dp_retrain_vn { } vn; }; union nvif_outp_dp_mst_vcpi_args { struct nvif_outp_dp_mst_vcpi_v0 { __u8 version; __u8 head; __u8 start_slot; __u8 num_slots; __u16 pbn; __u16 aligned_pbn; } v0; }; #endif