Lines Matching refs:msto
907 struct nv50_msto *msto; in nv50_real_outp() local
912 msto = nv50_msto(encoder); in nv50_real_outp()
913 if (!msto->mstc) in nv50_real_outp()
915 return msto->mstc->mstm->outp; in nv50_real_outp()
919 nv50_msto_payload(struct nv50_msto *msto) in nv50_msto_payload() argument
921 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_payload()
922 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_payload()
928 NV_ATOMIC(drm, "%s: vcpi %d\n", msto->encoder.name, vcpi); in nv50_msto_payload()
946 nv50_msto_cleanup(struct nv50_msto *msto) in nv50_msto_cleanup() argument
948 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_cleanup()
949 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_cleanup()
952 if (!msto->disabled) in nv50_msto_cleanup()
955 NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name); in nv50_msto_cleanup()
959 msto->mstc = NULL; in nv50_msto_cleanup()
960 msto->disabled = false; in nv50_msto_cleanup()
964 nv50_msto_prepare(struct nv50_msto *msto) in nv50_msto_prepare() argument
966 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_prepare()
967 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_prepare()
977 (0x0100 << msto->head->base.index), in nv50_msto_prepare()
982 NV_ATOMIC(drm, "%s: msto prepare\n", msto->encoder.name); in nv50_msto_prepare()
984 struct drm_dp_payload *payload = nv50_msto_payload(msto); in nv50_msto_prepare()
994 msto->encoder.name, msto->head->base.base.name, in nv50_msto_prepare()
1062 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_enable() local
1072 if (connector->state->best_encoder == &msto->encoder) { in nv50_msto_enable()
1099 msto->mstc = mstc; in nv50_msto_enable()
1106 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_disable() local
1107 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_disable()
1112 mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0); in nv50_msto_disable()
1116 msto->disabled = true; in nv50_msto_disable()
1129 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_destroy() local
1130 drm_encoder_cleanup(&msto->encoder); in nv50_msto_destroy()
1131 kfree(msto); in nv50_msto_destroy()
1142 struct nv50_msto *msto; in nv50_msto_new() local
1145 msto = kzalloc(sizeof(*msto), GFP_KERNEL); in nv50_msto_new()
1146 if (!msto) in nv50_msto_new()
1149 ret = drm_encoder_init(dev, &msto->encoder, &nv50_msto, in nv50_msto_new()
1152 kfree(msto); in nv50_msto_new()
1156 drm_encoder_helper_add(&msto->encoder, &nv50_msto_help); in nv50_msto_new()
1157 msto->encoder.possible_crtcs = drm_crtc_mask(&head->base.base); in nv50_msto_new()
1158 msto->head = head; in nv50_msto_new()
1159 return msto; in nv50_msto_new()
1172 return &nv50_head(crtc)->msto->encoder; in nv50_mstc_atomic_best_encoder()
1339 &nv50_head(crtc)->msto->encoder); in nv50_mstc_new()
1363 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_cleanup() local
1364 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_cleanup()
1366 nv50_msto_cleanup(msto); in nv50_mstm_cleanup()
1385 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_prepare() local
1386 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare()
1388 nv50_msto_prepare(msto); in nv50_mstm_prepare()
2685 head->msto = nv50_msto_new(dev, head, i); in nv50_display_create()
2686 if (IS_ERR(head->msto)) { in nv50_display_create()
2687 ret = PTR_ERR(head->msto); in nv50_display_create()
2688 head->msto = NULL; in nv50_display_create()
2702 head->msto->encoder.possible_crtcs = crtcs; in nv50_display_create()