From patchwork Sat Nov 10 20:31:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Kemnade X-Patchwork-Id: 10677419 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 34BF513BF for ; Sat, 10 Nov 2018 20:31:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 24D9E2BFDF for ; Sat, 10 Nov 2018 20:31:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1932F2C004; Sat, 10 Nov 2018 20:31:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C28B42BFDF for ; Sat, 10 Nov 2018 20:31:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726609AbeKKGRx (ORCPT ); Sun, 11 Nov 2018 01:17:53 -0500 Received: from mail.andi.de1.cc ([85.214.239.24]:55184 "EHLO h2641619.stratoserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725875AbeKKGRw (ORCPT ); Sun, 11 Nov 2018 01:17:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kemnade.info; s=20180802; h=Message-Id:Date:Subject:Cc:To:From:Sender: Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=bO8fw3E8J4oKemO7llA7anNrNdoC8OgqALnQqj3MjZk=; b=ekGazFYpSa6GbCkH1OexwCfARh AvAGJ7+f9+4mFOUoj8qonE1x/63ipTFiqwslugIiv+PdvAO0wTbsm8CKJzF1OzEFN+M9WKx4S1lCP 8fopOMS9PQgxOYP6OZea2dKD7epKjfI1lmnbYAQS+IRgkqF+jvo7LuITyWrsI/6RHNZQ=; Received: from p200300ccfbcefb001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:cc:fbce:fb00:1a3d:a2ff:febf:d33a] helo=aktux) by h2641619.stratoserver.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gLZug-0000Ap-Qx; Sat, 10 Nov 2018 21:31:26 +0100 Received: from andi by aktux with local (Exim 4.89) (envelope-from ) id 1gLZug-0003Tm-91; Sat, 10 Nov 2018 21:31:26 +0100 From: Andreas Kemnade To: t-kristo@ti.com, mturquette@baylibre.com, sboyd@kernel.org, linux-omap@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, bcousson@baylibre.com, paul@pwsan.com, tony@atomide.com, letux-kernel@openphoenux.org Cc: Andreas Kemnade Subject: [PATCH v2 0/3] mach-omap2: handle autoidle denial Date: Sat, 10 Nov 2018 21:31:12 +0100 Message-Id: <20181110203115.13335-1-andreas@kemnade.info> X-Mailer: git-send-email 2.11.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On the gta04 with a dm3730 omap_hdq does not work properly when the device enters lower power states. Idling uart1 and 2 is enough to show up that problem, if there are no other things enabled. Further research reveals that hdq iclk must not be turned off during transfers, also according to the TRM. That fact is also correctly described in the flags but the code to handle that is incomplete. To handle multiple users of a single ick, autoidle is disabled when a user of that ick requires that (has the OCPIF_SWSUP_IDLE)) Changes since v1: - uses spinlocks instead of mutexes - invert counter logic - check whether clock type is basic Andreas Kemnade (3): clk: ti: add a usecount for autoidle clk: ti: check clock type before doing autoidle ops arm: omap_hwmod disable ick autoidling when a hwmod requires that arch/arm/mach-omap2/omap_hwmod.c | 16 ++++++++++---- drivers/clk/ti/autoidle.c | 48 +++++++++++++++++++++++++++++++--------- include/linux/clk/ti.h | 1 + 3 files changed, 51 insertions(+), 14 deletions(-)