Commit 357e9f86 authored by Vikram Narayanan's avatar Vikram Narayanan
Browse files

lcd/ixgbe: Fix tx dma

dma_map_single uses the default helpers such as virt_to_page which is not valid
for pages mapped in the rammap region. As every page is mapped during xmit,
this page needs to be programmed in the iommu before transmission.

Signed-off-by: Vikram Narayanan's avatarVikram Narayanan <>
parent dc216e76
......@@ -7680,8 +7680,17 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring,
dma = dma_map_single(tx_ring->dev, skb->data, size, DMA_TO_DEVICE);
/* Inside LCDs, we program the device registers and descriptors with
* physical address of the buffers and the corresponding gpa:hpa pair
* is programmed inside the iommu. Here a simple __pa macro is enough
* to get us the physical page of this buffer.
* TODO: Check if this is really sufficient for all cases
dma = __pa(skb->data);
tx_buffer = first;
for (frag = &skb_shinfo(skb)->frags[0];; frag++) {
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment