Lines Matching refs:outp

31 nvkm_uoutp_mthd_dp_mst_vcpi(struct nvkm_outp *outp, void *argv, u32 argc)  in nvkm_uoutp_mthd_dp_mst_vcpi()  argument
33 struct nvkm_ior *ior = outp->ior; in nvkm_uoutp_mthd_dp_mst_vcpi()
38 if (!ior->func->dp || !ior->func->dp->vcpi || !nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_dp_mst_vcpi()
47 nvkm_uoutp_mthd_dp_retrain(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_dp_retrain() argument
54 if (!atomic_read(&outp->dp.lt.done)) in nvkm_uoutp_mthd_dp_retrain()
57 return outp->func->acquire(outp); in nvkm_uoutp_mthd_dp_retrain()
61 nvkm_uoutp_mthd_dp_aux_pwr(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_dp_aux_pwr() argument
68 outp->dp.enabled = !!args->v0.state; in nvkm_uoutp_mthd_dp_aux_pwr()
69 nvkm_dp_enable(outp, outp->dp.enabled); in nvkm_uoutp_mthd_dp_aux_pwr()
74 nvkm_uoutp_mthd_hda_eld(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_hda_eld() argument
76 struct nvkm_ior *ior = outp->ior; in nvkm_uoutp_mthd_hda_eld()
83 if (!ior->hda || !nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_hda_eld()
89 if (outp->info.type == DCB_OUTPUT_DP) in nvkm_uoutp_mthd_hda_eld()
94 if (outp->info.type == DCB_OUTPUT_DP) in nvkm_uoutp_mthd_hda_eld()
103 nvkm_uoutp_mthd_infoframe(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_infoframe() argument
105 struct nvkm_ior *ior = outp->ior; in nvkm_uoutp_mthd_infoframe()
111 if (!nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_infoframe()
129 nvkm_uoutp_mthd_release(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_release() argument
131 struct nvkm_head *head = outp->asy.head; in nvkm_uoutp_mthd_release()
132 struct nvkm_ior *ior = outp->ior; in nvkm_uoutp_mthd_release()
144 nvkm_outp_release(outp, NVKM_OUTP_USER); in nvkm_uoutp_mthd_release()
149 nvkm_uoutp_mthd_acquire_dp(struct nvkm_outp *outp, u8 dpcd[16], in nvkm_uoutp_mthd_acquire_dp() argument
154 ret = nvkm_outp_acquire(outp, NVKM_OUTP_USER, hda); in nvkm_uoutp_mthd_acquire_dp()
158 memcpy(outp->dp.dpcd, dpcd, sizeof(outp->dp.dpcd)); in nvkm_uoutp_mthd_acquire_dp()
159 outp->dp.lt.nr = link_nr; in nvkm_uoutp_mthd_acquire_dp()
160 outp->dp.lt.bw = link_bw; in nvkm_uoutp_mthd_acquire_dp()
161 outp->dp.lt.mst = mst; in nvkm_uoutp_mthd_acquire_dp()
166 nvkm_uoutp_mthd_acquire_tmds(struct nvkm_outp *outp, u8 head, u8 hdmi, u8 hdmi_max_ac_packet, in nvkm_uoutp_mthd_acquire_tmds() argument
172 if (!(outp->asy.head = nvkm_head_find(outp->disp, head))) in nvkm_uoutp_mthd_acquire_tmds()
175 ret = nvkm_outp_acquire(outp, NVKM_OUTP_USER, hdmi && hdmi_hda); in nvkm_uoutp_mthd_acquire_tmds()
179 ior = outp->ior; in nvkm_uoutp_mthd_acquire_tmds()
185 nvkm_outp_release(outp, NVKM_OUTP_USER); in nvkm_uoutp_mthd_acquire_tmds()
198 nvkm_uoutp_mthd_acquire_lvds(struct nvkm_outp *outp, bool dual, bool bpc8) in nvkm_uoutp_mthd_acquire_lvds() argument
200 if (outp->info.type != DCB_OUTPUT_LVDS) in nvkm_uoutp_mthd_acquire_lvds()
203 outp->lvds.dual = dual; in nvkm_uoutp_mthd_acquire_lvds()
204 outp->lvds.bpc8 = bpc8; in nvkm_uoutp_mthd_acquire_lvds()
206 return nvkm_outp_acquire(outp, NVKM_OUTP_USER, false); in nvkm_uoutp_mthd_acquire_lvds()
210 nvkm_uoutp_mthd_acquire(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_acquire() argument
217 if (outp->ior) in nvkm_uoutp_mthd_acquire()
222 ret = nvkm_outp_acquire(outp, NVKM_OUTP_USER, false); in nvkm_uoutp_mthd_acquire()
225 ret = nvkm_uoutp_mthd_acquire_tmds(outp, args->v0.tmds.head, in nvkm_uoutp_mthd_acquire()
233 ret = nvkm_uoutp_mthd_acquire_lvds(outp, args->v0.lvds.dual, args->v0.lvds.bpc8); in nvkm_uoutp_mthd_acquire()
236 ret = nvkm_uoutp_mthd_acquire_dp(outp, args->v0.dp.dpcd, in nvkm_uoutp_mthd_acquire()
250 args->v0.or = outp->ior->id; in nvkm_uoutp_mthd_acquire()
251 args->v0.link = outp->ior->asy.link; in nvkm_uoutp_mthd_acquire()
256 nvkm_uoutp_mthd_load_detect(struct nvkm_outp *outp, void *argv, u32 argc) in nvkm_uoutp_mthd_load_detect() argument
264 ret = nvkm_outp_acquire(outp, NVKM_OUTP_PRIV, false); in nvkm_uoutp_mthd_load_detect()
266 if (outp->ior->func->sense) { in nvkm_uoutp_mthd_load_detect()
267 ret = outp->ior->func->sense(outp->ior, args->v0.data); in nvkm_uoutp_mthd_load_detect()
272 nvkm_outp_release(outp, NVKM_OUTP_PRIV); in nvkm_uoutp_mthd_load_detect()
279 nvkm_uoutp_mthd_acquired(struct nvkm_outp *outp, u32 mthd, void *argv, u32 argc) in nvkm_uoutp_mthd_acquired() argument
282 case NVIF_OUTP_V0_RELEASE : return nvkm_uoutp_mthd_release (outp, argv, argc); in nvkm_uoutp_mthd_acquired()
283 case NVIF_OUTP_V0_INFOFRAME : return nvkm_uoutp_mthd_infoframe (outp, argv, argc); in nvkm_uoutp_mthd_acquired()
284 case NVIF_OUTP_V0_HDA_ELD : return nvkm_uoutp_mthd_hda_eld (outp, argv, argc); in nvkm_uoutp_mthd_acquired()
285 case NVIF_OUTP_V0_DP_RETRAIN : return nvkm_uoutp_mthd_dp_retrain (outp, argv, argc); in nvkm_uoutp_mthd_acquired()
286 case NVIF_OUTP_V0_DP_MST_VCPI: return nvkm_uoutp_mthd_dp_mst_vcpi(outp, argv, argc); in nvkm_uoutp_mthd_acquired()
295 nvkm_uoutp_mthd_noacquire(struct nvkm_outp *outp, u32 mthd, void *argv, u32 argc) in nvkm_uoutp_mthd_noacquire() argument
298 case NVIF_OUTP_V0_LOAD_DETECT: return nvkm_uoutp_mthd_load_detect(outp, argv, argc); in nvkm_uoutp_mthd_noacquire()
299 case NVIF_OUTP_V0_ACQUIRE : return nvkm_uoutp_mthd_acquire (outp, argv, argc); in nvkm_uoutp_mthd_noacquire()
300 case NVIF_OUTP_V0_DP_AUX_PWR : return nvkm_uoutp_mthd_dp_aux_pwr (outp, argv, argc); in nvkm_uoutp_mthd_noacquire()
311 struct nvkm_outp *outp = nvkm_uoutp(object); in nvkm_uoutp_mthd() local
312 struct nvkm_disp *disp = outp->disp; in nvkm_uoutp_mthd()
317 ret = nvkm_uoutp_mthd_noacquire(outp, mthd, argv, argc); in nvkm_uoutp_mthd()
321 if (outp->ior) in nvkm_uoutp_mthd()
322 ret = nvkm_uoutp_mthd_acquired(outp, mthd, argv, argc); in nvkm_uoutp_mthd()
334 struct nvkm_outp *outp = nvkm_uoutp(object); in nvkm_uoutp_dtor() local
335 struct nvkm_disp *disp = outp->disp; in nvkm_uoutp_dtor()
338 outp->object.func = NULL; in nvkm_uoutp_dtor()
353 struct nvkm_outp *outt, *outp = NULL; in nvkm_uoutp_new() local
362 outp = outt; in nvkm_uoutp_new()
367 if (!outp) in nvkm_uoutp_new()
372 if (!outp->object.func) { in nvkm_uoutp_new()
373 nvkm_object_ctor(&nvkm_uoutp, oclass, &outp->object); in nvkm_uoutp_new()
374 *pobject = &outp->object; in nvkm_uoutp_new()