From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Hilman Subject: Re: [PATCH 1/5] i2c: omap: fix spurious IRQs: disable/enable IRQ at INTC when idle Date: Wed, 19 Jun 2013 13:01:28 -0700 Message-ID: <878v257tuv.fsf@linaro.org> References: <1370630768-4077-1-git-send-email-grygorii.strashko@ti.com> <1370630768-4077-2-git-send-email-grygorii.strashko@ti.com> <87li6llk4w.fsf@linaro.org> <51C1F9FA.9000502@ti.com> <20130619193111.GD4779@arwen.pp.htv.fi> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <20130619193111.GD4779-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org> (Felipe Balbi's message of "Wed, 19 Jun 2013 22:31:11 +0300") Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: balbi-l0cyMroinI0@public.gmane.org Cc: Grygorii Strashko , Wolfram Sang , Tony Lindgren , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Nishanth Menon List-Id: linux-i2c@vger.kernel.org Felipe Balbi writes: [...] > If you have 200 pm_runtime_get() followed by 200 pm_runtime_put() (put > is called only after 200 gets, no put-get ping-pong), your > ->runtime_resume() gets called once, your ->runtime_suspend() gets > called once but your ->runtime_idle() will get called 200 times. No. The driver's ->runtime_idle() will only be called when the usecount goes to zero. Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757482Ab3FSUBg (ORCPT ); Wed, 19 Jun 2013 16:01:36 -0400 Received: from mail-pd0-f179.google.com ([209.85.192.179]:45694 "EHLO mail-pd0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935091Ab3FSUBd (ORCPT ); Wed, 19 Jun 2013 16:01:33 -0400 From: Kevin Hilman To: Cc: Grygorii Strashko , Wolfram Sang , Tony Lindgren , , , , Nishanth Menon Subject: Re: [PATCH 1/5] i2c: omap: fix spurious IRQs: disable/enable IRQ at INTC when idle References: <1370630768-4077-1-git-send-email-grygorii.strashko@ti.com> <1370630768-4077-2-git-send-email-grygorii.strashko@ti.com> <87li6llk4w.fsf@linaro.org> <51C1F9FA.9000502@ti.com> <20130619193111.GD4779@arwen.pp.htv.fi> Date: Wed, 19 Jun 2013 13:01:28 -0700 In-Reply-To: <20130619193111.GD4779@arwen.pp.htv.fi> (Felipe Balbi's message of "Wed, 19 Jun 2013 22:31:11 +0300") Message-ID: <878v257tuv.fsf@linaro.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Felipe Balbi writes: [...] > If you have 200 pm_runtime_get() followed by 200 pm_runtime_put() (put > is called only after 200 gets, no put-get ping-pong), your > ->runtime_resume() gets called once, your ->runtime_suspend() gets > called once but your ->runtime_idle() will get called 200 times. No. The driver's ->runtime_idle() will only be called when the usecount goes to zero. Kevin