Skip to content

Commit

Permalink
Update to version 2.5.3d1.
Browse files Browse the repository at this point in the history
  • Loading branch information
jpz4085 committed Jun 1, 2021
1 parent 45c5398 commit daa6e9e
Show file tree
Hide file tree
Showing 8 changed files with 444 additions and 374 deletions.
4 changes: 1 addition & 3 deletions IntelMausiEthernet/IntelMausiEthernet-Info.plist
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@
<dict>
<key>enableCSO6</key>
<true/>
<key>enableTSO4</key>
<false/>
<key>enableTSO6</key>
<key>enableWakeOnAddrMatch</key>
<false/>
<key>maxIntrRate10</key>
<integer>3000</integer>
Expand Down
409 changes: 138 additions & 271 deletions IntelMausiEthernet/IntelMausiEthernet.cpp
100644 → 100755

Large diffs are not rendered by default.

33 changes: 27 additions & 6 deletions IntelMausiEthernet/IntelMausiEthernet.h
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,7 @@ enum

#define kParamName "Driver Parameters"
#define kEnableCSO6Name "enableCSO6"
#define kEnableTSO4Name "enableTSO4"
#define kEnableTSO6Name "enableTSO6"
#define kEnableWoMName "enableWakeOnAddrMatch"
#define kIntrRate10Name "maxIntrRate10"
#define kIntrRate100Name "maxIntrRate100"
#define kIntrRate1000Name "maxIntrRate1000"
Expand Down Expand Up @@ -275,6 +274,27 @@ struct IntelRxDesc {
UInt64 status;
};

/*
* Keep alive address data as supported by hardware with a
* maximum of:
* 3 IPv4 addresses
* 4 IPv6 addresses
*/
#define kMaxAddrV4 3
#define kMaxAddrV6 4

#define kLLAPrefix 0xfe800000
#define kLLAMask 0xffc00000
#define kULAPrefix 0xfc000000
#define kULAMask 0xfe000000

struct IntelAddrData {
UInt16 ipV6Count;
UInt16 ipV4Count;
struct in6_addr ipV6Addr[kMaxAddrV6];
UInt32 ipV4Addr[kMaxAddrV4];
};

class IntelMausi : public super
{

Expand Down Expand Up @@ -389,7 +409,8 @@ class IntelMausi : public super
void intelFlushRxRing(struct e1000_adapter *adapter);
void intelFlushDescRings(struct e1000_adapter *adapter);
void intelPhyReadStatus(struct e1000_adapter *adapter);
void intelInitPhyWakeup(UInt32 wufc);
void intelInitPhyWakeup(UInt32 wufc, struct IntelAddrData *addrData);
void intelInitMacWakeup(UInt32 wufc, struct IntelAddrData *addrData);
void intelSetupAdvForMedium(const IONetworkMedium *medium);
void intelFlushLPIC();
void setMaxLatency(UInt32 linkSpeed);
Expand All @@ -399,6 +420,8 @@ class IntelMausi : public super

inline void intelGetChecksumResult(mbuf_t m, UInt32 status);

void getAddressList(struct IntelAddrData *addr);

/* timer action */
void timerAction(IOTimerEventSource *timer);

Expand Down Expand Up @@ -481,7 +504,6 @@ class IntelMausi : public super
UInt8 pcieCapOffset;
UInt8 pciPMCtrlOffset;

UInt32 linkOpts;
IONetworkPacketPollingParameters pollParams;

/* flags */
Expand All @@ -496,9 +518,8 @@ class IntelMausi : public super
bool wolCapable;
bool wolActive;
bool wolPwrOff;
bool enableTSO4;
bool enableTSO6;
bool enableCSO6;
bool enableWoM;

/* mbuf_t arrays */
struct intelTxBufferInfo txBufArray[kNumTxDesc];
Expand Down
Loading

0 comments on commit daa6e9e

Please sign in to comment.