|
@@ -518,7 +518,14 @@ static struct sh_eth_cpu_data r7s72100_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_ICD,
|
|
|
.ecsipr_value = ECSIPR_ICDIP,
|
|
|
- .eesipr_value = 0xe77f009f,
|
|
|
+ .eesipr_value = EESIPR_TWB1IP | EESIPR_TWBIP | EESIPR_TC1IP |
|
|
|
+ EESIPR_TABTIP | EESIPR_RABTIP | EESIPR_RFCOFIP |
|
|
|
+ EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_RRFIP |
|
|
|
+ EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_TC1 | EESR_FTC,
|
|
|
.eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT |
|
|
@@ -556,7 +563,14 @@ static struct sh_eth_cpu_data r8a7740_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_ICD | ECSR_MPD,
|
|
|
.ecsipr_value = ECSIPR_LCHNGIP | ECSIPR_ICDIP | ECSIPR_MPDIP,
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ 0x0000f000 | EESIPR_CNDIP | EESIPR_DLCIP |
|
|
|
+ EESIPR_CDIP | EESIPR_TROIP | EESIPR_RMAFIP |
|
|
|
+ EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_TC1 | EESR_FTC,
|
|
|
.eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT |
|
|
@@ -603,7 +617,12 @@ static struct sh_eth_cpu_data r8a777x_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD,
|
|
|
.ecsipr_value = ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP,
|
|
|
- .eesipr_value = 0x01ff009f,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ADEIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_RRFIP |
|
|
|
+ EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
|
|
|
.eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE |
|
|
@@ -626,7 +645,12 @@ static struct sh_eth_cpu_data r8a779x_data = {
|
|
|
.ecsr_value = ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD | ECSR_MPD,
|
|
|
.ecsipr_value = ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP |
|
|
|
ECSIPR_MPDIP,
|
|
|
- .eesipr_value = 0x01ff009f,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ADEIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_RRFIP |
|
|
|
+ EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
|
|
|
.eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE |
|
|
@@ -667,7 +691,12 @@ static struct sh_eth_cpu_data sh7724_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD,
|
|
|
.ecsipr_value = ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP,
|
|
|
- .eesipr_value = 0x01ff009f,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ADEIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_RRFIP |
|
|
|
+ EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
|
|
|
.eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE |
|
|
@@ -702,7 +731,14 @@ static struct sh_eth_cpu_data sh7757_data = {
|
|
|
|
|
|
.register_type = SH_ETH_REG_FAST_SH4,
|
|
|
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ 0x0000f000 | EESIPR_CNDIP | EESIPR_DLCIP |
|
|
|
+ EESIPR_CDIP | EESIPR_TROIP | EESIPR_RMAFIP |
|
|
|
+ EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO,
|
|
|
.eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE |
|
|
@@ -769,7 +805,14 @@ static struct sh_eth_cpu_data sh7757_data_giga = {
|
|
|
|
|
|
.ecsr_value = ECSR_ICD | ECSR_MPD,
|
|
|
.ecsipr_value = ECSIPR_LCHNGIP | ECSIPR_ICDIP | ECSIPR_MPDIP,
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ 0x0000f000 | EESIPR_CNDIP | EESIPR_DLCIP |
|
|
|
+ EESIPR_CDIP | EESIPR_TROIP | EESIPR_RMAFIP |
|
|
|
+ EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_TC1 | EESR_FTC,
|
|
|
.eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT |
|
|
@@ -800,7 +843,13 @@ static struct sh_eth_cpu_data sh7734_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_ICD | ECSR_MPD,
|
|
|
.ecsipr_value = ECSIPR_LCHNGIP | ECSIPR_ICDIP | ECSIPR_MPDIP,
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003f07ff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_DLCIP | EESIPR_CDIP | EESIPR_TROIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_TC1 | EESR_FTC,
|
|
|
.eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT |
|
|
@@ -830,7 +879,13 @@ static struct sh_eth_cpu_data sh7763_data = {
|
|
|
|
|
|
.ecsr_value = ECSR_ICD | ECSR_MPD,
|
|
|
.ecsipr_value = ECSIPR_LCHNGIP | ECSIPR_ICDIP | ECSIPR_MPDIP,
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003f07ff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ EESIPR_DLCIP | EESIPR_CDIP | EESIPR_TROIP |
|
|
|
+ EESIPR_RMAFIP | EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.tx_check = EESR_TC1 | EESR_FTC,
|
|
|
.eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT |
|
|
@@ -851,7 +906,14 @@ static struct sh_eth_cpu_data sh7763_data = {
|
|
|
static struct sh_eth_cpu_data sh7619_data = {
|
|
|
.register_type = SH_ETH_REG_FAST_SH3_SH2,
|
|
|
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ 0x0000f000 | EESIPR_CNDIP | EESIPR_DLCIP |
|
|
|
+ EESIPR_CDIP | EESIPR_TROIP | EESIPR_RMAFIP |
|
|
|
+ EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
|
|
|
.apr = 1,
|
|
|
.mpr = 1,
|
|
@@ -862,7 +924,14 @@ static struct sh_eth_cpu_data sh7619_data = {
|
|
|
static struct sh_eth_cpu_data sh771x_data = {
|
|
|
.register_type = SH_ETH_REG_FAST_SH3_SH2,
|
|
|
|
|
|
- .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff,
|
|
|
+ .eesipr_value = EESIPR_RFCOFIP | EESIPR_ECIIP |
|
|
|
+ EESIPR_FTCIP | EESIPR_TDEIP | EESIPR_TFUFIP |
|
|
|
+ EESIPR_FRIP | EESIPR_RDEIP | EESIPR_RFOFIP |
|
|
|
+ 0x0000f000 | EESIPR_CNDIP | EESIPR_DLCIP |
|
|
|
+ EESIPR_CDIP | EESIPR_TROIP | EESIPR_RMAFIP |
|
|
|
+ EESIPR_CEEFIP | EESIPR_CELFIP |
|
|
|
+ EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP |
|
|
|
+ EESIPR_PREIP | EESIPR_CERFIP,
|
|
|
.tsu = 1,
|
|
|
};
|
|
|
|
|
@@ -1547,10 +1616,10 @@ static void sh_eth_emac_interrupt(struct net_device *ndev)
|
|
|
sh_eth_rcv_snd_disable(ndev);
|
|
|
} else {
|
|
|
/* Link Up */
|
|
|
- sh_eth_modify(ndev, EESIPR, DMAC_M_ECI, 0);
|
|
|
+ sh_eth_modify(ndev, EESIPR, EESIPR_ECIIP, 0);
|
|
|
/* clear int */
|
|
|
sh_eth_modify(ndev, ECSR, 0, 0);
|
|
|
- sh_eth_modify(ndev, EESIPR, DMAC_M_ECI, DMAC_M_ECI);
|
|
|
+ sh_eth_modify(ndev, EESIPR, EESIPR_ECIIP, EESIPR_ECIIP);
|
|
|
/* enable tx and rx */
|
|
|
sh_eth_rcv_snd_enable(ndev);
|
|
|
}
|
|
@@ -1652,7 +1721,7 @@ static irqreturn_t sh_eth_interrupt(int irq, void *netdev)
|
|
|
* bit...
|
|
|
*/
|
|
|
intr_enable = sh_eth_read(ndev, EESIPR);
|
|
|
- intr_status &= intr_enable | DMAC_M_ECI;
|
|
|
+ intr_status &= intr_enable | EESIPR_ECIIP;
|
|
|
if (intr_status & (EESR_RX_CHECK | cd->tx_check | EESR_ECI |
|
|
|
cd->eesr_err_check))
|
|
|
ret = IRQ_HANDLED;
|
|
@@ -3199,7 +3268,7 @@ static int sh_eth_wol_setup(struct net_device *ndev)
|
|
|
/* Only allow ECI interrupts */
|
|
|
synchronize_irq(ndev->irq);
|
|
|
napi_disable(&mdp->napi);
|
|
|
- sh_eth_write(ndev, DMAC_M_ECI, EESIPR);
|
|
|
+ sh_eth_write(ndev, EESIPR_ECIIP, EESIPR);
|
|
|
|
|
|
/* Enable MagicPacket */
|
|
|
sh_eth_modify(ndev, ECMR, 0, ECMR_MPDE);
|