Unverified Commit 74cdcca0 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5751 net: atlantic: Fix DMA mapping for PTP hwts ring

parents 03571c27 b45bf5fe
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1001,7 +1001,7 @@ int aq_ptp_ring_alloc(struct aq_nic_s *aq_nic)
	return 0;

err_exit_hwts_rx:
	aq_ring_free(&aq_ptp->hwts_rx);
	aq_ring_hwts_rx_free(&aq_ptp->hwts_rx);
err_exit_ptp_rx:
	aq_ring_free(&aq_ptp->ptp_rx);
err_exit_ptp_tx:
@@ -1019,7 +1019,7 @@ void aq_ptp_ring_free(struct aq_nic_s *aq_nic)

	aq_ring_free(&aq_ptp->ptp_tx);
	aq_ring_free(&aq_ptp->ptp_rx);
	aq_ring_free(&aq_ptp->hwts_rx);
	aq_ring_hwts_rx_free(&aq_ptp->hwts_rx);

	aq_ptp_skb_ring_release(&aq_ptp->skb_ring);
}
+13 −0
Original line number Diff line number Diff line
@@ -584,6 +584,19 @@ void aq_ring_free(struct aq_ring_s *self)
				  self->dx_ring_pa);
}

void aq_ring_hwts_rx_free(struct aq_ring_s *self)
{
	if (!self)
		return;

	if (self->dx_ring) {
		dma_free_coherent(aq_nic_get_dev(self->aq_nic),
				  self->size * self->dx_size + AQ_CFG_RXDS_DEF,
				  self->dx_ring, self->dx_ring_pa);
		self->dx_ring = NULL;
	}
}

unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data)
{
	unsigned int count;
+1 −0
Original line number Diff line number Diff line
@@ -191,6 +191,7 @@ int aq_ring_rx_fill(struct aq_ring_s *self);
struct aq_ring_s *aq_ring_hwts_rx_alloc(struct aq_ring_s *self,
		struct aq_nic_s *aq_nic, unsigned int idx,
		unsigned int size, unsigned int dx_size);
void aq_ring_hwts_rx_free(struct aq_ring_s *self);
void aq_ring_hwts_rx_clean(struct aq_ring_s *self, struct aq_nic_s *aq_nic);

unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data);