Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2996980ybk; Mon, 18 May 2020 13:09:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbmdMnxL+zzgFibldXGi3oPovx6S2CAgvCwgAGsSihXO0k+ZKShL7GjSaYIzYmhV/0mt1x X-Received: by 2002:a17:906:404c:: with SMTP id y12mr6252176ejj.9.1589832547471; Mon, 18 May 2020 13:09:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589832547; cv=none; d=google.com; s=arc-20160816; b=XuR3lqjGBnK68Nk+/l3EHu6DbZRj22U/wP+D4ZUxDPRD+njMXd9qPpi4V8rFxVyKlm WoIyRmdSetA9PcQEJhpYk1qh5sGU8eMrQ9e3zJdW+9GRTWkSWMnr9qDwKRqp0mzNuz9J cbJ7KvG0BsO2nVQLRc/rdzUa1/Yj3LIvQx1I3TLUnOIiAyqsdJc4kDyUr8QdbXib5iTi KrbaxLnVx41791Wk67GHbCgORtlT6Zshn+HpnnR8eNEHo3cwVt8z9i6BPmhZyrvnHHqj c5JKG51M4xB6DKcb9CfbMwbr+5Y0vAKkvm2p8kEdJ0yYufn18QGa7M2upNs93ZkWCScc Qcyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature; bh=j1u5QBULuJKFUyNxaQAkdzuQVerFj62srXNJ8V0Lrak=; b=xWreR1j4wgBXndb8hPLlvcUk8bAP3d+acixX6UP5Bk4HJmpHc4spxCLttshkVcXG0B M/8dTx9dQsLEuQ1yemetXC3VOR5m2iE6ZaWEl1NI2b5ntdkcH2GDWhQ3vW9tjbR0WVxS KDYFoz3Xkoav6Rtf2XBehW/hpjjdQnqIMtLA2cKaKAQ0eyC9+H+W/wqtkONxxHuQAjdE /aMlcLDgZp5HJt0DSSkfK7Wys7Lgzm8VBXRidXyPwWYalKybR53smVxNBaf4uk6rFpp2 MUJQE4ubBwj20trk5AQV2u+MPLX4grgXvAyKGPFqT5e+ODAy5enVuNnbMmo8vyql6W/+ MmDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=jMGzTdoP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p62si6445880edp.385.2020.05.18.13.08.44; Mon, 18 May 2020 13:09:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=jMGzTdoP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727876AbgERUEW (ORCPT + 99 others); Mon, 18 May 2020 16:04:22 -0400 Received: from mail27.static.mailgun.info ([104.130.122.27]:15375 "EHLO mail27.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727831AbgERUEO (ORCPT ); Mon, 18 May 2020 16:04:14 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1589832253; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=j1u5QBULuJKFUyNxaQAkdzuQVerFj62srXNJ8V0Lrak=; b=jMGzTdoPje8wGew7bm3jFE21UTNOJeliCb/dAgOUxvLmS5o6fU762XeWWC5UzrxFZzHOfzGz m/drCBzh116QRoS+6A+Ky9Sk9wg1CEfoiT6+5+U9X/vyk6saU7Vf9GLmL4Uz1MqNWDd44agy DA5/tmy7DRNdaXlaZz5T0fqrKvk= X-Mailgun-Sending-Ip: 104.130.122.27 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5ec2ea38.7efd1e647110-smtp-out-n02; Mon, 18 May 2020 20:04:08 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 0B1C6C433D2; Mon, 18 May 2020 20:04:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=ham autolearn_force=no version=3.4.0 Received: from bbhatt-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: bbhatt) by smtp.codeaurora.org (Postfix) with ESMTPSA id 656E0C433F2; Mon, 18 May 2020 20:04:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 656E0C433F2 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=bbhatt@codeaurora.org From: Bhaumik Bhatt To: manivannan.sadhasivam@linaro.org Cc: linux-arm-msm@vger.kernel.org, hemantk@codeaurora.org, jhugo@codeaurora.org, linux-kernel@vger.kernel.org, Bhaumik Bhatt Subject: [PATCH v3 1/7] bus: mhi: core: Abort suspends due to outgoing pending packets Date: Mon, 18 May 2020 13:03:55 -0700 Message-Id: <1589832241-13867-2-git-send-email-bbhatt@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1589832241-13867-1-git-send-email-bbhatt@codeaurora.org> References: <1589832241-13867-1-git-send-email-bbhatt@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the missing check to abort suspends if a client has pending outgoing packets to send to the device. This allows better utilization of the MHI bus wherein clients on the host are not left waiting for longer suspend or resume cycles to finish for data transfers. Signed-off-by: Bhaumik Bhatt --- drivers/bus/mhi/core/pm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c index 7960980..661d704 100644 --- a/drivers/bus/mhi/core/pm.c +++ b/drivers/bus/mhi/core/pm.c @@ -686,7 +686,8 @@ int mhi_pm_suspend(struct mhi_controller *mhi_cntrl) return -EIO; /* Return busy if there are any pending resources */ - if (atomic_read(&mhi_cntrl->dev_wake)) + if (atomic_read(&mhi_cntrl->dev_wake) || + atomic_read(&mhi_cntrl->pending_pkts)) return -EBUSY; /* Take MHI out of M2 state */ @@ -712,7 +713,8 @@ int mhi_pm_suspend(struct mhi_controller *mhi_cntrl) write_lock_irq(&mhi_cntrl->pm_lock); - if (atomic_read(&mhi_cntrl->dev_wake)) { + if (atomic_read(&mhi_cntrl->dev_wake) || + atomic_read(&mhi_cntrl->pending_pkts)) { write_unlock_irq(&mhi_cntrl->pm_lock); return -EBUSY; } -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project