diff mbox

[arm-devs,v1,07/13] net/cadence_gem: Implement SAR match bit in rx desc

Message ID 86e51313e110b8e9b458fe893b250ae6d6c56559.1385967754.git.peter.crosthwaite@xilinx.com
State New
Headers show

Commit Message

Peter Crosthwaite Dec. 2, 2013, 7:12 a.m. UTC
Bit 27 of the RX buffer desc word 1 should be set when the packet was
accepted due to specific address register match. Implement.

This feature is absent from the Xilinx documentation (UG585) but the
behaviour is tested as accurate on real hardware.

Reported-by: Deepika Dhamija <deepika@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/net/cadence_gem.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Peter Maydell Dec. 2, 2013, 12:20 p.m. UTC | #1
On 2 December 2013 07:12, Peter Crosthwaite
<peter.crosthwaite@xilinx.com> wrote:
> Bit 27 of the RX buffer desc word 1 should be set when the packet was
> accepted due to specific address register match. Implement.
>
> This feature is absent from the Xilinx documentation (UG585) but the
> behaviour is tested as accurate on real hardware.
>
> Reported-by: Deepika Dhamija <deepika@xilinx.com>
> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

-- PMM
diff mbox

Patch

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 4fbfb8d..6f11d6a 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -243,6 +243,7 @@ 
 
 #define R_DESC_1_RX_SAR_SHIFT           25
 #define R_DESC_1_RX_SAR_LENGTH          2
+#define R_DESC_1_RX_SAR_MATCH           (1 << 27)
 #define R_DESC_1_RX_UNICAST_HASH        (1 << 29)
 #define R_DESC_1_RX_MULTICAST_HASH      (1 << 30)
 #define R_DESC_1_RX_BROADCAST           (1 << 31)
@@ -345,6 +346,7 @@  static inline void rx_desc_set_sar(unsigned *desc, int sar_idx)
 {
     desc[1] = deposit32(desc[1], R_DESC_1_RX_SAR_SHIFT, R_DESC_1_RX_SAR_LENGTH,
                         sar_idx);
+    desc[1] |= R_DESC_1_RX_SAR_MATCH;
 }
 
 #define TYPE_CADENCE_GEM "cadence_gem"