aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_dp.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-11-16 22:56:14 -0500
committerBen Skeggs <bskeggs@redhat.com>2011-12-21 04:01:40 -0500
commit2bdb06e3cff066c546fb41152bc582a5ec73e899 (patch)
tree919e599c07672b170f1a1b6c3ab9d13294974729 /drivers/gpu/drm/nouveau/nouveau_dp.c
parent486a45c2a6c19b159602d044ab601a92cd81f524 (diff)
drm/nouveau/i2c: tidy up bit-bang helpers, also fixing nv50 setsda bug
Was using nv_mask, which is bad. Reading the reg senses the current line states, which aren't necessarily the states we're trying to drive the lines to. Fixed to store SCL driver state just as we already do for SDA. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_dp.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_dp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 5722fd55764b..07bac3602453 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -578,7 +578,7 @@ nouveau_dp_link_train(struct drm_encoder *encoder, u32 datarate)
578 578
579 dp.dcb = nv_encoder->dcb; 579 dp.dcb = nv_encoder->dcb;
580 dp.crtc = nv_crtc->index; 580 dp.crtc = nv_crtc->index;
581 dp.auxch = auxch->rd; 581 dp.auxch = auxch->drive;
582 dp.or = nv_encoder->or; 582 dp.or = nv_encoder->or;
583 dp.link = !(nv_encoder->dcb->sorconf.link & 1); 583 dp.link = !(nv_encoder->dcb->sorconf.link & 1);
584 dp.dpcd = nv_encoder->dp.dpcd; 584 dp.dpcd = nv_encoder->dp.dpcd;
@@ -653,7 +653,7 @@ nouveau_dp_detect(struct drm_encoder *encoder)
653 if (!auxch) 653 if (!auxch)
654 return false; 654 return false;
655 655
656 ret = auxch_tx(dev, auxch->rd, 9, DP_DPCD_REV, dpcd, 8); 656 ret = auxch_tx(dev, auxch->drive, 9, DP_DPCD_REV, dpcd, 8);
657 if (ret) 657 if (ret)
658 return false; 658 return false;
659 659
@@ -681,7 +681,7 @@ int
681nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr, 681nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr,
682 uint8_t *data, int data_nr) 682 uint8_t *data, int data_nr)
683{ 683{
684 return auxch_tx(auxch->dev, auxch->rd, cmd, addr, data, data_nr); 684 return auxch_tx(auxch->dev, auxch->drive, cmd, addr, data, data_nr);
685} 685}
686 686
687static int 687static int