/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
A D | base.c | 36 if (*addr > bios->image0_size && bios->imaged_addr) { in nvbios_addr() 121 memcpy(bios->data, prev, bios->size); in nvbios_extend() 134 return bios; in nvkm_bios_dtor() 173 bios->bmp_offset = nvbios_findstr(bios->data, bios->size, in nvkm_bios_new() 181 bios->bit_offset = nvbios_findstr(bios->data, bios->size, in nvkm_bios_new() 195 bios->version.major = nvbios_rd08(bios, bios->bmp_offset + 13); in nvkm_bios_new() 196 bios->version.chip = nvbios_rd08(bios, bios->bmp_offset + 12); in nvkm_bios_new() 197 bios->version.minor = nvbios_rd08(bios, bios->bmp_offset + 11); in nvkm_bios_new() 198 bios->version.micro = nvbios_rd08(bios, bios->bmp_offset + 10); in nvkm_bios_new() 202 bios->version.major, bios->version.chip, in nvkm_bios_new() [all …]
|
A D | rammap.c | 35 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_rammapTe() 37 rammap = nvbios_rd32(bios, bit_P.offset + 4); in nvbios_rammapTe() 40 *ver = nvbios_rd08(bios, rammap + 0); in nvbios_rammapTe() 44 *hdr = nvbios_rd08(bios, rammap + 1); in nvbios_rammapTe() 45 *cnt = nvbios_rd08(bios, rammap + 5); in nvbios_rammapTe() 46 *len = nvbios_rd08(bios, rammap + 2); in nvbios_rammapTe() 47 *snr = nvbios_rd08(bios, rammap + 4); in nvbios_rammapTe() 48 *ssz = nvbios_rd08(bios, rammap + 3); in nvbios_rammapTe() 60 nvbios_rammapEe(struct nvkm_bios *bios, int idx, in nvbios_rammapEe() argument 91 nvbios_rammapEp(struct nvkm_bios *bios, int idx, in nvbios_rammapEp() argument [all …]
|
A D | pll.c | 100 if (bmp_version(bios) >= 0x0524) { in pll_limits_table() 101 data = nvbios_rd16(bios, bios->bmp_offset + 142); in pll_limits_table() 116 pll_map(struct nvkm_bios *bios) in pll_map() argument 162 map = pll_map(bios); in pll_map_reg() 207 map = pll_map(bios); in pll_map_type() 270 switch (bios->version.chip) { in nvbios_pll_parse() 289 switch (bios->version.chip) { in nvbios_pll_parse() 322 if (bios->version.chip < 0x60) in nvbios_pll_parse() 406 info->vco1.max_freq = nvbios_rd32(bios, bios->bmp_offset + 67); in nvbios_pll_parse() 407 info->vco1.min_freq = nvbios_rd32(bios, bios->bmp_offset + 71); in nvbios_pll_parse() [all …]
|
A D | perf.c | 36 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_perf_table() 40 *ver = nvbios_rd08(bios, perf + 0); in nvbios_perf_table() 41 *hdr = nvbios_rd08(bios, perf + 1); in nvbios_perf_table() 43 *cnt = nvbios_rd08(bios, perf + 5); in nvbios_perf_table() 60 if (bios->bmp_offset) { in nvbios_perf_table() 61 if (nvbios_rd08(bios, bios->bmp_offset + 6) >= 0x25) { in nvbios_perf_table() 62 perf = nvbios_rd16(bios, bios->bmp_offset + 0x94); in nvbios_perf_table() 64 *hdr = nvbios_rd08(bios, perf + 0); in nvbios_perf_table() 65 *ver = nvbios_rd08(bios, perf + 1); in nvbios_perf_table() 66 *cnt = nvbios_rd08(bios, perf + 2); in nvbios_perf_table() [all …]
|
A D | init.c | 124 struct nvkm_bios *bios = init->subdev->device->bios; in init_conn() local 379 struct nvkm_bios *bios = init->subdev->device->bios; in init_table_() local 463 struct nvkm_bios *bios = init->subdev->device->bios; in init_xlat_() local 481 struct nvkm_bios *bios = init->subdev->device->bios; in init_condition_met() local 497 struct nvkm_bios *bios = init->subdev->device->bios; in init_io_condition_met() local 514 struct nvkm_bios *bios = init->subdev->device->bios; in init_io_flag_condition_met() local 585 struct nvkm_bios *bios = init->subdev->device->bios; in init_reserved() local 623 struct nvkm_bios *bios = init->subdev->device->bios; in init_io_restrict_prog() local 660 struct nvkm_bios *bios = init->subdev->device->bios; in init_repeat() local 686 struct nvkm_bios *bios = init->subdev->device->bios; in init_io_restrict_pll() local [all …]
|
A D | timing.c | 29 nvbios_timingTe(struct nvkm_bios *bios, in nvbios_timingTe() argument 35 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_timingTe() 43 *ver = nvbios_rd08(bios, timing + 0); in nvbios_timingTe() 46 *hdr = nvbios_rd08(bios, timing + 1); in nvbios_timingTe() 47 *cnt = nvbios_rd08(bios, timing + 2); in nvbios_timingTe() 48 *len = nvbios_rd08(bios, timing + 3); in nvbios_timingTe() 53 *hdr = nvbios_rd08(bios, timing + 1); in nvbios_timingTe() 54 *cnt = nvbios_rd08(bios, timing + 5); in nvbios_timingTe() 55 *len = nvbios_rd08(bios, timing + 2); in nvbios_timingTe() 56 *snr = nvbios_rd08(bios, timing + 4); in nvbios_timingTe() [all …]
|
A D | dp.c | 33 if (!bit_entry(bios, 'd', &d)) { in nvbios_dp_table() 35 u16 data = nvbios_rd16(bios, d.offset); in nvbios_dp_table() 37 *ver = nvbios_rd08(bios, data + 0x00); in nvbios_dp_table() 45 *hdr = nvbios_rd08(bios, data + 0x01); in nvbios_dp_table() 46 *len = nvbios_rd08(bios, data + 0x02); in nvbios_dp_table() 70 *hdr = nvbios_rd08(bios, data + 0x04); in nvbios_dpout_entry() 71 *len = nvbios_rd08(bios, data + 0x05); in nvbios_dpout_entry() 72 *cnt = nvbios_rd08(bios, outp + 0x04); in nvbios_dpout_entry() 77 *hdr = nvbios_rd08(bios, data + 0x04); in nvbios_dpout_entry() 159 *len = nvbios_rd08(bios, outp + 0x06); in nvbios_dpcfg_entry() [all …]
|
A D | Kbuild | 2 nvkm-y += nvkm/subdev/bios/base.o 3 nvkm-y += nvkm/subdev/bios/bit.o 4 nvkm-y += nvkm/subdev/bios/boost.o 5 nvkm-y += nvkm/subdev/bios/conn.o 6 nvkm-y += nvkm/subdev/bios/cstep.o 7 nvkm-y += nvkm/subdev/bios/dcb.o 8 nvkm-y += nvkm/subdev/bios/disp.o 9 nvkm-y += nvkm/subdev/bios/dp.o 11 nvkm-y += nvkm/subdev/bios/fan.o 12 nvkm-y += nvkm/subdev/bios/gpio.o [all …]
|
A D | volt.c | 34 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_volt_table() 42 *ver = nvbios_rd08(bios, volt + 0); in nvbios_volt_table() 46 *cnt = nvbios_rd08(bios, volt + 2); in nvbios_volt_table() 47 *len = nvbios_rd08(bios, volt + 1); in nvbios_volt_table() 50 *hdr = nvbios_rd08(bios, volt + 1); in nvbios_volt_table() 51 *cnt = nvbios_rd08(bios, volt + 2); in nvbios_volt_table() 52 *len = nvbios_rd08(bios, volt + 3); in nvbios_volt_table() 57 *hdr = nvbios_rd08(bios, volt + 1); in nvbios_volt_table() 58 *cnt = nvbios_rd08(bios, volt + 3); in nvbios_volt_table() 59 *len = nvbios_rd08(bios, volt + 2); in nvbios_volt_table() [all …]
|
A D | i2c.c | 35 i2c = nvbios_rd16(bios, dcb + 2); in dcb_i2c_table() 37 i2c = nvbios_rd16(bios, dcb + 4); in dcb_i2c_table() 46 *ver = nvbios_rd08(bios, i2c + 0); in dcb_i2c_table() 47 *hdr = nvbios_rd08(bios, i2c + 1); in dcb_i2c_table() 48 *cnt = nvbios_rd08(bios, i2c + 2); in dcb_i2c_table() 49 *len = nvbios_rd08(bios, i2c + 3); in dcb_i2c_table() 110 if (nvbios_rd08(bios, ent + 1) & 0x01) in dcb_i2c_parse() 115 if (nvbios_rd08(bios, ent + 1) & 0x01) in dcb_i2c_parse() 136 if (bios->bmp_offset && idx < 2) { in dcb_i2c_parse() 140 if (nvbios_rd08(bios, bios->bmp_offset + 5) < 4) in dcb_i2c_parse() [all …]
|
A D | vmap.c | 34 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_vmap_table() 36 vmap = nvbios_rd32(bios, bit_P.offset + 0x20); in nvbios_vmap_table() 38 *ver = nvbios_rd08(bios, vmap + 0); in nvbios_vmap_table() 42 *hdr = nvbios_rd08(bios, vmap + 1); in nvbios_vmap_table() 43 *cnt = nvbios_rd08(bios, vmap + 3); in nvbios_vmap_table() 44 *len = nvbios_rd08(bios, vmap + 2); in nvbios_vmap_table() 69 info->max0 = nvbios_rd08(bios, vmap + 0x7); in nvbios_vmap_parse() 70 info->max1 = nvbios_rd08(bios, vmap + 0x8); in nvbios_vmap_parse() 72 info->max2 = nvbios_rd08(bios, vmap + 0xc); in nvbios_vmap_parse() 101 info->min = nvbios_rd32(bios, vmap + 0x00); in nvbios_vmap_entry_parse() [all …]
|
A D | disp.c | 29 nvbios_disp_table(struct nvkm_bios *bios, in nvbios_disp_table() argument 34 if (!bit_entry(bios, 'U', &U)) { in nvbios_disp_table() 36 u16 data = nvbios_rd16(bios, U.offset); in nvbios_disp_table() 38 *ver = nvbios_rd08(bios, data + 0x00); in nvbios_disp_table() 43 *hdr = nvbios_rd08(bios, data + 0x01); in nvbios_disp_table() 44 *len = nvbios_rd08(bios, data + 0x02); in nvbios_disp_table() 45 *cnt = nvbios_rd08(bios, data + 0x03); in nvbios_disp_table() 46 *sub = nvbios_rd08(bios, data + 0x04); in nvbios_disp_table() 75 info->data = nvbios_rd16(bios, data + 0); in nvbios_disp_parse() 88 *cnt = nvbios_rd08(bios, info.data + 0x05); in nvbios_outp_entry() [all …]
|
A D | mxm.c | 34 if (bit_entry(bios, 'x', &x)) { in mxm_table() 79 u16 mxm = mxm_table(bios, &ver, &hdr); in mxm_sor_map() 81 u16 map = nvbios_rd16(bios, mxm + 4); in mxm_sor_map() 83 ver = nvbios_rd08(bios, map); in mxm_sor_map() 88 return nvbios_rd08(bios, map); in mxm_sor_map() 98 if (bios->version.chip == 0x84 || bios->version.chip == 0x86) in mxm_sor_map() 100 if (bios->version.chip == 0x92) in mxm_sor_map() 102 if (bios->version.chip == 0x94 || bios->version.chip == 0x96) in mxm_sor_map() 104 if (bios->version.chip == 0x98) in mxm_sor_map() 120 ver = nvbios_rd08(bios, map); in mxm_ddc_map() [all …]
|
A D | pmu.c | 35 if (!bit_entry(bios, 'p', &bit_p)) { in nvbios_pmuTe() 37 data = nvbios_rd32(bios, bit_p.offset + 0x00); in nvbios_pmuTe() 40 *hdr = nvbios_rd08(bios, data + 0x01); in nvbios_pmuTe() 41 *len = nvbios_rd08(bios, data + 0x02); in nvbios_pmuTe() 42 *cnt = nvbios_rd08(bios, data + 0x03); in nvbios_pmuTe() 66 u32 data = nvbios_pmuEe(bios, idx, ver, hdr); in nvbios_pmuEp() 70 info->type = nvbios_rd08(bios, data + 0x00); in nvbios_pmuEp() 71 info->data = nvbios_rd32(bios, data + 0x02); in nvbios_pmuEp() 90 nvbios_rd32(bios, data + 0x18); in nvbios_pmuRm() 92 nvbios_rd32(bios, data + 0x18); in nvbios_pmuRm() [all …]
|
A D | conn.c | 31 u32 dcb = dcb_table(bios, ver, hdr, cnt, len); in nvbios_connTe() 33 u32 data = nvbios_rd16(bios, dcb + 0x14); in nvbios_connTe() 35 *ver = nvbios_rd08(bios, data + 0); in nvbios_connTe() 36 *hdr = nvbios_rd08(bios, data + 1); in nvbios_connTe() 37 *cnt = nvbios_rd08(bios, data + 2); in nvbios_connTe() 38 *len = nvbios_rd08(bios, data + 3); in nvbios_connTe() 49 u32 data = nvbios_connTe(bios, ver, hdr, cnt, len); in nvbios_connTp() 65 u32 data = nvbios_connTe(bios, ver, &hdr, &cnt, len); in nvbios_connEe() 75 u32 data = nvbios_connEe(bios, idx, ver, len); in nvbios_connEp() 80 info->type = nvbios_rd08(bios, data + 0x00); in nvbios_connEp() [all …]
|
A D | extdev.c | 38 extdev = nvbios_rd16(bios, dcb + 18); in extdev_table() 42 *ver = nvbios_rd08(bios, extdev + 0); in extdev_table() 43 *hdr = nvbios_rd08(bios, extdev + 1); in extdev_table() 44 *cnt = nvbios_rd08(bios, extdev + 2); in extdev_table() 45 *len = nvbios_rd08(bios, extdev + 3); in extdev_table() 50 nvbios_extdev_skip_probe(struct nvkm_bios *bios) in nvbios_extdev_skip_probe() argument 55 u8 flags = nvbios_rd08(bios, data - hdr + 4); in nvbios_extdev_skip_probe() 76 entry->type = nvbios_rd08(bios, offset + 0); in extdev_parse_entry() 77 entry->addr = nvbios_rd08(bios, offset + 1); in extdev_parse_entry() 91 extdev_parse_entry(bios, entry, func); in nvbios_extdev_parse() [all …]
|
A D | cstep.c | 29 nvbios_cstepTe(struct nvkm_bios *bios, in nvbios_cstepTe() argument 35 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_cstepTe() 37 cstep = nvbios_rd32(bios, bit_P.offset + 0x34); in nvbios_cstepTe() 40 *ver = nvbios_rd08(bios, cstep + 0); in nvbios_cstepTe() 43 *hdr = nvbios_rd08(bios, cstep + 1); in nvbios_cstepTe() 44 *cnt = nvbios_rd08(bios, cstep + 3); in nvbios_cstepTe() 45 *len = nvbios_rd08(bios, cstep + 2); in nvbios_cstepTe() 46 *xnr = nvbios_rd08(bios, cstep + 5); in nvbios_cstepTe() 47 *xsz = nvbios_rd08(bios, cstep + 4); in nvbios_cstepTe() 75 u32 data = nvbios_cstepEe(bios, idx, ver, hdr); in nvbios_cstepEp() [all …]
|
A D | boost.c | 29 nvbios_boostTe(struct nvkm_bios *bios, in nvbios_boostTe() argument 35 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_boostTe() 40 *ver = nvbios_rd08(bios, boost + 0); in nvbios_boostTe() 43 *hdr = nvbios_rd08(bios, boost + 1); in nvbios_boostTe() 44 *cnt = nvbios_rd08(bios, boost + 5); in nvbios_boostTe() 45 *len = nvbios_rd08(bios, boost + 2); in nvbios_boostTe() 46 *snr = nvbios_rd08(bios, boost + 4); in nvbios_boostTe() 47 *ssz = nvbios_rd08(bios, boost + 3); in nvbios_boostTe() 59 nvbios_boostEe(struct nvkm_bios *bios, int idx, in nvbios_boostEe() argument 75 nvbios_boostEp(struct nvkm_bios *bios, int idx, in nvbios_boostEp() argument [all …]
|
A D | gpio.c | 36 data = nvbios_rd16(bios, dcb + 0x0a); in dcb_gpio_table() 39 data = nvbios_rd16(bios, dcb - 0x0f); in dcb_gpio_table() 42 *ver = nvbios_rd08(bios, data + 0x00); in dcb_gpio_table() 45 *cnt = nvbios_rd08(bios, data + 0x02); in dcb_gpio_table() 46 *len = nvbios_rd08(bios, data + 0x01); in dcb_gpio_table() 49 *hdr = nvbios_rd08(bios, data + 0x01); in dcb_gpio_table() 50 *cnt = nvbios_rd08(bios, data + 0x02); in dcb_gpio_table() 51 *len = nvbios_rd08(bios, data + 0x03); in dcb_gpio_table() 84 u16 info = nvbios_rd16(bios, data); in dcb_gpio_parse() 94 u32 info = nvbios_rd32(bios, data); in dcb_gpio_parse() [all …]
|
A D | shadow.c | 42 const u32 start = bios->size; in shadow_fetch() 44 if (nvbios_extend(bios, limit) > 0) { in shadow_fetch() 46 bios->size = start + read; in shadow_fetch() 48 return bios->size >= upto; in shadow_fetch() 127 mthd->data = bios->data; in shadow_method() 128 mthd->size = bios->size; in shadow_method() 129 bios->data = NULL; in shadow_method() 130 bios->size = 0; in shadow_method() 167 nvbios_shadow(struct nvkm_bios *bios) in nvbios_shadow() argument 238 bios->data = best->data; in nvbios_shadow() [all …]
|
/linux/drivers/gpu/drm/nouveau/ |
A D | nouveau_bios.c | 361 fptable = &bios->data[bios->fp.fptablepointer]; in parse_fp_mode_table() 419 fpindex = bios->data[bios->fp.fpxlatetableptr + in parse_fp_mode_table() 443 ROM16(bios->data[bios->fp.mode_ptr + 11]) + 1, in parse_fp_mode_table() 444 ROM16(bios->data[bios->fp.mode_ptr + 25]) + 1, in parse_fp_mode_table() 594 bios->fp.dual_link = bios->data[lvdsofs] & 4; in nouveau_bios_parse_lvds_table() 611 bios->fp.dual_link = bios->data[lvdsofs] & 1; in nouveau_bios_parse_lvds_table() 613 bios->fp.strapless_is_24bit = bios->data[bios->fp.lvdsmanufacturerpointer + 4]; in nouveau_bios_parse_lvds_table() 982 entries = bios->data[bios->offset + 10]; in bit_table() 983 entry = &bios->data[bios->offset + 12]; in bit_table() 994 entry += bios->data[bios->offset + 9]; in bit_table() [all …]
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
A D | amdgpu_bios.c | 59 DRM_INFO("BIOS signature incorrect %x %x\n", bios[0], bios[1]); in check_atom_bios() 63 bios_header_start = bios[0x48] | (bios[0x49] << 8); in check_atom_bios() 107 if (!bios) { in igp_read_bios_from_vram() 113 iounmap(bios); in igp_read_bios_from_vram() 117 memcpy_fromio(adev->bios, bios, size); in igp_read_bios_from_vram() 118 iounmap(bios); in igp_read_bios_from_vram() 136 if (!bios) { in amdgpu_read_bios() 146 memcpy_fromio(adev->bios, bios, size); in amdgpu_read_bios() 213 if (!bios) in amdgpu_read_platform_bios() 216 memcpy_fromio(adev->bios, bios, romlen); in amdgpu_read_platform_bios() [all …]
|
/linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ |
A D | bmp.h | 5 bmp_version(struct nvkm_bios *bios) in bmp_version() argument 7 if (bios->bmp_offset) { in bmp_version() 8 return nvbios_rd08(bios, bios->bmp_offset + 5) << 8 | in bmp_version() 9 nvbios_rd08(bios, bios->bmp_offset + 6); in bmp_version() 16 bmp_mem_init_table(struct nvkm_bios *bios) in bmp_mem_init_table() argument 18 if (bmp_version(bios) >= 0x0300) in bmp_mem_init_table() 19 return nvbios_rd16(bios, bios->bmp_offset + 24); in bmp_mem_init_table() 26 if (bmp_version(bios) >= 0x0300) in bmp_sdr_seq_table() 27 return nvbios_rd16(bios, bios->bmp_offset + 26); in bmp_sdr_seq_table() 34 if (bmp_version(bios) >= 0x0300) in bmp_ddr_seq_table() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
A D | ramgk104.c | 399 if (!next->bios.ramcfg_11_07_08 && !next->bios.ramcfg_11_07_04) { in gk104_ram_calc_gddr5() 1139 xits->bios.ramcfg_11_02_04 = copy->bios.ramcfg_11_02_04; in gk104_ram_calc() 1140 xits->bios.ramcfg_11_02_03 = copy->bios.ramcfg_11_02_03; in gk104_ram_calc() 1141 xits->bios.timing_20_30_07 = copy->bios.timing_20_30_07; in gk104_ram_calc() 1274 struct nvkm_bios *bios = ram->fb->subdev.device->bios; in gk104_ram_train_type() local 1401 struct nvkm_bios *bios = device->bios; in gk104_ram_init() local 1441 struct nvkm_bios *bios = ram->base.fb->subdev.device->bios; in gk104_ram_ctor_data() local 1452 n = &cfg->bios; in gk104_ram_ctor_data() 1455 data = nvbios_rammapEp(bios, i, &ver, &hdr, &cnt, &len, &cfg->bios); in gk104_ram_ctor_data() 1471 data = nvbios_timingEp(bios, cfg->bios.ramcfg_timing, in gk104_ram_ctor_data() [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/ |
A D | dc_bios_types.h | 45 struct dc_bios *bios, 48 struct dc_bios *bios, 56 struct dc_bios *bios, 60 struct dc_bios *bios, 65 struct dc_bios *bios, 70 struct dc_bios *bios, 73 struct dc_bios *bios, 76 struct dc_bios *bios, 80 struct dc_bios *bios, 87 struct dc_bios *bios, [all …]
|