u32 msg_level;
};
-void dcache_invalidate_only(unsigned long start, unsigned long end)
-{
- asm("\n"
- " bic r0, r0, #31\n"
- "1: mcr p15, 0, r0, c7, c6, 1\n"
- " add r0, r0, #32\n"
- " cmp r0, r1\n" " blo 1b\n");
-}
-
-void dcache_clean_range(unsigned long start, unsigned long end)
-{
- asm("\n"
- " bic r0, r0, #31\n"
- "1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry\n"
- " add r0, r0, #32\n"
- " cmp r0, r1\n"
- " blo 1b\n" \
- " mcr p15, 0, r0, c7, c10, 4 @ drain WB\n");
-}
-
static inline int nuport_mac_mii_busy_wait(struct nuport_mac_priv *priv)
{
unsigned long curr;
while (count < limit && !priv->irq_rxskb[priv->cur_rx]) {
skb = priv->rx_skb[priv->cur_rx];
len = priv->pkt_len[priv->cur_rx];
- dcache_invalidate_only(((u32) skb->data),
- ((u32) (skb->data + len + 4)));
/* Remove 2 bytes added by RX buffer shifting */
len = len - 2;