diff for duplicates of <55D5C4AA.2000307@mail.ru> diff --git a/a/2.txt b/N1/2.txt index f29667d..c5cdc06 100644 --- a/a/2.txt +++ b/N1/2.txt @@ -1,4 +1,4 @@ ->From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001 +From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001 From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org> Date: Thu, 20 Aug 2015 00:41:39 +0300 Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init diff --git a/a/content_digest b/N1/content_digest index a827b0c..115c98e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -65,7 +65,7 @@ "\01:2\0" "fn\00001-i2c-tegra-don-t-reset-I2C-slave-address-on-init.patch\0" "b\0" - ">From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001\n" + "From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001\n" "From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\n" "Date: Thu, 20 Aug 2015 00:41:39 +0300\n" "Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init\n" @@ -156,4 +156,4 @@ "-- \n" 1.7.1 -0a7c2b66e9d87a178d0d9d2e3e2c3baaa3664eec4a8185f61afdcc018ee08775 +967d3f6c91e425a85998ebb531270eed1848d70ad319662501fdae14ded14a46
diff --git a/a/1.txt b/N2/1.txt index a629d83..fd2b793 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -31,3 +31,95 @@ Wolfram could you please try the patch with your environment? Thanks. + +-------------- next part -------------- +>From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001 +From: Andrey Danin <danindrey@mail.ru> +Date: Thu, 20 Aug 2015 00:41:39 +0300 +Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init + +Init function is called multuple times. If I2C controller works +in slave mode, then driver must keep slave registers otherwise +slave configuration will be reseted. + +Signed-off-by: Andrey Danin <danindrey@mail.ru> +--- + drivers/i2c/busses/i2c-tegra.c | 42 +++++++++++++++++++++++++-------------- + 1 files changed, 27 insertions(+), 15 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c +index 6467ce0..50250a1 100644 +--- a/drivers/i2c/busses/i2c-tegra.c ++++ b/drivers/i2c/busses/i2c-tegra.c +@@ -402,6 +402,22 @@ static void tegra_dvc_init(struct tegra_i2c_dev *i2c_dev) + dvc_writel(i2c_dev, val, DVC_CTRL_REG1); + } + ++static int tegra_i2c_init_slave(struct tegra_i2c_dev *i2c_dev, u32 addr, u32 flags) ++{ ++ int addr2 = 0; ++ ++ i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG); ++ i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT); ++ ++ if (flags & I2C_CLIENT_TEN) ++ addr2 = (addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE; ++ ++ i2c_writel(i2c_dev, addr, I2C_SL_ADDR1); ++ i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2); ++ ++ return 0; ++} ++ + static inline int tegra_i2c_clock_enable(struct tegra_i2c_dev *i2c_dev) + { + int ret; +@@ -461,12 +477,16 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev) + i2c_writel(i2c_dev, clk_divisor, I2C_CLK_DIVISOR); + + if (!i2c_dev->is_dvc) { +- u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG); +- sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL; +- i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG); +- i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1); +- i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2); +- ++ if (i2c_dev->slave) { ++ tegra_i2c_init_slave(i2c_dev, i2c_dev->slave->addr, ++ i2c_dev->slave->flags); ++ } else { ++ u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG); ++ sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL; ++ i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG); ++ i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1); ++ i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2); ++ } + } + + val = 7 << I2C_FIFO_CONTROL_TX_TRIG_SHIFT | +@@ -767,7 +787,6 @@ static u32 tegra_i2c_func(struct i2c_adapter *adap) + static int tegra_reg_slave(struct i2c_client *slave) + { + struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter); +- int addr2 = 0; + + if (i2c_dev->slave) + return -EBUSY; +@@ -776,14 +795,7 @@ static int tegra_reg_slave(struct i2c_client *slave) + + tegra_i2c_clock_enable(i2c_dev); + +- i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG); +- i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT); +- +- if (slave->flags & I2C_CLIENT_TEN) +- addr2 = (slave->addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE; +- +- i2c_writel(i2c_dev, slave->addr, I2C_SL_ADDR1); +- i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2); ++ tegra_i2c_init_slave(i2c_dev, slave->addr, slave->flags); + + return 0; + } +-- +1.7.1 diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 77c1b1a..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,5 +0,0 @@ -Content-Type: text/plain; charset=UTF-8; - name="0001-i2c-tegra-don-t-reset-I2C-slave-address-on-init.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename*0="0001-i2c-tegra-don-t-reset-I2C-slave-address-on-init.patch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index f29667d..0000000 --- a/a/2.txt +++ /dev/null @@ -1,90 +0,0 @@ ->From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001 -From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org> -Date: Thu, 20 Aug 2015 00:41:39 +0300 -Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init - -Init function is called multuple times. If I2C controller works -in slave mode, then driver must keep slave registers otherwise -slave configuration will be reseted. - -Signed-off-by: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org> ---- - drivers/i2c/busses/i2c-tegra.c | 42 +++++++++++++++++++++++++-------------- - 1 files changed, 27 insertions(+), 15 deletions(-) - -diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c -index 6467ce0..50250a1 100644 ---- a/drivers/i2c/busses/i2c-tegra.c -+++ b/drivers/i2c/busses/i2c-tegra.c -@@ -402,6 +402,22 @@ static void tegra_dvc_init(struct tegra_i2c_dev *i2c_dev) - dvc_writel(i2c_dev, val, DVC_CTRL_REG1); - } - -+static int tegra_i2c_init_slave(struct tegra_i2c_dev *i2c_dev, u32 addr, u32 flags) -+{ -+ int addr2 = 0; -+ -+ i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG); -+ i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT); -+ -+ if (flags & I2C_CLIENT_TEN) -+ addr2 = (addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE; -+ -+ i2c_writel(i2c_dev, addr, I2C_SL_ADDR1); -+ i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2); -+ -+ return 0; -+} -+ - static inline int tegra_i2c_clock_enable(struct tegra_i2c_dev *i2c_dev) - { - int ret; -@@ -461,12 +477,16 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev) - i2c_writel(i2c_dev, clk_divisor, I2C_CLK_DIVISOR); - - if (!i2c_dev->is_dvc) { -- u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG); -- sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL; -- i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG); -- i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1); -- i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2); -- -+ if (i2c_dev->slave) { -+ tegra_i2c_init_slave(i2c_dev, i2c_dev->slave->addr, -+ i2c_dev->slave->flags); -+ } else { -+ u32 sl_cfg = i2c_readl(i2c_dev, I2C_SL_CNFG); -+ sl_cfg |= I2C_SL_CNFG_NACK | I2C_SL_CNFG_NEWSL; -+ i2c_writel(i2c_dev, sl_cfg, I2C_SL_CNFG); -+ i2c_writel(i2c_dev, 0xfc, I2C_SL_ADDR1); -+ i2c_writel(i2c_dev, 0x00, I2C_SL_ADDR2); -+ } - } - - val = 7 << I2C_FIFO_CONTROL_TX_TRIG_SHIFT | -@@ -767,7 +787,6 @@ static u32 tegra_i2c_func(struct i2c_adapter *adap) - static int tegra_reg_slave(struct i2c_client *slave) - { - struct tegra_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter); -- int addr2 = 0; - - if (i2c_dev->slave) - return -EBUSY; -@@ -776,14 +795,7 @@ static int tegra_reg_slave(struct i2c_client *slave) - - tegra_i2c_clock_enable(i2c_dev); - -- i2c_writel(i2c_dev, I2C_SL_CNFG_NEWSL, I2C_SL_CNFG); -- i2c_writel(i2c_dev, I2C_SL_DELAY_COUNT_DEFAULT, I2C_SL_DELAY_COUNT); -- -- if (slave->flags & I2C_CLIENT_TEN) -- addr2 = (slave->addr >> 7) | I2C_SL_ADDR2_TEN_BIT_MODE; -- -- i2c_writel(i2c_dev, slave->addr, I2C_SL_ADDR1); -- i2c_writel(i2c_dev, addr2, I2C_SL_ADDR2); -+ tegra_i2c_init_slave(i2c_dev, slave->addr, slave->flags); - - return 0; - } --- -1.7.1 diff --git a/a/content_digest b/N2/content_digest index a827b0c..d631211 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -3,31 +3,11 @@ "ref\020150724092720.GA1597@katana\0" "ref\055B210F4.6030700@mail.ru\0" "ref\020150724105251.GA22787@katana\0" - "From\0Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\0" - "Subject\0Re: [PATCH v3 1/4] i2c: tegra: implement slave mode\0" + "From\0danindrey@mail.ru (Andrey Danin)\0" + "Subject\0[PATCH v3 1/4] i2c: tegra: implement slave mode\0" "Date\0Thu, 20 Aug 2015 15:14:34 +0300\0" - "To\0Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>\0" - "Cc\0Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>" - devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X@public.gmane.org - linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org - linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - ac100-oU9gvf+ajcQ97yFScArB1dHuzzzSOjJt@public.gmane.org - Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> - Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> - Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org> - Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> - Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org> - Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> - Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> - Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Alexandre Courbot <gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> - Julian Andres Klode <jak-4HMq4SXA452hPH1hqNUYSQ@public.gmane.org> - " Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "On 24.07.2015 13:52, Wolfram Sang wrote:\n" ">\n" @@ -61,12 +41,11 @@ "Wolfram could you please try the patch with your environment?\n" "\n" "\n" - Thanks. - "\01:2\0" - "fn\00001-i2c-tegra-don-t-reset-I2C-slave-address-on-init.patch\0" - "b\0" + "Thanks.\n" + "\n" + "-------------- next part --------------\n" ">From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001\n" - "From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\n" + "From: Andrey Danin <danindrey@mail.ru>\n" "Date: Thu, 20 Aug 2015 00:41:39 +0300\n" "Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init\n" "\n" @@ -74,7 +53,7 @@ "in slave mode, then driver must keep slave registers otherwise\n" "slave configuration will be reseted.\n" "\n" - "Signed-off-by: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\n" + "Signed-off-by: Andrey Danin <danindrey@mail.ru>\n" "---\n" " drivers/i2c/busses/i2c-tegra.c | 42 +++++++++++++++++++++++++--------------\n" " 1 files changed, 27 insertions(+), 15 deletions(-)\n" @@ -156,4 +135,4 @@ "-- \n" 1.7.1 -0a7c2b66e9d87a178d0d9d2e3e2c3baaa3664eec4a8185f61afdcc018ee08775 +1cd1b2301af9620acc2015adb835015a5d12e63a3091c7f599468a85ff69edb8
diff --git a/a/2.txt b/N3/2.txt index f29667d..c95e85c 100644 --- a/a/2.txt +++ b/N3/2.txt @@ -1,5 +1,5 @@ >From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001 -From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org> +From: Andrey Danin <danindrey@mail.ru> Date: Thu, 20 Aug 2015 00:41:39 +0300 Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init @@ -7,7 +7,7 @@ Init function is called multuple times. If I2C controller works in slave mode, then driver must keep slave registers otherwise slave configuration will be reseted. -Signed-off-by: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org> +Signed-off-by: Andrey Danin <danindrey@mail.ru> --- drivers/i2c/busses/i2c-tegra.c | 42 +++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 15 deletions(-) diff --git a/a/content_digest b/N3/content_digest index a827b0c..96fe7c6 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -3,30 +3,30 @@ "ref\020150724092720.GA1597@katana\0" "ref\055B210F4.6030700@mail.ru\0" "ref\020150724105251.GA22787@katana\0" - "From\0Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\0" + "From\0Andrey Danin <danindrey@mail.ru>\0" "Subject\0Re: [PATCH v3 1/4] i2c: tegra: implement slave mode\0" "Date\0Thu, 20 Aug 2015 15:14:34 +0300\0" - "To\0Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>\0" - "Cc\0Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>" - devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X@public.gmane.org - linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org - linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - ac100-oU9gvf+ajcQ97yFScArB1dHuzzzSOjJt@public.gmane.org - Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> - Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> - Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org> - Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> - Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org> - Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> - Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> - Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Alexandre Courbot <gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> - Julian Andres Klode <jak-4HMq4SXA452hPH1hqNUYSQ@public.gmane.org> - " Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>\0" + "To\0Wolfram Sang <wsa@the-dreams.de>\0" + "Cc\0Stephen Warren <swarren@wwwdotorg.org>" + devicetree@vger.kernel.org + devel@linuxdriverproject.org + linux-i2c@vger.kernel.org + linux-arm-kernel@lists.infradead.org + linux-tegra@vger.kernel.org + linux-kernel@vger.kernel.org + ac100@lists.launchpad.net + Laxman Dewangan <ldewangan@nvidia.com> + Rob Herring <robh+dt@kernel.org> + Pawel Moll <pawel.moll@arm.com> + Mark Rutland <mark.rutland@arm.com> + Ian Campbell <ijc+devicetree@hellion.org.uk> + Kumar Gala <galak@codeaurora.org> + Russell King <linux@arm.linux.org.uk> + Thierry Reding <thierry.reding@gmail.com> + Alexandre Courbot <gnurou@gmail.com> + Greg Kroah-Hartman <gregkh@linuxfoundation.org> + Julian Andres Klode <jak@jak-linux.org> + " Marc Dietrich <marvin24@gmx.de>\0" "\01:1\0" "b\0" "On 24.07.2015 13:52, Wolfram Sang wrote:\n" @@ -66,7 +66,7 @@ "fn\00001-i2c-tegra-don-t-reset-I2C-slave-address-on-init.patch\0" "b\0" ">From 0927b4007786b19e51415c4900863dd4e74fa034 Mon Sep 17 00:00:00 2001\n" - "From: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\n" + "From: Andrey Danin <danindrey@mail.ru>\n" "Date: Thu, 20 Aug 2015 00:41:39 +0300\n" "Subject: [PATCH] i2c: tegra: don't reset I2C slave address on init\n" "\n" @@ -74,7 +74,7 @@ "in slave mode, then driver must keep slave registers otherwise\n" "slave configuration will be reseted.\n" "\n" - "Signed-off-by: Andrey Danin <danindrey-JGs/UdohzUI@public.gmane.org>\n" + "Signed-off-by: Andrey Danin <danindrey@mail.ru>\n" "---\n" " drivers/i2c/busses/i2c-tegra.c | 42 +++++++++++++++++++++++++--------------\n" " 1 files changed, 27 insertions(+), 15 deletions(-)\n" @@ -156,4 +156,4 @@ "-- \n" 1.7.1 -0a7c2b66e9d87a178d0d9d2e3e2c3baaa3664eec4a8185f61afdcc018ee08775 +8b8978f3093f5a78be962b120813568d18a7d8df3d1bbe60d884b3210ae2ff27
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.