Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a5cc923 authored by Paul Martin's avatar Paul Martin Committed by Ralf Baechle
Browse files

MIPS: Octeon: Set up ethernet hardware for little endian



Signed-off-by: default avatarPaul Martin <paul.martin@codethink.co.uk>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9635/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent f1e770cf
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -274,6 +274,9 @@ int cvm_oct_xmit(struct sk_buff *skb, struct net_device *dev)


	/* Build the PKO command */
	/* Build the PKO command */
	pko_command.u64 = 0;
	pko_command.u64 = 0;
#ifdef __LITTLE_ENDIAN
	pko_command.s.le = 1;
#endif
	pko_command.s.n2 = 1;	/* Don't pollute L2 with the outgoing packet */
	pko_command.s.n2 = 1;	/* Don't pollute L2 with the outgoing packet */
	pko_command.s.segs = 1;
	pko_command.s.segs = 1;
	pko_command.s.total_bytes = skb->len;
	pko_command.s.total_bytes = skb->len;
+10 −0
Original line number Original line Diff line number Diff line
@@ -170,6 +170,16 @@ static void cvm_oct_configure_common_hw(void)
		cvm_oct_mem_fill_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL,
		cvm_oct_mem_fill_fpa(CVMX_FPA_OUTPUT_BUFFER_POOL,
				     CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 128);
				     CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE, 128);


#ifdef __LITTLE_ENDIAN
	{
		union cvmx_ipd_ctl_status ipd_ctl_status;
		ipd_ctl_status.u64 = cvmx_read_csr(CVMX_IPD_CTL_STATUS);
		ipd_ctl_status.s.pkt_lend = 1;
		ipd_ctl_status.s.wqe_lend = 1;
		cvmx_write_csr(CVMX_IPD_CTL_STATUS, ipd_ctl_status.u64);
	}
#endif

	if (USE_RED)
	if (USE_RED)
		cvmx_helper_setup_red(num_packet_buffers / 4,
		cvmx_helper_setup_red(num_packet_buffers / 4,
				      num_packet_buffers / 8);
				      num_packet_buffers / 8);