[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 |