public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jeremy Linton <jeremy.linton@arm.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	edk2-devel@lists.01.org, leif.lindholm@linaro.org,
	ryan.harkin@linaro.org, evan.lloyd@arm.com
Subject: Re: [PATCH v2 0/5] ArmPlatformPkg: map VRAM using memory semantics
Date: Thu, 6 Apr 2017 11:29:08 -0500	[thread overview]
Message-ID: <48c48135-3cb6-75ad-c13d-7f5df83e9c36@arm.com> (raw)
In-Reply-To: <20170406131551.3322-1-ard.biesheuvel@linaro.org>

Hi,

On 04/06/2017 08:15 AM, Ard Biesheuvel wrote:
> As reported by Jeremy, the recently introduced accelerated memcpy/memset
> routines are causing problems when used on framebuffer memory. While
> framebuffers are arguably right on the blurry line between MMIO (with
> side effects that are sensitive to ordering) and memory, mapping VRAM
> as device memory is unnecessary to begin with, and so we can improve
> our situation by using memory semantics for the VRAM mappings. (Whether
> we end up reverting to the unaccelerated memcpy/memset routines is a
> separate matter)
>
> So fix both the FVP case, which has a separate VRAM region, and TC2, which
> allocates VRAM from normal memory and changes the mapping attributes.
>
> Note to Ryan: this fixes FVP Base model for me, but not the Foundation model
> (whose PL111 support I never saw working to begin with, so I am not sure what
> is going on there)

So, I applied a similar set of patches against the juno, and everything 
continues to work. The change also looks good.

So,

Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>


But I'm still concerned in general, since the HDLCD frame buffer is odd 
in that its just system memory rather than being attached to an IO bus 
of some form. AKA its not actually a "VRAM" (cue discussion about GDDR 
not having multiple ports/etc)...


>
> Ard Biesheuvel (5):
>   ArmPlatformPkg/FVP: map motherboard VRAM as uncached memory
>   ArmPlatformPkg/HdLcdArmVExpressLib: fix incorrect FreePool () call
>   ArmPlatformPkg/PL111LcdArmVExpressLib: fix incorrect FreePool () call
>   ArmPlatformPkg/HdLcdArmVExpressLib: use write-combine mapping for VRAM
>   ArmPlatformPkg/PL111LcdArmVExpressLib: use write-combine mapping for
>     VRAM
>
>  ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM/ArmPlatform.h                       | 10 ++++++----
>  ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/RTSMMem.c                      |  8 +++++++-
>  ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c            | 14 +++++---------
>  ArmPlatformPkg/ArmVExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpressLib.inf       |  3 ++-
>  ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpress.c      | 14 +++++---------
>  ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf |  3 ++-
>  6 files changed, 27 insertions(+), 25 deletions(-)
>



  parent reply	other threads:[~2017-04-06 16:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 13:15 [PATCH v2 0/5] ArmPlatformPkg: map VRAM using memory semantics Ard Biesheuvel
2017-04-06 13:15 ` [PATCH v2 1/5] ArmPlatformPkg/FVP: map motherboard VRAM as uncached memory Ard Biesheuvel
2017-04-06 18:26   ` Leif Lindholm
2017-04-06 18:31     ` Ard Biesheuvel
2017-04-06 18:45       ` Leif Lindholm
2017-04-06 18:46         ` Ard Biesheuvel
2017-04-06 19:06           ` Leif Lindholm
2017-04-06 20:01             ` Ard Biesheuvel
2017-04-06 20:09               ` Leif Lindholm
2017-04-06 13:15 ` [PATCH v2 2/5] ArmPlatformPkg/HdLcdArmVExpressLib: fix incorrect FreePool () call Ard Biesheuvel
2017-04-06 13:15 ` [PATCH v2 3/5] ArmPlatformPkg/PL111LcdArmVExpressLib: " Ard Biesheuvel
2017-04-06 13:15 ` [PATCH v2 4/5] ArmPlatformPkg/HdLcdArmVExpressLib: use write-combine mapping for VRAM Ard Biesheuvel
2017-04-06 13:15 ` [PATCH v2 5/5] ArmPlatformPkg/PL111LcdArmVExpressLib: " Ard Biesheuvel
2017-04-06 16:29 ` Jeremy Linton [this message]
2017-04-06 18:02   ` [PATCH v2 0/5] ArmPlatformPkg: map VRAM using memory semantics Ard Biesheuvel
2017-04-06 18:08 ` Ryan Harkin
2017-04-06 18:29 ` Leif Lindholm
2017-04-06 20:32   ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48c48135-3cb6-75ad-c13d-7f5df83e9c36@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox