Re: [Bug 9106] Sun Fire v100 dmfe driver bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 04, 2007 at 01:49:58PM -0800, David Miller wrote:
> From: Grant Grundler <grundler@xxxxxxxxxxxxxxxx>
> Date: Sun, 4 Nov 2007 12:02:30 -0700
> 
> > http://bugzilla.kernel.org/show_bug.cgi?id=9106
> > 
> > I have two possible reasons why dmfe driver is reading zeros from the seprom for the MAC address.
> > 1) IO port space routing is fu-bar - ie we are only able to talk to the chip's config space.
> > 2) outl() is implemented as a postable MMIO write (semantics demand outl be non-postable).
> 
> The SROM reads aren't failing, think out of the box, the more likely
> problem is:
>
> 3) Sun doesn't initialize the SROM for the onboard network devices.
>    You have to obtain the MAC address and other settings by fetching
>    them from the openfirmware device properties.

Dave,
Indeed - I wasn't thinking "outside the box". I didn't realize
firmware set up resources needed for bit-banging. I thought
the seprom was accessed via I/O Port space registers.


>    So use something like:
> 
> #ifdef CONFIG_OF
> 	struct device_node *dp = pci_device_to_OF_node(pdev);
> 	const char *addr;
> 
> 	addr = of_get_property(dp, "local-mac-address", NULL);
> 	if (addr) {
> 		memcpy(dev->dev_addr, addr, ETH_ALEN);
> 		return 1;
> 	}
> 	return 0;
> #endif

Ok - will hack something up and ask the user to try that.
I'll also look for CONFIG_OF/CONFIG_SPARC in tulip_core.c as
suggested by Richard Mortimer.

Thanks!
grant
-
To unsubscribe from this list: send the line "unsubscribe ultralinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux MIPS Home]     [Kernel Developers]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux