[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.