Lines Matching refs:outp

47 	return disp->func->outp.internal.crt(base, index, dcb, poutp);  in nv50_disp_outp_internal_crt_()
56 return disp->func->outp.internal.tmds(base, index, dcb, poutp); in nv50_disp_outp_internal_tmds_()
65 return disp->func->outp.internal.lvds(base, index, dcb, poutp); in nv50_disp_outp_internal_lvds_()
73 if (disp->func->outp.internal.dp) in nv50_disp_outp_internal_dp_()
74 return disp->func->outp.internal.dp(base, index, dcb, poutp); in nv50_disp_outp_internal_dp_()
84 if (disp->func->outp.external.tmds) in nv50_disp_outp_external_tmds_()
85 return disp->func->outp.external.tmds(base, index, dcb, poutp); in nv50_disp_outp_external_tmds_()
94 if (disp->func->outp.external.dp) in nv50_disp_outp_external_dp_()
95 return disp->func->outp.external.dp(base, index, dcb, poutp); in nv50_disp_outp_external_dp_()
133 .outp.internal.crt = nv50_disp_outp_internal_crt_,
134 .outp.internal.tmds = nv50_disp_outp_internal_tmds_,
135 .outp.internal.lvds = nv50_disp_outp_internal_lvds_,
136 .outp.internal.dp = nv50_disp_outp_internal_dp_,
137 .outp.external.tmds = nv50_disp_outp_external_tmds_,
138 .outp.external.dp = nv50_disp_outp_external_dp_,
233 struct nvkm_output *outp; in exec_lookup() local
269 list_for_each_entry(outp, &disp->base.outp, head) { in exec_lookup()
270 if ((outp->info.hasht & 0xff) == type && in exec_lookup()
271 (outp->info.hashm & mask) == mask) { in exec_lookup()
272 *data = nvbios_outp_match(bios, outp->info.hasht, in exec_lookup()
273 outp->info.hashm, in exec_lookup()
277 return outp; in exec_lookup()
290 struct nvkm_output *outp; in exec_script() local
326 outp = exec_lookup(disp, head, i, ctrl, &data, &ver, &hdr, &cnt, &len, &info); in exec_script()
327 if (outp) { in exec_script()
332 .outp = &outp->info, in exec_script()
340 return outp; in exec_script()
349 struct nvkm_output *outp; in exec_clkcmp() local
386 outp = exec_lookup(disp, head, i, ctrl, &data, &ver, &hdr, &cnt, &len, &info1); in exec_clkcmp()
387 if (!outp) in exec_clkcmp()
390 if (outp->info.location == 0) { in exec_clkcmp()
391 switch (outp->info.type) { in exec_clkcmp()
421 .outp = &outp->info, in exec_clkcmp()
430 return outp; in exec_clkcmp()
443 struct nvkm_output *outp = exec_script(disp, head, 2); in nv50_disp_intr_unk20_0() local
458 if (outp && outp->info.type == DCB_OUTPUT_DP) { in nv50_disp_intr_unk20_0()
459 struct nvkm_output_dp *outpdp = nvkm_output_dp(outp); in nv50_disp_intr_unk20_0()
463 .outp = &outp->info, in nv50_disp_intr_unk20_0()
486 struct dcb_output *outp, u32 pclk) in nv50_disp_intr_unk20_2_dp() argument
490 const int link = !(outp->sorconf.link & 1); in nv50_disp_intr_unk20_2_dp()
491 const int or = ffs(outp->or) - 1; in nv50_disp_intr_unk20_2_dp()
609 struct nvkm_output *outp; in nv50_disp_intr_unk20_2() local
615 outp = exec_clkcmp(disp, head, 0xff, pclk, &conf); in nv50_disp_intr_unk20_2()
616 if (!outp) in nv50_disp_intr_unk20_2()
637 if (outp->info.type == DCB_OUTPUT_DP) { in nv50_disp_intr_unk20_2()
638 u32 soff = (ffs(outp->info.or) - 1) * 0x08; in nv50_disp_intr_unk20_2()
641 if (outp->info.location == 0) { in nv50_disp_intr_unk20_2()
658 if (nvkm_output_dp_train(outp, datarate / soff, true)) in nv50_disp_intr_unk20_2()
659 OUTP_ERR(outp, "link not trained before attach"); in nv50_disp_intr_unk20_2()
664 if (!outp->info.location && outp->info.type == DCB_OUTPUT_ANALOG) { in nv50_disp_intr_unk20_2()
665 oreg = 0x614280 + (ffs(outp->info.or) - 1) * 0x800; in nv50_disp_intr_unk20_2()
670 if (!outp->info.location) { in nv50_disp_intr_unk20_2()
671 if (outp->info.type == DCB_OUTPUT_DP) in nv50_disp_intr_unk20_2()
672 nv50_disp_intr_unk20_2_dp(disp, head, &outp->info, pclk); in nv50_disp_intr_unk20_2()
673 oreg = 0x614300 + (ffs(outp->info.or) - 1) * 0x800; in nv50_disp_intr_unk20_2()
678 oreg = 0x614380 + (ffs(outp->info.or) - 1) * 0x800; in nv50_disp_intr_unk20_2()
698 struct dcb_output *outp) in nv50_disp_intr_unk40_0_tmds() argument
702 const int link = !(outp->sorconf.link & 1); in nv50_disp_intr_unk40_0_tmds()
703 const int or = ffs(outp->or) - 1; in nv50_disp_intr_unk40_0_tmds()
705 const u16 mask = (outp->sorconf.link << 6) | outp->or; in nv50_disp_intr_unk40_0_tmds()
717 struct nvkm_output *outp; in nv50_disp_intr_unk40_0() local
721 outp = exec_clkcmp(disp, head, 1, pclk, &conf); in nv50_disp_intr_unk40_0()
722 if (!outp) in nv50_disp_intr_unk40_0()
725 if (outp->info.location == 0 && outp->info.type == DCB_OUTPUT_TMDS) in nv50_disp_intr_unk40_0()
726 nv50_disp_intr_unk40_0_tmds(disp, &outp->info); in nv50_disp_intr_unk40_0()
824 .outp.internal.crt = nv50_dac_output_new,
825 .outp.internal.tmds = nv50_sor_output_new,
826 .outp.internal.lvds = nv50_sor_output_new,
827 .outp.external.tmds = nv50_pior_output_new,
828 .outp.external.dp = nv50_pior_dp_new,