Commit e26c1219 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

i40e: add glhmc_lan* registers

parent 45813885
...@@ -147,6 +147,22 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr) ...@@ -147,6 +147,22 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
addr <= I40E_QRX_TAIL(NUM_QUEUES - 1)) addr <= I40E_QRX_TAIL(NUM_QUEUES - 1))
{ {
val = regs.qrx_tail[(addr - I40E_QRX_TAIL(0)) / 4]; val = regs.qrx_tail[(addr - I40E_QRX_TAIL(0)) / 4];
} else if (addr >= I40E_GLHMC_LANTXBASE(0) &&
addr <= I40E_GLHMC_LANTXBASE(I40E_GLHMC_LANTXBASE_MAX_INDEX))
{
val = regs.glhmc_lantxbase[(addr - I40E_GLHMC_LANTXBASE(0)) / 4];
} else if (addr >= I40E_GLHMC_LANTXCNT(0) &&
addr <= I40E_GLHMC_LANTXCNT(I40E_GLHMC_LANTXCNT_MAX_INDEX))
{
val = regs.glhmc_lantxcnt[(addr - I40E_GLHMC_LANTXCNT(0)) / 4];
} else if (addr >= I40E_GLHMC_LANRXBASE(0) &&
addr <= I40E_GLHMC_LANRXBASE(I40E_GLHMC_LANRXBASE_MAX_INDEX))
{
val = regs.glhmc_lanrxbase[(addr - I40E_GLHMC_LANRXBASE(0)) / 4];
} else if (addr >= I40E_GLHMC_LANRXCNT(0) &&
addr <= I40E_GLHMC_LANRXCNT(I40E_GLHMC_LANRXCNT_MAX_INDEX))
{
val = regs.glhmc_lanrxcnt[(addr - I40E_GLHMC_LANRXCNT(0)) / 4];
} else if (addr >= I40E_GLQF_HKEY(0) && } else if (addr >= I40E_GLQF_HKEY(0) &&
addr <= I40E_GLQF_HKEY(I40E_GLQF_HKEY_MAX_INDEX)) addr <= I40E_GLQF_HKEY(I40E_GLQF_HKEY_MAX_INDEX))
{ {
...@@ -367,6 +383,22 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val) ...@@ -367,6 +383,22 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
size_t idx = (addr - I40E_QRX_TAIL(0)) / 4; size_t idx = (addr - I40E_QRX_TAIL(0)) / 4;
regs.qrx_tail[idx] = val; regs.qrx_tail[idx] = val;
lanmgr.tail_updated(idx, true); lanmgr.tail_updated(idx, true);
} else if (addr >= I40E_GLHMC_LANTXBASE(0) &&
addr <= I40E_GLHMC_LANTXBASE(I40E_GLHMC_LANTXBASE_MAX_INDEX))
{
regs.glhmc_lantxbase[(addr - I40E_GLHMC_LANTXBASE(0)) / 4] = val;
} else if (addr >= I40E_GLHMC_LANTXCNT(0) &&
addr <= I40E_GLHMC_LANTXCNT(I40E_GLHMC_LANTXCNT_MAX_INDEX))
{
regs.glhmc_lantxcnt[(addr - I40E_GLHMC_LANTXCNT(0)) / 4] = val;
} else if (addr >= I40E_GLHMC_LANRXBASE(0) &&
addr <= I40E_GLHMC_LANRXBASE(I40E_GLHMC_LANRXBASE_MAX_INDEX))
{
regs.glhmc_lanrxbase[(addr - I40E_GLHMC_LANRXBASE(0)) / 4] = val;
} else if (addr >= I40E_GLHMC_LANRXCNT(0) &&
addr <= I40E_GLHMC_LANRXCNT(I40E_GLHMC_LANRXCNT_MAX_INDEX))
{
regs.glhmc_lanrxcnt[(addr - I40E_GLHMC_LANRXCNT(0)) / 4] = val;
} else if (addr >= I40E_GLQF_HKEY(0) && } else if (addr >= I40E_GLQF_HKEY(0) &&
addr <= I40E_GLQF_HKEY(I40E_GLQF_HKEY_MAX_INDEX)) addr <= I40E_GLQF_HKEY(I40E_GLQF_HKEY_MAX_INDEX))
{ {
......
...@@ -208,6 +208,11 @@ protected: ...@@ -208,6 +208,11 @@ protected:
uint32_t qrx_ena[NUM_QUEUES]; uint32_t qrx_ena[NUM_QUEUES];
uint32_t qrx_tail[NUM_QUEUES]; uint32_t qrx_tail[NUM_QUEUES];
uint32_t glhmc_lantxbase[16];
uint32_t glhmc_lantxcnt[16];
uint32_t glhmc_lanrxbase[16];
uint32_t glhmc_lanrxcnt[16];
uint32_t pfhmc_sdcmd; uint32_t pfhmc_sdcmd;
uint32_t pfhmc_sddatalow; uint32_t pfhmc_sddatalow;
uint32_t pfhmc_sddatahigh; uint32_t pfhmc_sddatahigh;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment