V_01-00-53
1. For IPA offload path, disable RBU interrupt when RBU interrupt occurs. Interrupt should be enabled back in IPA SW.
This commit is contained in:
parent
b78511a42d
commit
9dc1dfc62f
@ -1,7 +1,7 @@
|
||||
# Toshiba Electronic Devices & Storage Corporation TC956X PCIe Ethernet Host Driver
|
||||
Release Date: 15 Jun 2022
|
||||
Release Date: 08 Aug 2022
|
||||
|
||||
Release Version: V_01-00-52 : Limited-tested version
|
||||
Release Version: V_01-00-53 : Limited-tested version
|
||||
|
||||
TC956X PCIe EMAC driver is based on "Fedora 30, kernel-5.4.19".
|
||||
|
||||
@ -530,3 +530,7 @@ TC956X PCIe EMAC driver is based on "Fedora 30, kernel-5.4.19".
|
||||
|
||||
## TC956X_Host_Driver_20220615_V_01-00-52:
|
||||
1. Added debugfs support for module specific register dump.
|
||||
|
||||
## TC956X_Host_Driver_20220808_V_01-00-53:
|
||||
1. For IPA offload path, disable RBU interrupt when RBU interrupt occurs.
|
||||
Interrupt should be enabled back in IPA SW.
|
||||
|
@ -165,6 +165,8 @@
|
||||
* VERSION : 01-00-51
|
||||
* 15 Jun 2022 : 1. Version update
|
||||
* VERSION : 01-00-52
|
||||
* 08 Aug 2022 : 1. Version update
|
||||
* VERSION : 01-00-53
|
||||
*/
|
||||
|
||||
#include <linux/clk-provider.h>
|
||||
@ -231,7 +233,7 @@ unsigned int mac1_en_lp_pause_frame_cnt = DISABLE;
|
||||
|
||||
unsigned int mac_power_save_at_link_down = DISABLE;
|
||||
|
||||
static const struct tc956x_version tc956x_drv_version = {0, 1, 0, 0, 5, 2};
|
||||
static const struct tc956x_version tc956x_drv_version = {0, 1, 0, 0, 5, 3};
|
||||
|
||||
static int tc956xmac_pm_usage_counter; /* Device Usage Counter */
|
||||
struct mutex tc956x_pm_suspend_lock; /* This mutex is shared between all available EMAC ports. */
|
||||
|
@ -155,6 +155,8 @@
|
||||
* 15 Jun 2022 : 1. Added debugfs support for module specific register dump
|
||||
* 2. Version update.
|
||||
* VERSION : 01-00-52
|
||||
* 08 Aug 2022 : 1. Version update
|
||||
* VERSION : 01-00-53
|
||||
*/
|
||||
|
||||
#ifndef __TC956XMAC_H__
|
||||
@ -210,7 +212,7 @@
|
||||
#define IRQ_DEV_NAME(x) (((x) == RM_PF0_ID) ? ("eth0") : ("eth1"))
|
||||
#define WOL_IRQ_DEV_NAME(x) (((x) == RM_PF0_ID) ? ("eth0_wol") : ("eth1_wol"))
|
||||
|
||||
#define DRV_MODULE_VERSION "V_01-00-52"
|
||||
#define DRV_MODULE_VERSION "V_01-00-53"
|
||||
#define TC956X_FW_MAX_SIZE (64*1024)
|
||||
|
||||
#define ATR_AXI4_SLV_BASE 0x0800
|
||||
|
@ -129,6 +129,8 @@
|
||||
* VERSION : 01-00-51
|
||||
* 15 Jun 2022 : 1. Added debugfs support for module specific register dump
|
||||
* VERSION : 01-00-52
|
||||
* 08 Aug 2022 : 1. Disable RBU interrupt on RBU interrupt occurance. IPA SW should enable it back.
|
||||
* VERSION : 01-00-53
|
||||
*/
|
||||
|
||||
#include <linux/clk.h>
|
||||
@ -7445,7 +7447,7 @@ static irqreturn_t tc956xmac_interrupt(int irq, void *dev_id)
|
||||
u32 queues_count;
|
||||
u32 queue;
|
||||
bool xmac;
|
||||
u32 val = 0;
|
||||
u32 val = 0, value = 0;
|
||||
uint32_t uiIntSts, uiIntclr = 0;
|
||||
|
||||
xmac = priv->plat->has_gmac4 || priv->plat->has_xgmac;
|
||||
@ -7519,6 +7521,15 @@ static irqreturn_t tc956xmac_interrupt(int irq, void *dev_id)
|
||||
uiIntclr |= XGMAC_AIS;
|
||||
}
|
||||
writel(uiIntclr, (priv->ioaddr + XGMAC_DMA_CH_STATUS(queue)));
|
||||
|
||||
/* Disable RBU interrupt on RBU interrupt occurance. IPA SW should enable it back */
|
||||
value = readl(priv->ioaddr + XGMAC_DMA_CH_INT_EN(queue));
|
||||
if ( ((uiIntclr & XGMAC_RBU) == XGMAC_RBU) && (value & XGMAC_RBUE)) {
|
||||
value = readl(priv->ioaddr + XGMAC_DMA_CH_INT_EN(queue));
|
||||
value &= ~XGMAC_RBUE;
|
||||
writel(value, priv->ioaddr + XGMAC_DMA_CH_INT_EN(queue));
|
||||
printk("***RBU INT disabled***XGMAC_DMA_CH_INT_EN[%d]***** :0x%x\n", queue, readl(priv->ioaddr + XGMAC_DMA_CH_INT_EN(queue)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user