Lines Matching defs:mstc

933 	struct nv50_mstc *mstc;
945 if (!msto->mstc)
947 return msto->mstc->mstm->outp;
954 struct nv50_mstc *mstc = msto->mstc;
955 struct nv50_mstm *mstm = mstc->mstm;
956 int vcpi = mstc->port->vcpi.vcpi, i;
981 struct nv50_mstc *mstc = msto->mstc;
982 struct nv50_mstm *mstm = mstc->mstm;
989 drm_dp_mst_deallocate_vcpi(&mstm->mgr, mstc->port);
991 msto->mstc = NULL;
999 struct nv50_mstc *mstc = msto->mstc;
1000 struct nv50_mstm *mstm = mstc->mstm;
1015 if (mstc->port->vcpi.vcpi > 0) {
1020 args.vcpi.pbn = mstc->port->vcpi.pbn;
1021 args.vcpi.aligned_pbn = mstc->port->vcpi.aligned_pbn;
1041 struct nv50_mstc *mstc = nv50_mstc(connector);
1042 struct nv50_mstm *mstm = mstc->mstm;
1048 mstc->native);
1068 slots = drm_dp_atomic_find_vcpi_slots(state, &mstm->mgr, mstc->port,
1095 struct nv50_mstc *mstc = NULL;
1105 mstc = nv50_mstc(connector);
1106 mstm = mstc->mstm;
1112 if (WARN_ON(!mstc))
1115 r = drm_dp_mst_allocate_vcpi(&mstm->mgr, mstc->port, armh->dp.pbn,
1131 msto->mstc = mstc;
1139 struct nv50_mstc *mstc = msto->mstc;
1140 struct nv50_mstm *mstm = mstc->mstm;
1142 drm_dp_mst_reset_vcpi_slots(&mstm->mgr, mstc->port);
1198 struct nv50_mstc *mstc = nv50_mstc(connector);
1201 if (!(mstc->mstm->outp->dcb->heads & drm_crtc_mask(crtc)))
1211 struct nv50_mstc *mstc = nv50_mstc(connector);
1212 struct nouveau_encoder *outp = mstc->mstm->outp;
1224 struct nv50_mstc *mstc = nv50_mstc(connector);
1227 mstc->edid = drm_dp_mst_get_edid(&mstc->connector, mstc->port->mgr, mstc->port);
1228 drm_connector_update_edid_property(&mstc->connector, mstc->edid);
1229 if (mstc->edid)
1230 ret = drm_add_edid_modes(&mstc->connector, mstc->edid);
1244 if (mstc->native)
1245 drm_mode_destroy(mstc->connector.dev, mstc->native);
1246 mstc->native = nouveau_conn_native_mode(&mstc->connector);
1254 struct nv50_mstc *mstc = nv50_mstc(connector);
1255 struct drm_dp_mst_topology_mgr *mgr = &mstc->mstm->mgr;
1278 return drm_dp_atomic_release_vcpi_slots(state, mgr, mstc->port);
1285 struct nv50_mstc *mstc = nv50_mstc(connector);
1297 ret = drm_dp_mst_detect_port(connector, ctx, mstc->port->mgr,
1298 mstc->port);
1320 struct nv50_mstc *mstc = nv50_mstc(connector);
1322 drm_connector_cleanup(&mstc->connector);
1323 drm_dp_mst_put_port_malloc(mstc->port);
1325 kfree(mstc);
1345 struct nv50_mstc *mstc;
1348 if (!(mstc = *pmstc = kzalloc(sizeof(*mstc), GFP_KERNEL)))
1350 mstc->mstm = mstm;
1351 mstc->port = port;
1353 ret = drm_connector_init(dev, &mstc->connector, &nv50_mstc,
1361 drm_connector_helper_add(&mstc->connector, &nv50_mstc_help);
1363 mstc->connector.funcs->reset(&mstc->connector);
1364 nouveau_conn_attach_properties(&mstc->connector);
1370 drm_connector_attach_encoder(&mstc->connector,
1374 drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
1375 drm_object_attach_property(&mstc->connector.base, dev->mode_config.tile_property, 0);
1376 drm_connector_set_path_property(&mstc->connector, path);
1396 struct nv50_mstc *mstc = msto->mstc;
1397 if (mstc && mstc->mstm == mstm)
1418 struct nv50_mstc *mstc = msto->mstc;
1419 if (mstc && mstc->mstm == mstm)
1436 struct nv50_mstc *mstc;
1439 ret = nv50_mstc_new(mstm, port, path, &mstc);
1443 return &mstc->connector;