|
@@ -1255,12 +1255,11 @@ static inline void nv_wr32(struct drm_device *dev, unsigned reg, u32 val)
|
|
|
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);
|
|
|
- tmp &= ~mask;
|
|
|
- tmp |= val;
|
|
|
- nv_wr32(dev, reg, tmp);
|
|
|
+ nv_wr32(dev, reg, (tmp & ~mask) | val);
|
|
|
+ return tmp;
|
|
|
}
|
|
|
|
|
|
static inline u8 nv_rd08(struct drm_device *dev, unsigned reg)
|