Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933346AbcKCWgB (ORCPT ); Thu, 3 Nov 2016 18:36:01 -0400 Received: from mail-wm0-f46.google.com ([74.125.82.46]:38836 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756178AbcKCWfe (ORCPT ); Thu, 3 Nov 2016 18:35:34 -0400 Date: Thu, 3 Nov 2016 23:35:23 +0100 From: Daniel Lezcano To: Vineet Gupta Cc: Noam Camus , tglx@linutronix.de, linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey.Brodkin@synopsys.com, stable@vger.kernel.org Subject: Re: [PATCH v2 01/10] ARC: timer: rtc: implement read loop in "C" vs. inline asm Message-ID: <20161103223523.GB15759@mai> References: <1478208701-30923-1-git-send-email-vgupta@synopsys.com> <1478208701-30923-2-git-send-email-vgupta@synopsys.com> <20161103215221.GM1859@mai> <952c1d98-2827-5127-2440-edab342e6b77@synopsys.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <952c1d98-2827-5127-2440-edab342e6b77@synopsys.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 865 Lines: 21 On Thu, Nov 03, 2016 at 03:23:09PM -0700, Vineet Gupta wrote: > On 11/03/2016 02:52 PM, Daniel Lezcano wrote: > > On Thu, Nov 03, 2016 at 02:31:32PM -0700, Vineet Gupta wrote: > >> The current code doesn't even compile .... > > > > Give a better description in the log, especially if this patch is supposed to > > go to stable@ > > OK. [ ... ] > > Is the condition correct ? If I refer to your previous answer, the bit will be > > set for status if the counter wrapped up. So in this case, we won't exit the > > loop until we wrap up, no ? > > No thats not what I meant. Bit being set there means things are fine (no interrupt > taken, no increment of high after low was readetc). All I changed here was use of > 0x8000_0000 to the macro. BBIT0 in assembler means branch if bit was clear. Fair enough. So the logic is inverted 'status' == 0 means 'not fine'.