On 09/27/2012 02:27 PM, Simon Glass wrote: > On Thu, Sep 27, 2012 at 8:49 AM, Stephen Warren <swar...@wwwdotorg.org> wrote: >> On 09/27/2012 07:58 AM, Simon Glass wrote: ... >>> Really this is just a way of getting U-Boot and Linux to agree on the >>> address, by having U-Boot know the address that the kernel will happen >>> to use. It isn't very robust, but we have found it useful as a means >>> of avoiding problems in this area. >> >> Right, but again, why can't the display driver simply read the address >> out of the register; why is there a need to duplicate the data? >> >> I guess one possibility is that the register only gives the base address >> and not the size/mode of the allocated surface, but I don't recall if >> this proposed binding did that either? > > So here is my explanation: > > 1. U-Boot would normally put the display right near the top of memory. > Instead, it figures out where the kernel will put it (somehow this > seems to often be at a fixed address) and uses that address. > > 2. That means that U-Boot will now have the display exactly where the > kernel wants it.
Oh, the DT property is telling U-Boot where to put the surface so that when the kernel determines where to put it, it'll already be there? That seems completely backwards. It's also extremely fragile; what if the kernel suddenly starts allocating at some other random address, which stops matching what U-Boot expects? Far better would be for U-Boot to put the surface wherever it wants, then manipulate the DT that's passed to the kernel to: a) Add a /memreserve/ so that memory doesn't get re-used for anything else during boot. b) Add a property to the display node indicating which memreserve represents the frame-buffer location. When the kernel boots, it can: * Copy the content from the U-Boot-allocated buffer to whatever display buffer the kernel allocated before writing the new address to the HW. * Undo the memory reservation triggered by the /memreserve/ to allow the memory to be re-used. > So what do you think? Should we remove this entirely, or is it a useful hack? Yes, I think in its current form, it isn't useful. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot