Lines Matching defs:msto
863 /* head is statically assigned on msto creation */
872 struct nv50_msto *msto;
877 msto = nv50_msto(encoder);
878 if (!msto->mstc)
880 return msto->mstc->mstm->outp;
887 struct nv50_msto *msto)
889 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev);
891 drm_atomic_get_mst_payload_state(mst_state, msto->mstc->port);
893 NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name);
895 if (msto->disabled) {
896 msto->mstc = NULL;
897 msto->disabled = false;
898 } else if (msto->enabled) {
900 msto->enabled = false;
908 struct nv50_msto *msto)
910 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev);
911 struct nv50_mstc *mstc = msto->mstc;
916 NV_ATOMIC(drm, "%s: msto prepare\n", msto->encoder.name);
924 if (msto->disabled) {
927 nvif_outp_dp_mst_vcpi(&mstm->outp->outp, msto->head->base.index, 0, 0, 0, 0);
929 if (msto->enabled)
932 nvif_outp_dp_mst_vcpi(&mstm->outp->outp, msto->head->base.index,
1006 struct nv50_msto *msto = nv50_msto(encoder);
1007 struct nv50_head *head = msto->head;
1018 if (connector->state->best_encoder == &msto->encoder) {
1042 msto->mstc = mstc;
1043 msto->enabled = true;
1050 struct nv50_msto *msto = nv50_msto(encoder);
1051 struct nv50_mstc *mstc = msto->mstc;
1054 mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0);
1058 msto->disabled = true;
1071 struct nv50_msto *msto = nv50_msto(encoder);
1072 drm_encoder_cleanup(&msto->encoder);
1073 kfree(msto);
1084 struct nv50_msto *msto;
1087 msto = kzalloc(sizeof(*msto), GFP_KERNEL);
1088 if (!msto)
1091 ret = drm_encoder_init(dev, &msto->encoder, &nv50_msto,
1094 kfree(msto);
1098 drm_encoder_helper_add(&msto->encoder, &nv50_msto_help);
1099 msto->encoder.possible_crtcs = drm_crtc_mask(&head->base.base);
1100 msto->head = head;
1101 return msto;
1116 return &nv50_head(crtc)->msto->encoder;
1262 &nv50_head(crtc)->msto->encoder);
1285 struct nv50_msto *msto = nv50_msto(encoder);
1286 struct nv50_mstc *mstc = msto->mstc;
1288 nv50_msto_cleanup(state, mst_state, &mstm->mgr, msto);
1308 struct nv50_msto *msto = nv50_msto(encoder);
1309 struct nv50_mstc *mstc = msto->mstc;
1310 if (mstc && mstc->mstm == mstm && msto->disabled)
1311 nv50_msto_prepare(state, mst_state, &mstm->mgr, msto);
1320 struct nv50_msto *msto = nv50_msto(encoder);
1321 struct nv50_mstc *mstc = msto->mstc;
1322 if (mstc && mstc->mstm == mstm && !msto->disabled)
1323 nv50_msto_prepare(state, mst_state, &mstm->mgr, msto);
2668 head->msto = nv50_msto_new(dev, head, i);
2669 if (IS_ERR(head->msto)) {
2670 ret = PTR_ERR(head->msto);
2671 head->msto = NULL;
2685 head->msto->encoder.possible_crtcs = crtcs;