[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1374778266.3058.15.camel@bwh-desktop.uk.level5networks.com>
Date: Thu, 25 Jul 2013 19:51:06 +0100
From: Ben Hutchings <bhutchings@...arflare.com>
To: Alexander Duyck <alexander.h.duyck@...el.com>
CC: Jiri Pirko <jiri@...nulli.us>, <netdev@...r.kernel.org>,
<davem@...emloft.net>, <stephen@...workplumber.org>,
<Narendra_K@...l.com>, <john.r.fastabend@...el.com>,
<or.gerlitz@...il.com>, <jeffrey.t.kirsher@...el.com>,
<jesse.brandeburg@...el.com>, <bruce.w.allan@...el.com>,
<carolyn.wyborny@...el.com>, <donald.c.skidmore@...el.com>,
<gregory.v.rose@...el.com>, <peter.p.waskiewicz.jr@...el.com>,
<john.ronciak@...el.com>, <tushar.n.dave@...el.com>,
<matthew.vick@...el.com>, <mitch.a.williams@...el.com>,
<vyasevic@...hat.com>, <amwang@...hat.com>,
<johannes@...solutions.net>
Subject: Re: [patch net-next v4 4/4] igb/igbvf: implement
ndo_get_phys_port_id
On Thu, 2013-07-25 at 11:00 -0700, Alexander Duyck wrote:
> On 07/25/2013 09:44 AM, Ben Hutchings wrote:
> > On Thu, 2013-07-25 at 09:17 -0700, Alexander Duyck wrote:
> >> On 07/25/2013 06:03 AM, Jiri Pirko wrote:
> >>> @@ -1982,6 +2001,21 @@ static s32 igb_init_i2c(struct igb_adapter *adapter)
> >>> return status;
> >>> }
> >>>
> >>> +static void igb_compute_phys_port_id(struct igb_adapter *adapter)
> >>> +{
> >>> + adapter->phys_port_id = *((u32 *) adapter->netdev->dev_addr);
> >>> + adapter->phys_port_id ^= *((u32 *) adapter->netdev->dev_addr + 4);
> >>> + adapter->phys_port_id ^= (long) adapter;
> >>> + adapter->phys_port_id ^= (long) adapter->hw.hw_addr;
> >>> + adapter->phys_port_id ^= (long) adapter->hw.flash_address;
> >>> + adapter->phys_port_id ^= (u32) adapter->hw.io_base;
> >>> + adapter->phys_port_id ^= adapter->hw.device_id;
> >>> + adapter->phys_port_id ^= adapter->hw.subsystem_vendor_id;
> >>> + adapter->phys_port_id ^= adapter->hw.subsystem_device_id;
> >>> + adapter->phys_port_id ^= adapter->hw.vendor_id;
> >>> + adapter->phys_port_id ^= adapter->hw.revision_id;
> > I didn't look at Jiri's patch initially, but... what's wrong with using
> > the MAC address from NVRAM (should already be in netdev->perm_addr)?
> > That's what I'm expecting to do for the SFC9000 family in sfc.
> >
> >>> +}
> >>> +
> >>> /**
> >>> * igb_probe - Device Initialization Routine
> >>> * @pdev: PCI device information struct
> >> I really think this bit here should be standardized and made available
> >> to all drivers.
> > [...]
> >
> > I think it's a bad example and should not be used in any drivers!
> >
> > Ben.
> >
>
> I agree. That is why the second paragraph started listing what was
> wrong with this implementation. What I said was meant in the more
> general sense that whatever solution should be used should be the same
> across multiple drivers, not up to each driver to compute.
I would love to know how you think this can be done generically. If it
can then we don't need the driver operation at all.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists