summaryrefslogtreecommitdiffstats
path: root/drivers/ntb
diff options
context:
space:
mode:
authorJoey Zhang2019-06-06 09:09:42 +0200
committerJon Mason2019-06-13 14:59:25 +0200
commit28e339f100e34608a8f40c5ec6a6f8ef7b826028 (patch)
tree7894bf6643fead1d8cb1e355a01f901bc0601306 /drivers/ntb
parentNTB: correct ntb_dev_ops and ntb_dev comment typos (diff)
downloadkernel-qcow2-linux-28e339f100e34608a8f40c5ec6a6f8ef7b826028.tar.gz
kernel-qcow2-linux-28e339f100e34608a8f40c5ec6a6f8ef7b826028.tar.xz
kernel-qcow2-linux-28e339f100e34608a8f40c5ec6a6f8ef7b826028.zip
ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function
When a re-initialization is caused by a link event, the driver will re-setup the shared memory window. But at that time, the shared memory is still valid, and it's unnecessary to free, reallocate and then initialize it again. We only need to reconfigure the hardware registers. Remove the redundant steps from switchtec_ntb_reinit_peer() function. Signed-off-by: Joey Zhang <joey.zhang@microchip.com> Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com> Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'drivers/ntb')
-rw-r--r--drivers/ntb/hw/mscc/ntb_hw_switchtec.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
index 26a88731b0cb..c408b7adeaa6 100644
--- a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
+++ b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
@@ -1457,10 +1457,13 @@ static void switchtec_ntb_deinit_db_msg_irq(struct switchtec_ntb *sndev)
static int switchtec_ntb_reinit_peer(struct switchtec_ntb *sndev)
{
- dev_info(&sndev->stdev->dev, "peer reinitialized\n");
- switchtec_ntb_deinit_shared_mw(sndev);
- switchtec_ntb_init_mw(sndev);
- return switchtec_ntb_init_shared_mw(sndev);
+ int rc;
+
+ dev_info(&sndev->stdev->dev, "reinitialize shared memory window\n");
+ rc = config_rsvd_lut_win(sndev, sndev->mmio_peer_ctrl, 0,
+ sndev->self_partition,
+ sndev->self_shared_dma);
+ return rc;
}
static int switchtec_ntb_add(struct device *dev,