It might help to explain a little bit more about the what the purpose of the communication is. In general, you shouldn't have drivers communicating with anything other than the component generating the transactions they are translating. i.e. the sole purpose of a driver is to translate one abstraction layer to another.
If the communication is soley betwen these two components, I would recommend one of the TLM mechanisms for synchronization.