Loading drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h +4 −0 Original line number Diff line number Diff line Loading @@ -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 *, Loading drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c +4 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c +3 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,9 @@ gf119_sor = { .hdmi = { .ctrl = gf119_hdmi_ctrl, }, .dp = { .lanes = { 2, 1, 0, 3 }, }, }; int Loading drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ gk104_sor = { .hdmi = { .ctrl = gk104_hdmi_ctrl, }, .dp = { .lanes = { 2, 1, 0, 3 }, }, }; int Loading drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ gm107_sor = { .hdmi = { .ctrl = gk104_hdmi_ctrl, }, .dp = { .lanes = { 0, 1, 2, 3 }, }, }; int Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h +4 −0 Original line number Diff line number Diff line Loading @@ -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 *, Loading
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c +4 −8 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c +3 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,9 @@ gf119_sor = { .hdmi = { .ctrl = gf119_hdmi_ctrl, }, .dp = { .lanes = { 2, 1, 0, 3 }, }, }; int Loading
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ gk104_sor = { .hdmi = { .ctrl = gk104_hdmi_ctrl, }, .dp = { .lanes = { 2, 1, 0, 3 }, }, }; int Loading
drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ gm107_sor = { .hdmi = { .ctrl = gk104_hdmi_ctrl, }, .dp = { .lanes = { 0, 1, 2, 3 }, }, }; int Loading