mirror of
git://nv-tegra.nvidia.com/kernel/nvethernetrm.git
synced 2025-12-22 17:34:29 +03:00
nvethernetrm: enable common interrupt in eqos wrapper
Enable EQOS_CORE_SBD_INTR in ETHER_QOS_COMMON_INTR_ENABLE and clear in ETHER_QOS_COMMON_INTR_STATUS. Bug 200760072 Change-Id: Id0e4a6d5704664faf633181d816d3708cb85956a Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2577049 Tested-by: Bhadram Varka <vbhadram@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Bhadram Varka <vbhadram@nvidia.com> Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
36510e26ad
commit
b4f9f7fae8
@@ -1692,6 +1692,15 @@ static void eqos_configure_mac(struct osi_core_priv_data *const osi_core)
|
||||
eqos_core_safety_writel(osi_core, value, (nveu8_t *)osi_core->base +
|
||||
EQOS_MAC_MCR, EQOS_MAC_MCR_IDX);
|
||||
|
||||
/* Enable common interrupt at wrapper level */
|
||||
if (osi_core->mac_ver >= OSI_EQOS_MAC_5_30) {
|
||||
value = osi_readla(osi_core, (nveu8_t *)osi_core->base +
|
||||
EQOS_WRAP_COMMON_INTR_ENABLE);
|
||||
value |= EQOS_MAC_SBD_INTR;
|
||||
osi_writela(osi_core, value, (nveu8_t *)osi_core->base +
|
||||
EQOS_WRAP_COMMON_INTR_ENABLE);
|
||||
}
|
||||
|
||||
/* enable Packet Duplication Control */
|
||||
value = osi_readla(osi_core, (nveu8_t *)osi_core->base + EQOS_MAC_EXTR);
|
||||
if (osi_core->mac_ver >= OSI_EQOS_MAC_5_00) {
|
||||
@@ -2520,8 +2529,17 @@ static void eqos_handle_common_intr(struct osi_core_priv_data *const osi_core)
|
||||
nveu32_t i = 0;
|
||||
nveu32_t dma_sr = 0;
|
||||
nveu32_t dma_ier = 0;
|
||||
unsigned int mtl_isr = 0;
|
||||
unsigned int frp_isr = 0U;
|
||||
nveu32_t mtl_isr = 0;
|
||||
nveu32_t frp_isr = 0U;
|
||||
nveu32_t val = 0U;
|
||||
|
||||
if (osi_core->mac_ver >= OSI_EQOS_MAC_5_30) {
|
||||
val = osi_readla(osi_core, (nveu8_t *)osi_core->base +
|
||||
EQOS_WRAP_COMMON_INTR_STATUS);
|
||||
val |= EQOS_MAC_SBD_INTR;
|
||||
osi_writela(osi_core, val, (nveu8_t *)osi_core->base +
|
||||
EQOS_WRAP_COMMON_INTR_STATUS);
|
||||
}
|
||||
|
||||
dma_isr = osi_readla(osi_core, (nveu8_t *)base + EQOS_DMA_ISR);
|
||||
if (dma_isr == 0U) {
|
||||
|
||||
@@ -184,6 +184,9 @@
|
||||
#define EQOS_PAD_AUTO_CAL_CFG 0x8804U
|
||||
#define EQOS_PAD_AUTO_CAL_STAT 0x880CU
|
||||
#define EQOS_VIRT_INTR_APB_CHX_CNTRL(x) (0x8200U + ((x) * 4U))
|
||||
#define EQOS_WRAP_COMMON_INTR_ENABLE 0x8704
|
||||
#define EQOS_WRAP_COMMON_INTR_STATUS 0x8708
|
||||
#define EQOS_MAC_SBD_INTR 0x4
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user