Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752585AbdIFTzK (ORCPT ); Wed, 6 Sep 2017 15:55:10 -0400 Received: from smtprelay.synopsys.com ([198.182.60.111]:53131 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752479AbdIFTzJ (ORCPT ); Wed, 6 Sep 2017 15:55:09 -0400 Subject: Re: [PATCH] ARC: AXS10x: Add temporary quirk to reset ethernet IP To: Eugeniy Paltsev , CC: Alexey Brodkin , Newsgroups: gmane.linux.kernel.arc,gmane.linux.kernel References: <20170906182108.16765-1-Eugeniy.Paltsev@synopsys.com> From: Vineet Gupta Message-ID: <948bc9d9-7cef-4574-2ec9-0e9b0e5e0772@synopsys.com> Date: Wed, 6 Sep 2017 12:54:59 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170906182108.16765-1-Eugeniy.Paltsev@synopsys.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.9.132.20] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1216 Lines: 38 On 09/06/2017 11:21 AM, Eugeniy Paltsev wrote: > DW ethernet controller on AXS10x hangs sometimes after SW reset, so > add temporary quirk to reset DW ethernet controller IP core. > This quirk can be removed after axs10x reset driver > (see http://patchwork.ozlabs.org/patch/800273/) > or simple reset driver > (see https://patchwork.kernel.org/patch/9903375/) > will be available in upstream. > > Signed-off-by: Eugeniy Paltsev Added to for-next ! Thx, > --- > arch/arc/plat-axs10x/axs10x.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/arc/plat-axs10x/axs10x.c b/arch/arc/plat-axs10x/axs10x.c > index f1ac679..cf14ebc 100644 > --- a/arch/arc/plat-axs10x/axs10x.c > +++ b/arch/arc/plat-axs10x/axs10x.c > @@ -111,6 +111,13 @@ static void __init axs10x_early_init(void) > > axs10x_enable_gpio_intc_wire(); > > + /* > + * Reset ethernet IP core. > + * TODO: get rid of this quirk after axs10x reset driver (or simple > + * reset driver) will be available in upstream. > + */ > + iowrite32((1 << 5), (void __iomem *) CREG_MB_SW_RESET); > + > scnprintf(mb, 32, "MainBoard v%d", mb_rev); > axs10x_print_board_ver(CREG_MB_VER, mb); > } >