Lines Matching refs:nv_encoder
1492 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_encoder_mode_fixup() local
1495 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_encoder_mode_fixup()
1525 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_dpms() local
1533 .base.hasht = nv_encoder->dcb->hasht, in nv50_dac_dpms()
1534 .base.hashm = nv_encoder->dcb->hashm, in nv50_dac_dpms()
1556 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_mode_set() local
1572 evo_mthd(push, 0x0400 + (nv_encoder->or * 0x080), 2); in nv50_dac_mode_set()
1590 evo_mthd(push, 0x0180 + (nv_encoder->or * 0x020), 1); in nv50_dac_mode_set()
1597 nv_encoder->crtc = encoder->crtc; in nv50_dac_mode_set()
1603 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_disconnect() local
1605 const int or = nv_encoder->or; in nv50_dac_disconnect()
1608 if (nv_encoder->crtc) { in nv50_dac_disconnect()
1609 nv50_crtc_prepare(nv_encoder->crtc); in nv50_dac_disconnect()
1624 nv_encoder->crtc = NULL; in nv50_dac_disconnect()
1630 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_dac_detect() local
1638 .base.hasht = nv_encoder->dcb->hasht, in nv50_dac_detect()
1639 .base.hashm = nv_encoder->dcb->hashm, in nv50_dac_detect()
1681 struct nouveau_encoder *nv_encoder; in nv50_dac_create() local
1685 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_dac_create()
1686 if (!nv_encoder) in nv50_dac_create()
1688 nv_encoder->dcb = dcbe; in nv50_dac_create()
1689 nv_encoder->or = ffs(dcbe->or) - 1; in nv50_dac_create()
1690 nv_encoder->i2c = i2c->find(i2c, dcbe->i2c_index); in nv50_dac_create()
1692 encoder = to_drm_encoder(nv_encoder); in nv50_dac_create()
1708 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_audio_mode_set() local
1721 .base.mthd.hasht = nv_encoder->dcb->hasht, in nv50_audio_mode_set()
1722 .base.mthd.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_audio_mode_set()
1726 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_audio_mode_set()
1740 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_audio_disconnect() local
1748 .base.hasht = nv_encoder->dcb->hasht, in nv50_audio_disconnect()
1749 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_audio_disconnect()
1762 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_hdmi_mode_set() local
1771 .base.hasht = nv_encoder->dcb->hasht, in nv50_hdmi_mode_set()
1772 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_hdmi_mode_set()
1780 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_hdmi_mode_set()
1796 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_hdmi_disconnect() local
1804 .base.hasht = nv_encoder->dcb->hasht, in nv50_hdmi_disconnect()
1805 .base.hashm = (0xf0ff & nv_encoder->dcb->hashm) | in nv50_hdmi_disconnect()
1818 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_dpms() local
1826 .base.hasht = nv_encoder->dcb->hasht, in nv50_sor_dpms()
1827 .base.hashm = nv_encoder->dcb->hashm, in nv50_sor_dpms()
1836 .base.hasht = nv_encoder->dcb->hasht, in nv50_sor_dpms()
1837 .base.hashm = nv_encoder->dcb->hashm, in nv50_sor_dpms()
1843 nv_encoder->last_dpms = mode; in nv50_sor_dpms()
1851 if (nv_partner != nv_encoder && in nv50_sor_dpms()
1852 nv_partner->dcb->or == nv_encoder->dcb->or) { in nv50_sor_dpms()
1859 if (nv_encoder->dcb->type == DCB_OUTPUT_DP) { in nv50_sor_dpms()
1869 nv50_sor_ctrl(struct nouveau_encoder *nv_encoder, u32 mask, u32 data) in nv50_sor_ctrl() argument
1871 struct nv50_mast *mast = nv50_mast(nv_encoder->base.base.dev); in nv50_sor_ctrl()
1872 u32 temp = (nv_encoder->ctrl & ~mask) | (data & mask), *push; in nv50_sor_ctrl()
1873 if (temp != nv_encoder->ctrl && (push = evo_wait(mast, 2))) { in nv50_sor_ctrl()
1875 evo_mthd(push, 0x0600 + (nv_encoder->or * 0x40), 1); in nv50_sor_ctrl()
1876 evo_data(push, (nv_encoder->ctrl = temp)); in nv50_sor_ctrl()
1878 evo_mthd(push, 0x0200 + (nv_encoder->or * 0x20), 1); in nv50_sor_ctrl()
1879 evo_data(push, (nv_encoder->ctrl = temp)); in nv50_sor_ctrl()
1888 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_disconnect() local
1889 struct nouveau_crtc *nv_crtc = nouveau_crtc(nv_encoder->crtc); in nv50_sor_disconnect()
1891 nv_encoder->last_dpms = DRM_MODE_DPMS_OFF; in nv50_sor_disconnect()
1892 nv_encoder->crtc = NULL; in nv50_sor_disconnect()
1896 nv50_sor_ctrl(nv_encoder, 1 << nv_crtc->index, 0); in nv50_sor_disconnect()
1898 nv50_hdmi_disconnect(&nv_encoder->base.base, nv_crtc); in nv50_sor_disconnect()
1911 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_sor_mode_set() local
1919 .base.hasht = nv_encoder->dcb->hasht, in nv50_sor_mode_set()
1920 .base.hashm = nv_encoder->dcb->hashm, in nv50_sor_mode_set()
1933 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_sor_mode_set()
1934 nv_encoder->crtc = encoder->crtc; in nv50_sor_mode_set()
1936 switch (nv_encoder->dcb->type) { in nv50_sor_mode_set()
1938 if (nv_encoder->dcb->sorconf.link & 1) { in nv50_sor_mode_set()
1947 nv50_hdmi_mode_set(&nv_encoder->base.base, mode); in nv50_sor_mode_set()
1982 nv_encoder->dp.datarate = mode->clock * 18 / 8; in nv50_sor_mode_set()
1986 nv_encoder->dp.datarate = mode->clock * 24 / 8; in nv50_sor_mode_set()
1989 nv_encoder->dp.datarate = mode->clock * 30 / 8; in nv50_sor_mode_set()
1993 if (nv_encoder->dcb->sorconf.link & 1) in nv50_sor_mode_set()
2004 nv50_sor_dpms(&nv_encoder->base.base, DRM_MODE_DPMS_ON); in nv50_sor_mode_set()
2037 nv50_sor_ctrl(nv_encoder, mask | owner, ctrl | owner); in nv50_sor_mode_set()
2066 struct nouveau_encoder *nv_encoder; in nv50_sor_create() local
2079 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_sor_create()
2080 if (!nv_encoder) in nv50_sor_create()
2082 nv_encoder->dcb = dcbe; in nv50_sor_create()
2083 nv_encoder->or = ffs(dcbe->or) - 1; in nv50_sor_create()
2084 nv_encoder->i2c = i2c->find(i2c, dcbe->i2c_index); in nv50_sor_create()
2085 nv_encoder->last_dpms = DRM_MODE_DPMS_OFF; in nv50_sor_create()
2087 encoder = to_drm_encoder(nv_encoder); in nv50_sor_create()
2104 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_pior_dpms() local
2112 .base.hasht = nv_encoder->dcb->hasht, in nv50_pior_dpms()
2113 .base.hashm = nv_encoder->dcb->hashm, in nv50_pior_dpms()
2115 .pwr.type = nv_encoder->dcb->type, in nv50_pior_dpms()
2142 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_pior_mode_set() local
2149 nv_connector = nouveau_encoder_connector_get(nv_encoder); in nv50_pior_mode_set()
2157 switch (nv_encoder->dcb->type) { in nv50_pior_mode_set()
2177 evo_mthd(push, 0x0700 + (nv_encoder->or * 0x040), 1); in nv50_pior_mode_set()
2184 nv_encoder->crtc = encoder->crtc; in nv50_pior_mode_set()
2190 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv50_pior_disconnect() local
2192 const int or = nv_encoder->or; in nv50_pior_disconnect()
2195 if (nv_encoder->crtc) { in nv50_pior_disconnect()
2196 nv50_crtc_prepare(nv_encoder->crtc); in nv50_pior_disconnect()
2208 nv_encoder->crtc = NULL; in nv50_pior_disconnect()
2238 struct nouveau_encoder *nv_encoder; in nv50_pior_create() local
2255 nv_encoder = kzalloc(sizeof(*nv_encoder), GFP_KERNEL); in nv50_pior_create()
2256 if (!nv_encoder) in nv50_pior_create()
2258 nv_encoder->dcb = dcbe; in nv50_pior_create()
2259 nv_encoder->or = ffs(dcbe->or) - 1; in nv50_pior_create()
2260 nv_encoder->i2c = ddc; in nv50_pior_create()
2262 encoder = to_drm_encoder(nv_encoder); in nv50_pior_create()