> > > > > > > > > Hi, > > > > > > > > I have no comments about coding and architecture. It looks fine. > > > > > > > > Only have a query about its use case.. > > > > "Any application intended to use message interrupt requires to > > > > know > > > reg_num because of struct mpic_msgr* mpic_msgr_get(unsigned int > > > reg_num) API" > > > > > > > > It will be good to search available unit internally and provide > > > > its > > > pointer. It will make application more flexible. > > > > > > > > > > The problem is that you fundamentally cannot implement an allocator > > > for MSG registers if you're going to communicate with another kernel > > > (how would both kernels' allocators be synchronized?). So the > > > message register allocation must be decided at design time, not run > time. > > > > > > > I agree with you.. It is true while communicating with another kernel. > > But message interrupts can be used by different independent drivers > within same kernel. For eg. PCIe and Ethernet driver. > > As per current design both drivers needs to be in sync before > requesting any message unit for avoiding any conflict. As these drivers > are completely independent. It is very difficult. > > > > Can it be possible to provide new API to take care it. > > Do you have a real use case in mind where these message registers (not > MSIs) are used internally in this manner?
Yes, we use for PCIe host/agent test case scenario. Host usage message register to interrupt Agent... Agent uses message register to generate irq_out (automatically generate MSI) to interrupt master. Please see RM for more details about irq_out Note: PCIe host/agent test scenario is used internally and we are working on pushing it out.. > Perhaps an allocator could be added in the same patchset that adds such a > user. > Yaa. It can be done. Otherwise module has to query each message unit for its availability. --Prabhakar _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev