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:
TC956X 2022-08-08 19:54:46 +05:30 committed by jianzhou
parent b78511a42d
commit 9dc1dfc62f
4 changed files with 24 additions and 5 deletions

View File

@ -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.

View File

@ -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. */

View File

@ -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

View File

@ -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)));
}
}
}