aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/octeon/ethernet-tx.c3
-rw-r--r--drivers/staging/octeon/ethernet.c10
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/staging/octeon/ethernet-tx.c b/drivers/staging/octeon/ethernet-tx.c
index b7a7854d3f7e..a078b903a168 100644
--- a/drivers/staging/octeon/ethernet-tx.c
+++ b/drivers/staging/octeon/ethernet-tx.c
@@ -274,6 +274,9 @@ int cvm_oct_xmit(struct sk_buff *skb, struct net_device *dev)
274 274
275 /* Build the PKO command */ 275 /* Build the PKO command */
276 pko_command.u64 = 0; 276 pko_command.u64 = 0;
277#ifdef __LITTLE_ENDIAN
278 pko_command.s.le = 1;
279#endif
277 pko_command.s.n2 = 1; /* Don't pollute L2 with the outgoing packet */ 280 pko_command.s.n2 = 1; /* Don't pollute L2 with the outgoing packet */
278 pko_command.s.segs = 1; 281 pko_command.s.segs = 1;
279 pko_command.s.total_bytes = skb->len; 282 pko_command.s.total_bytes = skb->len;
diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c
index 460e8545904f..85618f155ffa 100644
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -170,6 +170,16 @@ static void cvm_oct_configure_common_hw(void)
170 cvm_oct_mem_fill_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL, 170 cvm_oct_mem_fill_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL,
171 CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 128); 171 CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 128);
172 172
173#ifdef __LITTLE_ENDIAN
174 {
175 union cvmx_ipd_ctl_status ipd_ctl_status;
176 ipd_ctl_status.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
177 ipd_ctl_status.s.pkt_lend = 1;
178 ipd_ctl_status.s.wqe_lend = 1;
179 cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_ctl_status.u64);
180 }
181#endif
182
173 if (USE_RED) 183 if (USE_RED)
174 cvmx_helper_setup_red(num_packet_buffers / 4, 184 cvmx_helper_setup_red(num_packet_buffers / 4,
175 num_packet_buffers / 8); 185 num_packet_buffers / 8);