Lines Matching refs:nv_encoder

252 nv50_outp_release(struct nouveau_encoder *nv_encoder)  in nv50_outp_release()  argument
254 struct nv50_disp *disp = nv50_disp(nv_encoder->base.base.dev); in nv50_outp_release()
260 .base.hasht = nv_encoder->dcb->hasht, in nv50_outp_release()
261 .base.hashm = nv_encoder->dcb->hashm, in nv50_outp_release()
265 nv_encoder->or = -1; in nv50_outp_release()
266 nv_encoder->link = 0; in nv50_outp_release()
270 nv50_outp_acquire(struct nouveau_encoder *nv_encoder) in nv50_outp_acquire() argument
272 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv50_outp_acquire()
280 .base.hasht = nv_encoder->dcb->hasht, in nv50_outp_acquire()
281 .base.hashm = nv_encoder->dcb->hashm, in nv50_outp_acquire()
291 nv_encoder->or = args.info.or; in nv50_outp_acquire()
292 nv_encoder->link = args.info.link; in nv50_outp_acquire()
355 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_disable() local
357 if (nv_encoder->crtc) in nv50_dac_disable()
358 core->func->dac->ctrl(core, nv_encoder->or, 0x00000000, NULL); in nv50_dac_disable()
359 nv_encoder->crtc = NULL; in nv50_dac_disable()
360 nv50_outp_release(nv_encoder); in nv50_dac_disable()
366 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_enable() local
371 nv50_outp_acquire(nv_encoder); in nv50_dac_enable()
373 core->func->dac->ctrl(core, nv_encoder->or, 1 << nv_crtc->index, asyh); in nv50_dac_enable()
376 nv_encoder->crtc = encoder->crtc; in nv50_dac_enable()
382 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_detect() local
390 .base.hasht = nv_encoder->dcb->hasht, in nv50_dac_detect()
391 .base.hashm = nv_encoder->dcb->hashm, in nv50_dac_detect()
432 struct nouveau_encoder *nv_encoder; in nv50_dac_create() local
436 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_dac_create()
437 if (!nv_encoder) in nv50_dac_create()
439 nv_encoder->dcb = dcbe; in nv50_dac_create()
443 nv_encoder->i2c = &bus->i2c; in nv50_dac_create()
445 encoder = to_drm_encoder(nv_encoder); in nv50_dac_create()
462 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_audio_disable() local
470 .base.hasht = nv_encoder->dcb->hasht, in nv50_audio_disable()
471 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_audio_disable()
481 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_audio_enable() local
494 .base.mthd.hasht = nv_encoder->dcb->hasht, in nv50_audio_enable()
495 .base.mthd.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_audio_enable()
499 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_audio_enable()
515 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_hdmi_disable() local
523 .base.hasht = nv_encoder->dcb->hasht, in nv50_hdmi_disable()
524 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_hdmi_disable()
534 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_hdmi_enable() local
544 .base.hasht = nv_encoder->dcb->hasht, in nv50_hdmi_enable()
545 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_hdmi_enable()
557 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_hdmi_enable()
1284 nv50_sor_update(struct nouveau_encoder *nv_encoder, u8 head, in nv50_sor_update() argument
1287 struct nv50_disp *disp = nv50_disp(nv_encoder->base.base.dev); in nv50_sor_update()
1291 nv_encoder->ctrl &= ~BIT(head); in nv50_sor_update()
1292 if (!(nv_encoder->ctrl & 0x0000000f)) in nv50_sor_update()
1293 nv_encoder->ctrl = 0; in nv50_sor_update()
1295 nv_encoder->ctrl |= proto << 8; in nv50_sor_update()
1296 nv_encoder->ctrl |= BIT(head); in nv50_sor_update()
1300 core->func->sor->ctrl(core, nv_encoder->or, nv_encoder->ctrl, asyh); in nv50_sor_update()
1306 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_disable() local
1307 struct nouveau_crtc *nv_crtc = nouveau_crtc(nv_encoder->crtc); in nv50_sor_disable()
1309 nv_encoder->crtc = NULL; in nv50_sor_disable()
1312 struct nvkm_i2c_aux *aux = nv_encoder->aux; in nv50_sor_disable()
1324 nv_encoder->update(nv_encoder, nv_crtc->index, NULL, 0, 0); in nv50_sor_disable()
1326 nv50_hdmi_disable(&nv_encoder->base.base, nv_crtc); in nv50_sor_disable()
1327 nv50_outp_release(nv_encoder); in nv50_sor_disable()
1334 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_enable() local
1344 .base.hasht = nv_encoder->dcb->hasht, in nv50_sor_enable()
1345 .base.hashm = nv_encoder->dcb->hashm, in nv50_sor_enable()
1355 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_sor_enable()
1356 nv_encoder->crtc = encoder->crtc; in nv50_sor_enable()
1357 nv50_outp_acquire(nv_encoder); in nv50_sor_enable()
1359 switch (nv_encoder->dcb->type) { in nv50_sor_enable()
1361 if (nv_encoder->link & 1) { in nv50_sor_enable()
1370 nv_encoder->dcb->duallink_possible && in nv50_sor_enable()
1377 nv50_hdmi_enable(&nv_encoder->base.base, mode); in nv50_sor_enable()
1419 if (nv_encoder->link & 1) in nv50_sor_enable()
1431 nv_encoder->update(nv_encoder, nv_crtc->index, asyh, proto, depth); in nv50_sor_enable()
1444 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_destroy() local
1445 nv50_mstm_del(&nv_encoder->dp.mstm); in nv50_sor_destroy()
1462 struct nouveau_encoder *nv_encoder; in nv50_sor_create() local
1477 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_sor_create()
1478 if (!nv_encoder) in nv50_sor_create()
1480 nv_encoder->dcb = dcbe; in nv50_sor_create()
1481 nv_encoder->update = nv50_sor_update; in nv50_sor_create()
1483 encoder = to_drm_encoder(nv_encoder); in nv50_sor_create()
1502 nv_encoder->i2c = &aux->i2c; in nv50_sor_create()
1504 nv_encoder->i2c = &nv_connector->aux.ddc; in nv50_sor_create()
1506 nv_encoder->aux = aux; in nv50_sor_create()
1511 ret = nv50_mstm_new(nv_encoder, &nv_connector->aux, 16, in nv50_sor_create()
1513 &nv_encoder->dp.mstm); in nv50_sor_create()
1521 nv_encoder->i2c = &bus->i2c; in nv50_sor_create()
1545 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_pior_disable() local
1547 if (nv_encoder->crtc) in nv50_pior_disable()
1548 core->func->pior->ctrl(core, nv_encoder->or, 0x00000000, NULL); in nv50_pior_disable()
1549 nv_encoder->crtc = NULL; in nv50_pior_disable()
1550 nv50_outp_release(nv_encoder); in nv50_pior_disable()
1556 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_pior_enable() local
1564 nv50_outp_acquire(nv_encoder); in nv50_pior_enable()
1566 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_pior_enable()
1574 switch (nv_encoder->dcb->type) { in nv50_pior_enable()
1584 core->func->pior->ctrl(core, nv_encoder->or, (proto << 8) | owner, asyh); in nv50_pior_enable()
1585 nv_encoder->crtc = encoder->crtc; in nv50_pior_enable()
1615 struct nouveau_encoder *nv_encoder; in nv50_pior_create() local
1634 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_pior_create()
1635 if (!nv_encoder) in nv50_pior_create()
1637 nv_encoder->dcb = dcbe; in nv50_pior_create()
1638 nv_encoder->i2c = ddc; in nv50_pior_create()
1639 nv_encoder->aux = aux; in nv50_pior_create()
1641 encoder = to_drm_encoder(nv_encoder); in nv50_pior_create()
2136 struct nouveau_encoder *nv_encoder; in nv50_display_fini() local
2149 nv_encoder = nouveau_encoder(encoder); in nv50_display_fini()
2150 nv50_mstm_fini(nv_encoder->dp.mstm); in nv50_display_fini()
2166 struct nouveau_encoder *nv_encoder = in nv50_display_init() local
2168 nv50_mstm_init(nv_encoder->dp.mstm); in nv50_display_init()