Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755293AbdCTOUg (ORCPT ); Mon, 20 Mar 2017 10:20:36 -0400 Received: from mga01.intel.com ([192.55.52.88]:3562 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755093AbdCTOUc (ORCPT ); Mon, 20 Mar 2017 10:20:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,194,1486454400"; d="scan'208";a="946234755" Date: Mon, 20 Mar 2017 16:15:53 +0200 From: Heikki Krogerus To: "Dan O'Donovan" Cc: "Rafael J . Wysocki" , Andy Shevchenko , linux-acpi@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] disable RTS override on LPSS UART with Auto Flow Control Message-ID: <20170320141553.GA29812@kuha.fi.intel.com> References: <1489587228-10764-1-git-send-email-dan@emutex.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1489587228-10764-1-git-send-email-dan@emutex.com> User-Agent: Mutt/1.7.1 (2016-10-04) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1204 Lines: 31 On Wed, Mar 15, 2017 at 02:13:48PM +0000, Dan O'Donovan wrote: > Currently, Auto Flow Control is not working correctly on the Atom > X5-Z8350 "Cherry Trail" SoC, because an "RTS override" feature is > enabled in a vendor-specific register in the LPSS UART. The symptom > is that RTS is not de-asserted as it should be when RTS/CTS flow > control is enabled and the RX FIFO fills up. > > This appears to be introduced by commit 1f47a77c4e49 ("ACPI / LPSS: > not using UART RTS override with Auto Flow Control"). > > To _disable_ the RTS override, bit 3 needs to be _set_ in the > "GENERAL" register at offset 808h. The power-on default is 0. The > aforementioned commit appears to have assumed the inverse of this. True. That is what the public documentation for Atom Z8000 (Cherrytrail/Braswell), and also Z36xx-Z37xx (Baytrail) say. The internal Lynxpoint PCH documentation I used describe the bit differently, but we should of course follow the public documentation. The LPSS block housing the UART is in any case the same in all these products. After addressing Andy's comments: Reviewed-by: Heikki Krogerus This should also go to stable. Thanks, -- heikki