net: ethernet: ti: davinci_cpdma: fix fixed prio cpdma ctlr configuration
The dma ctlr is reseted to 0 while cpdma soft reset, thus cpdma ctlr cannot be configured after cpdma is stopped. So restoring content of cpdma ctlr while off/on procedure is needed. The cpdma ctlr off/on procedure is present while interface down/up and while changing number of channels with ethtool. In order to not restore content in many places, move it to cpdma_ctlr_start(). Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
这个提交包含在:
@@ -1376,10 +1376,6 @@ static int cpsw_ndo_open(struct net_device *ndev)
|
||||
ALE_ALL_PORTS, ALE_ALL_PORTS, 0, 0);
|
||||
|
||||
if (!cpsw_common_res_usage_state(cpsw)) {
|
||||
/* setup tx dma to fixed prio and zero offset */
|
||||
cpdma_control_set(cpsw->dma, CPDMA_TX_PRIO_FIXED, 1);
|
||||
cpdma_control_set(cpsw->dma, CPDMA_RX_BUFFER_OFFSET, 0);
|
||||
|
||||
/* disable priority elevation */
|
||||
__raw_writel(0, &cpsw->regs->ptype);
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户