<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hey Ard</p>
<p><br>
</p>
<p>Just wanted to touch base on this issue - has there been any progress beyond the patches you suggested in your last mail?  Are we any closer to an official solution?  And is there something that I am able to try out on my hardware yet?</p>
<p><br>
</p>
<p>Cheers</p>
<p><br>
</p>
<p>Matt</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Ard Biesheuvel <ard.biesheuvel@linaro.org><br>
<b>Sent:</b> 06 May 2017 09:14:29<br>
<b>To:</b> Matt Spencer<br>
<b>Cc:</b> Leif Lindholm; Wookey; Steve Capper; Steve McIntyre; macchiato@lists.einval.com<br>
<b>Subject:</b> Re: MacchiatoBin GPU progress [#freetimeproject]</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">On 5 May 2017 at 18:02, Matt Spencer <Matt.Spencer@arm.com> wrote:<br>
> Hi Ard, Leif has suggested I add you to this thread.<br>
><br>
><br>
> I am trying to get the MacchiatoBin working with a PCIe GPU.  The approach I<br>
> am taking is to use a powered 16->1 lane PCIe adapter<br>
> (<a href="https://www.amazon.co.uk/gp/product/B01ER2Z1GY/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1">https://www.amazon.co.uk/gp/product/B01ER2Z1GY/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1</a>)<br>
> and using a modern NVidia GForce GPU that is know to function well with<br>
> Nouveau<br>
> (<a href="https://www.amazon.co.uk/gp/product/B01AY7927A/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1">https://www.amazon.co.uk/gp/product/B01AY7927A/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1</a>).<br>
><br>
><br>
> I have the kernel booting, detecting the graphics card and trying to<br>
> initialise the driver, but come across this issue:<br>
><br>
<br>
...<br>
> root@localhost:~# lspci<br>
><br>
> 00:00.0 PCI bridge: Marvell Technology Group Ltd. Device 0110<br>
><br>
> 01:00.0 VGA compatible controller: NVIDIA Corporation Device 128b (rev a1)<br>
><br>
> 01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev<br>
> a1)<br>
><br>
><br>
><br>
> It looks like I don't have enough BAR memory available?  Leif tells me that<br>
> the base configuration only exposes 15M, but you have a different firmware<br>
> that could solve the problem?<br>
><br>
<br>
Correct. The firmware configuration of this board is slightly silly,<br>
but can be improved a lot by reconfiguring the translation windows at<br>
various levels to allow for a much larger BAR space (512 MB + 4GB<br>
rather than 15 MB, which is simply insufficient for graphics cards)<br>
<br>
The problem is that, while these changes could easily be applied to<br>
the Marvell version of u-boot, we currently only have a firmware stack<br>
based on UEFI and the upstream version of the device tree (rather than<br>
the wildly incompatible Marvell one), and there are other issues we<br>
need to sort out before this stack is usable enough (i.e., you will<br>
lose your network connection if you switch to it now)<br>
<br>
As for the stability issues we identified: our goal is to produce a<br>
firmware stack for this board that allows you to boot bog standard<br>
distro installers, whose kernels trigger this issue, and currently,<br>
the only workaround that is guaranteed to prevent this issue (even for<br>
KVM guests) is to take down two of the four cores in the firmware.<br>
Graphics card support is high on our list as well, but it will simply<br>
take us some time to get all of this sorted.<br>
<br>
In the mean time, you are welcome to have a look at the required<br>
changes on the ATF side: this patch<br>
<br>
<a href="https://github.com/ardbiesheuvel/arm-trusted-firmware/commit/591d1cb7c3bd4fa807093643ef8300d15973818e">https://github.com/ardbiesheuvel/arm-trusted-firmware/commit/591d1cb7c3bd4fa807093643ef8300d15973818e</a><br>
<br>
is the only one you will need for ATF. Next, you will need to add the<br>
window 0xc0000000-0xdfffffff to the PCIe DT node, which should be<br>
sufficient to get the driver to allocate BARs from it. However, given<br>
that this range was formerly in use for DRAM, the DT description of<br>
memory needs to be updated as well, and this slice removed. (In the<br>
UEFI code, I actually remap it so you don't lose it, but just hiding<br>
it from the kernel should be sufficient in the short term)<br>
<br>
Hope this helps,<br>
Ard.<br>
</div>
</span></font>IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use
 it for any purpose, or store or copy the information in any medium. Thank you.
</body>
</html>