X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fbus%2Fvmbus%2Fvmbus_channel.c;h=f67f1c438a6cf788674b18510d34fc798f335a36;hb=cf38bcd7763fa4cf6347a93a6193e00205404275;hp=ff2985c257586cf978b37d478c3cca0f340c7158;hpb=1c33435a58f307c1800a79220122026f56fee450;p=dpdk.git diff --git a/drivers/bus/vmbus/vmbus_channel.c b/drivers/bus/vmbus/vmbus_channel.c index ff2985c257..f67f1c438a 100644 --- a/drivers/bus/vmbus/vmbus_channel.c +++ b/drivers/bus/vmbus/vmbus_channel.c @@ -26,18 +26,6 @@ vmbus_sync_set_bit(volatile uint32_t *addr, uint32_t mask) __sync_or_and_fetch(addr, mask); } -static inline void -vmbus_send_interrupt(const struct rte_vmbus_device *dev, uint32_t relid) -{ - uint32_t *int_addr; - uint32_t int_mask; - - int_addr = dev->int_page + relid / 32; - int_mask = 1u << (relid % 32); - - vmbus_sync_set_bit(int_addr, int_mask); -} - static inline void vmbus_set_monitor(const struct rte_vmbus_device *dev, uint32_t monitor_id) { @@ -55,7 +43,6 @@ static void vmbus_set_event(const struct rte_vmbus_device *dev, const struct vmbus_channel *chan) { - vmbus_send_interrupt(dev, chan->relid); vmbus_set_monitor(dev, chan->monitor_id); } @@ -214,7 +201,7 @@ void rte_vmbus_chan_signal_read(struct vmbus_channel *chan, uint32_t bytes_read) return; /* Make sure reading of pending happens after new read index */ - rte_mb(); + rte_smp_mb(); pending_sz = rbr->vbr->pending_send; if (!pending_sz)