Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752941AbdFQL4V convert rfc822-to-8bit (ORCPT ); Sat, 17 Jun 2017 07:56:21 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:8323 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752810AbdFQL4T (ORCPT ); Sat, 17 Jun 2017 07:56:19 -0400 From: Salil Mehta To: Andrew Lunn CC: "davem@davemloft.net" , "Zhuangyuzeng (Yisen)" , huangdaode , "lipeng (Y)" , "mehta.salil.lnk@gmail.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Linuxarm Subject: RE: [PATCH V2 net-next 6/8] net: hns3: Add MDIO support to HNS3 Ethernet driver for hip08 SoC Thread-Topic: [PATCH V2 net-next 6/8] net: hns3: Add MDIO support to HNS3 Ethernet driver for hip08 SoC Thread-Index: AQHS5JptS1KqKLo8T0aC7jAwXGapTKIjhQQAgAVyxJA= Date: Sat, 17 Jun 2017 11:56:02 +0000 Message-ID: References: <20170613231035.494020-1-salil.mehta@huawei.com> <20170613231035.494020-7-salil.mehta@huawei.com> <20170614024234.GB16215@lunn.ch> In-Reply-To: <20170614024234.GB16215@lunn.ch> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.203.181.160] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.594518DE.006E,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=169.254.2.25, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: c6e8d9794e350993ed9ae57fc5613f03 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2186 Lines: 79 Hi Andrew, > -----Original Message----- > From: Andrew Lunn [mailto:andrew@lunn.ch] > Sent: Wednesday, June 14, 2017 3:43 AM > To: Salil Mehta > Cc: davem@davemloft.net; Zhuangyuzeng (Yisen); huangdaode; lipeng (Y); > mehta.salil.lnk@gmail.com; netdev@vger.kernel.org; linux- > kernel@vger.kernel.org; Linuxarm > Subject: Re: [PATCH V2 net-next 6/8] net: hns3: Add MDIO support to > HNS3 Ethernet driver for hip08 SoC > > > +struct hclge_mdio_cfg_cmd { > > + u8 ctrl_bit; > > + u8 prtad; /* The external port address */ > > + u8 devad; /* The external device address */ > > + u8 rsvd; > > + __le16 addr_c45;/* Only valid for c45 */ > > + __le16 data_wr; > > + __le16 data_rd; > > + __le16 sta; > > +}; > > + > > +static int hclge_mdio_write(struct mii_bus *bus, int phy_id, int > regnum, > > + u16 data) > > +{ > > + struct hclge_dev *hdev = (struct hclge_dev *)bus->priv; > > + struct hclge_mdio_cfg_cmd *mdio_cmd; > > + enum hclge_cmd_status status; > > + struct hclge_desc desc; > > + u8 is_c45, devad; > > + u16 reg; > > + > > + if (!bus) > > + return -EINVAL; > > + > > + is_c45 = !!(regnum & MII_ADDR_C45); > > + devad = ((regnum >> 16) & 0x1f); > > + reg = (u16)(regnum & 0xffff); > > + > > + hclge_cmd_setup_basic_desc(&desc, HCLGE_OPC_MDIO_CONFIG, false); > > + > > + mdio_cmd = (struct hclge_mdio_cfg_cmd *)desc.data; > > + > > + mdio_cmd->ctrl_bit |= HCLGE_MDIO_CTRL_START_BIT; > > + mdio_cmd->prtad = phy_id & HCLGE_MDIO_CTRL_PRTAD_MSK; > > + mdio_cmd->data_wr = cpu_to_le16(data); > > + mdio_cmd->devad = devad & HCLGE_MDIO_CTRL_DEVAD_MSK; > > + > > + if (is_c45) { > > + /* Set phy addr */ > > + mdio_cmd->addr_c45 = cpu_to_le16(reg); > > + } else { > > + /* C22 write reg and data */ > > + mdio_cmd->ctrl_bit = HCLGE_MDIO_IS_C22(!is_c45); > > + mdio_cmd->ctrl_bit |= > HCLGE_MDIO_CTRL_OP(HCLGE_MDIO_C22_WRITE); > > + } > > When doing C22, i don't see you putting the reg into mdio_cmd anywhere? > You are right. Will remove. Thanks Salil > Also > > mdio_cmd->ctrl_bit = HCLGE_MDIO_IS_C22(!is_c45); > > can be pulled of the if/then/else since it takes is_c45 as a > parameter, or simplified. > > Andrew Sure, thanks will do. Salil