Lines Matching +full:gpa +full:- +full:1

2  * Copyright(c) 2011-2016 Intel Corporation. All rights reserved.
29 * Note: Only for GVT-g virtual VBT generation, other usage must
36 #define MBOX_VBT (1<<3)
78 u8 edidless_efp:1; /* 161 */
79 u8 compression_enable:1; /* 198 */
80 u8 compression_method:1; /* 198 */
81 u8 ganged_edp:1; /* 202 */
88 u8 i2c_pin; /* for add-in card */
89 u8 slave_addr; /* for add-in card */
93 u8 efp_docked_port:1; /* 158 */
94 u8 lane_reversal:1; /* 184 */
95 u8 onboard_lspcon:1; /* 192 */
96 u8 iboost_enable:1; /* 196 */
97 u8 hpd_invert:1; /* BXT 196 */
99 u8 hdmi_compat:1;
100 u8 dp_compat:1;
101 u8 tmds_compat:1;
106 u8 sdvo_stall:1; /* 158 */
108 u8 integrated_encoder:1;
117 /* header->bdb_offset point to bdb_header offset */
142 v->header.signature[0] = '$'; in virt_vbt_generation()
143 v->header.signature[1] = 'V'; in virt_vbt_generation()
144 v->header.signature[2] = 'B'; in virt_vbt_generation()
145 v->header.signature[3] = 'T'; in virt_vbt_generation()
148 v->header.version = 155; in virt_vbt_generation()
149 v->header.header_size = sizeof(v->header); in virt_vbt_generation()
150 v->header.vbt_size = sizeof(struct vbt); in virt_vbt_generation()
151 v->header.bdb_offset = offsetof(struct vbt, bdb_header); in virt_vbt_generation()
153 strcpy(&v->bdb_header.signature[0], "BIOS_DATA_BLOCK"); in virt_vbt_generation()
154 v->bdb_header.version = 186; /* child_dev_size = 33 */ in virt_vbt_generation()
155 v->bdb_header.header_size = sizeof(v->bdb_header); in virt_vbt_generation()
157 v->bdb_header.bdb_size = sizeof(struct vbt) - sizeof(struct vbt_header); in virt_vbt_generation()
160 v->general_features_header.id = BDB_GENERAL_FEATURES; in virt_vbt_generation()
161 v->general_features_header.size = sizeof(struct bdb_general_features); in virt_vbt_generation()
162 v->general_features.int_crt_support = 0; in virt_vbt_generation()
163 v->general_features.int_tv_support = 0; in virt_vbt_generation()
167 v->general_definitions.child_dev_size = in virt_vbt_generation()
169 v->general_definitions_header.id = BDB_GENERAL_DEFINITIONS; in virt_vbt_generation()
171 v->general_definitions_header.size = in virt_vbt_generation()
173 num_child * v->general_definitions.child_dev_size; in virt_vbt_generation()
176 v->child0.handle = DEVICE_TYPE_EFP1; in virt_vbt_generation()
177 v->child0.device_type = DEVICE_TYPE_DP; in virt_vbt_generation()
178 v->child0.dvo_port = DVO_PORT_DPA; in virt_vbt_generation()
179 v->child0.aux_channel = DP_AUX_A; in virt_vbt_generation()
180 v->child0.dp_compat = true; in virt_vbt_generation()
181 v->child0.integrated_encoder = true; in virt_vbt_generation()
184 v->child1.handle = DEVICE_TYPE_EFP2; in virt_vbt_generation()
185 v->child1.device_type = DEVICE_TYPE_DP; in virt_vbt_generation()
186 v->child1.dvo_port = DVO_PORT_DPB; in virt_vbt_generation()
187 v->child1.aux_channel = DP_AUX_B; in virt_vbt_generation()
188 v->child1.dp_compat = true; in virt_vbt_generation()
189 v->child1.integrated_encoder = true; in virt_vbt_generation()
192 v->child2.handle = DEVICE_TYPE_EFP3; in virt_vbt_generation()
193 v->child2.device_type = DEVICE_TYPE_DP; in virt_vbt_generation()
194 v->child2.dvo_port = DVO_PORT_DPC; in virt_vbt_generation()
195 v->child2.aux_channel = DP_AUX_C; in virt_vbt_generation()
196 v->child2.dp_compat = true; in virt_vbt_generation()
197 v->child2.integrated_encoder = true; in virt_vbt_generation()
200 v->child3.handle = DEVICE_TYPE_EFP4; in virt_vbt_generation()
201 v->child3.device_type = DEVICE_TYPE_DP; in virt_vbt_generation()
202 v->child3.dvo_port = DVO_PORT_DPD; in virt_vbt_generation()
203 v->child3.aux_channel = DP_AUX_D; in virt_vbt_generation()
204 v->child3.dp_compat = true; in virt_vbt_generation()
205 v->child3.integrated_encoder = true; in virt_vbt_generation()
208 v->driver_features_header.id = BDB_DRIVER_FEATURES; in virt_vbt_generation()
209 v->driver_features_header.size = sizeof(struct bdb_driver_features); in virt_vbt_generation()
210 v->driver_features.lvds_config = BDB_DRIVER_FEATURE_NO_LVDS; in virt_vbt_generation()
214 * intel_vgpu_init_opregion - initialize the stuff used to emulate opregion
227 gvt_dbg_core("init vgpu%d opregion\n", vgpu->id); in intel_vgpu_init_opregion()
228 vgpu_opregion(vgpu)->va = (void *)__get_free_pages(GFP_KERNEL | in intel_vgpu_init_opregion()
231 if (!vgpu_opregion(vgpu)->va) { in intel_vgpu_init_opregion()
233 return -ENOMEM; in intel_vgpu_init_opregion()
237 buf = (u8 *)vgpu_opregion(vgpu)->va; in intel_vgpu_init_opregion()
239 memcpy(header->signature, opregion_signature, in intel_vgpu_init_opregion()
241 header->size = 0x8; in intel_vgpu_init_opregion()
242 header->opregion_ver = 0x02000000; in intel_vgpu_init_opregion()
243 header->mboxes = MBOX_VBT; in intel_vgpu_init_opregion()
259 * intel_vgpu_opregion_base_write_handler - Opregion base register write handler
262 * @gpa: guest physical address of opregion
267 int intel_vgpu_opregion_base_write_handler(struct intel_vgpu *vgpu, u32 gpa) in intel_vgpu_opregion_base_write_handler() argument
275 vgpu_opregion(vgpu)->gfn[i] = (gpa >> PAGE_SHIFT) + i; in intel_vgpu_opregion_base_write_handler()
280 * intel_vgpu_clean_opregion - clean the stuff used to emulate opregion
286 gvt_dbg_core("vgpu%d: clean vgpu opregion\n", vgpu->id); in intel_vgpu_clean_opregion()
288 if (!vgpu_opregion(vgpu)->va) in intel_vgpu_clean_opregion()
292 free_pages((unsigned long)vgpu_opregion(vgpu)->va, in intel_vgpu_clean_opregion()
295 vgpu_opregion(vgpu)->va = NULL; in intel_vgpu_clean_opregion()
351 case 1: in opregion_subfunc_name()
365 name = "TV-Standard/Video-Connector"; in opregion_subfunc_name()
406 * intel_vgpu_emulate_opregion_request - emulating OpRegion request
420 scic_pa = (vgpu_opregion(vgpu)->gfn[0] << PAGE_SHIFT) + in intel_vgpu_emulate_opregion_request()
422 parm_pa = (vgpu_opregion(vgpu)->gfn[0] << PAGE_SHIFT) + in intel_vgpu_emulate_opregion_request()
426 gvt_vgpu_err("guest opregion read error %d, gpa 0x%llx, len %lu\n", in intel_vgpu_emulate_opregion_request()
433 gvt_vgpu_err("guest opregion read error %d, gpa 0x%llx, len %lu\n", in intel_vgpu_emulate_opregion_request()
442 /* ignore non 0->1 trasitions */ in intel_vgpu_emulate_opregion_request()
470 gvt_vgpu_err("guest opregion write error %d, gpa 0x%llx, len %lu\n", in intel_vgpu_emulate_opregion_request()
477 gvt_vgpu_err("guest opregion write error %d, gpa 0x%llx, len %lu\n", in intel_vgpu_emulate_opregion_request()