lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8a52b578-b255-3e11-3a0c-0b68f0cb649e@suse.de>
Date:   Thu, 27 Jun 2019 16:37:23 +0200
From:   Thomas Zimmermann <tzimmermann@...e.de>
To:     Gerd Hoffmann <kraxel@...hat.com>, dri-devel@...ts.freedesktop.org
Cc:     Maxime Ripard <maxime.ripard@...tlin.com>,
        open list <linux-kernel@...r.kernel.org>,
        David Airlie <airlied@...ux.ie>, Sean Paul <sean@...rly.run>
Subject: Re: [PATCH v3 1/5] gem/vram: pin to vram in vmap

Hi

Am 27.06.19 um 14:23 schrieb Gerd Hoffmann:
> drm clients like the generic framebuffer emulation keep a permanent
> vmap active, which in turn has a permanent pin.  This pin needs to
> be in vram, otherwise we can't display the framebuffer.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@...hat.com>
> ---
>  drivers/gpu/drm/drm_gem_vram_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
> index 4de782ca26b2..c724876c6f2a 100644
> --- a/drivers/gpu/drm/drm_gem_vram_helper.c
> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c
> @@ -592,7 +592,7 @@ void *drm_gem_vram_driver_gem_prime_vmap(struct drm_gem_object *gem)
>  	int ret;
>  	void *base;
>  
> -	ret = drm_gem_vram_pin(gbo, 0);
> +	ret = drm_gem_vram_pin(gbo, DRM_GEM_VRAM_PL_FLAG_VRAM);

I have a patch set that converts ast and mgag200 to generic framebuffer
emulation with a shadow FB. The actual BO is mapped by the fbdev code on
demand to update its content. Permanently mapping the fb console's BO
would consume too much display memory. This requires the pin function's
placement flag to be 0, so the BO is mapped in system memory by default.
The proposed patch breaks this.

Some ideas for solving this:

 1) Introduce a default_placement field in struct drm_gem_vram_helper
where this flag can be configured. I'd favor this option.

 2) Introduce a separate callback function for pinning to vram. The
driver would have to set the correct function pointers.

 3) Pin the fb console buffer manually from within the bochs driver.

Best regards
Thomas

>  	if (ret)
>  		return NULL;
>  	base = drm_gem_vram_kmap(gbo, true, NULL);
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)



Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ