From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CCA77C433E6 for ; Thu, 18 Feb 2021 17:05:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 81E3A64D9A for ; Thu, 18 Feb 2021 17:05:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231253AbhBRREp (ORCPT ); Thu, 18 Feb 2021 12:04:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233599AbhBRORl (ORCPT ); Thu, 18 Feb 2021 09:17:41 -0500 Received: from mail.marcansoft.com (marcansoft.com [IPv6:2a01:298:fe:f::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71507C061788; Thu, 18 Feb 2021 06:16:52 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: marcan@marcan.st) by mail.marcansoft.com (Postfix) with ESMTPSA id 7159B41E96; Thu, 18 Feb 2021 14:16:44 +0000 (UTC) To: Krzysztof Kozlowski Cc: linux-arm-kernel@lists.infradead.org, Marc Zyngier , Rob Herring , Arnd Bergmann , Olof Johansson , Mark Kettenis , Tony Lindgren , Mohamed Mediouni , Stan Skowronek , Alexander Graf , Will Deacon , Linus Walleij , Mark Rutland , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210215121713.57687-1-marcan@marcan.st> <20210215121713.57687-23-marcan@marcan.st> <20210215191309.k7qkak73usqj7jxp@kozik-lap> From: Hector Martin Subject: Re: [PATCH v2 22/25] tty: serial: samsung_tty: Add support for Apple UARTs Message-ID: Date: Thu, 18 Feb 2021 23:16:40 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20210215191309.k7qkak73usqj7jxp@kozik-lap> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: es-ES Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 16/02/2021 04.13, Krzysztof Kozlowski wrote: > On Mon, Feb 15, 2021 at 09:17:10PM +0900, Hector Martin wrote: >> @@ -389,10 +396,12 @@ static void enable_tx_pio(struct s3c24xx_uart_port *ourport) >> ucon = rd_regl(port, S3C2410_UCON); >> ucon &= ~(S3C64XX_UCON_TXMODE_MASK); >> ucon |= S3C64XX_UCON_TXMODE_CPU; >> - wr_regl(port, S3C2410_UCON, ucon); >> >> /* Unmask Tx interrupt */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: >> + ucon |= APPLE_S5L_UCON_TXTHRESH_ENA_MSK; >> + break; >> case TYPE_S3C6400: >> s3c24xx_clear_bit(port, S3C64XX_UINTM_TXD, S3C64XX_UINTM); >> break; >> @@ -401,7 +410,16 @@ static void enable_tx_pio(struct s3c24xx_uart_port *ourport) >> break; >> } >> >> + wr_regl(port, S3C2410_UCON, ucon); > > You are now configuring the PIO mode after unmasking interrupt. I don't > think it's a good idea to change the order... and if it were, it > would deserve a separate patch. For v3 I moved the wr_regl back and just write it again in the TYPE_APPLE_S5L branch; that way, setting the PIO mode and unmasking the interrupt are two discrete operations on S5L, like they are on other types. >> /* Keep all interrupts masked and cleared */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: { > > Usually you put TYPE_APPLE at the end of switch, so please keep it > consistent. Can be first or last - just everywhere the same, unless you > have a fall-through on purpose. Good point, thanks, moved it for v3. It was actually inconsistent in more places, I made all the orders the same (the enum order, and default: always goes at the end). >> @@ -2179,6 +2329,32 @@ static int s3c24xx_serial_resume_noirq(struct device *dev) >> if (port) { >> /* restore IRQ mask */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: { >> + unsigned int ucon; >> + >> + clk_prepare_enable(ourport->clk); >> + if (!IS_ERR(ourport->baudclk)) >> + clk_prepare_enable(ourport->baudclk); > > We should start checking the return values of clk operations. I know > that existing code does it only in few places, so basically you are not > making it worse... Added error checking for these for v3, thanks. >> +#define S5L_SERIAL_DRV_DATA ((kernel_ulong_t)&s5l_serial_drv_data) >> +#else >> +#define S5L_SERIAL_DRV_DATA ((kernel_ulong_t)NULL) >> +#endif >> + >> + > > Only one line break. Fixed in v3. Thank you for the reviews! -- Hector Martin (marcan@marcan.st) Public Key: https://mrcn.st/pub From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3913BC433E0 for ; Thu, 18 Feb 2021 14:18:37 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B71B76146D for ; Thu, 18 Feb 2021 14:18:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B71B76146D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marcan.st Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:Subject: From:References:To:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kUCD6wkEwDOr5J/9yzjjD2d2P3710lZfBw8A4tFSlX4=; b=CiYnTI4SafDpihJsXwTBOYPII ZMhQgvZ1M/w2Lq5yZtTPr9CN3ibPZT4E+TqtZuFjwCddkBW+jSzzbFFMrdv8aAFxA7M6hRI/IcVjZ dU3Icc0j3NynaIWpGDF1n6xKT6YHo7kYk/lDVCu7T8CTOUEokqHwPFK6/bQp8NlzbxUYb+cQdTzwQ hWk6Yn+4It+4cvN17pxV7HwOhZWIflb51ziehHWH0TDkbNflVwp8+CH6GNaG2JOO53lXr3t5840s8 wGaaY3AoUkmzQItTlNpc/Th71D8S0zX4g7p4mdG/kBoemMwQnFOEC3i0FQIW96BNiMvPN+WXB8KMa QZYRq2Vcg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCk6x-00062N-Ij; Thu, 18 Feb 2021 14:16:55 +0000 Received: from marcansoft.com ([212.63.210.85] helo=mail.marcansoft.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCk6u-00061X-90 for linux-arm-kernel@lists.infradead.org; Thu, 18 Feb 2021 14:16:53 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: marcan@marcan.st) by mail.marcansoft.com (Postfix) with ESMTPSA id 7159B41E96; Thu, 18 Feb 2021 14:16:44 +0000 (UTC) To: Krzysztof Kozlowski References: <20210215121713.57687-1-marcan@marcan.st> <20210215121713.57687-23-marcan@marcan.st> <20210215191309.k7qkak73usqj7jxp@kozik-lap> From: Hector Martin Subject: Re: [PATCH v2 22/25] tty: serial: samsung_tty: Add support for Apple UARTs Message-ID: Date: Thu, 18 Feb 2021 23:16:40 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20210215191309.k7qkak73usqj7jxp@kozik-lap> Content-Language: es-ES X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_091652_456447_D1A1979E X-CRM114-Status: GOOD ( 24.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Arnd Bergmann , Rob Herring , Tony Lindgren , Marc Zyngier , Linus Walleij , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexander Graf , Olof Johansson , Mohamed Mediouni , Stan Skowronek , Will Deacon , linux-arm-kernel@lists.infradead.org, Mark Kettenis Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 16/02/2021 04.13, Krzysztof Kozlowski wrote: > On Mon, Feb 15, 2021 at 09:17:10PM +0900, Hector Martin wrote: >> @@ -389,10 +396,12 @@ static void enable_tx_pio(struct s3c24xx_uart_port *ourport) >> ucon = rd_regl(port, S3C2410_UCON); >> ucon &= ~(S3C64XX_UCON_TXMODE_MASK); >> ucon |= S3C64XX_UCON_TXMODE_CPU; >> - wr_regl(port, S3C2410_UCON, ucon); >> >> /* Unmask Tx interrupt */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: >> + ucon |= APPLE_S5L_UCON_TXTHRESH_ENA_MSK; >> + break; >> case TYPE_S3C6400: >> s3c24xx_clear_bit(port, S3C64XX_UINTM_TXD, S3C64XX_UINTM); >> break; >> @@ -401,7 +410,16 @@ static void enable_tx_pio(struct s3c24xx_uart_port *ourport) >> break; >> } >> >> + wr_regl(port, S3C2410_UCON, ucon); > > You are now configuring the PIO mode after unmasking interrupt. I don't > think it's a good idea to change the order... and if it were, it > would deserve a separate patch. For v3 I moved the wr_regl back and just write it again in the TYPE_APPLE_S5L branch; that way, setting the PIO mode and unmasking the interrupt are two discrete operations on S5L, like they are on other types. >> /* Keep all interrupts masked and cleared */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: { > > Usually you put TYPE_APPLE at the end of switch, so please keep it > consistent. Can be first or last - just everywhere the same, unless you > have a fall-through on purpose. Good point, thanks, moved it for v3. It was actually inconsistent in more places, I made all the orders the same (the enum order, and default: always goes at the end). >> @@ -2179,6 +2329,32 @@ static int s3c24xx_serial_resume_noirq(struct device *dev) >> if (port) { >> /* restore IRQ mask */ >> switch (ourport->info->type) { >> + case TYPE_APPLE_S5L: { >> + unsigned int ucon; >> + >> + clk_prepare_enable(ourport->clk); >> + if (!IS_ERR(ourport->baudclk)) >> + clk_prepare_enable(ourport->baudclk); > > We should start checking the return values of clk operations. I know > that existing code does it only in few places, so basically you are not > making it worse... Added error checking for these for v3, thanks. >> +#define S5L_SERIAL_DRV_DATA ((kernel_ulong_t)&s5l_serial_drv_data) >> +#else >> +#define S5L_SERIAL_DRV_DATA ((kernel_ulong_t)NULL) >> +#endif >> + >> + > > Only one line break. Fixed in v3. Thank you for the reviews! -- Hector Martin (marcan@marcan.st) Public Key: https://mrcn.st/pub _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel