I have a couple of questions.
-In VPBE drivers, DDC_VPBEOsdObject structure has fields of Bool PlaneActive and DDC_VPBEFrameBufferObject fb.
One of the usage of PlaneActive field is in DDC_VPBEQueueFrameBuffer function, where it checks if the given plane is not active hence it turns it active at first add queue. However, I couldn't find the initialization of PlaneActive field as FALSE. I see it is set FALSE only in DDC_VPBECloseHandle function, which is not (or should not be) related to my question, since I am dealing with queueing after the steps of initializing the osd object; so far no close handle is called.
-Also, similarly, I see FrameBufferObject's fields are initialized in DDC_VPBEResetFrameBufferObject function, which is called in DDC_VPBEClose function. But in DDC_VPBEAddQueue function, it uses the object's so far uninitialized fields, such as in "if (NULL == fbAQ->activeQueue[fbAQ->writeIndexActiveQue]". There should be no value initialized for Uint writeIndexActiveQueue, but it uses it.
Edit: In addition, FrameBufferObject's FVID_Frame *tempfbAddFree field is not initialized anywhere, but where it is used it checks if it is equal to NULL, and if yes does some operations on the queue (so it is not supposed to be NULL at this stage).
Can you see where I am wrong? (I am asking these because I am arranging the driver codes for my purpose and this case appears as a problem to me since I dont use the driver as a whole.)
-Another question is about the usage of semaphors and interrupts. I am a little weak in both these. I think semaphors are used to avoid confliction where there should be more than one device, am I right?
For interrupts, is there any document I could reference why the interrupts are used in vpbe drivers?
I will be very appreciated for any answers,
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.