intel_get_crtc_scanline is used in the display tracing infrastructure.
Use no trace hw reads to avoid nested tracing calls.

Signed-off-by: Radhakrishna Sripada <radhakrishna.srip...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_vblank.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c 
b/drivers/gpu/drm/i915/display/intel_vblank.c
index 55f3389fa220..0b8574b29f1c 100644
--- a/drivers/gpu/drm/i915/display/intel_vblank.c
+++ b/drivers/gpu/drm/i915/display/intel_vblank.c
@@ -150,17 +150,17 @@ static u32 
intel_crtc_scanlines_since_frame_timestamp(struct intel_crtc *crtc)
                 * pipe frame time stamp. The time stamp value
                 * is sampled at every start of vertical blank.
                 */
-               scan_prev_time = intel_de_read_fw(dev_priv,
-                                                 PIPE_FRMTMSTMP(crtc->pipe));
+               scan_prev_time = intel_de_read_fw_notrace(dev_priv,
+                                                         
PIPE_FRMTMSTMP(crtc->pipe));
 
                /*
                 * The TIMESTAMP_CTR register has the current
                 * time stamp value.
                 */
-               scan_curr_time = intel_de_read_fw(dev_priv, IVB_TIMESTAMP_CTR);
+               scan_curr_time = intel_de_read_fw_notrace(dev_priv, 
IVB_TIMESTAMP_CTR);
 
-               scan_post_time = intel_de_read_fw(dev_priv,
-                                                 PIPE_FRMTMSTMP(crtc->pipe));
+               scan_post_time = intel_de_read_fw_notrace(dev_priv,
+                                                         
PIPE_FRMTMSTMP(crtc->pipe));
        } while (scan_post_time != scan_prev_time);
 
        return div_u64(mul_u32_u32(scan_curr_time - scan_prev_time,
@@ -217,7 +217,7 @@ static int __intel_get_crtc_scanline(struct intel_crtc 
*crtc)
        if (mode->flags & DRM_MODE_FLAG_INTERLACE)
                vtotal /= 2;
 
-       position = intel_de_read_fw(dev_priv, PIPEDSL(pipe)) & 
PIPEDSL_LINE_MASK;
+       position = intel_de_read_fw_notrace(dev_priv, PIPEDSL(pipe)) & 
PIPEDSL_LINE_MASK;
 
        /*
         * On HSW, the DSL reg (0x70000) appears to return 0 if we
@@ -236,7 +236,8 @@ static int __intel_get_crtc_scanline(struct intel_crtc 
*crtc)
 
                for (i = 0; i < 100; i++) {
                        udelay(1);
-                       temp = intel_de_read_fw(dev_priv, PIPEDSL(pipe)) & 
PIPEDSL_LINE_MASK;
+                       temp = intel_de_read_fw_notrace(dev_priv, 
PIPEDSL(pipe)) &
+                              PIPEDSL_LINE_MASK;
                        if (temp != position) {
                                position = temp;
                                break;
-- 
2.34.1

Reply via email to