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=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT 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 9AF18C433E0 for ; Tue, 16 Feb 2021 22:28:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 570CA64E79 for ; Tue, 16 Feb 2021 22:28:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231217AbhBPW2D (ORCPT ); Tue, 16 Feb 2021 17:28:03 -0500 Received: from smtp2.axis.com ([195.60.68.18]:53896 "EHLO smtp2.axis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231195AbhBPW1j (ORCPT ); Tue, 16 Feb 2021 17:27:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1613514458; x=1645050458; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=FisCV0Eq/9wc83laF2BLqS9yxk3LMPeu3iHBB7jiBtI=; b=HLjV1ro8KnaFvssHevEwJXwTCEMmiC8bV9wAiVtSUekv5Y1K3RQvrVlQ wlKXm0PwlBon6gYPJsTPGF2Zvg4LqIFELou2q2cx1Jzo85utGlu+devfI Tt2qyI29PEB9GSZoGosUbByqYA1iIDjJixBRbSsW68Q00OjWRY+a4+rKl 0Tw7A1U95Ta2ah82RFqbz6AgLsWJ79aT7lIndnrQNh+0LucpbGMOTTiMp 0H7u19pOODP8/60tkQ9frqf6p9UOMscpp8QtqeOub5ySHc+V8EZr8/jJa enxpSqWGTskg21gHGpmYfwjjkl60p1+gXgV/CmY1orxeYTaqqFLS7uQob A==; From: =?UTF-8?q?M=C3=A5rten=20Lindahl?= To: Krzysztof Kozlowski CC: , =?UTF-8?q?M=C3=A5rten=20Lindahl?= , , , , Subject: [PATCH v2] i2c: exynos5: Preserve high speed master code Date: Tue, 16 Feb 2021 23:25:38 +0100 Message-ID: <20210216222538.6427-1-marten.lindahl@axis.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mårten Lindahl When the driver starts to send a message with the MASTER_ID field set (high speed), the whole I2C_ADDR register is overwritten including MASTER_ID as the SLV_ADDR_MAS field is set. This patch preserves already written fields in I2C_ADDR when writing SLV_ADDR_MAS. Signed-off-by: Mårten Lindahl --- v2: - Change commit message as the problem is not in the controller but in the driver. - Use MASTER_ID macro instead of reading back register contents. drivers/i2c/busses/i2c-exynos5.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-exynos5.c b/drivers/i2c/busses/i2c-exynos5.c index 20a9881a0d6c..5ac30d95650c 100644 --- a/drivers/i2c/busses/i2c-exynos5.c +++ b/drivers/i2c/busses/i2c-exynos5.c @@ -606,6 +606,7 @@ static void exynos5_i2c_message_start(struct exynos5_i2c *i2c, int stop) u32 i2c_ctl; u32 int_en = 0; u32 i2c_auto_conf = 0; + u32 i2c_addr = 0; u32 fifo_ctl; unsigned long flags; unsigned short trig_lvl; @@ -640,7 +641,12 @@ static void exynos5_i2c_message_start(struct exynos5_i2c *i2c, int stop) int_en |= HSI2C_INT_TX_ALMOSTEMPTY_EN; } - writel(HSI2C_SLV_ADDR_MAS(i2c->msg->addr), i2c->regs + HSI2C_ADDR); + i2c_addr = HSI2C_SLV_ADDR_MAS(i2c->msg->addr); + + if (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) + i2c_addr |= HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr)); + + writel(i2c_addr, i2c->regs + HSI2C_ADDR); writel(fifo_ctl, i2c->regs + HSI2C_FIFO_CTL); writel(i2c_ctl, i2c->regs + HSI2C_CTL); -- 2.11.0 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=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT 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 976C9C433E0 for ; Tue, 16 Feb 2021 22:28:23 +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 30FA364E79 for ; Tue, 16 Feb 2021 22:28:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 30FA364E79 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=axis.com 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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=jq5gPUG9I12CIgWq3wLSYu89SbWtyQXg/jIRs1kbyvw=; b=XfCPmwAqJvYvAnftj88Xu24Fyp Jus6QszMOEmrAuHhciv3GNmzPA0L8kdVWXTh6jbEY7wR8PZstKqktjACqfyI8CwE018rLkP2tJAEF sNUHvaq9fDjktrc4GPaBFAwhWDjqTRZVofVtqFK/c5Ecpgtc5sKbJyCSC/i0QlM2W2n/lzr0OdFV7 iUpv+dArHXyiZtvokBTot+e3SDWcoiRHpWTxW5ZgJ/xjAigCfjSxFVSZlmO3HyQqm8HfKUvpGp9MN rBlan6+msZwt38tj4CHjk396VFb76rEGy5gnawCly+Hp4bxBUUUoBCNbWljM+TIKnmHOuFnPJICC6 keCmM2sg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lC8o9-0001iK-G8; Tue, 16 Feb 2021 22:27:01 +0000 Received: from smtp2.axis.com ([195.60.68.18]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lC8o6-0001ht-Bi for linux-arm-kernel@lists.infradead.org; Tue, 16 Feb 2021 22:26:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1613514418; x=1645050418; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=FisCV0Eq/9wc83laF2BLqS9yxk3LMPeu3iHBB7jiBtI=; b=PAEqDPpJpO2djyUwjbQhSUUlPiuSFbswLyM9smWUujMiG2VshsguBANq oMrkAtawc3zxpjgdK6Xg7Nrkb0jcUykiH9sPBjfiSW4vcc1Mza/0qYrCa YPQeftaQTB4r4OP6nz++5ly6ps9D9NsThIWOJ44GZwwdIqlAXOTnFJCUX Z1AGV9g8PRCA4o30c8s5BZyBFYiKBxrxwXkM4tk24Q4018SdBtZvPQ/C9 fk++elU00w4X7Pv7oI6F55Cs6L7KAv4kmz/YNOosy5pwZ0I2jjOPGFQkl kKQPZfzac+FPMc+aXR9Tue71KsGO9c4W2qUGd4/viKcxYgR2S8PQlWr0y Q==; From: =?UTF-8?q?M=C3=A5rten=20Lindahl?= To: Krzysztof Kozlowski Subject: [PATCH v2] i2c: exynos5: Preserve high speed master code Date: Tue, 16 Feb 2021 23:25:38 +0100 Message-ID: <20210216222538.6427-1-marten.lindahl@axis.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210216_172658_629958_52B1241E X-CRM114-Status: GOOD ( 11.92 ) 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: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?M=C3=A5rten=20Lindahl?= , kernel@axis.com, linux-i2c@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogTcOlcnRlbiBMaW5kYWhsIDxtYXJ0ZW5saUBheGlzLmNvbT4KCldoZW4gdGhlIGRyaXZl ciBzdGFydHMgdG8gc2VuZCBhIG1lc3NhZ2Ugd2l0aCB0aGUgTUFTVEVSX0lEIGZpZWxkCnNldCAo aGlnaCBzcGVlZCksIHRoZSB3aG9sZSBJMkNfQUREUiByZWdpc3RlciBpcyBvdmVyd3JpdHRlbiBp bmNsdWRpbmcKTUFTVEVSX0lEIGFzIHRoZSBTTFZfQUREUl9NQVMgZmllbGQgaXMgc2V0LgoKVGhp cyBwYXRjaCBwcmVzZXJ2ZXMgYWxyZWFkeSB3cml0dGVuIGZpZWxkcyBpbiBJMkNfQUREUiB3aGVu IHdyaXRpbmcKU0xWX0FERFJfTUFTLgoKU2lnbmVkLW9mZi1ieTogTcOlcnRlbiBMaW5kYWhsIDxt YXJ0ZW5saUBheGlzLmNvbT4KLS0tCnYyOgotIENoYW5nZSBjb21taXQgbWVzc2FnZSBhcyB0aGUg cHJvYmxlbSBpcyBub3QgaW4gdGhlIGNvbnRyb2xsZXIgYnV0IGluCiAgdGhlIGRyaXZlci4KLSBV c2UgTUFTVEVSX0lEIG1hY3JvIGluc3RlYWQgb2YgcmVhZGluZyBiYWNrIHJlZ2lzdGVyIGNvbnRl bnRzLgoKIGRyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZXh5bm9zNS5jIHwgOCArKysrKysrLQogMSBm aWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZXh5bm9zNS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2ky Yy1leHlub3M1LmMKaW5kZXggMjBhOTg4MWEwZDZjLi41YWMzMGQ5NTY1MGMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZXh5bm9zNS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nl cy9pMmMtZXh5bm9zNS5jCkBAIC02MDYsNiArNjA2LDcgQEAgc3RhdGljIHZvaWQgZXh5bm9zNV9p MmNfbWVzc2FnZV9zdGFydChzdHJ1Y3QgZXh5bm9zNV9pMmMgKmkyYywgaW50IHN0b3ApCiAJdTMy IGkyY19jdGw7CiAJdTMyIGludF9lbiA9IDA7CiAJdTMyIGkyY19hdXRvX2NvbmYgPSAwOworCXUz MiBpMmNfYWRkciA9IDA7CiAJdTMyIGZpZm9fY3RsOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJ dW5zaWduZWQgc2hvcnQgdHJpZ19sdmw7CkBAIC02NDAsNyArNjQxLDEyIEBAIHN0YXRpYyB2b2lk IGV4eW5vczVfaTJjX21lc3NhZ2Vfc3RhcnQoc3RydWN0IGV4eW5vczVfaTJjICppMmMsIGludCBz dG9wKQogCQlpbnRfZW4gfD0gSFNJMkNfSU5UX1RYX0FMTU9TVEVNUFRZX0VOOwogCX0KIAotCXdy aXRlbChIU0kyQ19TTFZfQUREUl9NQVMoaTJjLT5tc2ctPmFkZHIpLCBpMmMtPnJlZ3MgKyBIU0ky Q19BRERSKTsKKwlpMmNfYWRkciA9IEhTSTJDX1NMVl9BRERSX01BUyhpMmMtPm1zZy0+YWRkcik7 CisKKwlpZiAoaTJjLT5vcF9jbG9jayA+PSBJMkNfTUFYX0ZBU1RfTU9ERV9QTFVTX0ZSRVEpCisJ CWkyY19hZGRyIHw9IEhTSTJDX01BU1RFUl9JRChNQVNURVJfSUQoaTJjLT5hZGFwLm5yKSk7CisK Kwl3cml0ZWwoaTJjX2FkZHIsIGkyYy0+cmVncyArIEhTSTJDX0FERFIpOwogCiAJd3JpdGVsKGZp Zm9fY3RsLCBpMmMtPnJlZ3MgKyBIU0kyQ19GSUZPX0NUTCk7CiAJd3JpdGVsKGkyY19jdGwsIGky Yy0+cmVncyArIEhTSTJDX0NUTCk7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==