Thread (46 messages) 46 messages, 5 authors, 2013-03-29

RE: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0) 1.0.0.7 md5/sha1 corrupted using NFS and samba (updated) Version 2

From: Huang, Xiong <hidden>
Date: 2013-03-28 01:06:34

Please try to use following define in atl1e_hw.h
 
#define     GPHY_CTRL_DEFAULT (\
		GPHY_CTRL_SEL_ANA_RST	|\
		GPHY_CTRL_HIB_PULSE	|\
		GPHY_CTRL_HIB_EN)

BR
Xiong
-----Original Message-----
From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
Sent: Thursday, March 28, 2013 8:40 AM
To: Huang, Xiong
Cc: Sven Hartge; netdev@vger.kernel.org
Subject: Re: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or
Fast Ethernet (rev b0) 1.0.0.7 md5/sha1 corrupted using NFS and samba
(updated) Version 2

On Thu, Mar 28, 2013 at 12:10:57AM +0000, Huang, Xiong wrote:
quoted
There is no much difference on those registers :( But you could try to
replace :

static void atl1e_cal_ring_size(struct atl1e_adapter *adapter, u32
*ring_size) {
	*ring_size = ((u32)(adapter->tx_ring.count *
		     sizeof(struct atl1e_tpd_desc) + 7
			/* tx ring, qword align */
		     + adapter->rx_ring.real_page_size *
AT_PAGE_NUM_PER_QUEUE *
quoted
			adapter->num_rx_queues + 31
			/* rx ring,  32 bytes align */
		     + (1 + AT_PAGE_NUM_PER_QUEUE * adapter-
num_rx_queues) *
			16 + 15));
			/* tx, rx cmd, dword align   */
}


static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter) {
.....
	/* Init CMB dma address */
	offset = roundup(offset, 16);
	tx_ring->cmb_dma = adapter->ring_dma + offset;
	tx_ring->cmb = adapter->ring_vir_addr + offset;
	offset += sizeof(u32);
	offset = roundup(offset, 16);

	for (i = 0; i < adapter->num_rx_queues; i++) {
		for (j = 0; j < AT_PAGE_NUM_PER_QUEUE; j++) {
			rx_page_desc[i].rx_page[j].write_offset_dma =
				adapter->ring_dma + offset;
			rx_page_desc[i].rx_page[j].write_offset_addr =
				adapter->ring_vir_addr + offset;
			offset += sizeof(u32);
			offset = roundup(offset, 16);
		}
	}
.....



Just guess, no confidence on it ....
No, problem still persists. :(

Btw, in the meantime I extracted another mmiotrace (this time with a dhcp
exchange) and resolved the symbols:

https://gist.github.com/hannes/5259468/raw/4c22dff854254c46534c1b87e47
7eff7d3ca2c5d/mmiotrace.txt

Perhaps it helps.

Thanks,

  Hannes
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help