History log of /haiku-fatelf/src/add-ons/kernel/drivers/network/ipro1000/if_em.c
Revision Date Author Comments
# 09b89797 01-May-2007 Hugo Santos <hugosantos@nowhere.fake>

added ADDMULTI/REMMULTI support to ipro1000. Also cleaned up the compat. layer a bit to reuse some of the system's definitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20960 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 183071ca 04-Apr-2007 Hugo Santos <hugosantos@nowhere.fake>

ipro1000 knows when its link state changes (notified by interrupt). Use ETHER_SET_LINK_STATE_SEM to wake the ethernet device link state notifier sooner.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20559 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 36883c55 03-Apr-2007 Hugo Santos <hugosantos@nowhere.fake>

ipro1000: added ETHER_GET_LINK_STATE support

* use em_media_status to get link status
* added IFM_1000_SX (Fiber Optic) to net/if_media.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20551 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b78d36e 12-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed a possible crashing bug with early interrupts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16747 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5aa5ce24 12-Jun-2004 beveloper <beveloper@nowhere.fake>

Huge cleanup of debugging code. Also fixed a few warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7935 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a236b9c6 24-May-2004 beveloper <beveloper@nowhere.fake>

removed event_restart_tx, as this is already handled in the device write hook


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3d546cd6 09-May-2004 beveloper <beveloper@nowhere.fake>

Replaced spin() by snooze()
The link change functions are no longer called from inside the interrupt handler.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7482 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a05655ee 09-May-2004 beveloper <beveloper@nowhere.fake>

Event thread sem can now be interrupted.
em_start() is no longer called from within interrupt.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6000570e 09-May-2004 beveloper <beveloper@nowhere.fake>

debug code cleanup


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7479 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25993bbe 09-May-2004 beveloper <beveloper@nowhere.fake>

removed polling support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7473 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8012ca94 09-May-2004 beveloper <beveloper@nowhere.fake>

delay execution of em_82547_move_tail for 100 usec to compensate higher timeout resolution (might still be too small)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ace57d8 09-May-2004 beveloper <beveloper@nowhere.fake>

event_sem now also belongs to the kernel team


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7471 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07903653 09-May-2004 beveloper <beveloper@nowhere.fake>

removed all em%d from dprintf output


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7470 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 014c3fc0 09-May-2004 beveloper <beveloper@nowhere.fake>

Cleanup of event handling.
Disable debugging.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7469 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 720aa693 06-May-2004 beveloper <beveloper@nowhere.fake>

removed many compiler warnings


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7435 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 46e6df0f 03-May-2004 beveloper <beveloper@nowhere.fake>

Reacting on a link change inside the interrupt handler is plain crazy,
as this involves some long delays like eeprom reading, etc.
Need to snooze() there, and this moved this into a separate thread.
Obviously, the FreeBSD driver isn't doing prober locking yet, so
it's not really save. But it's the correct way to do it, and it
doesn't crash. Inside the interrupt handler it did crash when reconnecting the cable...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ec4faf0 03-May-2004 beveloper <beveloper@nowhere.fake>

Removed device probing, it's now in driver.c
PCI id table, em_probe() and em_shutdown() are now gone.
Changed interrupt handler to use the BeOS calling convention, this avoid putting a wrapper around it.
em_attach() and em_detach() no longer link the adapter struct into a list.
When PCI io port access is configured, make sure that io address decoding is enabled in the PCI configuration.
replaced some offsetof() macros with #defiens to avoid importing all these structs.
Moved sysctl stuff into a #if 0 #endif wrapper.
Removed #include of FreeBSD header files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7390 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6d0dfa0f 03-May-2004 beveloper <beveloper@nowhere.fake>

FreeBSD Driver for the Intel(R) PRO/1000 Family of Adapters


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7377 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 09b89797afe0af65822df50011079e16ca8b99b4 01-May-2007 Hugo Santos <hugosantos@nowhere.fake>

added ADDMULTI/REMMULTI support to ipro1000. Also cleaned up the compat. layer a bit to reuse some of the system's definitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20960 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 183071cab35b14fd2e66dc1206f4fdc380db23e3 04-Apr-2007 Hugo Santos <hugosantos@nowhere.fake>

ipro1000 knows when its link state changes (notified by interrupt). Use ETHER_SET_LINK_STATE_SEM to wake the ethernet device link state notifier sooner.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20559 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 36883c5516b32b512b9034a561e00b3bed50eb0b 03-Apr-2007 Hugo Santos <hugosantos@nowhere.fake>

ipro1000: added ETHER_GET_LINK_STATE support

* use em_media_status to get link status
* added IFM_1000_SX (Fiber Optic) to net/if_media.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20551 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b78d36e234cbcf4c83beabdbf7d831c51c8d0be 12-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed a possible crashing bug with early interrupts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16747 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5aa5ce24e2adc2c1b0803e66ffba1748bc86de8f 12-Jun-2004 beveloper <beveloper@nowhere.fake>

Huge cleanup of debugging code. Also fixed a few warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7935 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a236b9c6a1829a3e4b28ec45e82b766f89c7c030 24-May-2004 beveloper <beveloper@nowhere.fake>

removed event_restart_tx, as this is already handled in the device write hook


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3d546cd6e5efbce110f6fbb49b56eb6c770368c9 09-May-2004 beveloper <beveloper@nowhere.fake>

Replaced spin() by snooze()
The link change functions are no longer called from inside the interrupt handler.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7482 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a05655eea646c010e40620bc298db26025d51d37 09-May-2004 beveloper <beveloper@nowhere.fake>

Event thread sem can now be interrupted.
em_start() is no longer called from within interrupt.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6000570ec35b90eb0c35636b41f2c15c793e8631 09-May-2004 beveloper <beveloper@nowhere.fake>

debug code cleanup


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7479 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25993bbe9816cc09545714a8413ac956b985a2c8 09-May-2004 beveloper <beveloper@nowhere.fake>

removed polling support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7473 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8012ca94e6c242cc1f7c9459427d391f0a40b334 09-May-2004 beveloper <beveloper@nowhere.fake>

delay execution of em_82547_move_tail for 100 usec to compensate higher timeout resolution (might still be too small)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ace57d86035a21f60e2fa05535098057e5d9e49 09-May-2004 beveloper <beveloper@nowhere.fake>

event_sem now also belongs to the kernel team


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7471 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07903653eed5ffb6aeb906eecf915aa3eaf9016a 09-May-2004 beveloper <beveloper@nowhere.fake>

removed all em%d from dprintf output


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7470 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 014c3fc0c37a1503ef03f52e14cd32575db6fa14 09-May-2004 beveloper <beveloper@nowhere.fake>

Cleanup of event handling.
Disable debugging.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7469 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 720aa693898dc7d6ab8b004e8c7c8d5889f85001 06-May-2004 beveloper <beveloper@nowhere.fake>

removed many compiler warnings


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7435 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 46e6df0fc5cd9319d4e42586f0d1f601a180d058 03-May-2004 beveloper <beveloper@nowhere.fake>

Reacting on a link change inside the interrupt handler is plain crazy,
as this involves some long delays like eeprom reading, etc.
Need to snooze() there, and this moved this into a separate thread.
Obviously, the FreeBSD driver isn't doing prober locking yet, so
it's not really save. But it's the correct way to do it, and it
doesn't crash. Inside the interrupt handler it did crash when reconnecting the cable...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ec4faf00a2a2e4d9440672793aa2d7aef55a89c 03-May-2004 beveloper <beveloper@nowhere.fake>

Removed device probing, it's now in driver.c
PCI id table, em_probe() and em_shutdown() are now gone.
Changed interrupt handler to use the BeOS calling convention, this avoid putting a wrapper around it.
em_attach() and em_detach() no longer link the adapter struct into a list.
When PCI io port access is configured, make sure that io address decoding is enabled in the PCI configuration.
replaced some offsetof() macros with #defiens to avoid importing all these structs.
Moved sysctl stuff into a #if 0 #endif wrapper.
Removed #include of FreeBSD header files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7390 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6d0dfa0f7e691ae0766b4259beb4e78f9dc27b45 03-May-2004 beveloper <beveloper@nowhere.fake>

FreeBSD Driver for the Intel(R) PRO/1000 Family of Adapters


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7377 a95241bf-73f2-0310-859d-f6bbb57e9c96