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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D942EC4332F for ; Sat, 4 Dec 2021 19:58:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355771AbhLDUBf (ORCPT ); Sat, 4 Dec 2021 15:01:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355402AbhLDUBb (ORCPT ); Sat, 4 Dec 2021 15:01:31 -0500 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2DBA9C061A83 for ; Sat, 4 Dec 2021 11:58:05 -0800 (PST) Received: by mail-wr1-x42a.google.com with SMTP id d24so13474536wra.0 for ; Sat, 04 Dec 2021 11:58:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E7NC5rxk5DlOvx/zxP8o5vuakyOw7kVWIeMVbE81m5w=; b=G+/MPNAhAVSeXtvf1yjcsCIDcAKBLuH4j0/54WPvVanXFw5dnz8eP4eOjrxNg88Obd 2iPassLr0nW073SvV+Z4Y22USC7pYEoJe60vQxvUO7IY22OfdFOuOmggOsdS4QoXB6GA pAQPimys0iFxVuZBpc4iSaa4ujkcDGTmVax6FT9xWhAWtOaBZu0HNymjGM8odiDhcRbg Lj/UFO7nORUqPmjpvcSsclApb5lf6hJbtMBPSr9tGu1JVwPjhmGGWEA7kjFLxKnf1fq6 dLh+RPi383qLXryShJmcylWb2tL+l1ZwxGDGrucFZHLBGZ2CGtjH4E9eODfXn0JnBCqn Hhzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E7NC5rxk5DlOvx/zxP8o5vuakyOw7kVWIeMVbE81m5w=; b=HD22DpSCS6L0nzcd3oJr/p8YgBLCmhPy5vuJDk/NcBpt3SDEMsxEreg8xEmg3FfTSy Y4CDntjGwGWTUj28Eh/H3yu1cijal6R6+0JkZm0pKHGzprF5kkxBTj9YvaAfpzJF7azR RktEnvGIs+Y4fEfEAYtFLvURJ4H7jJqbaNXcaHTe5kwSLAX2yhO3kz9J++Gz8HI2Ag3f p7YAoOdDO+ugAdfvQuyNQKz1SEMIZrt2fapZouuO+Hvaiww8YfUFGpqTDK5L0L/LdwhB K9Zvn9qsWCFj1CUTo7uMHRNjvyceG1OiDwLTrdrPB9rNwJGYkVgiPQJ1mCt0HgRKT6GJ z/hA== X-Gm-Message-State: AOAM530Eu0+D/XQkQB//dk3D8LHgYnVuRjYpbnbLoaaJQQo8eytqZs5g WA2jtSr3O1myGAUevkISPtA+3OGV2s8H7pji X-Google-Smtp-Source: ABdhPJya5K8Zgr3TUaXpVf2rPWA4ORLjqmYrdOMIL4M+NBSyiJn+kuCh/bjCmjp0n75ylo11psr+pg== X-Received: by 2002:a5d:456e:: with SMTP id a14mr30352834wrc.256.1638647883782; Sat, 04 Dec 2021 11:58:03 -0800 (PST) Received: from localhost ([31.134.121.151]) by smtp.gmail.com with ESMTPSA id u15sm5741150wmq.13.2021.12.04.11.58.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Dec 2021 11:58:03 -0800 (PST) From: Sam Protsenko To: Krzysztof Kozlowski , Rob Herring , Greg Kroah-Hartman Cc: Jaewon Kim , Chanho Park , David Virag , Youngmin Nam , devicetree@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH v3 3/5] tty: serial: samsung: Remove USI initialization Date: Sat, 4 Dec 2021 21:57:55 +0200 Message-Id: <20211204195757.8600-4-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211204195757.8600-1-semen.protsenko@linaro.org> References: <20211204195757.8600-1-semen.protsenko@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org USI control is now extracted to the dedicated USI driver. Remove USI related code from serial driver to avoid conflicts and code duplication. Signed-off-by: Sam Protsenko --- Changes in v3: - Spell check fixes in commit message Changes in v2: - (none) drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- include/linux/serial_s3c.h | 9 -------- 2 files changed, 4 insertions(+), 41 deletions(-) diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index ca084c10d0bb..f986a9253dc8 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -65,7 +65,6 @@ enum s3c24xx_port_type { struct s3c24xx_uart_info { char *name; enum s3c24xx_port_type type; - bool has_usi; unsigned int port_type; unsigned int fifosize; unsigned long rx_fifomask; @@ -1357,28 +1356,6 @@ static int apple_s5l_serial_startup(struct uart_port *port) return ret; } -static void exynos_usi_init(struct uart_port *port) -{ - struct s3c24xx_uart_port *ourport = to_ourport(port); - struct s3c24xx_uart_info *info = ourport->info; - unsigned int val; - - if (!info->has_usi) - return; - - /* Clear the software reset of USI block (it's set at startup) */ - val = rd_regl(port, USI_CON); - val &= ~USI_CON_RESET_MASK; - wr_regl(port, USI_CON, val); - udelay(1); - - /* Continuously provide the clock to USI IP w/o gating (for Rx mode) */ - val = rd_regl(port, USI_OPTION); - val &= ~USI_OPTION_HWACG_MASK; - val |= USI_OPTION_HWACG_CLKREQ_ON; - wr_regl(port, USI_OPTION, val); -} - /* power power management control */ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, @@ -1405,8 +1382,6 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, if (!IS_ERR(ourport->baudclk)) clk_prepare_enable(ourport->baudclk); - - exynos_usi_init(port); break; default: dev_err(port->dev, "s3c24xx_serial: unknown pm %d\n", level); @@ -2130,8 +2105,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport, if (ret) pr_warn("uart: failed to enable baudclk\n"); - exynos_usi_init(port); - /* Keep all interrupts masked and cleared */ switch (ourport->info->type) { case TYPE_S3C6400: @@ -2780,11 +2753,10 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { #endif #if defined(CONFIG_ARCH_EXYNOS) -#define EXYNOS_COMMON_SERIAL_DRV_DATA(_has_usi) \ +#define EXYNOS_COMMON_SERIAL_DRV_DATA() \ .info = &(struct s3c24xx_uart_info) { \ .name = "Samsung Exynos UART", \ .type = TYPE_S3C6400, \ - .has_usi = _has_usi, \ .port_type = PORT_S3C6400, \ .has_divslot = 1, \ .rx_fifomask = S5PV210_UFSTAT_RXMASK, \ @@ -2805,17 +2777,17 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { } \ static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 16, 16 }, }; static struct s3c24xx_serial_drv_data exynos5433_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 64, 256, 16, 256 }, }; static struct s3c24xx_serial_drv_data exynos850_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(true), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 64, 64 }, }; diff --git a/include/linux/serial_s3c.h b/include/linux/serial_s3c.h index cf0de4a86640..f6c3323fc4c5 100644 --- a/include/linux/serial_s3c.h +++ b/include/linux/serial_s3c.h @@ -27,15 +27,6 @@ #define S3C2410_UERSTAT (0x14) #define S3C2410_UFSTAT (0x18) #define S3C2410_UMSTAT (0x1C) -#define USI_CON (0xC4) -#define USI_OPTION (0xC8) - -#define USI_CON_RESET (1<<0) -#define USI_CON_RESET_MASK (1<<0) - -#define USI_OPTION_HWACG_CLKREQ_ON (1<<1) -#define USI_OPTION_HWACG_CLKSTOP_ON (1<<2) -#define USI_OPTION_HWACG_MASK (3<<1) #define S3C2410_LCON_CFGMASK ((0xF<<3)|(0x3)) -- 2.30.2 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 31080C433F5 for ; Sat, 4 Dec 2021 20:00:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Qfafm3WfRleMU6V4DTxnFy3MtejsvfgUjr0rTN5Ro6I=; b=NBcwfbYHFJsyzy Lx+J8LccGqqVqOf8MYtLiN1gTabFBg6Mer4vZtlEGfWxsmnQC8abkHH92KDAxMhA7BdYjFsRx7QC/ k774uQv8SuKPG45vc/x8eVtR/ZojVp3Rth4Oku11RzOzSj31RgkzVN6VEnO/SQq/j1GbpEgTwMycD 8S1Ktfo0iyoqYJX+Ng4v8FPOvGowtxzqp2PQ0HosUfPRUgonf/bzqf8GjWDa6qQNguUtHytf+3x04 3IcSRLob8PS99IGzourrotv5bx2wWPn4gBM6ndHQizDswML6lhaJhbPYnEH2pJAxWvw+8KL/PcpsC 7vLtA1XFOcjtLD+UC0Sg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mtbB6-000hxl-ED; Sat, 04 Dec 2021 19:58:36 +0000 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mtbAb-000hr1-6E for linux-arm-kernel@lists.infradead.org; Sat, 04 Dec 2021 19:58:06 +0000 Received: by mail-wr1-x42d.google.com with SMTP id a9so13295914wrr.8 for ; Sat, 04 Dec 2021 11:58:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E7NC5rxk5DlOvx/zxP8o5vuakyOw7kVWIeMVbE81m5w=; b=G+/MPNAhAVSeXtvf1yjcsCIDcAKBLuH4j0/54WPvVanXFw5dnz8eP4eOjrxNg88Obd 2iPassLr0nW073SvV+Z4Y22USC7pYEoJe60vQxvUO7IY22OfdFOuOmggOsdS4QoXB6GA pAQPimys0iFxVuZBpc4iSaa4ujkcDGTmVax6FT9xWhAWtOaBZu0HNymjGM8odiDhcRbg Lj/UFO7nORUqPmjpvcSsclApb5lf6hJbtMBPSr9tGu1JVwPjhmGGWEA7kjFLxKnf1fq6 dLh+RPi383qLXryShJmcylWb2tL+l1ZwxGDGrucFZHLBGZ2CGtjH4E9eODfXn0JnBCqn Hhzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E7NC5rxk5DlOvx/zxP8o5vuakyOw7kVWIeMVbE81m5w=; b=0078xTKrWO4hj/uVYwNwOqaOrX46gJcOSKRt0lnPbhRWbtbhlUOtagYO+46ApPrYei +5G1r9V7o7eozEXJHYt8d+5Z5JC8qyzOGsq+LbOOiZzzxMP1KdwNl/3HxdryDDx1bAvC 3Mcu7uvTv19U72hs6zvCZ2WyLHmGAU/pwwvvwHQz5dfTbCitjWpj5Fm9HtOhBDvrMhv4 Gq0d/MFFW2ImjExHPWK6KrQN+nc62LV713p/Cg80ZVd3tFupYIGRg7nztGFEglz3do2Z nWn4aRaxxNe6SRAiiiQ1BH0Y91sYt+bSEZZ4bekE8JWlZ5Hpb78ayQqU25U1RFmFylc2 dhcA== X-Gm-Message-State: AOAM533NuDqh24S2A1SAiCpbBhi88GttNUuAmDGK7DgK6R8ZfSz7K6Qk 56thu9MKbPFyRxUXiYkFCb+XYQ== X-Google-Smtp-Source: ABdhPJya5K8Zgr3TUaXpVf2rPWA4ORLjqmYrdOMIL4M+NBSyiJn+kuCh/bjCmjp0n75ylo11psr+pg== X-Received: by 2002:a5d:456e:: with SMTP id a14mr30352834wrc.256.1638647883782; Sat, 04 Dec 2021 11:58:03 -0800 (PST) Received: from localhost ([31.134.121.151]) by smtp.gmail.com with ESMTPSA id u15sm5741150wmq.13.2021.12.04.11.58.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Dec 2021 11:58:03 -0800 (PST) From: Sam Protsenko To: Krzysztof Kozlowski , Rob Herring , Greg Kroah-Hartman Cc: Jaewon Kim , Chanho Park , David Virag , Youngmin Nam , devicetree@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH v3 3/5] tty: serial: samsung: Remove USI initialization Date: Sat, 4 Dec 2021 21:57:55 +0200 Message-Id: <20211204195757.8600-4-semen.protsenko@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211204195757.8600-1-semen.protsenko@linaro.org> References: <20211204195757.8600-1-semen.protsenko@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211204_115805_262102_B2871F2B X-CRM114-Status: GOOD ( 16.12 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org USI control is now extracted to the dedicated USI driver. Remove USI related code from serial driver to avoid conflicts and code duplication. Signed-off-by: Sam Protsenko --- Changes in v3: - Spell check fixes in commit message Changes in v2: - (none) drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- include/linux/serial_s3c.h | 9 -------- 2 files changed, 4 insertions(+), 41 deletions(-) diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index ca084c10d0bb..f986a9253dc8 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -65,7 +65,6 @@ enum s3c24xx_port_type { struct s3c24xx_uart_info { char *name; enum s3c24xx_port_type type; - bool has_usi; unsigned int port_type; unsigned int fifosize; unsigned long rx_fifomask; @@ -1357,28 +1356,6 @@ static int apple_s5l_serial_startup(struct uart_port *port) return ret; } -static void exynos_usi_init(struct uart_port *port) -{ - struct s3c24xx_uart_port *ourport = to_ourport(port); - struct s3c24xx_uart_info *info = ourport->info; - unsigned int val; - - if (!info->has_usi) - return; - - /* Clear the software reset of USI block (it's set at startup) */ - val = rd_regl(port, USI_CON); - val &= ~USI_CON_RESET_MASK; - wr_regl(port, USI_CON, val); - udelay(1); - - /* Continuously provide the clock to USI IP w/o gating (for Rx mode) */ - val = rd_regl(port, USI_OPTION); - val &= ~USI_OPTION_HWACG_MASK; - val |= USI_OPTION_HWACG_CLKREQ_ON; - wr_regl(port, USI_OPTION, val); -} - /* power power management control */ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, @@ -1405,8 +1382,6 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, if (!IS_ERR(ourport->baudclk)) clk_prepare_enable(ourport->baudclk); - - exynos_usi_init(port); break; default: dev_err(port->dev, "s3c24xx_serial: unknown pm %d\n", level); @@ -2130,8 +2105,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport, if (ret) pr_warn("uart: failed to enable baudclk\n"); - exynos_usi_init(port); - /* Keep all interrupts masked and cleared */ switch (ourport->info->type) { case TYPE_S3C6400: @@ -2780,11 +2753,10 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { #endif #if defined(CONFIG_ARCH_EXYNOS) -#define EXYNOS_COMMON_SERIAL_DRV_DATA(_has_usi) \ +#define EXYNOS_COMMON_SERIAL_DRV_DATA() \ .info = &(struct s3c24xx_uart_info) { \ .name = "Samsung Exynos UART", \ .type = TYPE_S3C6400, \ - .has_usi = _has_usi, \ .port_type = PORT_S3C6400, \ .has_divslot = 1, \ .rx_fifomask = S5PV210_UFSTAT_RXMASK, \ @@ -2805,17 +2777,17 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { } \ static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 16, 16 }, }; static struct s3c24xx_serial_drv_data exynos5433_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 64, 256, 16, 256 }, }; static struct s3c24xx_serial_drv_data exynos850_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(true), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 64, 64 }, }; diff --git a/include/linux/serial_s3c.h b/include/linux/serial_s3c.h index cf0de4a86640..f6c3323fc4c5 100644 --- a/include/linux/serial_s3c.h +++ b/include/linux/serial_s3c.h @@ -27,15 +27,6 @@ #define S3C2410_UERSTAT (0x14) #define S3C2410_UFSTAT (0x18) #define S3C2410_UMSTAT (0x1C) -#define USI_CON (0xC4) -#define USI_OPTION (0xC8) - -#define USI_CON_RESET (1<<0) -#define USI_CON_RESET_MASK (1<<0) - -#define USI_OPTION_HWACG_CLKREQ_ON (1<<1) -#define USI_OPTION_HWACG_CLKSTOP_ON (1<<2) -#define USI_OPTION_HWACG_MASK (3<<1) #define S3C2410_LCON_CFGMASK ((0xF<<3)|(0x3)) -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel