video: Allow drivers to allocate the frame buffer themselves
When plat->base is set by driver then skip frame buffer reservation and allocation. Signed-off-by: Pali Rohár <pali@kernel.org>
This commit is contained in:
committed by
Anatolij Gustschin
parent
515a2f7c02
commit
bd0df82369
@@ -33,7 +33,8 @@
|
||||
* information represents the requires size and alignment of the frame buffer
|
||||
* for the device. The values can be an over-estimate but cannot be too
|
||||
* small. The actual values will be suppled (in the same manner) by the bind()
|
||||
* method after relocation.
|
||||
* method after relocation. Additionally driver can allocate frame buffer
|
||||
* itself by setting plat->base.
|
||||
*
|
||||
* This information is then picked up by video_reserve() which works out how
|
||||
* much memory is needed for all devices. This is allocated between
|
||||
@@ -78,6 +79,10 @@ static ulong alloc_fb(struct udevice *dev, ulong *addrp)
|
||||
if (!plat->size)
|
||||
return 0;
|
||||
|
||||
/* Allow drivers to allocate the frame buffer themselves */
|
||||
if (plat->base)
|
||||
return 0;
|
||||
|
||||
align = plat->align ? plat->align : 1 << 20;
|
||||
base = *addrp - plat->size;
|
||||
base &= ~(align - 1);
|
||||
|
||||
Reference in New Issue
Block a user