[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method |
Date: |
Mon, 1 Oct 2018 10:00:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 |
On 10/1/18 8:37 AM, Cédric Le Goater wrote:
> Cc: Edgar E. Iglesias <address@hidden>
> Signed-off-by: Cédric Le Goater <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/net/etraxfs_eth.c | 31 +++++++++++++++++++++++++------
> 1 file changed, 25 insertions(+), 6 deletions(-)
>
> diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
> index 64ab3df1ae38..36855804dba0 100644
> --- a/hw/net/etraxfs_eth.c
> +++ b/hw/net/etraxfs_eth.c
> @@ -127,7 +127,7 @@ tdk_write(struct qemu_phy *phy, unsigned int req,
> unsigned int data)
> }
>
> static void
> -tdk_init(struct qemu_phy *phy)
> +tdk_reset(struct qemu_phy *phy)
> {
> phy->regs[0] = 0x3100;
> /* PHY Id. */
> @@ -136,9 +136,6 @@ tdk_init(struct qemu_phy *phy)
> /* Autonegotiation advertisement reg. */
> phy->regs[4] = 0x01E1;
> phy->link = 1;
> -
> - phy->read = tdk_read;
> - phy->write = tdk_write;
> }
>
> struct qemu_mdio
> @@ -585,6 +582,27 @@ static NetClientInfo net_etraxfs_info = {
> .link_status_changed = eth_set_link,
> };
>
> +static void etraxfs_eth_reset(DeviceState *dev)
> +{
> + ETRAXFSEthState *s = ETRAX_FS_ETH(dev);
> +
> + memset(s->regs, 0, sizeof(s->regs));
> + memset(s->macaddr, 0, sizeof(s->macaddr));
> + s->duplex_mismatch = 0;
> +
> + s->mdio_bus.mdc = 0;
> + s->mdio_bus.mdio = 0;
> + s->mdio_bus.state = 0;
> + s->mdio_bus.drive = 0;
> + s->mdio_bus.cnt = 0;
> + s->mdio_bus.addr = 0;
> + s->mdio_bus.opc = 0;
> + s->mdio_bus.req = 0;
> + s->mdio_bus.data = 0;
> +
> + tdk_reset(&s->phy);
> +}
> +
> static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
> {
> SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
> @@ -609,8 +627,8 @@ static void etraxfs_eth_realize(DeviceState *dev, Error
> **errp)
> object_get_typename(OBJECT(s)), dev->id, s);
> qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
>
> -
> - tdk_init(&s->phy);
> + s->phy.read = tdk_read;
> + s->phy.write = tdk_write;
> mdio_attach(&s->mdio_bus, &s->phy, s->phyaddr);
> }
>
> @@ -627,6 +645,7 @@ static void etraxfs_eth_class_init(ObjectClass *klass,
> void *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
>
> dc->realize = etraxfs_eth_realize;
> + dc->reset = etraxfs_eth_reset;
> dc->props = etraxfs_eth_properties;
> /* Reason: pointer properties "dma_out", "dma_in" */
> dc->user_creatable = false;
>
- [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method, Cédric Le Goater, 2018/10/01
- Re: [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 04/11] net: lance: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 06/11] net: mipsnet: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01
- [Qemu-devel] [PATCH v2 08/11] net: smc91c111: convert SysBus init method to a realize method, Cédric Le Goater, 2018/10/01