mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
net: pcnet: Move private data allocation to initialize
The private data allocation does not have to be done every time the NIC is initialized at run time, move the allocation to initialize function, which means it will be done only once when the driver starts. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
0e11d79a53
commit
ada6a2cea5
1 changed files with 14 additions and 13 deletions
|
@ -189,6 +189,20 @@ int pcnet_initialize(bd_t *bis)
|
|||
printf("pcnet: Can not allocate memory\n");
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* We only maintain one structure because the drivers will
|
||||
* never be used concurrently. In 32bit mode the RX and TX
|
||||
* ring entries must be aligned on 16-byte boundaries.
|
||||
*/
|
||||
if (!lp) {
|
||||
lp = malloc_cache_aligned(sizeof(*lp));
|
||||
lp->uc = map_physmem((phys_addr_t)&lp->ucp,
|
||||
sizeof(lp->ucp), MAP_NOCACHE);
|
||||
flush_dcache_range((unsigned long)lp,
|
||||
(unsigned long)lp + sizeof(*lp));
|
||||
}
|
||||
|
||||
dev->priv = (void *)(unsigned long)devbusfn;
|
||||
sprintf(dev->name, "pcnet#%d", dev_nr);
|
||||
|
||||
|
@ -330,19 +344,6 @@ static int pcnet_init(struct eth_device *dev, bd_t *bis)
|
|||
val |= 0x3 << 10;
|
||||
pcnet_write_csr(dev, 80, val);
|
||||
|
||||
/*
|
||||
* We only maintain one structure because the drivers will never
|
||||
* be used concurrently. In 32bit mode the RX and TX ring entries
|
||||
* must be aligned on 16-byte boundaries.
|
||||
*/
|
||||
if (lp == NULL) {
|
||||
lp = malloc_cache_aligned(sizeof(*lp));
|
||||
lp->uc = map_physmem((phys_addr_t)&lp->ucp,
|
||||
sizeof(lp->ucp), MAP_NOCACHE);
|
||||
flush_dcache_range((unsigned long)lp,
|
||||
(unsigned long)lp + sizeof(*lp));
|
||||
}
|
||||
|
||||
uc = lp->uc;
|
||||
|
||||
uc->init_block.mode = cpu_to_le16(0x0000);
|
||||
|
|
Loading…
Reference in a new issue