Xi Wang
2012-Feb-03 16:13 UTC
[Nouveau] [PATCH RFC] drm/nouveau/dp: fix bad comparison in dp_link_train_commit()
The comparison (lpre == DP_TRAIN_PRE_EMPHASIS_9_5) is always false: lpre is initialized as (lane & 0x0c) >> 2, which is at most 3, while DP_TRAIN_PRE_EMPHASIS_9_5 is defined as (3 << 3). Signed-off-by: Xi Wang <xi.wang at gmail.com> --- drivers/gpu/drm/nouveau/nouveau_dp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index 9b93b70..c51c68b 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -432,7 +432,7 @@ dp_link_train_commit(struct drm_device *dev, struct dp_state *dp) dp->conf[i] = (lpre << 3) | lvsw; if (lvsw == DP_TRAIN_VOLTAGE_SWING_1200) dp->conf[i] |= DP_TRAIN_MAX_SWING_REACHED; - if (lpre == DP_TRAIN_PRE_EMPHASIS_9_5) + if ((lpre << 3) == DP_TRAIN_PRE_EMPHASIS_9_5) dp->conf[i] |= DP_TRAIN_MAX_PRE_EMPHASIS_REACHED; NV_DEBUG_KMS(dev, "config lane %d %02x\n", i, dp->conf[i]); -- 1.7.5.4
Ben Skeggs
2012-Feb-05 23:08 UTC
[Nouveau] [PATCH RFC] drm/nouveau/dp: fix bad comparison in dp_link_train_commit()
On Fri, 2012-02-03 at 11:13 -0500, Xi Wang wrote:> The comparison (lpre == DP_TRAIN_PRE_EMPHASIS_9_5) is always false: > lpre is initialized as (lane & 0x0c) >> 2, which is at most 3, while > DP_TRAIN_PRE_EMPHASIS_9_5 is defined as (3 << 3).I've picked up the patch. Thank you! Ben.> > Signed-off-by: Xi Wang <xi.wang at gmail.com> > --- > drivers/gpu/drm/nouveau/nouveau_dp.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c > index 9b93b70..c51c68b 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_dp.c > +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c > @@ -432,7 +432,7 @@ dp_link_train_commit(struct drm_device *dev, struct dp_state *dp) > dp->conf[i] = (lpre << 3) | lvsw; > if (lvsw == DP_TRAIN_VOLTAGE_SWING_1200) > dp->conf[i] |= DP_TRAIN_MAX_SWING_REACHED; > - if (lpre == DP_TRAIN_PRE_EMPHASIS_9_5) > + if ((lpre << 3) == DP_TRAIN_PRE_EMPHASIS_9_5) > dp->conf[i] |= DP_TRAIN_MAX_PRE_EMPHASIS_REACHED; > > NV_DEBUG_KMS(dev, "config lane %d %02x\n", i, dp->conf[i]);