Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1102842ybh; Thu, 16 Jul 2020 03:15:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxh+isB64GdYpPPtQJaxzL67DMtQajl9MKUgRK0RyeReOj0KVOoSvStqNolfO7REgN3GTn5 X-Received: by 2002:a50:ee07:: with SMTP id g7mr3891291eds.320.1594894553962; Thu, 16 Jul 2020 03:15:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594894553; cv=none; d=google.com; s=arc-20160816; b=EpWvk9CKkyoLNUhd49rTOWXiz+9nOiBIW5zC+VcqF8gxlznWWWaNCKeXVWWbOuNGXS Z2LNxWVT/NZ+NzBbZELWgQXq4fPfxrJ78xm6QGF7XVWO6Kowulwn4LFlNcPUByD0Ox1f rBlC7t3hq94RCqO7ReDmRWxXW8atmPFV4JNJBX9Xn1hYznwL91ZoRM1m0m0Fv2cUwIBx 335rwT/vTNOuJJsqyRkK40wR4M4VpyzfBXgMlmSuIbYTy5QZSgkl7A/rPSogLJkZNcQz Zu5K9PHbxUup9F8Z00oEr5tkUA1xYEgYQTNOAyu3N1tS0Xq3Nkok05N2SXd7NcYGkRbW dIXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=ZutxaYEpmEySv3UmHMi5+FROX85B8I1ijTI1ru6Ewl4=; b=m2TYe1WOrwdxV8esY+y0R+HWXw40hUKwbfc1+B/Y+UmplPMAlXScEDYlKQktKVuoz/ 6Z0/1OpJEiv0SBQuUyuSur8kB2yLQN6OUb9xHe0fjnEoMtSzV+ngC+RgcsxipNflgjbK RkPk0We23pah2jB/5x4VS5vhQkc8YWyLyw7I3P7Y6xbgPdXSkzs4BdSwUQhTHD5Lw/9L FBQkcUnXZLA0cEoxj+Mvm8jPraI4zVXjKmTHJHxdCHRLc72DfiL8MJWNQSQQqozpSWbU sk+5UGS1TB/+tgiymb5/FfwJ81Gd114hS+DR9tFGa68YwmeWejLYaTaphyXwkLUvEb3p IX9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="hIKvHRB/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a7si3049101eds.485.2020.07.16.03.15.31; Thu, 16 Jul 2020 03:15:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="hIKvHRB/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726239AbgGPKOb (ORCPT + 99 others); Thu, 16 Jul 2020 06:14:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726027AbgGPKOb (ORCPT ); Thu, 16 Jul 2020 06:14:31 -0400 Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03868C061755; Thu, 16 Jul 2020 03:14:31 -0700 (PDT) Received: by mail-pj1-x1043.google.com with SMTP id t15so4421575pjq.5; Thu, 16 Jul 2020 03:14:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZutxaYEpmEySv3UmHMi5+FROX85B8I1ijTI1ru6Ewl4=; b=hIKvHRB/cueR0iOI58m532legrB8eMWxHzMvO9fAmlo5ViRbW3bpLZG1OXuUlO06LQ f3swevYFeW3+p1KoKjcbf7Vf2lggHFR/IU00Kg6IStQAzvP6JbqSGWdOPNHA0AdWuieg ZABrV/DfkxDoYNctqxtJU6D3jKvatjTZHKv+Ka0t8KkT4m0YjyOKE7E0bw9rCNgnMBxJ vdnT3BjodKSYR3M911mzpQJlNGIHM+VWZya4n19X/Q5cdEEyPXar5a2V6K+82CagGNKm BxuP2QghQ//+98N+z21AkJglg+Isb0WDFbwsmBKvpdVOfiT1g9e4wwXwEFCHEy/U2E0y VryA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZutxaYEpmEySv3UmHMi5+FROX85B8I1ijTI1ru6Ewl4=; b=kvhj5dldhOpdBIJlmFD5gj8eC1RUnc2aqAGqXqaTBoPMVUkYWxGurdIHPxXh+5eIhU s7mqET74hM4HPyeDhiqJeQWk3hGQ5226aoAYX/NlBRV2pDKrJ1CZj2p235Qh34PFZNzO 8JFdle52vmefmy8B3bHDem1IFElqLMHqM+i3z0jtEoIc7djQZDuXM3MCc+g2VHzaPVEK eJxJSmW9ChSckdgfuDvD181tnpun3BajJS3vDnE3fhjweUdBbizfKA83UCIZTPrjf9Wn 41s3g3eED00JE1g6KbQVC2arztLEvFr3oh2I1kyIUCp1KvcsLoirnT4LzSUXLbC2Xo4O J0Dw== X-Gm-Message-State: AOAM532F1Yq5rPBNnXNmf9PR3WAJ8xZAK3aXzwwR1G3bF4LWnkamUuP/ cOSPBvIYOY8BwsZW6SXhyz1KjbPVSRQnvBnYwAtBzcEH X-Received: by 2002:a17:90b:1b52:: with SMTP id nv18mr4290355pjb.129.1594894470264; Thu, 16 Jul 2020 03:14:30 -0700 (PDT) MIME-Version: 1.0 References: <20200716080836.2279-1-rayagonda.kokatanur@broadcom.com> <20200716080836.2279-3-rayagonda.kokatanur@broadcom.com> In-Reply-To: <20200716080836.2279-3-rayagonda.kokatanur@broadcom.com> From: Andy Shevchenko Date: Thu, 16 Jul 2020 13:14:13 +0300 Message-ID: Subject: Re: [PATCH V1 2/2] i2c: iproc: add slave pec support To: Rayagonda Kokatanur Cc: Wolfram Sang , linux-i2c , Linux Kernel Mailing List , Ray Jui , Scott Branden , bcm-kernel-feedback-list , Lori Hikichi , Robert Richter , Nishka Dasgupta , Andy Shevchenko , linux-arm Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 16, 2020 at 11:14 AM Rayagonda Kokatanur wrote: > > Iproc supports PEC computation and checking in both Master > and Slave mode. > > This patch adds support for PEC in slave mode. ... > -#define S_RX_PEC_ERR_SHIFT 29 > +#define S_RX_PEC_ERR_SHIFT 28 > +#define S_RX_PEC_ERR_MASK 0x3 > +#define S_RX_PEC_ERR 0x1 This needs to be explained in the commit message, in particular why this change makes no regression. ... > +static int bcm_iproc_smbus_check_slave_pec(struct bcm_iproc_i2c_dev *iproc_i2c, > + u32 val) > +{ > + u8 err_status; > + int ret = 0; Completely redundant variable. > + if (!iproc_i2c->en_s_pec) > + return ret; return 0; > + err_status = (u8)((val >> S_RX_PEC_ERR_SHIFT) & S_RX_PEC_ERR_MASK); Why casting? > + if (err_status == S_RX_PEC_ERR) { > + dev_err(iproc_i2c->device, "Slave PEC error\n"); > + ret = -EBADMSG; return ... > + } > + > + return ret; return 0; > +} ... > + if (rx_status == I2C_SLAVE_RX_END) { > + int ret; > + > + ret = bcm_iproc_smbus_check_slave_pec(iproc_i2c, > + val); One line looks better. > + if (!ret) Why not positive conditional? > + i2c_slave_event(iproc_i2c->slave, > + I2C_SLAVE_STOP, &value); > + else > + i2c_slave_event(iproc_i2c->slave, > + I2C_SLAVE_PEC_ERR, > + &value); > + } -- With Best Regards, Andy Shevchenko