tengiga enable

This commit is contained in:
2020-07-17 18:34:23 +02:00
parent b7cb341ee3
commit a76ed6d8db
10 changed files with 36 additions and 11 deletions

View File

@ -1614,7 +1614,6 @@ int enableTenGigabitEthernet(int val) {
} else {
bus_w(addr, bus_r(addr) & (~CONFIG_GB10_SND_UDP_MSK));
}
// configuremac called from client
}
return ((bus_r(addr) & CONFIG_GB10_SND_UDP_MSK) >>
CONFIG_GB10_SND_UDP_OFST);

View File

@ -1528,7 +1528,6 @@ int enableTenGigabitEthernet(int val) {
send_to_ten_gig = 1;
else
send_to_ten_gig = 0;
// configuremac called from client
}
return send_to_ten_gig;
}

View File

@ -427,6 +427,8 @@ void setupDetector() {
setGateDelay(i, DEFAULT_GATE_DELAY);
}
setInitialExtSignals();
// 10G UDP
enableTenGigabitEthernet(1);
// check module type attached if not in debug mode
{
@ -1493,6 +1495,26 @@ int setDetectorPosition(int pos[]) {
int *getDetectorPosition() { return detPos; }
int enableTenGigabitEthernet(int val) {
uint32_t addr = PKT_CONFIG_REG;
// set
if (val != -1) {
LOG(logINFO, ("Setting 10Gbe: %d\n", (val > 0) ? 1 : 0));
// 1g
if (val == 0) {
bus_w(addr, bus_r(addr) | PKT_CONFIG_1G_INTERFACE_MSK);
}
// 10g
else {
bus_w(addr, bus_r(addr) & (~PKT_CONFIG_1G_INTERFACE_MSK));
}
}
int oneG = ((bus_r(addr) & PKT_CONFIG_1G_INTERFACE_MSK) >>
PKT_CONFIG_1G_INTERFACE_OFST);
return oneG ? 0 : 1;
}
/* pattern */
void startPattern() {

View File

@ -377,7 +377,8 @@ int getInterruptSubframe();
int setReadNLines(int value);
int getReadNLines();
#endif
#if defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(EIGERD)
#if defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(EIGERD) || \
defined(MYTHEN3D)
int enableTenGigabitEthernet(int val);
#endif

View File

@ -2855,14 +2855,14 @@ int enable_ten_giga(int file_des) {
return printSocketReadError();
LOG(logINFOBLUE, ("Setting 10GbE: %d\n", arg));
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(MYTHEN3D) || \
defined(GOTTHARD2D)
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(GOTTHARD2D)
functionNotImplemented();
#else
// set & get
if ((arg == GET_FLAG) || (Server_VerifyLock() == OK)) {
if (arg >= 0 && enableTenGigabitEthernet(GET_FLAG) != arg) {
enableTenGigabitEthernet(arg);
#ifdef EIGERD
uint64_t hardwaremac = getDetectorMAC();
if (udpDetails.srcmac != hardwaremac) {
LOG(logINFOBLUE, ("Updating udp source mac\n"));
@ -2873,6 +2873,7 @@ int enable_ten_giga(int file_des) {
LOG(logINFOBLUE, ("Updating udp source ip\n"));
udpDetails.srcip = hardwareip;
}
#endif
configure_mac();
}
retval = enableTenGigabitEthernet(GET_FLAG);