>> Add msg chan enable implementation to support
>> send msg to get infos.

> Would be interesting to explain which module is receiving the message.    

  Send messages to the backend (device side) to obtain information.



> I am curious about the spinlock function below.
> What is it doing exactly?

>> +static int32_t zxdh_spinlock_lock(uint32_t virt_lock_id, uint64_t virt_addr,
>> +                    uint64_t label_addr, uint16_t primary_id)
>> +{
>> +    uint32_t lock_rd_cnt = 0;
>> +
>> +    do {
>> +        /* read to lock */
>> +        uint8_t spl_val = spinklock_read(virt_addr, virt_lock_id);


   Using locks to ensure message consistency when accessing backend information for multiple pf/vf.