Lines Matching refs:outp

70 		OUTP_TRACE(&dp->outp, "status %6ph pc2 %02x",  in nvkm_dp_train_sense()
73 OUTP_TRACE(&dp->outp, "status %6ph", lt->stat); in nvkm_dp_train_sense()
83 struct nvkm_ior *ior = dp->outp.ior; in nvkm_dp_train_drive()
113 OUTP_TRACE(&dp->outp, "config lane %d %02x %02x", in nvkm_dp_train_drive()
116 data = nvbios_dpout_match(bios, dp->outp.info.hasht, in nvkm_dp_train_drive()
117 dp->outp.info.hashm, in nvkm_dp_train_drive()
151 OUTP_TRACE(&dp->outp, "training pattern %d", pattern); in nvkm_dp_train_pattern()
152 dp->outp.ior->func->dp.pattern(dp->outp.ior, pattern); in nvkm_dp_train_pattern()
178 for (i = 0; i < lt->dp->outp.ior->dp.nr && eq_done; i++) { in nvkm_dp_train_eq()
206 for (i = 0; i < lt->dp->outp.ior->dp.nr; i++) { in nvkm_dp_train_cr()
228 struct nvkm_ior *ior = dp->outp.ior; in nvkm_dp_train_links()
229 struct nvkm_disp *disp = dp->outp.disp; in nvkm_dp_train_links()
239 OUTP_DBG(&dp->outp, "training %d x %d MB/s", in nvkm_dp_train_links()
253 nvbios_init(&dp->outp.disp->engine.subdev, lnkcmp, in nvkm_dp_train_links()
254 init.outp = &dp->outp.info; in nvkm_dp_train_links()
273 init.outp = &dp->outp.info; in nvkm_dp_train_links()
282 OUTP_ERR(&dp->outp, "train failed with %d", ret); in nvkm_dp_train_links()
313 nvbios_init(&dp->outp.disp->engine.subdev, dp->info.script[1], in nvkm_dp_train_fini()
314 init.outp = &dp->outp.info; in nvkm_dp_train_fini()
315 init.or = dp->outp.ior->id; in nvkm_dp_train_fini()
316 init.link = dp->outp.ior->asy.link; in nvkm_dp_train_fini()
325 nvbios_init(&dp->outp.disp->engine.subdev, dp->info.script[2], in nvkm_dp_train_init()
326 init.outp = &dp->outp.info; in nvkm_dp_train_init()
327 init.or = dp->outp.ior->id; in nvkm_dp_train_init()
328 init.link = dp->outp.ior->asy.link; in nvkm_dp_train_init()
331 nvbios_init(&dp->outp.disp->engine.subdev, dp->info.script[3], in nvkm_dp_train_init()
332 init.outp = &dp->outp.info; in nvkm_dp_train_init()
333 init.or = dp->outp.ior->id; in nvkm_dp_train_init()
334 init.link = dp->outp.ior->asy.link; in nvkm_dp_train_init()
338 if (!AMPERE_IED_HACK(dp->outp.disp)) { in nvkm_dp_train_init()
340 nvbios_init(&dp->outp.disp->engine.subdev, dp->info.script[0], in nvkm_dp_train_init()
341 init.outp = &dp->outp.info; in nvkm_dp_train_init()
342 init.or = dp->outp.ior->id; in nvkm_dp_train_init()
343 init.link = dp->outp.ior->asy.link; in nvkm_dp_train_init()
368 struct nvkm_ior *ior = dp->outp.ior; in nvkm_dp_train()
371 const u8 outp_nr = dp->outp.info.dpconf.link_nr; in nvkm_dp_train()
372 const u8 outp_bw = dp->outp.info.dpconf.link_bw; in nvkm_dp_train()
415 OUTP_DBG(&dp->outp, "training (min: %d x %d MB/s)", in nvkm_dp_train()
424 OUTP_ERR(&dp->outp, "link rate unsupported by sink"); in nvkm_dp_train()
436 OUTP_ERR(&dp->outp, "training failed"); in nvkm_dp_train()
438 OUTP_DBG(&dp->outp, "training done"); in nvkm_dp_train()
444 nvkm_dp_disable(struct nvkm_outp *outp, struct nvkm_ior *ior) in nvkm_dp_disable() argument
446 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_disable()
450 init.outp = &dp->outp.info; in nvkm_dp_disable()
457 nvkm_dp_release(struct nvkm_outp *outp) in nvkm_dp_release() argument
459 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_release()
463 dp->outp.ior->dp.nr = 0; in nvkm_dp_release()
467 nvkm_dp_acquire(struct nvkm_outp *outp) in nvkm_dp_acquire() argument
469 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_acquire()
470 struct nvkm_ior *ior = dp->outp.ior; in nvkm_dp_acquire()
482 list_for_each_entry(head, &outp->disp->head, head) { in nvkm_dp_acquire()
491 OUTP_DBG(&dp->outp, "data %d KB/s link %d KB/s mst %d->%d", in nvkm_dp_acquire()
494 OUTP_DBG(&dp->outp, "link requirements changed"); in nvkm_dp_acquire()
501 OUTP_DBG(&dp->outp, in nvkm_dp_acquire()
512 OUTP_DBG(&dp->outp, in nvkm_dp_acquire()
519 OUTP_DBG(&dp->outp, "no inter-lane alignment"); in nvkm_dp_acquire()
536 OUTP_DBG(&dp->outp, "aux power -> always"); in nvkm_dp_enable()
547 OUTP_DBG(&dp->outp, "aux power -> demand"); in nvkm_dp_enable()
561 struct nvkm_conn *conn = dp->outp.conn; in nvkm_dp_hpd()
562 struct nvkm_disp *disp = dp->outp.disp; in nvkm_dp_hpd()
565 OUTP_DBG(&dp->outp, "HPD: %d", line->mask); in nvkm_dp_hpd()
568 dp->outp.func->acquire(&dp->outp); in nvkm_dp_hpd()
584 nvkm_dp_fini(struct nvkm_outp *outp) in nvkm_dp_fini() argument
586 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_fini()
592 nvkm_dp_init(struct nvkm_outp *outp) in nvkm_dp_init() argument
594 struct nvkm_gpio *gpio = outp->disp->engine.subdev.device->gpio; in nvkm_dp_init()
595 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_init()
597 nvkm_notify_put(&dp->outp.conn->hpd); in nvkm_dp_init()
603 if (dp->outp.conn->info.type == DCB_CONNECTOR_eDP) { in nvkm_dp_init()
630 nvkm_dp_dtor(struct nvkm_outp *outp) in nvkm_dp_dtor() argument
632 struct nvkm_dp *dp = nvkm_dp(outp); in nvkm_dp_dtor()
658 ret = nvkm_outp_ctor(&nvkm_dp_func, disp, index, dcbE, &dp->outp); in nvkm_dp_ctor()
664 OUTP_ERR(&dp->outp, "no aux"); in nvkm_dp_ctor()
669 data = nvbios_dpout_match(bios, dp->outp.info.hasht, in nvkm_dp_ctor()
670 dp->outp.info.hashm, &dp->version, in nvkm_dp_ctor()
673 OUTP_ERR(&dp->outp, "no bios dp data"); in nvkm_dp_ctor()
677 OUTP_DBG(&dp->outp, "bios dp %02x %02x %02x %02x", in nvkm_dp_ctor()
691 OUTP_ERR(&dp->outp, "error monitoring aux hpd: %d", ret); in nvkm_dp_ctor()
715 *poutp = &dp->outp; in nvkm_dp_new()