Lines Matching full:outp
29 #include "outp.h"
109 struct nvkm_outp *outp; in nvkm_disp_fini() local
114 list_for_each_entry(outp, &disp->outps, head) { in nvkm_disp_fini()
115 nvkm_outp_fini(outp); in nvkm_disp_fini()
130 struct nvkm_outp *outp; in nvkm_disp_init() local
137 list_for_each_entry(outp, &disp->outps, head) { in nvkm_disp_init()
138 nvkm_outp_init(outp); in nvkm_disp_init()
163 struct nvkm_outp *outp, *outt, *pair; in nvkm_disp_oneinit() local
182 outp = NULL; in nvkm_disp_oneinit()
189 ret = nvkm_outp_new(disp, i, &dcbE, &outp); in nvkm_disp_oneinit()
192 ret = nvkm_dp_new(disp, i, &dcbE, &outp); in nvkm_disp_oneinit()
205 if (outp) { in nvkm_disp_oneinit()
207 OUTP_ERR(outp, "ctor failed: %d", ret); in nvkm_disp_oneinit()
209 OUTP_DBG(outp, "not supported"); in nvkm_disp_oneinit()
210 nvkm_outp_del(&outp); in nvkm_disp_oneinit()
213 nvkm_error(subdev, "failed to create outp %d\n", i); in nvkm_disp_oneinit()
217 list_add_tail(&outp->head, &disp->outps); in nvkm_disp_oneinit()
222 list_for_each_entry_safe(outp, outt, &disp->outps, head) { in nvkm_disp_oneinit()
224 data = nvbios_connEp(bios, outp->info.connector, &ver, &hdr, in nvkm_disp_oneinit()
234 int ccb_index = outp->info.i2c_index; in nvkm_disp_oneinit()
238 outp->conn = pair->conn; in nvkm_disp_oneinit()
245 if (outp->conn) in nvkm_disp_oneinit()
252 i = outp->info.connector; in nvkm_disp_oneinit()
257 if (conn->index == outp->info.connector) { in nvkm_disp_oneinit()
258 outp->conn = conn; in nvkm_disp_oneinit()
263 if (outp->conn) in nvkm_disp_oneinit()
267 ret = nvkm_conn_new(disp, i, &connE, &outp->conn); in nvkm_disp_oneinit()
269 nvkm_error(subdev, "failed to create outp %d conn: %d\n", outp->index, ret); in nvkm_disp_oneinit()
270 nvkm_conn_del(&outp->conn); in nvkm_disp_oneinit()
271 list_del(&outp->head); in nvkm_disp_oneinit()
272 nvkm_outp_del(&outp); in nvkm_disp_oneinit()
276 list_add_tail(&outp->conn->head, &disp->conns); in nvkm_disp_oneinit()
288 list_for_each_entry(outp, &disp->outps, head) { in nvkm_disp_oneinit()
289 if (outp->conn->info.type == DCB_CONNECTOR_LVDS || in nvkm_disp_oneinit()
290 outp->conn->info.type == DCB_CONNECTOR_eDP) { in nvkm_disp_oneinit()
291 ior = nvkm_ior_find(disp, SOR, ffs(outp->info.or) - 1); in nvkm_disp_oneinit()
294 outp->identity = true; in nvkm_disp_oneinit()
310 struct nvkm_outp *outp; in nvkm_disp_dtor() local
334 outp = list_first_entry(&disp->outps, typeof(*outp), head); in nvkm_disp_dtor()
335 list_del(&outp->head); in nvkm_disp_dtor()
336 nvkm_outp_del(&outp); in nvkm_disp_dtor()