From: Palani <[email protected]> This happens during multiple mailbox messaging.
Removed the redundant serdes register (ncr) read for link status check, as the driver checks the status using the sRIO registers. Signed-off-by: Palani <[email protected]> --- arch/arm/mach-axxia/rapidio.c | 8 -------- drivers/rapidio/devices/lsi/axxia-rio-irq.c | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-axxia/rapidio.c b/arch/arm/mach-axxia/rapidio.c index 3721fb6..8e8961f 100644 --- a/arch/arm/mach-axxia/rapidio.c +++ b/arch/arm/mach-axxia/rapidio.c @@ -32,7 +32,6 @@ #include <linux/io.h> #include <linux/signal.h> -#include <mach/ncr.h> #include <mach/rio.h> /** @@ -68,13 +67,6 @@ int axxia_rapidio_board_init( iounmap(gpreg_base); - /* Verify that this device is actually enabled */ - ncr_read(NCP_REGION_ID(0x115, 0), 0x23c, 4, ®); - if ((reg & (1 << (21+(dev_num*4)))) == 0) { - dev_dbg(&dev->dev, "%s: SRIO%d link not ready\n", - dev->dev.of_node->full_name, dev_num); - return -ENXIO; - } return 0; } diff --git a/drivers/rapidio/devices/lsi/axxia-rio-irq.c b/drivers/rapidio/devices/lsi/axxia-rio-irq.c index 495735c..7f3f56c 100644 --- a/drivers/rapidio/devices/lsi/axxia-rio-irq.c +++ b/drivers/rapidio/devices/lsi/axxia-rio-irq.c @@ -1051,6 +1051,7 @@ static void ob_dme_irq_handler(struct rio_irq_handler *h) axxia_local_config_read(priv, RAB_INTR_STAT_ODME, &int_stat); mask = int_stat; + axxia_local_config_write(priv, RAB_INTR_STAT_ODME, mask); while (int_stat) { dme_no = __fls(int_stat); int_stat ^= (1 << dme_no); @@ -1082,7 +1083,6 @@ static void ob_dme_irq_handler(struct rio_irq_handler *h) axxia_local_config_write(priv, RAB_OB_DME_STAT(dme_no), dme_stat); } - axxia_local_config_write(priv, RAB_INTR_STAT_ODME, mask); } static int alloc_ob_dme_shared(struct rio_priv *priv, @@ -1367,6 +1367,7 @@ static void ib_dme_irq_handler(struct rio_irq_handler *h/*, u32 state*/) axxia_local_config_read(priv, RAB_INTR_STAT_IDME, &dme_mask); mask = dme_mask; + axxia_local_config_write(priv, RAB_INTR_STAT_IDME, mask); /** * Inbound mbox has 4 engines, 1 per letter. * For each message engine that contributes to IRQ state, @@ -1424,7 +1425,6 @@ static void ib_dme_irq_handler(struct rio_irq_handler *h/*, u32 state*/) } } - axxia_local_config_write(priv, RAB_INTR_STAT_IDME, mask); } /** * open_inb_mbox - Initialize AXXIA inbound mailbox -- 1.8.1.4 -- _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
