Lines Matching defs:bios

24 #include <subdev/bios.h>
25 #include <subdev/bios/bit.h>
26 #include <subdev/bios/bmp.h>
27 #include <subdev/bios/conn.h>
28 #include <subdev/bios/dcb.h>
29 #include <subdev/bios/dp.h>
30 #include <subdev/bios/gpio.h>
31 #include <subdev/bios/init.h>
32 #include <subdev/bios/ramcfg.h>
124 struct nvkm_bios *bios = init->subdev->device->bios;
132 conn = nvbios_connEp(bios, conn, &ver, &hdr, &connE);
355 * parsing of bios structures that are required to execute init tables
359 init_table(struct nvkm_bios *bios, u16 *len)
363 if (!bit_entry(bios, 'I', &bit_I)) {
368 if (bmp_version(bios) >= 0x0510) {
370 return bios->bmp_offset + 75;
379 struct nvkm_bios *bios = init->subdev->device->bios;
380 u16 len, data = init_table(bios, &len);
383 data = nvbios_rd16(bios, data + offset);
409 init_script(struct nvkm_bios *bios, int index)
411 struct nvbios_init init = { .subdev = &bios->subdev };
412 u16 bmp_ver = bmp_version(bios), data;
418 data = bios->bmp_offset + (bmp_ver < 0x0200 ? 14 : 18);
419 return nvbios_rd16(bios, data + (index * 2));
424 return nvbios_rd16(bios, data + (index * 2));
430 init_unknown_script(struct nvkm_bios *bios)
432 u16 len, data = init_table(bios, &len);
434 return nvbios_rd16(bios, data + 14);
441 return nvbios_ramcfg_count(init->subdev->device->bios);
455 if (!init->ramcfg || init->subdev->device->bios->version.major < 0x70)
463 struct nvkm_bios *bios = init->subdev->device->bios;
466 u16 data = nvbios_rd16(bios, table + (index * 2));
468 return nvbios_rd08(bios, data + offset);
481 struct nvkm_bios *bios = init->subdev->device->bios;
484 u32 reg = nvbios_rd32(bios, table + (cond * 12) + 0);
485 u32 msk = nvbios_rd32(bios, table + (cond * 12) + 4);
486 u32 val = nvbios_rd32(bios, table + (cond * 12) + 8);
497 struct nvkm_bios *bios = init->subdev->device->bios;
500 u16 port = nvbios_rd16(bios, table + (cond * 5) + 0);
501 u8 index = nvbios_rd08(bios, table + (cond * 5) + 2);
502 u8 mask = nvbios_rd08(bios, table + (cond * 5) + 3);
503 u8 value = nvbios_rd08(bios, table + (cond * 5) + 4);
514 struct nvkm_bios *bios = init->subdev->device->bios;
517 u16 port = nvbios_rd16(bios, table + (cond * 9) + 0);
518 u8 index = nvbios_rd08(bios, table + (cond * 9) + 2);
519 u8 mask = nvbios_rd08(bios, table + (cond * 9) + 3);
520 u8 shift = nvbios_rd08(bios, table + (cond * 9) + 4);
521 u16 data = nvbios_rd16(bios, table + (cond * 9) + 5);
522 u8 dmask = nvbios_rd08(bios, table + (cond * 9) + 7);
523 u8 value = nvbios_rd08(bios, table + (cond * 9) + 8);
525 return (nvbios_rd08(bios, data + ioval) & dmask) == value;
585 struct nvkm_bios *bios = init->subdev->device->bios;
586 u8 opcode = nvbios_rd08(bios, init->offset);
600 cont(" 0x%02x", nvbios_rd08(bios, init->offset + i));
623 struct nvkm_bios *bios = init->subdev->device->bios;
624 u16 port = nvbios_rd16(bios, init->offset + 1);
625 u8 index = nvbios_rd08(bios, init->offset + 3);
626 u8 mask = nvbios_rd08(bios, init->offset + 4);
627 u8 shift = nvbios_rd08(bios, init->offset + 5);
628 u8 count = nvbios_rd08(bios, init->offset + 6);
629 u32 reg = nvbios_rd32(bios, init->offset + 7);
639 u32 data = nvbios_rd32(bios, init->offset);
660 struct nvkm_bios *bios = init->subdev->device->bios;
661 u8 count = nvbios_rd08(bios, init->offset + 1);
686 struct nvkm_bios *bios = init->subdev->device->bios;
687 u16 port = nvbios_rd16(bios, init->offset + 1);
688 u8 index = nvbios_rd08(bios, init->offset + 3);
689 u8 mask = nvbios_rd08(bios, init->offset + 4);
690 u8 shift = nvbios_rd08(bios, init->offset + 5);
691 s8 iofc = nvbios_rd08(bios, init->offset + 6);
692 u8 count = nvbios_rd08(bios, init->offset + 7);
693 u32 reg = nvbios_rd32(bios, init->offset + 8);
703 u32 freq = nvbios_rd16(bios, init->offset) * 10;
742 struct nvkm_bios *bios = init->subdev->device->bios;
743 u32 reg = nvbios_rd32(bios, init->offset + 1);
744 u8 shift = nvbios_rd08(bios, init->offset + 5);
745 u8 smask = nvbios_rd08(bios, init->offset + 6);
746 u16 port = nvbios_rd16(bios, init->offset + 7);
747 u8 index = nvbios_rd08(bios, init->offset + 9);
748 u8 mask = nvbios_rd08(bios, init->offset + 10);
781 struct nvkm_bios *bios = init->subdev->device->bios;
782 u8 cond = nvbios_rd08(bios, init->offset + 1);
798 struct nvkm_bios *bios = init->subdev->device->bios;
800 u8 cond = nvbios_rd08(bios, init->offset + 1);
801 u8 size = nvbios_rd08(bios, init->offset + 2);
816 (data = nvbios_dpout_match(bios, DCB_OUTPUT_DP,
850 struct nvkm_bios *bios = init->subdev->device->bios;
851 u8 index = nvbios_rd08(bios, init->offset + 1);
869 struct nvkm_bios *bios = init->subdev->device->bios;
870 u8 index = nvbios_rd08(bios, init->offset + 1);
888 struct nvkm_bios *bios = init->subdev->device->bios;
889 u32 reg = nvbios_rd32(bios, init->offset + 1);
890 u32 mask = nvbios_rd32(bios, init->offset + 5);
905 struct nvkm_bios *bios = init->subdev->device->bios;
906 u32 reg = nvbios_rd32(bios, init->offset + 1);
907 u32 mask = nvbios_rd32(bios, init->offset + 5);
922 struct nvkm_bios *bios = init->subdev->device->bios;
923 u32 creg = nvbios_rd32(bios, init->offset + 1);
924 u32 dreg = nvbios_rd32(bios, init->offset + 5);
925 u32 mask = nvbios_rd32(bios, init->offset + 9);
926 u32 data = nvbios_rd32(bios, init->offset + 13);
927 u8 count = nvbios_rd08(bios, init->offset + 17);
934 u8 iaddr = nvbios_rd08(bios, init->offset + 0);
935 u8 idata = nvbios_rd08(bios, init->offset + 1);
952 struct nvkm_bios *bios = init->subdev->device->bios;
953 u16 port = nvbios_rd16(bios, init->offset + 1);
954 u8 index = nvbios_rd08(bios, init->offset + 3);
955 u8 mask = nvbios_rd08(bios, init->offset + 4);
956 u8 shift = nvbios_rd08(bios, init->offset + 5);
957 u8 count = nvbios_rd08(bios, init->offset + 6);
958 u32 reg = nvbios_rd32(bios, init->offset + 7);
968 u32 freq = nvbios_rd32(bios, init->offset);
987 struct nvkm_bios *bios = init->subdev->device->bios;
988 u32 reg = nvbios_rd32(bios, init->offset + 1);
989 u32 freq = nvbios_rd32(bios, init->offset + 5);
1004 struct nvkm_bios *bios = init->subdev->device->bios;
1005 u8 index = nvbios_rd08(bios, init->offset + 1);
1006 u8 addr = nvbios_rd08(bios, init->offset + 2) >> 1;
1007 u8 count = nvbios_rd08(bios, init->offset + 3);
1013 u8 reg = nvbios_rd08(bios, init->offset + 0);
1014 u8 mask = nvbios_rd08(bios, init->offset + 1);
1015 u8 data = nvbios_rd08(bios, init->offset + 2);
1035 struct nvkm_bios *bios = init->subdev->device->bios;
1036 u8 index = nvbios_rd08(bios, init->offset + 1);
1037 u8 addr = nvbios_rd08(bios, init->offset + 2) >> 1;
1038 u8 count = nvbios_rd08(bios, init->offset + 3);
1044 u8 reg = nvbios_rd08(bios, init->offset + 0);
1045 u8 data = nvbios_rd08(bios, init->offset + 1);
1061 struct nvkm_bios *bios = init->subdev->device->bios;
1062 u8 index = nvbios_rd08(bios, init->offset + 1);
1063 u8 addr = nvbios_rd08(bios, init->offset + 2) >> 1;
1064 u8 count = nvbios_rd08(bios, init->offset + 3);
1071 data[i] = nvbios_rd08(bios, init->offset);
1095 struct nvkm_bios *bios = init->subdev->device->bios;
1096 u8 tmds = nvbios_rd08(bios, init->offset + 1);
1097 u8 addr = nvbios_rd08(bios, init->offset + 2);
1098 u8 mask = nvbios_rd08(bios, init->offset + 3);
1099 u8 data = nvbios_rd08(bios, init->offset + 4);
1121 struct nvkm_bios *bios = init->subdev->device->bios;
1122 u8 tmds = nvbios_rd08(bios, init->offset + 1);
1123 u8 count = nvbios_rd08(bios, init->offset + 2);
1130 u8 addr = nvbios_rd08(bios, init->offset + 0);
1131 u8 data = nvbios_rd08(bios, init->offset + 1);
1148 struct nvkm_bios *bios = init->subdev->device->bios;
1149 u8 addr0 = nvbios_rd08(bios, init->offset + 1);
1150 u8 addr1 = nvbios_rd08(bios, init->offset + 2);
1151 u8 base = nvbios_rd08(bios, init->offset + 3);
1152 u8 count = nvbios_rd08(bios, init->offset + 4);
1160 u8 data = nvbios_rd08(bios, init->offset);
1178 struct nvkm_bios *bios = init->subdev->device->bios;
1179 u8 addr = nvbios_rd08(bios, init->offset + 1);
1180 u8 mask = nvbios_rd08(bios, init->offset + 2);
1181 u8 data = nvbios_rd08(bios, init->offset + 3);
1198 struct nvkm_bios *bios = init->subdev->device->bios;
1199 u8 addr = nvbios_rd08(bios, init->offset + 1);
1200 u8 data = nvbios_rd08(bios, init->offset + 2);
1215 struct nvkm_bios *bios = init->subdev->device->bios;
1216 u8 count = nvbios_rd08(bios, init->offset + 1);
1222 u8 addr = nvbios_rd08(bios, init->offset + 0);
1223 u8 data = nvbios_rd08(bios, init->offset + 1);
1239 struct nvkm_bios *bios = init->subdev->device->bios;
1240 u8 cond = nvbios_rd08(bios, init->offset + 1);
1241 u8 retry = nvbios_rd08(bios, init->offset + 2);
1266 struct nvkm_bios *bios = init->subdev->device->bios;
1267 u16 msec = nvbios_rd16(bios, init->offset + 1);
1283 struct nvkm_bios *bios = init->subdev->device->bios;
1284 u32 base = nvbios_rd32(bios, init->offset + 1);
1285 u8 count = nvbios_rd08(bios, init->offset + 5);
1291 u32 data = nvbios_rd32(bios, init->offset);
1308 struct nvkm_bios *bios = init->subdev->device->bios;
1309 u32 reg = nvbios_rd32(bios, init->offset + 1);
1310 u16 addr = nvbios_rd16(bios, init->offset + 5);
1311 u32 freq = (u32)nvbios_rd16(bios, addr) * 1000;
1327 struct nvkm_bios *bios = init->subdev->device->bios;
1328 u32 reg = nvbios_rd32(bios, init->offset + 1);
1329 u16 addr = nvbios_rd16(bios, init->offset + 5);
1330 u32 data = nvbios_rd32(bios, addr);
1346 struct nvkm_bios *bios = init->subdev->device->bios;
1347 u16 addr = nvbios_rd16(bios, init->offset + 1);
1372 struct nvkm_bios *bios = init->subdev->device->bios;
1373 u16 offset = nvbios_rd16(bios, init->offset + 1);
1390 struct nvkm_bios *bios = init->subdev->device->bios;
1391 u8 index = nvbios_rd08(bios, init->offset + 1);
1392 u8 addr = nvbios_rd08(bios, init->offset + 2);
1393 u8 reg = nvbios_rd08(bios, init->offset + 3);
1394 u8 mask = nvbios_rd08(bios, init->offset + 4);
1395 u8 data = nvbios_rd08(bios, init->offset + 5);
1417 struct nvkm_bios *bios = init->subdev->device->bios;
1418 u32 sreg = nvbios_rd32(bios, init->offset + 1);
1419 u8 shift = nvbios_rd08(bios, init->offset + 5);
1420 u32 smask = nvbios_rd32(bios, init->offset + 6);
1421 u32 sxor = nvbios_rd32(bios, init->offset + 10);
1422 u32 dreg = nvbios_rd32(bios, init->offset + 14);
1423 u32 dmask = nvbios_rd32(bios, init->offset + 18);
1443 struct nvkm_bios *bios = init->subdev->device->bios;
1444 u16 port = nvbios_rd16(bios, init->offset + 1);
1445 u8 index = nvbios_rd08(bios, init->offset + 3);
1446 u8 data = nvbios_rd08(bios, init->offset + 4);
1479 struct nvkm_bios *bios = init->subdev->device->bios;
1480 u32 reg = nvbios_rd32(bios, init->offset + 1);
1481 u32 data1 = nvbios_rd32(bios, init->offset + 5);
1482 u32 data2 = nvbios_rd32(bios, init->offset + 9);
1506 u16 mdata = bmp_mem_init_table(init->subdev->device->bios);
1515 struct nvkm_bios *bios = init->subdev->device->bios;
1522 if (bios->version.major > 2) {
1529 sdata = bmp_sdr_seq_table(bios);
1530 if (nvbios_rd08(bios, mdata) & 0x01)
1531 sdata = bmp_ddr_seq_table(bios);
1537 for (; (addr = nvbios_rd32(bios, sdata)) != 0xffffffff; sdata += 4) {
1545 data = nvbios_rd32(bios, mdata);
1565 struct nvkm_bios *bios = init->subdev->device->bios;
1571 if (bios->version.major > 2) {
1580 clock = nvbios_rd16(bios, mdata + 4) * 10;
1584 clock = nvbios_rd16(bios, mdata + 2) * 10;
1585 if (nvbios_rd08(bios, mdata) & 0x01)
1599 struct nvkm_bios *bios = init->subdev->device->bios;
1605 if (bios->version.major > 2) {
1625 struct nvkm_bios *bios = init->subdev->device->bios;
1626 u16 port = nvbios_rd16(bios, init->offset + 1);
1627 u8 mask = nvbios_rd16(bios, init->offset + 3);
1628 u8 data = nvbios_rd16(bios, init->offset + 4);
1638 if (bios->subdev.device->card_type >= NV_50 &&
1665 struct nvkm_bios *bios = init->subdev->device->bios;
1666 u8 index = nvbios_rd08(bios, init->offset + 1);
1671 addr = init_script(bios, index);
1692 struct nvkm_bios *bios = init->subdev->device->bios;
1693 u8 mask = nvbios_rd08(bios, init->offset + 1);
1694 u8 value = nvbios_rd08(bios, init->offset + 2);
1711 struct nvkm_bios *bios = init->subdev->device->bios;
1712 u32 reg = nvbios_rd32(bios, init->offset + 1);
1713 u32 mask = nvbios_rd32(bios, init->offset + 5);
1714 u32 data = nvbios_rd32(bios, init->offset + 9);
1729 struct nvkm_bios *bios = init->subdev->device->bios;
1730 u8 macro = nvbios_rd08(bios, init->offset + 1);
1737 u32 addr = nvbios_rd32(bios, table + (macro * 8) + 0);
1738 u32 data = nvbios_rd32(bios, table + (macro * 8) + 4);
1765 struct nvkm_bios *bios = init->subdev->device->bios;
1766 u32 mask = nvbios_rd32(bios, init->offset + 1);
1767 u32 value = nvbios_rd32(bios, init->offset + 5);
1783 struct nvkm_bios *bios = init->subdev->device->bios;
1784 u16 usec = nvbios_rd16(bios, init->offset + 1);
1804 struct nvkm_bios *bios = init->subdev->device->bios;
1805 u8 cond = nvbios_rd08(bios, init->offset + 1);
1821 struct nvkm_bios *bios = init->subdev->device->bios;
1822 u8 cond = nvbios_rd08(bios, init->offset + 1);
1838 struct nvkm_bios *bios = init->subdev->device->bios;
1839 u32 addr = nvbios_rd32(bios, init->offset + 1);
1840 u16 data = nvbios_rd16(bios, init->offset + 5);
1855 struct nvkm_bios *bios = init->subdev->device->bios;
1856 u16 port = nvbios_rd16(bios, init->offset + 1);
1857 u8 index = nvbios_rd16(bios, init->offset + 3);
1858 u8 mask = nvbios_rd08(bios, init->offset + 4);
1859 u8 data = nvbios_rd08(bios, init->offset + 5);
1877 struct nvkm_bios *bios = init->subdev->device->bios;
1878 u32 reg = nvbios_rd32(bios, init->offset + 1);
1879 u32 freq = nvbios_rd16(bios, init->offset + 5) * 10;
1894 struct nvkm_bios *bios = init->subdev->device->bios;
1895 u32 addr = nvbios_rd32(bios, init->offset + 1);
1896 u32 data = nvbios_rd32(bios, init->offset + 5);
1914 struct nvkm_bios *bios = init->subdev->device->bios;
1915 u8 type = nvbios_rd08(bios, init->offset + 1);
1924 u32 freq = nvbios_rd32(bios, init->offset);
1982 struct nvkm_bios *bios = init->subdev->device->bios;
1983 u32 addr = nvbios_rd32(bios, init->offset + 1);
1984 u8 incr = nvbios_rd08(bios, init->offset + 5);
1985 u8 num = nvbios_rd08(bios, init->offset + 6);
1997 u32 data = nvbios_rd32(bios, init->offset);
2020 struct nvkm_bios *bios = init->subdev->device->bios;
2021 u32 sreg = nvbios_rd32(bios, init->offset + 1);
2022 u32 dreg = nvbios_rd32(bios, init->offset + 5);
2037 struct nvkm_bios *bios = init->subdev->device->bios;
2038 u32 addr = nvbios_rd32(bios, init->offset + 1);
2039 u8 count = nvbios_rd08(bios, init->offset + 5);
2045 u32 data = nvbios_rd32(bios, init->offset);
2059 struct nvkm_bios *bios = init->subdev->device->bios;
2060 u32 saddr = nvbios_rd32(bios, init->offset + 1);
2061 u8 sshift = nvbios_rd08(bios, init->offset + 5);
2062 u8 smask = nvbios_rd08(bios, init->offset + 6);
2063 u8 index = nvbios_rd08(bios, init->offset + 7);
2064 u32 daddr = nvbios_rd32(bios, init->offset + 8);
2065 u32 dmask = nvbios_rd32(bios, init->offset + 12);
2066 u8 shift = nvbios_rd08(bios, init->offset + 16);
2087 struct nvkm_bios *bios = init->subdev->device->bios;
2088 u32 addr = nvbios_rd32(bios, init->offset + 1);
2089 u32 mask = nvbios_rd32(bios, init->offset + 5);
2090 u32 add = nvbios_rd32(bios, init->offset + 9);
2108 struct nvkm_bios *bios = init->subdev->device->bios;
2109 u32 addr = nvbios_rd32(bios, init->offset + 1);
2110 u8 count = nvbios_rd08(bios, init->offset + 5);
2116 u8 mask = nvbios_rd08(bios, init->offset + 0);
2117 u8 data = nvbios_rd08(bios, init->offset + 1);
2132 struct nvkm_bios *bios = init->subdev->device->bios;
2133 u32 addr = nvbios_rd32(bios, init->offset + 1);
2134 u8 count = nvbios_rd08(bios, init->offset + 5);
2140 u8 data = nvbios_rd08(bios, init->offset + 0);
2154 struct nvkm_bios *bios = init->subdev->device->bios;
2155 u8 index = nvbios_rd08(bios, init->offset + 1);
2156 u8 addr = nvbios_rd08(bios, init->offset + 2) >> 1;
2157 u8 reglo = nvbios_rd08(bios, init->offset + 3);
2158 u8 reghi = nvbios_rd08(bios, init->offset + 4);
2159 u8 mask = nvbios_rd08(bios, init->offset + 5);
2160 u8 data = nvbios_rd08(bios, init->offset + 6);
2193 struct nvkm_bios *bios = init->subdev->device->bios;
2194 struct nvkm_gpio *gpio = bios->subdev.device->gpio;
2196 u8 count = nvbios_rd08(bios, init->offset + 1);
2204 cont("0x%02x ", nvbios_rd08(bios, i));
2207 while ((data = dcb_gpio_parse(bios, 0, idx++, &ver, &len, &func))) {
2210 if (func.func == nvbios_rd08(bios, i))
2304 struct nvkm_bios *bios = init->subdev->device->bios;
2308 u8 opcode = nvbios_rd08(bios, init->offset);
2324 struct nvkm_bios *bios = subdev->device->bios;
2331 while (!ret && (data = (init_script(bios, ++i)))) {
2340 if (!ret && (data = init_unknown_script(bios))) {