From: Michael Zimmermann <sigmaepsilon92@gmail.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "edk2-devel@lists.01.org" <edk2-devel@ml01.01.org>,
Leif Lindholm <leif.lindholm@linaro.org>
Subject: Re: System hang when using SetMemoryAttributes
Date: Mon, 26 Sep 2016 22:25:12 +0200 [thread overview]
Message-ID: <CAN9vWD+yP8VgtdCsOfRjrhpLK23BmN6DjEBrTr-jTDsNR4nnWw@mail.gmail.com> (raw)
In-Reply-To: <CAKv+Gu-6XTQBzwN=p3-xEO_OhGwYFaOXC-QqdAyb8QJ+ku-Z9A@mail.gmail.com>
while this would help on other devices(I've already done that in the past
with edk2 and other environments), in this case it has no effect, there are
always glitches at the bottom of the screen and randomly a few artifact all
over the screen.
That obviously hints at some caching issue. Apparently the cache cleaning
has no effect for the framebuffer of this device.
And it still confuses me that the UC/WC case - even with Blt stubbed - can
cause the system to just hang.
On Mon, Sep 26, 2016 at 7:00 PM, Ard Biesheuvel <ard.biesheuvel@linaro.org>
wrote:
> On 26 September 2016 at 05:52, Michael Zimmermann
> <sigmaepsilon92@gmail.com> wrote:
> >> Are you saying your framebuffer does work with cached attributes? That
> >> would mean the graphics device is DMA coherent, which is actually a
> >> good thing. What hardware are we talking about here?
> > yes it does but ofc, it causes glitches since the writes aren't always
> > synced correctly.
> > My edk2 port is cross platorm by using PrePi and a function table
> provided
> > by another bootloader for hardware communication.
> >
> > The device that's broken is 'Asus Zenfone 2 Laser ZE550KL' which uses a
> > 'Qualcomm MSM8939 Snapdragon 615' chipset.
> >
>
> I couldn't find the exact info on this particular SoC, but in some
> cases, devices are DMA coherent at L2 but not L1.
>
> Does it help if you clean (not invalidate) the cache by virtual
> address after each BLT operation? Note that the 'by virtual address'
> bit is important in coherent systems, simply cleaning the whole L1 is
> *not* guaranteed to work. [use WriteBackDataCacheRange()]
>
prev parent reply other threads:[~2016-09-26 20:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-25 19:01 System hang when using SetMemoryAttributes Michael Zimmermann
2016-09-26 6:35 ` Ard Biesheuvel
2016-09-26 7:13 ` Michael Zimmermann
2016-09-26 7:44 ` Michael Zimmermann
2016-09-26 10:23 ` Ard Biesheuvel
2016-09-26 12:44 ` Michael Zimmermann
2016-09-26 12:47 ` Ard Biesheuvel
2016-09-26 12:52 ` Michael Zimmermann
2016-09-26 17:00 ` Ard Biesheuvel
2016-09-26 20:25 ` Michael Zimmermann [this message]
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=CAN9vWD+yP8VgtdCsOfRjrhpLK23BmN6DjEBrTr-jTDsNR4nnWw@mail.gmail.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