@@ -667,6 +667,7 @@ __gen2_read(64)
667
667
#undef GEN2_READ_HEADER
668
668
669
669
#define GEN6_READ_HEADER (x ) \
670
+ u32 offset = reg; \
670
671
unsigned long irqflags; \
671
672
u##x val = 0; \
672
673
assert_device_not_suspended(dev_priv); \
@@ -706,7 +707,7 @@ static u##x \
706
707
gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
707
708
GEN6_READ_HEADER(x); \
708
709
hsw_unclaimed_reg_debug(dev_priv, reg, true, true); \
709
- if (NEEDS_FORCE_WAKE(reg )) \
710
+ if (NEEDS_FORCE_WAKE(offset )) \
710
711
__force_wake_get(dev_priv, FORCEWAKE_RENDER); \
711
712
val = __raw_i915_read##x(dev_priv, reg); \
712
713
hsw_unclaimed_reg_debug(dev_priv, reg, true, false); \
@@ -718,11 +719,11 @@ static u##x \
718
719
vlv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
719
720
enum forcewake_domains fw_engine = 0; \
720
721
GEN6_READ_HEADER(x); \
721
- if (!NEEDS_FORCE_WAKE(reg )) \
722
+ if (!NEEDS_FORCE_WAKE(offset )) \
722
723
fw_engine = 0; \
723
- else if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(reg )) \
724
+ else if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(offset )) \
724
725
fw_engine = FORCEWAKE_RENDER; \
725
- else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(reg )) \
726
+ else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(offset )) \
726
727
fw_engine = FORCEWAKE_MEDIA; \
727
728
if (fw_engine) \
728
729
__force_wake_get(dev_priv, fw_engine); \
@@ -735,13 +736,13 @@ static u##x \
735
736
chv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
736
737
enum forcewake_domains fw_engine = 0; \
737
738
GEN6_READ_HEADER(x); \
738
- if (!NEEDS_FORCE_WAKE(reg )) \
739
+ if (!NEEDS_FORCE_WAKE(offset )) \
739
740
fw_engine = 0; \
740
- else if (FORCEWAKE_CHV_RENDER_RANGE_OFFSET(reg )) \
741
+ else if (FORCEWAKE_CHV_RENDER_RANGE_OFFSET(offset )) \
741
742
fw_engine = FORCEWAKE_RENDER; \
742
- else if (FORCEWAKE_CHV_MEDIA_RANGE_OFFSET(reg )) \
743
+ else if (FORCEWAKE_CHV_MEDIA_RANGE_OFFSET(offset )) \
743
744
fw_engine = FORCEWAKE_MEDIA; \
744
- else if (FORCEWAKE_CHV_COMMON_RANGE_OFFSET(reg )) \
745
+ else if (FORCEWAKE_CHV_COMMON_RANGE_OFFSET(offset )) \
745
746
fw_engine = FORCEWAKE_RENDER | FORCEWAKE_MEDIA; \
746
747
if (fw_engine) \
747
748
__force_wake_get(dev_priv, fw_engine); \
@@ -758,13 +759,13 @@ gen9_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
758
759
enum forcewake_domains fw_engine; \
759
760
GEN6_READ_HEADER(x); \
760
761
hsw_unclaimed_reg_debug(dev_priv, reg, true, true); \
761
- if (!SKL_NEEDS_FORCE_WAKE(reg )) \
762
+ if (!SKL_NEEDS_FORCE_WAKE(offset )) \
762
763
fw_engine = 0; \
763
- else if (FORCEWAKE_GEN9_RENDER_RANGE_OFFSET(reg )) \
764
+ else if (FORCEWAKE_GEN9_RENDER_RANGE_OFFSET(offset )) \
764
765
fw_engine = FORCEWAKE_RENDER; \
765
- else if (FORCEWAKE_GEN9_MEDIA_RANGE_OFFSET(reg )) \
766
+ else if (FORCEWAKE_GEN9_MEDIA_RANGE_OFFSET(offset )) \
766
767
fw_engine = FORCEWAKE_MEDIA; \
767
- else if (FORCEWAKE_GEN9_COMMON_RANGE_OFFSET(reg )) \
768
+ else if (FORCEWAKE_GEN9_COMMON_RANGE_OFFSET(offset )) \
768
769
fw_engine = FORCEWAKE_RENDER | FORCEWAKE_MEDIA; \
769
770
else \
770
771
fw_engine = FORCEWAKE_BLITTER; \
@@ -866,6 +867,7 @@ __gen2_write(64)
866
867
#undef GEN2_WRITE_HEADER
867
868
868
869
#define GEN6_WRITE_HEADER \
870
+ u32 offset = reg; \
869
871
unsigned long irqflags; \
870
872
trace_i915_reg_rw(true, reg, val, sizeof(val), trace); \
871
873
assert_device_not_suspended(dev_priv); \
@@ -879,7 +881,7 @@ static void \
879
881
gen6_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \
880
882
u32 __fifo_ret = 0; \
881
883
GEN6_WRITE_HEADER; \
882
- if (NEEDS_FORCE_WAKE(reg )) { \
884
+ if (NEEDS_FORCE_WAKE(offset )) { \
883
885
__fifo_ret = __gen6_gt_wait_for_fifo(dev_priv); \
884
886
} \
885
887
__raw_i915_write##x(dev_priv, reg, val); \
@@ -894,7 +896,7 @@ static void \
894
896
hsw_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \
895
897
u32 __fifo_ret = 0; \
896
898
GEN6_WRITE_HEADER; \
897
- if (NEEDS_FORCE_WAKE(reg )) { \
899
+ if (NEEDS_FORCE_WAKE(offset )) { \
898
900
__fifo_ret = __gen6_gt_wait_for_fifo(dev_priv); \
899
901
} \
900
902
hsw_unclaimed_reg_debug(dev_priv, reg, false, true); \
@@ -933,7 +935,7 @@ static void \
933
935
gen8_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \
934
936
GEN6_WRITE_HEADER; \
935
937
hsw_unclaimed_reg_debug(dev_priv, reg, false, true); \
936
- if (NEEDS_FORCE_WAKE(reg ) && !is_gen8_shadowed(dev_priv, reg)) \
938
+ if (NEEDS_FORCE_WAKE(offset ) && !is_gen8_shadowed(dev_priv, reg)) \
937
939
__force_wake_get(dev_priv, FORCEWAKE_RENDER); \
938
940
__raw_i915_write##x(dev_priv, reg, val); \
939
941
hsw_unclaimed_reg_debug(dev_priv, reg, false, false); \
@@ -946,14 +948,14 @@ static void \
946
948
chv_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \
947
949
enum forcewake_domains fw_engine = 0; \
948
950
GEN6_WRITE_HEADER; \
949
- if (!NEEDS_FORCE_WAKE(reg ) || \
951
+ if (!NEEDS_FORCE_WAKE(offset ) || \
950
952
is_gen8_shadowed(dev_priv, reg)) \
951
953
fw_engine = 0; \
952
- else if (FORCEWAKE_CHV_RENDER_RANGE_OFFSET(reg )) \
954
+ else if (FORCEWAKE_CHV_RENDER_RANGE_OFFSET(offset )) \
953
955
fw_engine = FORCEWAKE_RENDER; \
954
- else if (FORCEWAKE_CHV_MEDIA_RANGE_OFFSET(reg )) \
956
+ else if (FORCEWAKE_CHV_MEDIA_RANGE_OFFSET(offset )) \
955
957
fw_engine = FORCEWAKE_MEDIA; \
956
- else if (FORCEWAKE_CHV_COMMON_RANGE_OFFSET(reg )) \
958
+ else if (FORCEWAKE_CHV_COMMON_RANGE_OFFSET(offset )) \
957
959
fw_engine = FORCEWAKE_RENDER | FORCEWAKE_MEDIA; \
958
960
if (fw_engine) \
959
961
__force_wake_get(dev_priv, fw_engine); \
@@ -991,14 +993,14 @@ gen9_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, \
991
993
enum forcewake_domains fw_engine; \
992
994
GEN6_WRITE_HEADER; \
993
995
hsw_unclaimed_reg_debug(dev_priv, reg, false, true); \
994
- if (!SKL_NEEDS_FORCE_WAKE(reg ) || \
996
+ if (!SKL_NEEDS_FORCE_WAKE(offset ) || \
995
997
is_gen9_shadowed(dev_priv, reg)) \
996
998
fw_engine = 0; \
997
- else if (FORCEWAKE_GEN9_RENDER_RANGE_OFFSET(reg )) \
999
+ else if (FORCEWAKE_GEN9_RENDER_RANGE_OFFSET(offset )) \
998
1000
fw_engine = FORCEWAKE_RENDER; \
999
- else if (FORCEWAKE_GEN9_MEDIA_RANGE_OFFSET(reg )) \
1001
+ else if (FORCEWAKE_GEN9_MEDIA_RANGE_OFFSET(offset )) \
1000
1002
fw_engine = FORCEWAKE_MEDIA; \
1001
- else if (FORCEWAKE_GEN9_COMMON_RANGE_OFFSET(reg )) \
1003
+ else if (FORCEWAKE_GEN9_COMMON_RANGE_OFFSET(offset )) \
1002
1004
fw_engine = FORCEWAKE_RENDER | FORCEWAKE_MEDIA; \
1003
1005
else \
1004
1006
fw_engine = FORCEWAKE_BLITTER; \
0 commit comments