Message ID | 1492988566-9801-1-git-send-email-mario.kleiner.de@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Apr 23, 2017 at 7:02 PM, Mario Kleiner <mario.kleiner.de@gmail.com> wrote: > This apparently got lost when implementing the new DCE-6 support > and would cause failures in pageflip scheduling and timestamping. > > Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: stable@vger.kernel.org Applied. thanks! Alex > --- > drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > index 307269b..e146d25 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > @@ -979,7 +979,7 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, > u32 priority_a_mark = 0, priority_b_mark = 0; > u32 priority_a_cnt = PRIORITY_OFF; > u32 priority_b_cnt = PRIORITY_OFF; > - u32 tmp, arb_control3; > + u32 tmp, arb_control3, lb_vblank_lead_lines = 0; > fixed20_12 a, b, c; > > if (amdgpu_crtc->base.enabled && num_heads && mode) { > @@ -1091,6 +1091,8 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, > c.full = dfixed_div(c, a); > priority_b_mark = dfixed_trunc(c); > priority_b_cnt |= priority_b_mark & PRIORITY_MARK_MASK; > + > + lb_vblank_lead_lines = DIV_ROUND_UP(lb_size, mode->crtc_hdisplay); > } > > /* select wm A */ > @@ -1120,6 +1122,9 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, > /* save values for DPM */ > amdgpu_crtc->line_time = line_time; > amdgpu_crtc->wm_high = latency_watermark_a; > + > + /* Save number of lines the linebuffer leads before the scanout */ > + amdgpu_crtc->lb_vblank_lead_lines = lb_vblank_lead_lines; > } > > /* watermark setup */ > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c index 307269b..e146d25 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c @@ -979,7 +979,7 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, u32 priority_a_mark = 0, priority_b_mark = 0; u32 priority_a_cnt = PRIORITY_OFF; u32 priority_b_cnt = PRIORITY_OFF; - u32 tmp, arb_control3; + u32 tmp, arb_control3, lb_vblank_lead_lines = 0; fixed20_12 a, b, c; if (amdgpu_crtc->base.enabled && num_heads && mode) { @@ -1091,6 +1091,8 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, c.full = dfixed_div(c, a); priority_b_mark = dfixed_trunc(c); priority_b_cnt |= priority_b_mark & PRIORITY_MARK_MASK; + + lb_vblank_lead_lines = DIV_ROUND_UP(lb_size, mode->crtc_hdisplay); } /* select wm A */ @@ -1120,6 +1122,9 @@ static void dce_v6_0_program_watermarks(struct amdgpu_device *adev, /* save values for DPM */ amdgpu_crtc->line_time = line_time; amdgpu_crtc->wm_high = latency_watermark_a; + + /* Save number of lines the linebuffer leads before the scanout */ + amdgpu_crtc->lb_vblank_lead_lines = lb_vblank_lead_lines; } /* watermark setup */
This apparently got lost when implementing the new DCE-6 support and would cause failures in pageflip scheduling and timestamping. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org --- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)