Message ID | 1460723242-20805-1-git-send-email-dmurphy@ti.com |
---|---|
State | Superseded |
Delegated to: | Joe Hershberger |
Headers | show |
Bump? On 04/15/2016 07:27 AM, Dan Murphy wrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. > > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan Murphy <dmurphy@ti.com> > --- > > v6 - Fix build error when DM_ETH is not defined and updated phy_handle error handling - https://patchwork.ozlabs.org/patch/608763/ > > drivers/net/cpsw.c | 20 ++++++++++++++++++-- > include/cpsw.h | 1 + > 2 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c > index 7104754..3d6f0ce 100644 > --- a/drivers/net/cpsw.c > +++ b/drivers/net/cpsw.c > @@ -965,6 +965,11 @@ static int cpsw_phy_init(struct cpsw_priv *priv, struct cpsw_slave *slave) > phydev->supported &= supported; > phydev->advertising = phydev->supported; > > +#ifdef CONFIG_DM_ETH > + if (slave->data->phy_of_handle) > + phydev->dev->of_offset = slave->data->phy_of_handle; > +#endif > + > priv->phydev = phydev; > phy_config(phydev); > > @@ -1217,8 +1222,19 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice *dev) > if (phy_mode) > priv->data.slave_data[slave_index].phy_if = > phy_get_interface_by_name(phy_mode); > - fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); > - priv->data.slave_data[slave_index].phy_addr = phy_id[1]; > + > + priv->data.slave_data[slave_index].phy_of_handle = > + fdtdec_lookup_phandle(fdt, subnode, "phy-handle"); > + > + if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { > + priv->data.slave_data[slave_index].phy_addr = > + fdtdec_get_int(gd->fdt_blob, > + priv->data.slave_data[slave_index].phy_of_handle, > + "reg", -1); > + } else { > + fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); > + priv->data.slave_data[slave_index].phy_addr = phy_id[1]; > + } > slave_index++; > } > > diff --git a/include/cpsw.h b/include/cpsw.h > index cf1d30b..ff95cd8 100644 > --- a/include/cpsw.h > +++ b/include/cpsw.h > @@ -21,6 +21,7 @@ struct cpsw_slave_data { > u32 sliver_reg_ofs; > int phy_addr; > int phy_if; > + int phy_of_handle; > }; > > enum {
On Friday 15 April 2016 05:57 PM, Dan Murphy wrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. > > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan Murphy <dmurphy@ti.com> Tested this on dra72 rev C evm Tested-by: Mugunthan V N <mugunthanvnm@ti.com> Regards Mugutnhan V N
On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy <dmurphy@ti.com> wrote: > Add the ability to read the phy-handle node of the > cpsw slave. Upon reading this handle the phy-id > can be stored based on the reg node in the DT. It would be great if the phy could be handled generically. Unfortunately there is no uniform description so far, so having each driver parse it is the best we can do for now. > The phy-handle also needs to be stored and passed > to the phy to access any phy data that is available. > > Signed-off-by: Dan Murphy <dmurphy@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershberger <joe.hershberger@gmail.com> wrote: > On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy <dmurphy@ti.com> wrote: >> Add the ability to read the phy-handle node of the >> cpsw slave. Upon reading this handle the phy-id >> can be stored based on the reg node in the DT. > > It would be great if the phy could be handled generically. > Unfortunately there is no uniform description so far, so having each > driver parse it is the best we can do for now. > >> The phy-handle also needs to be stored and passed >> to the phy to access any phy data that is available. >> >> Signed-off-by: Dan Murphy <dmurphy@ti.com> > > Acked-by: Joe Hershberger <joe.hershberger@ni.com> This patch is not checkpatch.pl clean. Please resubmit. 610946.mbox:57: WARNING: line over 80 characters 610946.mbox:59: WARNING: line over 80 characters 610946.mbox:62: WARNING: line over 80 characters 610946.mbox:62: CHECK: Alignment should match open parenthesis 610946.mbox:65: WARNING: line over 80 characters 610946.mbox:66: WARNING: line over 80 characters total: 0 errors, 5 warnings, 1 checks, 39 lines checked
Joe On 04/26/2016 04:42 PM, Joe Hershberger wrote: > On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershberger > <joe.hershberger@gmail.com> wrote: >> On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy <dmurphy@ti.com> wrote: >>> Add the ability to read the phy-handle node of the >>> cpsw slave. Upon reading this handle the phy-id >>> can be stored based on the reg node in the DT. >> It would be great if the phy could be handled generically. >> Unfortunately there is no uniform description so far, so having each >> driver parse it is the best we can do for now. >> >>> The phy-handle also needs to be stored and passed >>> to the phy to access any phy data that is available. >>> >>> Signed-off-by: Dan Murphy <dmurphy@ti.com> >> Acked-by: Joe Hershberger <joe.hershberger@ni.com> > This patch is not checkpatch.pl clean. Please resubmit. > > > 610946.mbox:57: WARNING: line over 80 characters > 610946.mbox:59: WARNING: line over 80 characters > 610946.mbox:62: WARNING: line over 80 characters > 610946.mbox:62: CHECK: Alignment should match open parenthesis > 610946.mbox:65: WARNING: line over 80 characters > 610946.mbox:66: WARNING: line over 80 characters > total: 0 errors, 5 warnings, 1 checks, 39 lines checked I can only fix a few there will still be at least 2 LTL warnings on this file and fixing it will break readability I don't see how to fix this. WARNING: line over 80 characters #46: FILE: drivers/net/cpsw.c:1230: + if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { WARNING: line over 80 characters #49: FILE: drivers/net/cpsw.c:1233: + priv->data.slave_data[slave_index].phy_of_handle, Dan
On Wed, Apr 27, 2016 at 10:44 AM, Dan Murphy <dmurphy@ti.com> wrote: > Joe > > On 04/26/2016 04:42 PM, Joe Hershberger wrote: >> On Mon, Apr 25, 2016 at 4:32 PM, Joe Hershberger >> <joe.hershberger@gmail.com> wrote: >>> On Fri, Apr 15, 2016 at 7:27 AM, Dan Murphy <dmurphy@ti.com> wrote: >>>> Add the ability to read the phy-handle node of the >>>> cpsw slave. Upon reading this handle the phy-id >>>> can be stored based on the reg node in the DT. >>> It would be great if the phy could be handled generically. >>> Unfortunately there is no uniform description so far, so having each >>> driver parse it is the best we can do for now. >>> >>>> The phy-handle also needs to be stored and passed >>>> to the phy to access any phy data that is available. >>>> >>>> Signed-off-by: Dan Murphy <dmurphy@ti.com> >>> Acked-by: Joe Hershberger <joe.hershberger@ni.com> >> This patch is not checkpatch.pl clean. Please resubmit. >> >> >> 610946.mbox:57: WARNING: line over 80 characters >> 610946.mbox:59: WARNING: line over 80 characters >> 610946.mbox:62: WARNING: line over 80 characters >> 610946.mbox:62: CHECK: Alignment should match open parenthesis >> 610946.mbox:65: WARNING: line over 80 characters >> 610946.mbox:66: WARNING: line over 80 characters >> total: 0 errors, 5 warnings, 1 checks, 39 lines checked > I can only fix a few there will still be at least 2 LTL warnings on this file and fixing > it will break readability > > I don't see how to fix this. > > WARNING: line over 80 characters > #46: FILE: drivers/net/cpsw.c:1230: > + if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { > > WARNING: line over 80 characters > #49: FILE: drivers/net/cpsw.c:1233: > + priv->data.slave_data[slave_index].phy_of_handle, If you plan to have a patch that you feel can't be clean, please comment after the patch log with the reasoning. I had enough failures in the patches this release that I have not investigated each one on my own. Thanks, -Joe
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index 7104754..3d6f0ce 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -965,6 +965,11 @@ static int cpsw_phy_init(struct cpsw_priv *priv, struct cpsw_slave *slave) phydev->supported &= supported; phydev->advertising = phydev->supported; +#ifdef CONFIG_DM_ETH + if (slave->data->phy_of_handle) + phydev->dev->of_offset = slave->data->phy_of_handle; +#endif + priv->phydev = phydev; phy_config(phydev); @@ -1217,8 +1222,19 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice *dev) if (phy_mode) priv->data.slave_data[slave_index].phy_if = phy_get_interface_by_name(phy_mode); - fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); - priv->data.slave_data[slave_index].phy_addr = phy_id[1]; + + priv->data.slave_data[slave_index].phy_of_handle = + fdtdec_lookup_phandle(fdt, subnode, "phy-handle"); + + if (priv->data.slave_data[slave_index].phy_of_handle >= 0) { + priv->data.slave_data[slave_index].phy_addr = + fdtdec_get_int(gd->fdt_blob, + priv->data.slave_data[slave_index].phy_of_handle, + "reg", -1); + } else { + fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2); + priv->data.slave_data[slave_index].phy_addr = phy_id[1]; + } slave_index++; } diff --git a/include/cpsw.h b/include/cpsw.h index cf1d30b..ff95cd8 100644 --- a/include/cpsw.h +++ b/include/cpsw.h @@ -21,6 +21,7 @@ struct cpsw_slave_data { u32 sliver_reg_ofs; int phy_addr; int phy_if; + int phy_of_handle; }; enum {
Add the ability to read the phy-handle node of the cpsw slave. Upon reading this handle the phy-id can be stored based on the reg node in the DT. The phy-handle also needs to be stored and passed to the phy to access any phy data that is available. Signed-off-by: Dan Murphy <dmurphy@ti.com> --- v6 - Fix build error when DM_ETH is not defined and updated phy_handle error handling - https://patchwork.ozlabs.org/patch/608763/ drivers/net/cpsw.c | 20 ++++++++++++++++++-- include/cpsw.h | 1 + 2 files changed, 19 insertions(+), 2 deletions(-)