From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5F8B12041FBC3 for ; Thu, 6 Apr 2017 11:08:57 -0700 (PDT) Received: by mail-qt0-x235.google.com with SMTP id i34so43125263qtc.0 for ; Thu, 06 Apr 2017 11:08:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=TffkvtpeyO0wqd8qPiPIw77MwlbvGS8iUo3Gs9pf8YQ=; b=T7Nyw3/TWTICLLVR8BJ3WHQxJGanuW+bsTIzALhyZO/YjfaIbZHHidc47GyHuYJK2J i/4rpWnbgOBOjQb9pOivp8fKHravK1m6kWUidtvTIq9WlnZ0lAyL7F/wiFoFgwoQTm3t wkhIrouAM7lLwPKOCH+ar8/1oCE+/2CekxJ50= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=TffkvtpeyO0wqd8qPiPIw77MwlbvGS8iUo3Gs9pf8YQ=; b=GbNp9bi1J5aQLr+HyynwnWC94++TlYt+sGNmo74G4IyLlu9DlFyldN7QmoEpFHFEJq 1WqU3fnmP749UYGnr88QkS0eeE5KQLD4TOgsbsQDxq//tVXdna1TTJRLggAWHzCNFIJW ekUU0QPqQQmfeZYNV7WoxSb/uIBIdYV/hYrcedYazi0+G5TniSLHRqaMkzPJ1HMCTNSt SWeDVunKIBbClBB+Kt9Ig+rPimcEWwwn77n9KDCCKjKMvuEN9lG506Ro8wUkhjX6nSIe YS6Kmnz4CiGDbmasUqh377OrT05Pnqfq+15/tLtRSU9rc+vX5GRcf9c3To8nGBV61h7R Zwvg== X-Gm-Message-State: AFeK/H2OmPOvaksp8/oCrkLs7VosrectK0YHkpmKE1VTsY78njwqUu0vSlrlYk2ieYpuTPHVAj5pin0ynl8G3Z8+ X-Received: by 10.237.32.240 with SMTP id 103mr36411131qtb.93.1491502135204; Thu, 06 Apr 2017 11:08:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.36.138 with HTTP; Thu, 6 Apr 2017 11:08:54 -0700 (PDT) In-Reply-To: <20170406131551.3322-1-ard.biesheuvel@linaro.org> References: <20170406131551.3322-1-ard.biesheuvel@linaro.org> From: Ryan Harkin Date: Thu, 6 Apr 2017 19:08:54 +0100 Message-ID: To: Ard Biesheuvel Cc: "edk2-devel@lists.01.org" , Leif Lindholm , Evan Lloyd , Jeremy Linton Subject: Re: [PATCH v2 0/5] ArmPlatformPkg: map VRAM using memory semantics X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 18:08:57 -0000 Content-Type: text/plain; charset=UTF-8 On 6 April 2017 at 14:15, 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) > With the fix to remove the duplicate VRAM_MOTHERBOARD_BASE, this series is tested on Juno R0/1/2 to make sure they didn't break for inexplicable reasons, on TC2 and FVP Base AEMv8 models. FVP Foundation has never been verified with CLCD and it doesn't work with or without this change, so I'm happy with that. Tested-by: Ryan Harkin > 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(-) > > -- > 2.9.3 >