lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <030766c0-a6b9-401d-9e9a-fe5d11c5d381@feathertop.org>
Date: Mon, 29 Jan 2024 10:19:35 +1100
From: Tim Lunn <tim@...thertop.org>
To: Sasha Levin <sashal@...nel.org>, linux-kernel@...r.kernel.org,
 stable@...r.kernel.org
Cc: Heiko Stuebner <heiko@...ech.de>, Andi Shyti <andi.shyti@...nel.org>,
 Wolfram Sang <wsa@...nel.org>, linux-arm-kernel@...ts.infradead.org,
 linux-rockchip@...ts.infradead.org, linux-i2c@...r.kernel.org
Subject: Re: [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for
 i2c2 on rv1126

Hi Sasha,

   Support for the rv1126 SoC was only added around linux 6.2 and 6.3, 
thus doesnt make sense to pick this patch up in 6.1

Regards
   Tim

On 1/29/24 03:14, Sasha Levin wrote:
> From: Tim Lunn <tim@...thertop.org>
>
> [ Upstream commit 92a85b7c6262f19c65a1c115cf15f411ba65a57c ]
>
> Rockchip RV1126 is using old style i2c controller, the i2c2
> bus uses a non-sequential offset in the grf register for the
> mask/value bits for this bus.
>
> This patch fixes i2c2 bus on rv1126 SoCs.
>
> Signed-off-by: Tim Lunn <tim@...thertop.org>
> Acked-by: Heiko Stuebner <heiko@...ech.de>
> Reviewed-by: Andi Shyti <andi.shyti@...nel.org>
> Signed-off-by: Wolfram Sang <wsa@...nel.org>
> Signed-off-by: Sasha Levin <sashal@...nel.org>
> ---
>   drivers/i2c/busses/i2c-rk3x.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
> index 6aa4f1f06240..c8cd5cadcf56 100644
> --- a/drivers/i2c/busses/i2c-rk3x.c
> +++ b/drivers/i2c/busses/i2c-rk3x.c
> @@ -1295,8 +1295,12 @@ static int rk3x_i2c_probe(struct platform_device *pdev)
>   			return -EINVAL;
>   		}
>   
> -		/* 27+i: write mask, 11+i: value */
> -		value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
> +		/* rv1126 i2c2 uses non-sequential write mask 20, value 4 */
> +		if (i2c->soc_data == &rv1126_soc_data && bus_nr == 2)
> +			value = BIT(20) | BIT(4);
> +		else
> +			/* 27+i: write mask, 11+i: value */
> +			value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
>   
>   		ret = regmap_write(grf, i2c->soc_data->grf_offset, value);
>   		if (ret != 0) {

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ