Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b13d0e4a authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nve0/fb/gddr5: yet another random 10f200 bit



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent c814a60d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ struct nvbios_ramcfg {
	unsigned ramcfg_11_08_04:1;
	unsigned ramcfg_11_08_08:1;
	unsigned ramcfg_11_08_10:1;
	unsigned ramcfg_11_08_20:1;
	unsigned ramcfg_11_09:8;

	unsigned timing[11];
+1 −0
Original line number Diff line number Diff line
@@ -162,6 +162,7 @@ nvbios_rammapSp(struct nouveau_bios *bios, u32 data,
		p->ramcfg_11_08_04 = (nv_ro08(bios, data + 0x08) & 0x04) >> 2;
		p->ramcfg_11_08_08 = (nv_ro08(bios, data + 0x08) & 0x08) >> 3;
		p->ramcfg_11_08_10 = (nv_ro08(bios, data + 0x08) & 0x10) >> 4;
		p->ramcfg_11_08_20 = (nv_ro08(bios, data + 0x08) & 0x20) >> 5;
		p->ramcfg_11_09    = (nv_ro08(bios, data + 0x09) & 0xff) >> 0;
		break;
	default:
+8 −0
Original line number Diff line number Diff line
@@ -476,6 +476,14 @@ nve0_ram_calc_gddr5(struct nouveau_fb *pfb, u32 freq)
	ram_mask(fuc, 0x10f2cc, 0xffffffff, next->bios.timing[8]);
	ram_mask(fuc, 0x10f2e8, 0xffffffff, next->bios.timing[9]);

	data = mask = 0x00000000;
	if (NOTE00(ramcfg_08_20)) {
		if (next->bios.ramcfg_11_08_20)
			data |= 0x01000000;
		mask |= 0x01000000;
	}
	ram_mask(fuc, 0x10f200, mask, data);

	data = mask = 0x00000000;
	if (NOTE00(ramcfg_02_03 != 0)) {
		data |= (next->bios.ramcfg_11_02_03) << 8;