Lines Matching refs:msto
973 struct nv50_msto *msto; in nv50_real_outp() local
978 msto = nv50_msto(encoder); in nv50_real_outp()
979 if (!msto->mstc) in nv50_real_outp()
981 return msto->mstc->mstm->outp; in nv50_real_outp()
985 nv50_msto_payload(struct nv50_msto *msto) in nv50_msto_payload() argument
987 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_payload()
988 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_payload()
994 NV_ATOMIC(drm, "%s: vcpi %d\n", msto->encoder.name, vcpi); in nv50_msto_payload()
1012 nv50_msto_cleanup(struct nv50_msto *msto) in nv50_msto_cleanup() argument
1014 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_cleanup()
1015 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_cleanup()
1018 if (!msto->disabled) in nv50_msto_cleanup()
1021 NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name); in nv50_msto_cleanup()
1025 msto->mstc = NULL; in nv50_msto_cleanup()
1026 msto->disabled = false; in nv50_msto_cleanup()
1030 nv50_msto_prepare(struct nv50_msto *msto) in nv50_msto_prepare() argument
1032 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_prepare()
1033 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_prepare()
1043 (0x0100 << msto->head->base.index), in nv50_msto_prepare()
1048 NV_ATOMIC(drm, "%s: msto prepare\n", msto->encoder.name); in nv50_msto_prepare()
1050 struct drm_dp_payload *payload = nv50_msto_payload(msto); in nv50_msto_prepare()
1060 msto->encoder.name, msto->head->base.base.name, in nv50_msto_prepare()
1126 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_atomic_enable() local
1127 struct nv50_head *head = msto->head; in nv50_msto_atomic_enable()
1139 if (connector->state->best_encoder == &msto->encoder) { in nv50_msto_atomic_enable()
1165 msto->mstc = mstc; in nv50_msto_atomic_enable()
1172 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_atomic_disable() local
1173 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_atomic_disable()
1178 mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0); in nv50_msto_atomic_disable()
1182 msto->disabled = true; in nv50_msto_atomic_disable()
1195 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_destroy() local
1196 drm_encoder_cleanup(&msto->encoder); in nv50_msto_destroy()
1197 kfree(msto); in nv50_msto_destroy()
1208 struct nv50_msto *msto; in nv50_msto_new() local
1211 msto = kzalloc(sizeof(*msto), GFP_KERNEL); in nv50_msto_new()
1212 if (!msto) in nv50_msto_new()
1215 ret = drm_encoder_init(dev, &msto->encoder, &nv50_msto, in nv50_msto_new()
1218 kfree(msto); in nv50_msto_new()
1222 drm_encoder_helper_add(&msto->encoder, &nv50_msto_help); in nv50_msto_new()
1223 msto->encoder.possible_crtcs = drm_crtc_mask(&head->base.base); in nv50_msto_new()
1224 msto->head = head; in nv50_msto_new()
1225 return msto; in nv50_msto_new()
1240 return &nv50_head(crtc)->msto->encoder; in nv50_mstc_atomic_best_encoder()
1407 &nv50_head(crtc)->msto->encoder); in nv50_mstc_new()
1431 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_cleanup() local
1432 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_cleanup()
1434 nv50_msto_cleanup(msto); in nv50_mstm_cleanup()
1453 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_prepare() local
1454 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare()
1456 nv50_msto_prepare(msto); in nv50_mstm_prepare()
2814 head->msto = nv50_msto_new(dev, head, i); in nv50_display_create()
2815 if (IS_ERR(head->msto)) { in nv50_display_create()
2816 ret = PTR_ERR(head->msto); in nv50_display_create()
2817 head->msto = NULL; in nv50_display_create()
2831 head->msto->encoder.possible_crtcs = crtcs; in nv50_display_create()