<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">---------- Forwarded message ---------<br>From: Benjamin Herrenschmidt <<a href="mailto:benh@kernel.crashing.org">benh@kernel.crashing.org</a>><br>Date: Thu, Oct 20, 2016 at 2:06 PM<br>Subject: Re: libflash questions mostly relating to P9 bringup<br>To: Brendan Higgins <<a href="mailto:brendanhiggins@google.com">brendanhiggins@google.com</a>>, Cyril Bur <<a href="mailto:cyrilbur@gmail.com">cyrilbur@gmail.com</a>>, Joel Stanley <<a href="mailto:joel@jms.id.au">joel@jms.id.au</a>>, Xo Wang <<a href="mailto:xow@google.com">xow@google.com</a>>, Abhishek Pandit <<a href="mailto:abhishekpandit@google.com">abhishekpandit@google.com</a>><br></div><br><br>On Thu, 2016-10-20 at 11:41 -0700, Brendan Higgins wrote:<br class="gmail_msg">
> > The main one is probably speed. IPMI is fairly slow and we don't<br class="gmail_msg">
> > really want <br class="gmail_msg">
> >  to transport the actual flash data over it.<br class="gmail_msg">
><br class="gmail_msg">
> I do not dispute that; I think we accept that as a consequence,<br class="gmail_msg">
> again, as LPC does not exist on many platforms.<br class="gmail_msg">
<br class="gmail_msg">
Ok.<br class="gmail_msg">
<br class="gmail_msg">
> I only mentioned the most simple method that we wanted to<br class="gmail_msg">
> implement, RawFlashRequest, which would provide direct flash access,<br class="gmail_msg">
> but we were interested in supporting other methods as well, so if you<br class="gmail_msg">
> would be willing to support other access methods, I see this as being<br class="gmail_msg">
> totally compatible with what we want to do.<br class="gmail_msg">
<br class="gmail_msg">
Yes, it would work fine to support multiple methods.<br class="gmail_msg">
<br class="gmail_msg">
> That sounds reasonable to me. As long as we have a common way to do<br class="gmail_msg">
> flash access on all systems we are happy; if we happen to support<br class="gmail_msg">
> some other faster access methods (as long as they share a common<br class="gmail_msg">
> API), I think that would be even better :-)<br class="gmail_msg">
<br class="gmail_msg">
So the API ... The plan for us is to plumb this behind the existing<br class="gmail_msg">
OPAL flash APIs which are themselves plumbed into Linux MTD layer.<br class="gmail_msg">
<br class="gmail_msg">
It's fairly easy inside OPAL to implement different backends for a<br class="gmail_msg">
given API.<br class="gmail_msg">
<br class="gmail_msg">
> Yep, that is what we are trying to address with our OEM/Group<br class="gmail_msg">
> extension; it provides an interface that sends arbitrary data over<br class="gmail_msg">
> IPMI. Admittedly, it will make all other IPMI traffic slower;<br class="gmail_msg">
> however, this is unavoidable on platforms that only have one hardware<br class="gmail_msg">
> interface between the BMC and the host CPU.<br class="gmail_msg">
<br class="gmail_msg">
Right.<br class="gmail_msg">
<br class="gmail_msg">
> Also true, but still unavoidable if we only have a single hardware<br class="gmail_msg">
> interface.<br class="gmail_msg">
><br class="gmail_msg">
> Sounds to me like we do not have any incompatible goals; although it<br class="gmail_msg">
> is true that on our side we are more concerned about a common<br class="gmail_msg">
> implementation that will work on any platform and you guys seem to be<br class="gmail_msg">
> more concerned about performance, I think that just means that we<br class="gmail_msg">
> should provide both transport layers: IPMI and LPC mailbox. I imagine<br class="gmail_msg">
> that a good deal of the actual flash access logic will be the same<br class="gmail_msg">
> for the both of us.<br class="gmail_msg">
<br class="gmail_msg">
Yup, I think both work. At some point we might want to look at the<br class="gmail_msg">
implementation details a bit more closely, it would be good to merge<br class="gmail_msg">
the Zaius support into the main OPAL repo sooner rather than later.<br class="gmail_msg">
<br class="gmail_msg">
We are still working on the implementation of our mbox based flash<br class="gmail_msg">
protocol, but once we are done it should be easy for you guys to pick<br class="gmail_msg">
it up as well if you wish to for your Aspeed based machine(s).<br class="gmail_msg">
<br class="gmail_msg">
Cheers,<br class="gmail_msg">
Ben.<br class="gmail_msg">
<br class="gmail_msg">
</div></div>