diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-08-30 02:14:51 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-09-24 02:19:15 -0400 |
commit | 2a7fdb2bc15b3bfc824eb969b3dc7efa3fb52463 (patch) | |
tree | 2153f3e0bf8f0deed90ea28e5d15c7429bb46711 | |
parent | 217275d03d7e1f3e62c7b0d9718df99456b7c356 (diff) |
drm/nouveau: have nv_mask return original register value
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h index b1be617373b6..c684686f6c0f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h | |||
@@ -1255,12 +1255,11 @@ static inline void nv_wr32(struct drm_device *dev, unsigned reg, u32 val) | |||
1255 | iowrite32_native(val, dev_priv->mmio + reg); | 1255 | iowrite32_native(val, dev_priv->mmio + reg); |
1256 | } | 1256 | } |
1257 | 1257 | ||
1258 | static inline void nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val) | 1258 | static inline u32 nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val) |
1259 | { | 1259 | { |
1260 | u32 tmp = nv_rd32(dev, reg); | 1260 | u32 tmp = nv_rd32(dev, reg); |
1261 | tmp &= ~mask; | 1261 | nv_wr32(dev, reg, (tmp & ~mask) | val); |
1262 | tmp |= val; | 1262 | return tmp; |
1263 | nv_wr32(dev, reg, tmp); | ||
1264 | } | 1263 | } |
1265 | 1264 | ||
1266 | static inline u8 nv_rd08(struct drm_device *dev, unsigned reg) | 1265 | static inline u8 nv_rd08(struct drm_device *dev, unsigned reg) |