mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 06:08:08 +00:00
57 lines
1.8 KiB
Diff
57 lines
1.8 KiB
Diff
|
From: Felix Fietkau <nbd@nbd.name>
|
||
|
Date: Fri, 8 Apr 2022 10:59:45 +0200
|
||
|
Subject: [PATCH] net: ethernet: mtk_eth_soc/wed: fix sparse endian warnings
|
||
|
|
||
|
Descriptor fields are little-endian
|
||
|
|
||
|
Fixes: 804775dfc288 ("net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED)")
|
||
|
Reported-by: kernel test robot <lkp@intel.com>
|
||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
---
|
||
|
|
||
|
--- a/drivers/net/ethernet/mediatek/mtk_wed.c
|
||
|
+++ b/drivers/net/ethernet/mediatek/mtk_wed.c
|
||
|
@@ -144,16 +144,17 @@ mtk_wed_buffer_alloc(struct mtk_wed_devi
|
||
|
|
||
|
for (s = 0; s < MTK_WED_BUF_PER_PAGE; s++) {
|
||
|
u32 txd_size;
|
||
|
+ u32 ctrl;
|
||
|
|
||
|
txd_size = dev->wlan.init_buf(buf, buf_phys, token++);
|
||
|
|
||
|
- desc->buf0 = buf_phys;
|
||
|
- desc->buf1 = buf_phys + txd_size;
|
||
|
- desc->ctrl = FIELD_PREP(MTK_WDMA_DESC_CTRL_LEN0,
|
||
|
- txd_size) |
|
||
|
- FIELD_PREP(MTK_WDMA_DESC_CTRL_LEN1,
|
||
|
- MTK_WED_BUF_SIZE - txd_size) |
|
||
|
- MTK_WDMA_DESC_CTRL_LAST_SEG1;
|
||
|
+ desc->buf0 = cpu_to_le32(buf_phys);
|
||
|
+ desc->buf1 = cpu_to_le32(buf_phys + txd_size);
|
||
|
+ ctrl = FIELD_PREP(MTK_WDMA_DESC_CTRL_LEN0, txd_size) |
|
||
|
+ FIELD_PREP(MTK_WDMA_DESC_CTRL_LEN1,
|
||
|
+ MTK_WED_BUF_SIZE - txd_size) |
|
||
|
+ MTK_WDMA_DESC_CTRL_LAST_SEG1;
|
||
|
+ desc->ctrl = cpu_to_le32(ctrl);
|
||
|
desc->info = 0;
|
||
|
desc++;
|
||
|
|
||
|
@@ -184,12 +185,14 @@ mtk_wed_free_buffer(struct mtk_wed_devic
|
||
|
|
||
|
for (i = 0, page_idx = 0; i < dev->buf_ring.size; i += MTK_WED_BUF_PER_PAGE) {
|
||
|
void *page = page_list[page_idx++];
|
||
|
+ dma_addr_t buf_addr;
|
||
|
|
||
|
if (!page)
|
||
|
break;
|
||
|
|
||
|
- dma_unmap_page(dev->hw->dev, desc[i].buf0,
|
||
|
- PAGE_SIZE, DMA_BIDIRECTIONAL);
|
||
|
+ buf_addr = le32_to_cpu(desc[i].buf0);
|
||
|
+ dma_unmap_page(dev->hw->dev, buf_addr, PAGE_SIZE,
|
||
|
+ DMA_BIDIRECTIONAL);
|
||
|
__free_page(page);
|
||
|
}
|
||
|
|