Commit 060d5fa6 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

i40e: add qrx/qtx_tail registers

parent e3b6b9f3
...@@ -131,6 +131,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr) ...@@ -131,6 +131,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
addr <= I40E_QTX_ENA(NUM_QUEUES - 1)) addr <= I40E_QTX_ENA(NUM_QUEUES - 1))
{ {
val = regs.qtx_ena[(addr - I40E_QTX_ENA(0)) / 4]; val = regs.qtx_ena[(addr - I40E_QTX_ENA(0)) / 4];
} else if (addr >= I40E_QTX_TAIL(0) &&
addr <= I40E_QTX_TAIL(NUM_QUEUES - 1))
{
val = regs.qtx_tail[(addr - I40E_QTX_TAIL(0)) / 4];
} else if (addr >= I40E_QINT_RQCTL(0) && } else if (addr >= I40E_QINT_RQCTL(0) &&
addr <= I40E_QINT_RQCTL(NUM_QUEUES - 1)) addr <= I40E_QINT_RQCTL(NUM_QUEUES - 1))
{ {
...@@ -139,6 +143,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr) ...@@ -139,6 +143,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
addr <= I40E_QRX_ENA(NUM_QUEUES - 1)) addr <= I40E_QRX_ENA(NUM_QUEUES - 1))
{ {
val = regs.qrx_ena[(addr - I40E_QRX_ENA(0)) / 4]; val = regs.qrx_ena[(addr - I40E_QRX_ENA(0)) / 4];
} else if (addr >= I40E_QRX_TAIL(0) &&
addr <= I40E_QRX_TAIL(NUM_QUEUES - 1))
{
val = regs.qrx_tail[(addr - I40E_QRX_TAIL(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))
{ {
...@@ -335,6 +343,10 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val) ...@@ -335,6 +343,10 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
addr <= I40E_QTX_ENA(NUM_QUEUES - 1)) addr <= I40E_QTX_ENA(NUM_QUEUES - 1))
{ {
regs.qtx_ena[(addr - I40E_QTX_ENA(0)) / 4] = val; regs.qtx_ena[(addr - I40E_QTX_ENA(0)) / 4] = val;
} else if (addr >= I40E_QTX_TAIL(0) &&
addr <= I40E_QTX_TAIL(NUM_QUEUES - 1))
{
regs.qtx_tail[(addr - I40E_QTX_TAIL(0)) / 4] = val;
} else if (addr >= I40E_QINT_RQCTL(0) && } else if (addr >= I40E_QINT_RQCTL(0) &&
addr <= I40E_QINT_RQCTL(NUM_QUEUES - 1)) addr <= I40E_QINT_RQCTL(NUM_QUEUES - 1))
{ {
...@@ -343,6 +355,10 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val) ...@@ -343,6 +355,10 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
addr <= I40E_QRX_ENA(NUM_QUEUES - 1)) addr <= I40E_QRX_ENA(NUM_QUEUES - 1))
{ {
regs.qrx_ena[(addr - I40E_QRX_ENA(0)) / 4] = val; regs.qrx_ena[(addr - I40E_QRX_ENA(0)) / 4] = val;
} else if (addr >= I40E_QRX_TAIL(0) &&
addr <= I40E_QRX_TAIL(NUM_QUEUES - 1))
{
regs.qrx_tail[(addr - I40E_QRX_TAIL(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))
{ {
......
...@@ -192,8 +192,10 @@ protected: ...@@ -192,8 +192,10 @@ protected:
uint32_t qint_tqctl[NUM_QUEUES]; uint32_t qint_tqctl[NUM_QUEUES];
uint32_t qtx_ena[NUM_QUEUES]; uint32_t qtx_ena[NUM_QUEUES];
uint32_t qtx_tail[NUM_QUEUES];
uint32_t qint_rqctl[NUM_QUEUES]; uint32_t qint_rqctl[NUM_QUEUES];
uint32_t qrx_ena[NUM_QUEUES]; uint32_t qrx_ena[NUM_QUEUES];
uint32_t qrx_tail[NUM_QUEUES];
uint32_t pfhmc_sdcmd; uint32_t pfhmc_sdcmd;
uint32_t pfhmc_sddatalow; uint32_t pfhmc_sddatalow;
......
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