drm/nouveau: have nv_mask return original register value

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2010-08-30 16:14:51 +10:00
parent 217275d03d
commit 2a7fdb2bc1

View file

@ -1255,12 +1255,11 @@ static inline void nv_wr32(struct drm_device *dev, unsigned reg, u32 val)
iowrite32_native(val, dev_priv->mmio + reg); iowrite32_native(val, dev_priv->mmio + reg);
} }
static inline void nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val) static inline u32 nv_mask(struct drm_device *dev, u32 reg, u32 mask, u32 val)
{ {
u32 tmp = nv_rd32(dev, reg); u32 tmp = nv_rd32(dev, reg);
tmp &= ~mask; nv_wr32(dev, reg, (tmp & ~mask) | val);
tmp |= val; return tmp;
nv_wr32(dev, reg, tmp);
} }
static inline u8 nv_rd08(struct drm_device *dev, unsigned reg) static inline u8 nv_rd08(struct drm_device *dev, unsigned reg)