|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC PATCH 26/31] xen/arm: Don't set txdone_poll flag for ARM SMC mailbox
From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
Don't set txdone_poll flag resulting in TXDONE_BY_POLL method.
It is not optimal to use this method along with the dummy
last_tx_done(), since the controller is completely synchronous.
What is more the TXDONE_BY_POLL method is prohibited because of
involving timer based polling.
This change leads to using TXDONE_BY_ACK method and as the result
the client (SCPI protocol) explicitly ticks the TX state machine.
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Julien Grall <julien.grall@xxxxxxxxxx>
CC: Andre Przywara <andre.przywara@xxxxxxxxxx>
---
xen/arch/arm/cpufreq/arm-smc-mailbox.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/xen/arch/arm/cpufreq/arm-smc-mailbox.c
b/xen/arch/arm/cpufreq/arm-smc-mailbox.c
index 65d183e..c9fea49 100644
--- a/xen/arch/arm/cpufreq/arm-smc-mailbox.c
+++ b/xen/arch/arm/cpufreq/arm-smc-mailbox.c
@@ -100,15 +100,8 @@ static int arm_smc_send_data(struct mbox_chan *link, void
*data)
return 0;
}
-/* This mailbox is synchronous, so we are always done. */
-static bool arm_smc_last_tx_done(struct mbox_chan *link)
-{
- return true;
-}
-
static const struct mbox_chan_ops arm_smc_mbox_chan_ops = {
.send_data = arm_smc_send_data,
- .last_tx_done = arm_smc_last_tx_done
};
static int arm_smc_mbox_probe(struct platform_device *pdev)
@@ -171,9 +164,8 @@ static int arm_smc_mbox_probe(struct platform_device *pdev)
mbox->chans[i].con_priv = &chan_data[i];
}
- mbox->txdone_poll = true;
+ mbox->txdone_poll = false;
mbox->txdone_irq = false;
- mbox->txpoll_period = 1;
/*
* We don't have RX-done irq, but always have received data in hand
since
* mailbox is synchronous.
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |