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

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

drm/nouveau/disp/g94-: port OR DP lane mapping to nvkm_ior



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 797b2fb8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -49,6 +49,10 @@ struct nvkm_ior_func {
			     u8 max_ac_packet, u8 rekey, u8 *avi, u8 avi_size,
			     u8 *vendor, u8 vendor_size);
	} hdmi;

	struct {
		u8 lanes[4];
	} dp;
};

int nvkm_ior_new_(const struct nvkm_ior_func *func, struct nvkm_disp *,
+4 −8
Original line number Diff line number Diff line
@@ -44,14 +44,7 @@ g94_sor_loff(struct nvkm_output_dp *outp)
u32
g94_sor_dp_lane_map(struct nvkm_device *device, u8 lane)
{
	static const u8 gm100[] = { 0, 8, 16, 24 };
	static const u8 mcp89[] = { 24, 16, 8, 0 }; /* thanks, apple.. */
	static const u8   g94[] = { 16, 8, 0, 24 };
	if (device->chipset >= 0x110)
		return gm100[lane];
	if (device->chipset == 0xaf)
		return mcp89[lane];
	return g94[lane];
	return nvkm_ior_find(device->disp, SOR, -1)->func->dp.lanes[lane] * 8;
}

static int
@@ -305,6 +298,9 @@ static const struct nvkm_ior_func
g94_sor = {
	.state = g94_sor_state,
	.power = nv50_sor_power,
	.dp = {
		.lanes = { 2, 1, 0, 3},
	},
};

int
+3 −0
Original line number Diff line number Diff line
@@ -160,6 +160,9 @@ gf119_sor = {
	.hdmi = {
		.ctrl = gf119_hdmi_ctrl,
	},
	.dp = {
		.lanes = { 2, 1, 0, 3 },
	},
};

int
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,9 @@ gk104_sor = {
	.hdmi = {
		.ctrl = gk104_hdmi_ctrl,
	},
	.dp = {
		.lanes = { 2, 1, 0, 3 },
	},
};

int
+3 −0
Original line number Diff line number Diff line
@@ -60,6 +60,9 @@ gm107_sor = {
	.hdmi = {
		.ctrl = gk104_hdmi_ctrl,
	},
	.dp = {
		.lanes = { 0, 1, 2, 3 },
	},
};

int
Loading