Commit 3dc638d1 authored by Byungho An's avatar Byungho An Committed by David S. Miller

net: sxgbe: Added set function for interrupt on complete

This patch adds set_rx_int_on_com function for interrupt when
dma is completed.
Signed-off-by: default avatarByungho An <bh74.an@samsung.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 325b94f7
...@@ -233,6 +233,12 @@ static void sxgbe_set_rx_owner(struct sxgbe_rx_norm_desc *p) ...@@ -233,6 +233,12 @@ static void sxgbe_set_rx_owner(struct sxgbe_rx_norm_desc *p)
p->rdes23.rx_rd_des23.own_bit = 1; p->rdes23.rx_rd_des23.own_bit = 1;
} }
/* Set Interrupt on completion bit */
static void sxgbe_set_rx_int_on_com(struct sxgbe_rx_norm_desc *p)
{
p->rdes23.rx_rd_des23.int_on_com = 1;
}
/* Get the receive frame size */ /* Get the receive frame size */
static int sxgbe_get_rx_frame_len(struct sxgbe_rx_norm_desc *p) static int sxgbe_get_rx_frame_len(struct sxgbe_rx_norm_desc *p)
{ {
...@@ -498,6 +504,7 @@ static const struct sxgbe_desc_ops desc_ops = { ...@@ -498,6 +504,7 @@ static const struct sxgbe_desc_ops desc_ops = {
.init_rx_desc = sxgbe_init_rx_desc, .init_rx_desc = sxgbe_init_rx_desc,
.get_rx_owner = sxgbe_get_rx_owner, .get_rx_owner = sxgbe_get_rx_owner,
.set_rx_owner = sxgbe_set_rx_owner, .set_rx_owner = sxgbe_set_rx_owner,
.set_rx_int_on_com = sxgbe_set_rx_int_on_com,
.get_rx_frame_len = sxgbe_get_rx_frame_len, .get_rx_frame_len = sxgbe_get_rx_frame_len,
.get_rx_fd_status = sxgbe_get_rx_fd_status, .get_rx_fd_status = sxgbe_get_rx_fd_status,
.get_rx_ld_status = sxgbe_get_rx_ld_status, .get_rx_ld_status = sxgbe_get_rx_ld_status,
......
...@@ -258,6 +258,9 @@ struct sxgbe_desc_ops { ...@@ -258,6 +258,9 @@ struct sxgbe_desc_ops {
/* Set own bit */ /* Set own bit */
void (*set_rx_owner)(struct sxgbe_rx_norm_desc *p); void (*set_rx_owner)(struct sxgbe_rx_norm_desc *p);
/* Set Interrupt on completion bit */
void (*set_rx_int_on_com)(struct sxgbe_rx_norm_desc *p);
/* Get the receive frame size */ /* Get the receive frame size */
int (*get_rx_frame_len)(struct sxgbe_rx_norm_desc *p); int (*get_rx_frame_len)(struct sxgbe_rx_norm_desc *p);
......
...@@ -1456,6 +1456,7 @@ static void sxgbe_rx_refill(struct sxgbe_priv_data *priv) ...@@ -1456,6 +1456,7 @@ static void sxgbe_rx_refill(struct sxgbe_priv_data *priv)
/* Added memory barrier for RX descriptor modification */ /* Added memory barrier for RX descriptor modification */
wmb(); wmb();
priv->hw->desc->set_rx_owner(p); priv->hw->desc->set_rx_owner(p);
priv->hw->desc->set_rx_int_on_com(p);
/* Added memory barrier for RX descriptor modification */ /* Added memory barrier for RX descriptor modification */
wmb(); wmb();
} }
......
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