Ping Pong Buffer Implementation in XORG
My current system configuration is like application gives the frame to XORG and XORG is configured to use simple frame buffer driver(mapped to DDR address).
I need to implement a ping pong buffer utility in such a way that every new frame goes to two different DDR addresses.
I can reserve two block of memory in simple frame buffer driver adding below mentioned code in system-user.dtsi:
chosen {
framebuffer0: framebuffer@
compatible = "simple-
width = <1280>;
height = <800>;
stride = <5120>;
format = "a8r8g8b8";
status = "okay";
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
frontbuff_
no-map;
reg = <0x0 0x3ee48000 0x0 0x900000>;
};
backbuff_
no-map;
reg = <0x0 0x3f248000 0x0 0x400000>;
}; };
But I need some support in how XORG can use these two memory alternatively on every frame/image at runtime
Question information
- Language:
- English Edit question
- Status:
- Answered
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Prija Dwivedi for more information if necessary.