drm/nouveau/dp: use alternate lane mask for nvaf
Naturally... Because Macs can't just be the same as everything else now can they? Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
856ed88875
commit
1b45dbe0bc
@ -342,16 +342,25 @@ dp_set_training_pattern(struct drm_device *dev, struct dp_state *dp, u8 tp)
|
|||||||
auxch_tx(dev, dp->auxch, 8, DP_TRAINING_PATTERN_SET, &tp, 1);
|
auxch_tx(dev, dp->auxch, 8, DP_TRAINING_PATTERN_SET, &tp, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const u8 nv50_lane_map[] = { 16, 8, 0, 24 };
|
||||||
|
static const u8 nvaf_lane_map[] = { 24, 16, 8, 0 };
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dp_link_train_commit(struct drm_device *dev, struct dp_state *dp)
|
dp_link_train_commit(struct drm_device *dev, struct dp_state *dp)
|
||||||
{
|
{
|
||||||
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
||||||
u32 mask = 0, drv = 0, pre = 0, unk = 0;
|
u32 mask = 0, drv = 0, pre = 0, unk = 0;
|
||||||
u8 shifts[4] = { 16, 8, 0, 24 };
|
|
||||||
u8 *bios, *last, headerlen;
|
u8 *bios, *last, headerlen;
|
||||||
|
const u8 *shifts;
|
||||||
int link = dp->link;
|
int link = dp->link;
|
||||||
int or = dp->or;
|
int or = dp->or;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (dev_priv->chipset != 0xaf)
|
||||||
|
shifts = nv50_lane_map;
|
||||||
|
else
|
||||||
|
shifts = nvaf_lane_map;
|
||||||
|
|
||||||
bios = nouveau_bios_dp_table(dev, dp->dcb, &headerlen);
|
bios = nouveau_bios_dp_table(dev, dp->dcb, &headerlen);
|
||||||
last = bios + headerlen + (bios[4] * 5);
|
last = bios + headerlen + (bios[4] * 5);
|
||||||
for (i = 0; i < dp->link_nr; i++) {
|
for (i = 0; i < dp->link_nr; i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user