On Wed, Sep 04, 2019 at 01:56:43PM +0200, Thomas Zimmermann wrote:
> The generic fbdev emulation will map and unmap the framebuffer's memory
> if required. As consoles are most often updated while being on screen,
> we map the fbdev buffer while it's being displayed. This avoids frequent
> map/unmap operations in the fbdev code. The original fbdev code in ast
> used the same trick to improve performance.
> 
> v2:
>       * fix typo in comment
> 
> Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
> Cc: Noralf Trønnes <nor...@tronnes.org>
> Cc: Dave Airlie <airl...@redhat.com>
> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> Cc: Thomas Gleixner <t...@linutronix.de>
> Cc: Sam Ravnborg <s...@ravnborg.org>
> Cc: Gerd Hoffmann <kra...@redhat.com>
> Cc: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com>
> Cc: CK Hu <ck...@mediatek.com>
> Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
> Cc: Alex Deucher <alexander.deuc...@amd.com>
> Cc: "Christian König" <christian.koe...@amd.com>
> Cc: YueHaibing <yuehaib...@huawei.com>
> Cc: Sam Bobroff <sbobr...@linux.ibm.com>
> Cc: Huang Rui <ray.hu...@amd.com>
> Cc: "Y.C. Chen" <yc_c...@aspeedtech.com>
> Cc: Rong Chen <rong.a.c...@intel.com>
> Cc: Feng Tang <feng.t...@intel.com>
> Cc: Huang Ying <ying.hu...@intel.com>
> Cc: Davidlohr Bueso <d...@stgolabs.net>
> ---
>  drivers/gpu/drm/ast/ast_mode.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index d349c721501c..c10fff652228 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -529,13 +529,20 @@ static int ast_crtc_do_set_base(struct drm_crtc *crtc,
>                               struct drm_framebuffer *fb,
>                               int x, int y, int atomic)
>  {
> +     struct drm_fb_helper *fb_helper = crtc->dev->fb_helper;

struct drm_framebuffer *fbcon = crtc->dev->fb_helper->buffer->fb ?

makes clear what is going on without excessive commenting ;)

>       struct drm_gem_vram_object *gbo;
>       int ret;
>       s64 gpu_addr;
> +     void *base;
>  
>       if (!atomic && fb) {
>               gbo = drm_gem_vram_of_gem(fb->obj[0]);
>               drm_gem_vram_unpin(gbo);
> +
> +             // Unmap fbdev FB if it's not being displayed
> +             // any longer.

I'd drop the comment.  It says *what* the comment is doing.  You should
be able to figure by just reading the code.  Comments should explain
*why* the code does something ...

> +             if (fb == fb_helper->buffer->fb)
> +                     drm_gem_vram_kunmap(gbo);
>       }
>  
>       gbo = drm_gem_vram_of_gem(crtc->primary->fb->obj[0]);
> @@ -552,6 +559,14 @@ static int ast_crtc_do_set_base(struct drm_crtc *crtc,
>       ast_set_offset_reg(crtc);
>       ast_set_start_address_crt1(crtc, (u32)gpu_addr);
>  
> +     // Map fbdev FB while it's being displayed. This avoids frequent
> +     // mapping and unmapping within the fbdev code.

... like this one (avoid frequent map/unmap).

Comments should use /* */ style, especially multi line comments.
See also the comment section in
        Documentation/process/coding-style.rst

cheers,
  Gerd

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to