Re: [PATCH] drm/vkms: fix warning in vkms_get_vblank_timestamp
From: Melissa Wen
Date: Wed Aug 26 2020 - 16:50:05 EST
Hi Sidong,
Thanks for this patch.
The code looks good to me; however, I see some issues in the patch
format and commit message. Please, see inline comments.
On 08/25, Sidong Yang wrote:
> From: Sidong Yang <realwakka@xxxxxxxxx>, Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
You need to fix the Author name.
>
> When vkms_get_vblank_timestamp() is called very first time without
> enabling vblank before, vblank time has just intial value and it makes
> warning message. this patch prevents warning message by setting vblank
> time to current time.
I consider *fix* a somewhat strong term to this change. In my opinion,
it would be better to choose another term in the commit message like
*avoid* timestamp warning when vblanks aren't enabled.
In the body of the commit message, I think interesting to include the
exactly warning message that this patch addresses. You could also
describe the initial values that triggers this warning and why this
approach is reasonable, as VKMS has fake clocks.
>
> Cc: Daniel Vetter <daniel@xxxxxxxx>
> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@xxxxxxxxx>
> Cc: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
> Cc: Melissa Wen <melissa.srw@xxxxxxxxx>
>
> Signed-off-by: Sidong Yang <realwakka@xxxxxxxxx>
> ---
> drivers/gpu/drm/vkms/vkms_crtc.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
> index ac85e17428f8..09c012d54d58 100644
> --- a/drivers/gpu/drm/vkms/vkms_crtc.c
> +++ b/drivers/gpu/drm/vkms/vkms_crtc.c
> @@ -86,6 +86,11 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
> struct vkms_output *output = &vkmsdev->output;
> struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
>
> + if (!READ_ONCE(vblank->enabled)) {
> + *vblank_time = ktime_get();
> + return true;
> + }
> +
Apart from issues in commit message and format, I checked the code and it
works fine.
Reviewed-by: Melissa Wen <melissa.srw@xxxxxxxxx>
> *vblank_time = READ_ONCE(output->vblank_hrtimer.node.expires);
>
> if (WARN_ON(*vblank_time == vblank->time))
> --
> 2.17.1
>