Searched hist:"4 e6bafdf" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/staging/vc04_services/bcm2835-camera/ |
H A D | Kconfig | 4e6bafdf Wed Mar 08 23:10:10 CST 2017 Michael Zoran <mzoran@crowfest.net> staging: bcm2835_camera: Use a mapping table for context field of mmal_msg_header
The camera driver passes messages back and forth between the firmware with requests and replies. One of the fields of the message header called context is a pointer so the size changes between 32 bit and 64 bit.
The context field is used to pair reply messages from the firmware with request messages from the kernel. The simple solution would be to use the padding field for the upper 32 bits of pointers, but this would rely on the firmware always copying the pad field.
So instead handles are generated that are 32 bit numbers and a mapping stored in a btree as implemented by the btree library in the kernel lib directory. The mapping pairs the handle with the pointer to the actual data. The btree library was chosen since it's very easy to use and red black trees would be overkill.
The camera driver also now forces in the btree library if the camera is included in the build. The btree library is a hidden configuration option.
Signed-off-by: Michael Zoran <mzoran@crowfest.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 4e6bafdf Wed Mar 08 23:10:10 CST 2017 Michael Zoran <mzoran@crowfest.net> staging: bcm2835_camera: Use a mapping table for context field of mmal_msg_header The camera driver passes messages back and forth between the firmware with requests and replies. One of the fields of the message header called context is a pointer so the size changes between 32 bit and 64 bit. The context field is used to pair reply messages from the firmware with request messages from the kernel. The simple solution would be to use the padding field for the upper 32 bits of pointers, but this would rely on the firmware always copying the pad field. So instead handles are generated that are 32 bit numbers and a mapping stored in a btree as implemented by the btree library in the kernel lib directory. The mapping pairs the handle with the pointer to the actual data. The btree library was chosen since it's very easy to use and red black trees would be overkill. The camera driver also now forces in the btree library if the camera is included in the build. The btree library is a hidden configuration option. Signed-off-by: Michael Zoran <mzoran@crowfest.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|