Changeset 1c7b0db7 in mainline for uspace/drv/nic/rtl8169/driver.c


Ignore:
Timestamp:
2025-03-06T16:42:01Z (3 days ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
870841cf
Parents:
07039850
Message:

Implement quiesce in NE2k, RTL8139 and RTL8169.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/rtl8169/driver.c

    r07039850 r1c7b0db7  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2014 Agnieszka Tabaka
    34 * All rights reserved.
     
    164165
    165166static errno_t rtl8169_dev_add(ddf_dev_t *dev);
     167static errno_t rtl8169_dev_quiesce(ddf_dev_t *dev);
    166168
    167169/** Basic driver operations for RTL8169 driver */
    168170static driver_ops_t rtl8169_driver_ops = {
    169171        .dev_add = &rtl8169_dev_add,
     172        .dev_quiesce = &rtl8169_dev_quiesce
    170173};
    171174
     
    480483        rtl8169_dev_cleanup(dev);
    481484        return rc;
     485
     486        return EOK;
     487}
     488
     489static errno_t rtl8169_dev_quiesce(ddf_dev_t *dev)
     490{
     491        nic_t *nic;
     492        rtl8169_t *rtl8169;
     493
     494        ddf_msg(LVL_NOTE, "RTL8169_dev_quiesce %s (handle = %zu)",
     495            ddf_dev_get_name(dev), ddf_dev_get_handle(dev));
     496
     497        nic = nic_get_from_ddf_dev(dev);
     498        rtl8169 = nic_get_specific(nic);
     499
     500        /* Reset card */
     501        pio_write_8(rtl8169->regs + CONFIG0, 0);
     502        rtl8169_reset(rtl8169);
    482503
    483504        return EOK;
Note: See TracChangeset for help on using the changeset viewer.