Loading drivers/gpu/drm/nouveau/core/subdev/bios/init.c +33 −19 Original line number Diff line number Diff line Loading @@ -64,27 +64,33 @@ init_exec_force(struct nvbios_init *init, bool exec) static inline int init_or(struct nvbios_init *init) { if (init_exec(init)) { if (init->outp) return ffs(init->outp->or) - 1; error("script needs OR!!\n"); } return 0; } static inline int init_link(struct nvbios_init *init) { if (init_exec(init)) { if (init->outp) return !(init->outp->sorconf.link & 1); error("script needs OR link\n"); } return 0; } static inline int init_crtc(struct nvbios_init *init) { if (init_exec(init)) { if (init->crtc >= 0) return init->crtc; error("script needs crtc\n"); } return 0; } Loading @@ -92,16 +98,21 @@ static u8 init_conn(struct nvbios_init *init) { struct nouveau_bios *bios = init->bios; u8 ver, len; u16 conn; if (init_exec(init)) { if (init->outp) { u8 ver, len; u16 conn = dcb_conn(bios, init->outp->connector, &ver, &len); conn = init->outp->connector; conn = dcb_conn(bios, conn, &ver, &len); if (conn) return nv_ro08(bios, conn); } error("script needs connector type\n"); return 0x00; } return 0xff; } static inline u32 Loading Loading @@ -227,6 +238,7 @@ init_i2c(struct nvbios_init *init, int index) } else if (index < 0) { if (!init->outp) { if (init_exec(init)) error("script needs output for i2c\n"); return NULL; } Loading Loading @@ -544,6 +556,7 @@ init_tmds_reg(struct nvbios_init *init, u8 tmds) return 0x6808b0 + dacoffset; } if (init_exec(init)) error("tmds opcodes need dcb\n"); } else { if (tmds < ARRAY_SIZE(pramdac_table)) Loading Loading @@ -792,6 +805,7 @@ init_dp_condition(struct nvbios_init *init) break; } if (init_exec(init)) warn("script needs dp output table data\n"); break; case 5: Loading Loading
drivers/gpu/drm/nouveau/core/subdev/bios/init.c +33 −19 Original line number Diff line number Diff line Loading @@ -64,27 +64,33 @@ init_exec_force(struct nvbios_init *init, bool exec) static inline int init_or(struct nvbios_init *init) { if (init_exec(init)) { if (init->outp) return ffs(init->outp->or) - 1; error("script needs OR!!\n"); } return 0; } static inline int init_link(struct nvbios_init *init) { if (init_exec(init)) { if (init->outp) return !(init->outp->sorconf.link & 1); error("script needs OR link\n"); } return 0; } static inline int init_crtc(struct nvbios_init *init) { if (init_exec(init)) { if (init->crtc >= 0) return init->crtc; error("script needs crtc\n"); } return 0; } Loading @@ -92,16 +98,21 @@ static u8 init_conn(struct nvbios_init *init) { struct nouveau_bios *bios = init->bios; u8 ver, len; u16 conn; if (init_exec(init)) { if (init->outp) { u8 ver, len; u16 conn = dcb_conn(bios, init->outp->connector, &ver, &len); conn = init->outp->connector; conn = dcb_conn(bios, conn, &ver, &len); if (conn) return nv_ro08(bios, conn); } error("script needs connector type\n"); return 0x00; } return 0xff; } static inline u32 Loading Loading @@ -227,6 +238,7 @@ init_i2c(struct nvbios_init *init, int index) } else if (index < 0) { if (!init->outp) { if (init_exec(init)) error("script needs output for i2c\n"); return NULL; } Loading Loading @@ -544,6 +556,7 @@ init_tmds_reg(struct nvbios_init *init, u8 tmds) return 0x6808b0 + dacoffset; } if (init_exec(init)) error("tmds opcodes need dcb\n"); } else { if (tmds < ARRAY_SIZE(pramdac_table)) Loading Loading @@ -792,6 +805,7 @@ init_dp_condition(struct nvbios_init *init) break; } if (init_exec(init)) warn("script needs dp output table data\n"); break; case 5: Loading