Lines Matching refs:msto

839 	struct nv50_msto *msto;  in nv50_real_outp()  local
844 msto = nv50_msto(encoder); in nv50_real_outp()
845 if (!msto->mstc) in nv50_real_outp()
847 return msto->mstc->mstm->outp; in nv50_real_outp()
854 struct nv50_msto *msto) in nv50_msto_cleanup() argument
856 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_cleanup()
858 drm_atomic_get_mst_payload_state(mst_state, msto->mstc->port); in nv50_msto_cleanup()
860 NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name); in nv50_msto_cleanup()
862 if (msto->disabled) { in nv50_msto_cleanup()
863 msto->mstc = NULL; in nv50_msto_cleanup()
864 msto->disabled = false; in nv50_msto_cleanup()
865 } else if (msto->enabled) { in nv50_msto_cleanup()
867 msto->enabled = false; in nv50_msto_cleanup()
875 struct nv50_msto *msto) in nv50_msto_prepare() argument
877 struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); in nv50_msto_prepare()
878 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_prepare()
882 NV_ATOMIC(drm, "%s: msto prepare\n", msto->encoder.name); in nv50_msto_prepare()
887 if (msto->disabled) { in nv50_msto_prepare()
890 nvif_outp_dp_mst_vcpi(&mstm->outp->outp, msto->head->base.index, 0, 0, 0, 0); in nv50_msto_prepare()
892 if (msto->enabled) in nv50_msto_prepare()
895 nvif_outp_dp_mst_vcpi(&mstm->outp->outp, msto->head->base.index, in nv50_msto_prepare()
970 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_atomic_enable() local
971 struct nv50_head *head = msto->head; in nv50_msto_atomic_enable()
982 if (connector->state->best_encoder == &msto->encoder) { in nv50_msto_atomic_enable()
1006 msto->mstc = mstc; in nv50_msto_atomic_enable()
1007 msto->enabled = true; in nv50_msto_atomic_enable()
1014 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_atomic_disable() local
1015 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_atomic_disable()
1018 mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0); in nv50_msto_atomic_disable()
1022 msto->disabled = true; in nv50_msto_atomic_disable()
1035 struct nv50_msto *msto = nv50_msto(encoder); in nv50_msto_destroy() local
1036 drm_encoder_cleanup(&msto->encoder); in nv50_msto_destroy()
1037 kfree(msto); in nv50_msto_destroy()
1048 struct nv50_msto *msto; in nv50_msto_new() local
1051 msto = kzalloc(sizeof(*msto), GFP_KERNEL); in nv50_msto_new()
1052 if (!msto) in nv50_msto_new()
1055 ret = drm_encoder_init(dev, &msto->encoder, &nv50_msto, in nv50_msto_new()
1058 kfree(msto); in nv50_msto_new()
1062 drm_encoder_helper_add(&msto->encoder, &nv50_msto_help); in nv50_msto_new()
1063 msto->encoder.possible_crtcs = drm_crtc_mask(&head->base.base); in nv50_msto_new()
1064 msto->head = head; in nv50_msto_new()
1065 return msto; in nv50_msto_new()
1080 return &nv50_head(crtc)->msto->encoder; in nv50_mstc_atomic_best_encoder()
1226 &nv50_head(crtc)->msto->encoder); in nv50_mstc_new()
1249 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_cleanup() local
1250 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_cleanup()
1252 nv50_msto_cleanup(state, mst_state, &mstm->mgr, msto); in nv50_mstm_cleanup()
1272 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_prepare() local
1273 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare()
1274 if (mstc && mstc->mstm == mstm && msto->disabled) in nv50_mstm_prepare()
1275 nv50_msto_prepare(state, mst_state, &mstm->mgr, msto); in nv50_mstm_prepare()
1284 struct nv50_msto *msto = nv50_msto(encoder); in nv50_mstm_prepare() local
1285 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare()
1286 if (mstc && mstc->mstm == mstm && !msto->disabled) in nv50_mstm_prepare()
1287 nv50_msto_prepare(state, mst_state, &mstm->mgr, msto); in nv50_mstm_prepare()
2624 head->msto = nv50_msto_new(dev, head, i); in nv50_display_create()
2625 if (IS_ERR(head->msto)) { in nv50_display_create()
2626 ret = PTR_ERR(head->msto); in nv50_display_create()
2627 head->msto = NULL; in nv50_display_create()
2641 head->msto->encoder.possible_crtcs = crtcs; in nv50_display_create()