diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2012-05-01 21:06:48 +0200 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2012-05-03 19:09:07 -0400 |
commit | 4e18d702479ac6f835f3493d8aa81b8d323e1827 (patch) | |
tree | 11ba92d9c5a5bb84c74ee3f10b8eecaaa0510fb9 /recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch | |
parent | aff1018e66b477544af17501757405283c21bef1 (diff) | |
download | meta-ti-4e18d702479ac6f835f3493d8aa81b8d323e1827.tar.gz |
linux-mainline 3.2: kernel recipe based on mainline 3.2.16 with additional patches for e.g. beagleboard on top
This patchset is managed in https://github.com/beagleboard/kernel/tree/beagleboard-3.2 by Robert Nelson and myself.
Tested on beagleboard-xM/Angstrom
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Diffstat (limited to 'recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch')
-rw-r--r-- | recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch b/recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch new file mode 100644 index 00000000..3a651aaf --- /dev/null +++ b/recipes-kernel/linux/linux-mainline-3.2/micrel_zippy2/0011-ksz8851-make-sure-is-awake-before-writing-mac.patch | |||
@@ -0,0 +1,63 @@ | |||
1 | From c7f65cdff49e6a3e186bb1e43fa50289a662619b Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Nelson <robertcnelson@gmail.com> | ||
3 | Date: Thu, 29 Sep 2011 11:52:45 -0500 | ||
4 | Subject: [PATCH 11/14] ksz8851 make sure is awake before writing mac | ||
5 | |||
6 | Signed-off-by: Robert Nelson <robertcnelson@gmail.com> | ||
7 | --- | ||
8 | drivers/net/ethernet/micrel/ks8851.c | 9 ++++++++- | ||
9 | drivers/net/ethernet/micrel/ks8851.h | 2 +- | ||
10 | 2 files changed, 9 insertions(+), 2 deletions(-) | ||
11 | |||
12 | diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c | ||
13 | index 347f38f..4f68517 100644 | ||
14 | --- a/drivers/net/ethernet/micrel/ks8851.c | ||
15 | +++ b/drivers/net/ethernet/micrel/ks8851.c | ||
16 | @@ -351,8 +351,15 @@ static int ks8851_write_mac_addr(struct net_device *dev) | ||
17 | |||
18 | mutex_lock(&ks->lock); | ||
19 | |||
20 | + /* | ||
21 | + * Wake up chip in case it was powered off when stopped; otherwise, | ||
22 | + * the first write to the MAC address does not take effect. | ||
23 | + */ | ||
24 | + ks8851_set_powermode(ks, PMECR_PM_NORMAL); | ||
25 | for (i = 0; i < ETH_ALEN; i++) | ||
26 | ks8851_wrreg8(ks, KS_MAR(i), dev->dev_addr[i]); | ||
27 | + if (!netif_running(dev)) | ||
28 | + ks8851_set_powermode(ks, PMECR_PM_SOFTDOWN); | ||
29 | |||
30 | mutex_unlock(&ks->lock); | ||
31 | |||
32 | @@ -1699,7 +1706,6 @@ static int __devinit ks8851_probe(struct spi_device *spi) | ||
33 | |||
34 | ks->netdev = ndev; | ||
35 | ks->spidev = spi; | ||
36 | - ks->tx_space = 6144; | ||
37 | |||
38 | mutex_init(&ks->lock); | ||
39 | spin_lock_init(&ks->statelock); | ||
40 | @@ -1771,6 +1777,7 @@ static int __devinit ks8851_probe(struct spi_device *spi) | ||
41 | |||
42 | /* cache the contents of the CCR register for EEPROM, etc. */ | ||
43 | ks->rc_ccr = ks8851_rdreg16(ks, KS_CCR); | ||
44 | + ks->tx_space = ks8851_rdreg16(ks, KS_TXMIR); | ||
45 | |||
46 | ks8851_read_selftest(ks); | ||
47 | ks8851_init_mac(ks); | ||
48 | diff --git a/drivers/net/ethernet/micrel/ks8851.h b/drivers/net/ethernet/micrel/ks8851.h | ||
49 | index bc2476e..d39ce97 100644 | ||
50 | --- a/drivers/net/ethernet/micrel/ks8851.h | ||
51 | +++ b/drivers/net/ethernet/micrel/ks8851.h | ||
52 | @@ -23,7 +23,7 @@ | ||
53 | #define CCR_32PIN (1 << 0) | ||
54 | |||
55 | /* MAC address registers */ | ||
56 | -#define KS_MAR(_m) 0x15 - (_m) | ||
57 | +#define KS_MAR(_m) (0x15 - (_m)) | ||
58 | #define KS_MARL 0x10 | ||
59 | #define KS_MARM 0x12 | ||
60 | #define KS_MARH 0x14 | ||
61 | -- | ||
62 | 1.7.7.4 | ||
63 | |||