From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FBACC2D0EE for ; Sat, 28 Mar 2020 13:20:43 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 746F420723 for ; Sat, 28 Mar 2020 13:20:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cmQu0Y7E" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 746F420723 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 86CB96EADF; Sat, 28 Mar 2020 13:20:40 +0000 (UTC) Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 449136EAE0 for ; Sat, 28 Mar 2020 13:20:38 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id n17so13043650lji.8 for ; Sat, 28 Mar 2020 06:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xQHYLpnmCtzpowlLpatbX/n/JNs+MUjyjnti9QnDO0s=; b=cmQu0Y7Ee9BWq06ktawcXMwCn19Et0C+bfoxYk+xO5p4eO8MerAJAFJ+Z8HxamuHQ8 cpglkArPaMhhSKC4+2Vh1XtXVD+mO+nlPYk5Ob4sa1zi+vP7ojJojBC+DsxwRqxGJAa5 NYRzWyFvAZOw4Wpy+JVfhjCiOPkxOiQJnShU9tMpebGSFHcWtOWmsybe/RnFZK9OPGoF 1DochQWz6nRWFC2AGZNbPGy2DiyuATnR0wTIT+fiG8bnGDxbeEGnHQ+8EJ00xyw1JkpG NYA18IMsOEd/RhcisJGYWejxGyFJ/uc9J9KqECm81vcKmO2qJm5yanjq9u6EcIemPqcE Dy3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=xQHYLpnmCtzpowlLpatbX/n/JNs+MUjyjnti9QnDO0s=; b=ByjrYhGmnGD98vkLrslGNX3ZSFgv0/X/6MmYG9+3YuZ47Xz3R4sjhz9cLMDM3HBHAV H8yMI0CxzAPQiHj85T3VQgGrdK3A27dy942HM45zDWDP9Zv1RxoeVqFwNIhqPgkLIvM0 WkpHp0ujIrtN+XgkySiUX+VGVJhv670bQ7il1thbqDI0R+D3MJoNrfyVIWTsMZbmW6aL sYr+0IMQUrahXTO8JpnEzm6JPBF0Mntad9CFLucqwWoi2kDJzxIHEiW6GLRzPSL45DC4 /ttGvaZ5krBxVyCB+CRZi2GU+jQW84gmrDe83oODMP2O5I+kIhymvwUR0PhGJVVMhKcE Uttw== X-Gm-Message-State: AGi0PuYBDgnHGja72BeB46Jn8Gpj6DYk48ojjIRkYFZgQx4e/lemA0OO tgXMaHqKFwHXkN7odflOS83oHlLzZfs= X-Google-Smtp-Source: APiQypJYzgecCUqByleVeU/hT2b2c4HBFjdis1NkwzsIhzWZR88euhiWAHZqQuPTmODtdiIs3tzSbg== X-Received: by 2002:a05:651c:549:: with SMTP id q9mr2209310ljp.210.1585401636404; Sat, 28 Mar 2020 06:20:36 -0700 (PDT) Received: from saturn.lan (18.158-248-194.customer.lyse.net. [158.248.194.18]) by smtp.gmail.com with ESMTPSA id j19sm4542916lfg.49.2020.03.28.06.20.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Mar 2020 06:20:35 -0700 (PDT) From: Sam Ravnborg To: dri-devel@lists.freedesktop.org, Lyude Paul Subject: [PATCH v1 1/6] drm/vblank: Add intro to documentation Date: Sat, 28 Mar 2020 14:20:20 +0100 Message-Id: <20200328132025.19910-2-sam@ravnborg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200328132025.19910-1-sam@ravnborg.org> References: <20200328132025.19910-1-sam@ravnborg.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Liviu Dudau , Andrzej Hajda , Nirmoy Das , Laurent Pinchart , Mihail Atanassov , Sam Ravnborg , Emil Velikov , David Francis , James Qian Wang , Jonas Karlman , Mikita Lipski , Jernej Skrabec , Andrzej Pietrasiewicz , Boris Brezillon , Thomas Zimmermann , Alex Deucher Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Lyude Paul wrote a very good intro to vblank here: https://lore.kernel.org/dri-devel/faf63d8a9ed23c16af69762f59d0dca6b2bf085f.camel@redhat.com/T/#mce6480be738160e9d07c5d023e88fd78d7a06d27 Add this to the intro chapter in drm_vblank.c so others can benefit from it too. Signed-off-by: Sam Ravnborg Co-developed-by: Lyude Paul Cc: Lyude Paul Cc: Daniel Vetter Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David Airlie --- drivers/gpu/drm/drm_vblank.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index bcf346b3e486..95cac22d59d1 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -41,6 +41,21 @@ /** * DOC: vblank handling * + * From the perspective of a computer, every time a computer monitor displays + * a new frame it's done by "scanning out" the display image from top to + * bottom, one row of pixels at a time. which row of pixels we're on is + * referred to as the scanline. + * Additionally, there's usually a couple of extra scanlines which we + * scan out, but aren't actually displayed on the screen (these sometimes + * get used by HDMI audio and friends, but that's another story). + * The period where we're on these scanlines is referred to as the vblank. + * + * On a lot of display hardware, programming needs to take effect during the + * vertical blanking period so that settings like gamma, what frame we're + * scanning out, etc. can be safely changed without showing visual tearing + * on the screen. In some unforgiving hardware, some of this programming has + * to both start and end in the same vblank - vertical blanking. + * * Vertical blanking plays a major role in graphics rendering. To achieve * tear-free display, users must synchronize page flips and/or rendering to * vertical blanking. The DRM API offers ioctls to perform page flips -- 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel