Lines Matching refs:cbdr
1038 int enetc_alloc_cbdr(struct device *dev, struct enetc_cbdr *cbdr) in enetc_alloc_cbdr() argument
1040 int size = cbdr->bd_count * sizeof(struct enetc_cbd); in enetc_alloc_cbdr()
1042 cbdr->bd_base = dma_alloc_coherent(dev, size, &cbdr->bd_dma_base, in enetc_alloc_cbdr()
1044 if (!cbdr->bd_base) in enetc_alloc_cbdr()
1048 if (!IS_ALIGNED(cbdr->bd_dma_base, 128)) { in enetc_alloc_cbdr()
1049 dma_free_coherent(dev, size, cbdr->bd_base, cbdr->bd_dma_base); in enetc_alloc_cbdr()
1053 cbdr->next_to_clean = 0; in enetc_alloc_cbdr()
1054 cbdr->next_to_use = 0; in enetc_alloc_cbdr()
1059 void enetc_free_cbdr(struct device *dev, struct enetc_cbdr *cbdr) in enetc_free_cbdr() argument
1061 int size = cbdr->bd_count * sizeof(struct enetc_cbd); in enetc_free_cbdr()
1063 dma_free_coherent(dev, size, cbdr->bd_base, cbdr->bd_dma_base); in enetc_free_cbdr()
1064 cbdr->bd_base = NULL; in enetc_free_cbdr()
1067 void enetc_setup_cbdr(struct enetc_hw *hw, struct enetc_cbdr *cbdr) in enetc_setup_cbdr() argument
1073 enetc_wr(hw, ENETC_SICBDRBAR0, lower_32_bits(cbdr->bd_dma_base)); in enetc_setup_cbdr()
1074 enetc_wr(hw, ENETC_SICBDRBAR1, upper_32_bits(cbdr->bd_dma_base)); in enetc_setup_cbdr()
1075 enetc_wr(hw, ENETC_SICBDRLENR, ENETC_RTBLENR_LEN(cbdr->bd_count)); in enetc_setup_cbdr()
1083 cbdr->pir = hw->reg + ENETC_SICBDRPIR; in enetc_setup_cbdr()
1084 cbdr->cir = hw->reg + ENETC_SICBDRCIR; in enetc_setup_cbdr()