lkml.org 
[lkml]   [2006]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 6/10] VIOC: New Network Device Driver
Date
On Sunday 08 October 2006 12:27 am, Pavel Machek wrote:
> Hi!
>
> > + ecmd->phy_address = 0; /* !!! Stole from e1000 */
> > + ecmd->speed = 3; /* !!! Stole from e1000 */
>
> Eh?
You are right. Will fix.
>
> > +static void vnic_get_regs(struct net_device *netdev,
> > + struct ethtool_regs *regs, void *p)
> > +{
> > + struct vnic_device *vnicdev = netdev->priv;
> > + struct vioc_device *viocdev = vnicdev->viocdev;
> > + char *regs_buff = p;
> > +
> > + memset(regs_buff, 0, VNIC_REGS_CNT * VNIC_REGS_LINE_LEN);
> > +
> > + regs->version = 1;
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_GLOBAL, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_GLOBAL, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_DEBUG, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_DEBUG, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_DEBUGPRIV, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_DEBUGPRIV, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_FABRIC, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_FABRIC, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_VNIC_EN, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_VNIC_EN, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_PORT_EN, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_PORT_EN, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_BMC_VNIC_CFG, VIOC_BMC, 0),
> > + VIOC_READ_REG(VREG_BMC_VNIC_CFG, VIOC_BMC, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_IHCU_RXDQEN, VIOC_IHCU, 0),
> > + VIOC_READ_REG(VREG_IHCU_RXDQEN, VIOC_IHCU, 0, viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_VENG_VLANTAG, VIOC_VENG, vnicdev->vnic_id),
> > + VIOC_READ_REG(VREG_VENG_VLANTAG, VIOC_VENG, vnicdev->vnic_id,
> > + viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > + sprintf(regs_buff, "%08Lx = %08x\n",
> > + GETRELADDR(VREG_VENG_TXD_CTL, VIOC_VENG, vnicdev->vnic_id),
> > + VIOC_READ_REG(VREG_VENG_TXD_CTL, VIOC_VENG, vnicdev->vnic_id,
> > + viocdev));
> > + regs_buff += strlen(regs_buff);
> > +
> > +}
>
> This looks ugly. What interface is that?
This is the interface between the driver and ethtool.
Using the text buffer is one way to keep changed limited to one side (driver). Ultimately, I think that this ethtool function (dumping hw registers) should become more generic,
as opposed to what it is now - unique for every individual driver.
> Pavel

--
Misha Tomushev
misha@fabric7.com


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-10-09 20:21    [W:0.075 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site