static u8 init_ram_restrict(struct nvbios_init *init) { u8 strap = init_ram_restrict_strap(init); u16 table = init_ram_restrict_table(init); if (table) return nv_ro08(init->bios, table + strap); return 0x00; }
if (!bit_entry(bios, 'M', &bit_M)) { if (bit_M.version == 1 && bit_M.length >= 5) return nv_ro08(bios, bit_M.offset + 2); if (bit_M.version == 2 && bit_M.length >= 3) return nv_ro08(bios, bit_M.offset + 0); } return 0x00; } static u8 init_ram_restrict(struct nvbios_init *init) { u32 strap = (init_rd32(init, 0x101000) & 0x0000003c) >> 2; u16 table = init_ram_restrict_table(init); if (table) return nv_ro08(init->bios, table + strap); return 0x00; } static u8 init_xlat_(struct nvbios_init *init, u8 index, u8 offset) { struct nouveau_bios *bios = init->bios; u16 table = init_xlat_table(init); if (table) { u16 data = nv_ro16(bios, table + (index * 2)); if (data) return nv_ro08(bios, data + offset); warn("xlat table pointer %d invalid\n", index);