Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu/dce11: update async flip update time

Use UPDATE_IMMEDIATE (update on next data request boundary) rather
than UPDATE_H_RETRACE (update on next line boundary). The data
request boundary is less than a scanline, so it update will happen
sooner.

Cc: Vitaly Prosyak <vitaly.prosyak@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+2 -3
+2 -3
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
··· 307 307 struct amdgpu_crtc *amdgpu_crtc = adev->mode_info.crtcs[crtc_id]; 308 308 u32 tmp; 309 309 310 - /* flip at hsync for async, default is vsync */ 311 - /* use UPDATE_IMMEDIATE_EN instead for async? */ 310 + /* flip immediate for async, default is vsync */ 312 311 tmp = RREG32(mmGRPH_FLIP_CONTROL + amdgpu_crtc->crtc_offset); 313 312 tmp = REG_SET_FIELD(tmp, GRPH_FLIP_CONTROL, 314 - GRPH_SURFACE_UPDATE_H_RETRACE_EN, async ? 1 : 0); 313 + GRPH_SURFACE_UPDATE_IMMEDIATE_EN, async ? 1 : 0); 315 314 WREG32(mmGRPH_FLIP_CONTROL + amdgpu_crtc->crtc_offset, tmp); 316 315 /* update the scanout addresses */ 317 316 WREG32(mmGRPH_PRIMARY_SURFACE_ADDRESS_HIGH + amdgpu_crtc->crtc_offset,