mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
drm/i915: Drop the forcewake count inc/dec around register read on VLV
VLV is the only platform where we increment/decrement the forcewake count around register access. Drop the inc/dec on VLV to make the forcewake code a bit more unified. The inc/dec are not necessary since we hold the uncore lock around the whole operation. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Deepak S <deepak.s@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
ee7fa12ce4
commit
fc9d83f747
@ -516,22 +516,22 @@ gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
|
||||
static u##x \
|
||||
vlv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
|
||||
unsigned fwengine = 0; \
|
||||
unsigned *fwcount; \
|
||||
unsigned fwcount; \
|
||||
REG_READ_HEADER(x); \
|
||||
if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(reg)) { \
|
||||
fwengine = FORCEWAKE_RENDER; \
|
||||
fwcount = &dev_priv->uncore.fw_rendercount; \
|
||||
fwcount = dev_priv->uncore.fw_rendercount; \
|
||||
} \
|
||||
else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(reg)) { \
|
||||
fwengine = FORCEWAKE_MEDIA; \
|
||||
fwcount = &dev_priv->uncore.fw_mediacount; \
|
||||
fwcount = dev_priv->uncore.fw_mediacount; \
|
||||
} \
|
||||
if (fwengine != 0) { \
|
||||
if ((*fwcount)++ == 0) \
|
||||
if (fwcount == 0) \
|
||||
(dev_priv)->uncore.funcs.force_wake_get(dev_priv, \
|
||||
fwengine); \
|
||||
val = __raw_i915_read##x(dev_priv, reg); \
|
||||
if (--(*fwcount) == 0) \
|
||||
if (fwcount == 0) \
|
||||
(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
|
||||
fwengine); \
|
||||
} else { \
|
||||
|
Loading…
Reference in New Issue
Block a user