Lines Matching +full:1 +full:v0
38 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_mst_vcpi()
40 if (!ior->func->dp || !ior->func->dp->vcpi || !nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_dp_mst_vcpi()
43 ior->func->dp->vcpi(ior, args->v0.head, args->v0.start_slot, args->v0.num_slots, in nvkm_uoutp_mthd_dp_mst_vcpi()
44 args->v0.pbn, args->v0.aligned_pbn); in nvkm_uoutp_mthd_dp_mst_vcpi()
53 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_mst_id_put()
58 return outp->func->dp.mst_id_put(outp, args->v0.id); in nvkm_uoutp_mthd_dp_mst_id_put()
66 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_mst_id_get()
71 return outp->func->dp.mst_id_get(outp, &args->v0.id); in nvkm_uoutp_mthd_dp_mst_id_get()
81 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_sst()
84 if (!ior->func->dp || !nvkm_head_find(disp, args->v0.head)) in nvkm_uoutp_mthd_dp_sst()
89 return ior->func->dp->sst(ior, args->v0.head, in nvkm_uoutp_mthd_dp_sst()
91 args->v0.watermark, args->v0.hblanksym, args->v0.vblanksym); in nvkm_uoutp_mthd_dp_sst()
99 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_drive()
104 return outp->func->dp.drive(outp, args->v0.lanes, args->v0.pe, args->v0.vs); in nvkm_uoutp_mthd_dp_drive()
112 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_train()
117 if (!args->v0.retrain) { in nvkm_uoutp_mthd_dp_train()
118 memcpy(outp->dp.dpcd, args->v0.dpcd, sizeof(outp->dp.dpcd)); in nvkm_uoutp_mthd_dp_train()
119 outp->dp.lttprs = args->v0.lttprs; in nvkm_uoutp_mthd_dp_train()
120 outp->dp.lt.nr = args->v0.link_nr; in nvkm_uoutp_mthd_dp_train()
121 outp->dp.lt.bw = args->v0.link_bw / 27000; in nvkm_uoutp_mthd_dp_train()
122 outp->dp.lt.mst = args->v0.mst; in nvkm_uoutp_mthd_dp_train()
123 outp->dp.lt.post_adj = args->v0.post_lt_adj; in nvkm_uoutp_mthd_dp_train()
126 return outp->func->dp.train(outp, args->v0.retrain); in nvkm_uoutp_mthd_dp_train()
134 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_rates()
136 if (args->v0.rates > ARRAY_SIZE(outp->dp.rate)) in nvkm_uoutp_mthd_dp_rates()
139 for (int i = 0; i < args->v0.rates; i++) { in nvkm_uoutp_mthd_dp_rates()
140 outp->dp.rate[i].dpcd = args->v0.rate[i].dpcd; in nvkm_uoutp_mthd_dp_rates()
141 outp->dp.rate[i].rate = args->v0.rate[i].rate; in nvkm_uoutp_mthd_dp_rates()
144 outp->dp.rates = args->v0.rates; in nvkm_uoutp_mthd_dp_rates()
157 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_aux_xfer()
162 return outp->func->dp.aux_xfer(outp, args->v0.type, args->v0.addr, in nvkm_uoutp_mthd_dp_aux_xfer()
163 args->v0.data, &args->v0.size); in nvkm_uoutp_mthd_dp_aux_xfer()
171 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_aux_pwr()
176 return outp->func->dp.aux_pwr(outp, !!args->v0.state); in nvkm_uoutp_mthd_dp_aux_pwr()
185 if (argc < sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_hda_eld()
187 argc -= sizeof(args->v0); in nvkm_uoutp_mthd_hda_eld()
189 if (!ior->hda || !nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_hda_eld()
194 if (argc && args->v0.data[0]) { in nvkm_uoutp_mthd_hda_eld()
196 ior->func->dp->audio(ior, args->v0.head, true); in nvkm_uoutp_mthd_hda_eld()
199 ior->func->hdmi->audio(ior, args->v0.head, true); in nvkm_uoutp_mthd_hda_eld()
201 ior->func->hda->hpd(ior, args->v0.head, true); in nvkm_uoutp_mthd_hda_eld()
202 ior->func->hda->eld(ior, args->v0.head, args->v0.data, argc); in nvkm_uoutp_mthd_hda_eld()
204 ior->func->hda->hpd(ior, args->v0.head, false); in nvkm_uoutp_mthd_hda_eld()
207 ior->func->dp->audio(ior, args->v0.head, false); in nvkm_uoutp_mthd_hda_eld()
210 ior->func->hdmi->audio(ior, args->v0.head, false); in nvkm_uoutp_mthd_hda_eld()
223 if (argc < sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_infoframe()
225 if (!nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_infoframe()
228 switch (ior->func->hdmi ? args->v0.type : 0xff) { in nvkm_uoutp_mthd_infoframe()
230 ior->func->hdmi->infoframe_avi(ior, args->v0.head, &args->v0.data, size); in nvkm_uoutp_mthd_infoframe()
233 ior->func->hdmi->infoframe_vsi(ior, args->v0.head, &args->v0.data, size); in nvkm_uoutp_mthd_infoframe()
248 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_hdmi()
251 if (!(outp->asy.head = nvkm_head_find(outp->disp, args->v0.head))) in nvkm_uoutp_mthd_hdmi()
255 args->v0.max_ac_packet > 0x1f || in nvkm_uoutp_mthd_hdmi()
256 args->v0.rekey > 0x7f || in nvkm_uoutp_mthd_hdmi()
257 (args->v0.scdc && !ior->func->hdmi->scdc)) in nvkm_uoutp_mthd_hdmi()
260 if (!args->v0.enable) { in nvkm_uoutp_mthd_hdmi()
261 ior->func->hdmi->infoframe_avi(ior, args->v0.head, NULL, 0); in nvkm_uoutp_mthd_hdmi()
262 ior->func->hdmi->infoframe_vsi(ior, args->v0.head, NULL, 0); in nvkm_uoutp_mthd_hdmi()
263 ior->func->hdmi->ctrl(ior, args->v0.head, false, 0, 0); in nvkm_uoutp_mthd_hdmi()
267 ior->func->hdmi->ctrl(ior, args->v0.head, args->v0.enable, in nvkm_uoutp_mthd_hdmi()
268 args->v0.max_ac_packet, args->v0.rekey); in nvkm_uoutp_mthd_hdmi()
270 ior->func->hdmi->scdc(ior, args->v0.khz, args->v0.scdc, args->v0.scdc_scrambling, in nvkm_uoutp_mthd_hdmi()
271 args->v0.scdc_low_rates); in nvkm_uoutp_mthd_hdmi()
281 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_lvds()
286 outp->lvds.dual = !!args->v0.dual; in nvkm_uoutp_mthd_lvds()
287 outp->lvds.bpc8 = !!args->v0.bpc8; in nvkm_uoutp_mthd_lvds()
297 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_bl_set()
301 ret = outp->func->bl.set(outp, args->v0.level); in nvkm_uoutp_mthd_bl_set()
314 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_bl_get()
320 args->v0.level = ret; in nvkm_uoutp_mthd_bl_get()
350 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_acquire()
352 if (outp->ior && args->v0.type <= NVIF_OUTP_ACQUIRE_V0_PIOR) in nvkm_uoutp_mthd_acquire()
355 switch (args->v0.type) { in nvkm_uoutp_mthd_acquire()
361 ret = outp->func->acquire(outp, args->v0.sor.hda); in nvkm_uoutp_mthd_acquire()
371 args->v0.or = outp->ior->id; in nvkm_uoutp_mthd_acquire()
372 args->v0.link = outp->ior->asy.link; in nvkm_uoutp_mthd_acquire()
383 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_inherit()
395 switch (args->v0.proto) { in nvkm_uoutp_mthd_inherit()
431 args->v0.or = ior->id; in nvkm_uoutp_mthd_inherit()
432 args->v0.link = ior->arm.link; in nvkm_uoutp_mthd_inherit()
433 args->v0.head = ffs(ior->arm.head) - 1; in nvkm_uoutp_mthd_inherit()
434 args->v0.proto = ior->arm.proto_evo; in nvkm_uoutp_mthd_inherit()
445 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_load_detect()
451 ret = outp->ior->func->sense(outp->ior, args->v0.data); in nvkm_uoutp_mthd_load_detect()
452 args->v0.load = ret < 0 ? 0 : ret; in nvkm_uoutp_mthd_load_detect()
467 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_edid_get()
472 args->v0.size = ARRAY_SIZE(args->v0.data); in nvkm_uoutp_mthd_edid_get()
473 return outp->func->edid_get(outp, args->v0.data, &args->v0.size); in nvkm_uoutp_mthd_edid_get()
482 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_detect()
489 case 0: args->v0.status = NVIF_OUTP_DETECT_V0_NOT_PRESENT; break; in nvkm_uoutp_mthd_detect()
490 case 1: args->v0.status = NVIF_OUTP_DETECT_V0_PRESENT; break; in nvkm_uoutp_mthd_detect()
492 args->v0.status = NVIF_OUTP_DETECT_V0_UNKNOWN; in nvkm_uoutp_mthd_detect()
593 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_new()
597 if (outt->index == args->v0.id) { in nvkm_uoutp_new()
611 args->v0.type = NVIF_OUTP_V0_TYPE_DAC; in nvkm_uoutp_new()
612 args->v0.proto = NVIF_OUTP_V0_PROTO_RGB_CRT; in nvkm_uoutp_new()
613 args->v0.rgb_crt.freq_max = outp->info.crtconf.maxfreq; in nvkm_uoutp_new()
617 args->v0.type = NVIF_OUTP_V0_TYPE_SOR; in nvkm_uoutp_new()
618 args->v0.tmds.dual = (outp->info.tmdsconf.sor.link == 3); in nvkm_uoutp_new()
620 args->v0.type = NVIF_OUTP_V0_TYPE_PIOR; in nvkm_uoutp_new()
621 args->v0.tmds.dual = 0; in nvkm_uoutp_new()
623 args->v0.proto = NVIF_OUTP_V0_PROTO_TMDS; in nvkm_uoutp_new()
626 args->v0.type = NVIF_OUTP_V0_TYPE_SOR; in nvkm_uoutp_new()
627 args->v0.proto = NVIF_OUTP_V0_PROTO_LVDS; in nvkm_uoutp_new()
628 args->v0.lvds.acpi_edid = outp->info.lvdsconf.use_acpi_for_edid; in nvkm_uoutp_new()
632 args->v0.type = NVIF_OUTP_V0_TYPE_SOR; in nvkm_uoutp_new()
633 args->v0.dp.aux = outp->info.i2c_index; in nvkm_uoutp_new()
635 args->v0.type = NVIF_OUTP_V0_TYPE_PIOR; in nvkm_uoutp_new()
636 args->v0.dp.aux = NVKM_I2C_AUX_EXT(outp->info.extdev); in nvkm_uoutp_new()
638 args->v0.proto = NVIF_OUTP_V0_PROTO_DP; in nvkm_uoutp_new()
639 args->v0.dp.mst = outp->dp.mst; in nvkm_uoutp_new()
640 args->v0.dp.increased_wm = outp->dp.increased_wm; in nvkm_uoutp_new()
641 args->v0.dp.link_nr = outp->info.dpconf.link_nr; in nvkm_uoutp_new()
642 args->v0.dp.link_bw = outp->info.dpconf.link_bw * 27000; in nvkm_uoutp_new()
645 WARN_ON(1); in nvkm_uoutp_new()
651 args->v0.ddc = NVKM_I2C_BUS_EXT(outp->info.extdev); in nvkm_uoutp_new()
653 args->v0.ddc = outp->info.i2c_index; in nvkm_uoutp_new()
654 args->v0.heads = outp->info.heads; in nvkm_uoutp_new()
655 args->v0.conn = outp->info.connector; in nvkm_uoutp_new()