diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h')
-rw-r--r-- | drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h index 84d0afe..d2ce6e6 100644 --- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h @@ -680,15 +680,17 @@ static inline void _dpa_bp_free_pf(void *addr) put_page(virt_to_head_page(addr)); } -/* TODO: LS1043A SoC has a HW issue regarding FMan DMA transactions; The issue - * manifests itself at high traffic rates when frames exceed 4K memory - * boundaries; For the moment, we use a SW workaround to avoid frames larger - * than 4K or that exceed 4K alignments. +/* LS1043A SoC has a HW issue regarding FMan DMA transactions; The issue + * manifests itself at high traffic rates when frames cross 4K memory + * boundaries or when they are not aligned to 16 bytes; For the moment, we + * use a SW workaround to avoid frames larger than 4K or that exceed 4K + * alignments and to realign the frames to 16 bytes. */ #ifndef CONFIG_PPC extern bool dpaa_errata_a010022; /* SoC affected by A010022 errata */ +#define NONREC_MARK 0x01 #define HAS_DMA_ISSUE(start, size) \ (((u64)(start) + (size)) > (((u64)(start) + 0x1000) & ~0xFFF)) #define BOUNDARY_4K(start, size) (((u64)(start) + (u64)(size)) & ~0xFFF) |