Lines Matching refs:mstc
866 struct nv50_mstc *mstc; member
881 if (!msto->mstc) in nv50_real_outp()
883 return msto->mstc->mstm->outp; in nv50_real_outp()
894 drm_atomic_get_mst_payload_state(new_mst_state, msto->mstc->port); in nv50_msto_cleanup()
898 drm_atomic_get_mst_payload_state(old_mst_state, msto->mstc->port); in nv50_msto_cleanup()
899 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_cleanup() local
900 struct nv50_mstm *mstm = mstc->mstm; in nv50_msto_cleanup()
910 msto->mstc = NULL; in nv50_msto_cleanup()
926 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_prepare() local
927 struct nv50_mstm *mstm = mstc->mstm; in nv50_msto_prepare()
933 payload = drm_atomic_get_mst_payload_state(mst_state, mstc->port); in nv50_msto_prepare()
962 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_msto_atomic_check() local
963 struct nv50_mstm *mstm = mstc->mstm; in nv50_msto_atomic_check()
969 mstc->native); in nv50_msto_atomic_check()
993 struct nouveau_encoder *outp = mstc->mstm->outp; in nv50_msto_atomic_check()
999 slots = drm_dp_atomic_find_time_slots(state, &mstm->mgr, mstc->port, asyh->dp.pbn); in nv50_msto_atomic_check()
1026 struct nv50_mstc *mstc = NULL; in nv50_msto_atomic_enable() local
1035 mstc = nv50_mstc(connector); in nv50_msto_atomic_enable()
1036 mstm = mstc->mstm; in nv50_msto_atomic_enable()
1042 if (WARN_ON(!mstc)) in nv50_msto_atomic_enable()
1063 msto->mstc = mstc; in nv50_msto_atomic_enable()
1072 struct nv50_mstc *mstc = msto->mstc; in nv50_msto_atomic_disable() local
1073 struct nv50_mstm *mstm = mstc->mstm; in nv50_msto_atomic_disable()
1134 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_atomic_best_encoder() local
1137 if (!(mstc->mstm->outp->dcb->heads & drm_crtc_mask(crtc))) in nv50_mstc_atomic_best_encoder()
1147 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_mode_valid() local
1148 struct nouveau_encoder *outp = mstc->mstm->outp; in nv50_mstc_mode_valid()
1160 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_get_modes() local
1163 mstc->edid = drm_dp_mst_get_edid(&mstc->connector, mstc->port->mgr, mstc->port); in nv50_mstc_get_modes()
1164 drm_connector_update_edid_property(&mstc->connector, mstc->edid); in nv50_mstc_get_modes()
1165 if (mstc->edid) in nv50_mstc_get_modes()
1166 ret = drm_add_edid_modes(&mstc->connector, mstc->edid); in nv50_mstc_get_modes()
1180 if (mstc->native) in nv50_mstc_get_modes()
1181 drm_mode_destroy(mstc->connector.dev, mstc->native); in nv50_mstc_get_modes()
1182 mstc->native = nouveau_conn_native_mode(&mstc->connector); in nv50_mstc_get_modes()
1190 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_atomic_check() local
1191 struct drm_dp_mst_topology_mgr *mgr = &mstc->mstm->mgr; in nv50_mstc_atomic_check()
1193 return drm_dp_atomic_release_time_slots(state, mgr, mstc->port); in nv50_mstc_atomic_check()
1200 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_detect() local
1212 ret = drm_dp_mst_detect_port(connector, ctx, mstc->port->mgr, in nv50_mstc_detect()
1213 mstc->port); in nv50_mstc_detect()
1235 struct nv50_mstc *mstc = nv50_mstc(connector); in nv50_mstc_destroy() local
1237 drm_connector_cleanup(&mstc->connector); in nv50_mstc_destroy()
1238 drm_dp_mst_put_port_malloc(mstc->port); in nv50_mstc_destroy()
1240 kfree(mstc); in nv50_mstc_destroy()
1260 struct nv50_mstc *mstc; in nv50_mstc_new() local
1263 if (!(mstc = *pmstc = kzalloc(sizeof(*mstc), GFP_KERNEL))) in nv50_mstc_new()
1265 mstc->mstm = mstm; in nv50_mstc_new()
1266 mstc->port = port; in nv50_mstc_new()
1268 ret = drm_connector_init(dev, &mstc->connector, &nv50_mstc, in nv50_mstc_new()
1276 drm_connector_helper_add(&mstc->connector, &nv50_mstc_help); in nv50_mstc_new()
1278 mstc->connector.funcs->reset(&mstc->connector); in nv50_mstc_new()
1279 nouveau_conn_attach_properties(&mstc->connector); in nv50_mstc_new()
1285 drm_connector_attach_encoder(&mstc->connector, in nv50_mstc_new()
1289 drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0); in nv50_mstc_new()
1290 drm_object_attach_property(&mstc->connector.base, dev->mode_config.tile_property, 0); in nv50_mstc_new()
1291 drm_connector_set_path_property(&mstc->connector, path); in nv50_mstc_new()
1310 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_cleanup() local
1311 if (mstc && mstc->mstm == mstm) in nv50_mstm_cleanup()
1339 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare() local
1340 if (mstc && mstc->mstm == mstm && msto->disabled) in nv50_mstm_prepare()
1351 struct nv50_mstc *mstc = msto->mstc; in nv50_mstm_prepare() local
1352 if (mstc && mstc->mstm == mstm && !msto->disabled) in nv50_mstm_prepare()
1363 struct nv50_mstc *mstc; in nv50_mstm_add_connector() local
1366 ret = nv50_mstc_new(mstm, port, path, &mstc); in nv50_mstm_add_connector()
1370 return &mstc->connector; in nv50_mstm_add_connector()