Re: [PATCH 06/26] atl1: update initialization parameters
Jay Cliburn wrote: On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik <[EMAIL PROTECTED]> wrote: [EMAIL PROTECTED] wrote: From: Jay Cliburn <[EMAIL PROTECTED]> Update initialization parameters to match the current vendor driver version 1.2.40.2. [...] ACK without any better knowledge... but is any addition insight available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other "conform to vendor driver" patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. I don't think we should be doing this without justification. From all the atl1 and atl2 code I've looked at, I've gotten the impression that their driver development processes are extremely ad-hoc. There is code in the Atheros version of atl2 that cannot *possibly* apply to that hardware and was just copied and pasted from atl1, just as much of atl1 was copied and pasted from e1000. The fact that various versions have different magic numbers may simply mean they copied and pasted from different irrelevant and incorrect sources. Our contacts at Atheros seem to be very good electrical engineers, so when they tell us that a certain setting should be changed to match particular properties of the hardware, I trust them. They are not, however, experienced and disciplined kernel developers, so absent such justification I think we should stick with what we have, which has been improved and reviewed by people who *are* experienced and disciplined kernel developers. We have at least as much to teach Atheros about writing kernel code as they have to teach us about their hardware. -- Chris -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] wrote: > > From: Jay Cliburn <[EMAIL PROTECTED]> > > > > Update initialization parameters to match the current vendor driver > > version 1.2.40.2. [...] > ACK without any better knowledge... but is any addition insight > available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other "conform to vendor driver" patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. Jay -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
Jay Cliburn wrote: On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik <[EMAIL PROTECTED]> wrote: [EMAIL PROTECTED] wrote: From: Jay Cliburn <[EMAIL PROTECTED]> Update initialization parameters to match the current vendor driver version 1.2.40.2. [...] ACK without any better knowledge... but is any addition insight available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other "conform to vendor driver" patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. Since these changes are not simply moving code around, we really do need full explanations for them, and to understand their need. Blindly copying code from an exterior driver is pointless, and no way at all to run an engineering process. If the driver is not going to get the review and attention necessary, bug fixes and feedback attended-to, then there's not much point in having this driver in the kernel at all. You will only lead yourself to frustration, if you set up a system where changes only flow one way. That's not how Linux development is done at all. Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
[EMAIL PROTECTED] wrote: From: Jay Cliburn <[EMAIL PROTECTED]> Update initialization parameters to match the current vendor driver version 1.2.40.2. Signed-off-by: Jay Cliburn <[EMAIL PROTECTED]> --- drivers/net/atlx/atl1.c | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 262d3ca..695dcbc 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -136,20 +136,20 @@ static int __devinit atl1_sw_init(struct atl1_adapter *adapter) hw->rfd_fetch_gap = 1; hw->rx_jumbo_th = adapter->rx_buffer_len / 8; hw->rx_jumbo_lkah = 1; - hw->rrd_ret_timer = 16; - hw->tpd_burst = 4; + hw->rrd_ret_timer = 4; /* 8 us */ + hw->tpd_burst = 8; hw->tpd_fetch_th = 16; - hw->txf_burst = 0x100; + hw->txf_burst = 0x200; hw->tx_jumbo_task_th = (hw->max_frame_size + 7) >> 3; hw->tpd_fetch_gap = 1; hw->rcb_value = atl1_rcb_64; hw->dma_ord = atl1_dma_ord_enh; - hw->dmar_block = atl1_dma_req_256; - hw->dmaw_block = atl1_dma_req_256; + hw->dmar_block = atl1_dma_req_1024; + hw->dmaw_block = atl1_dma_req_1024; hw->cmb_rrd = 4; hw->cmb_tpd = 4; - hw->cmb_rx_timer = 1;/* about 2us */ - hw->cmb_tx_timer = 1;/* about 2us */ + hw->cmb_rx_timer = 2;/* about 4us */ + hw->cmb_tx_timer = 256; /* about 512us */ hw->smb_timer = 10; /* about 200ms */ ACK without any better knowledge... but is any addition insight available at all? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
[EMAIL PROTECTED] wrote: From: Jay Cliburn [EMAIL PROTECTED] Update initialization parameters to match the current vendor driver version 1.2.40.2. Signed-off-by: Jay Cliburn [EMAIL PROTECTED] --- drivers/net/atlx/atl1.c | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 262d3ca..695dcbc 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -136,20 +136,20 @@ static int __devinit atl1_sw_init(struct atl1_adapter *adapter) hw-rfd_fetch_gap = 1; hw-rx_jumbo_th = adapter-rx_buffer_len / 8; hw-rx_jumbo_lkah = 1; - hw-rrd_ret_timer = 16; - hw-tpd_burst = 4; + hw-rrd_ret_timer = 4; /* 8 us */ + hw-tpd_burst = 8; hw-tpd_fetch_th = 16; - hw-txf_burst = 0x100; + hw-txf_burst = 0x200; hw-tx_jumbo_task_th = (hw-max_frame_size + 7) 3; hw-tpd_fetch_gap = 1; hw-rcb_value = atl1_rcb_64; hw-dma_ord = atl1_dma_ord_enh; - hw-dmar_block = atl1_dma_req_256; - hw-dmaw_block = atl1_dma_req_256; + hw-dmar_block = atl1_dma_req_1024; + hw-dmaw_block = atl1_dma_req_1024; hw-cmb_rrd = 4; hw-cmb_tpd = 4; - hw-cmb_rx_timer = 1;/* about 2us */ - hw-cmb_tx_timer = 1;/* about 2us */ + hw-cmb_rx_timer = 2;/* about 4us */ + hw-cmb_tx_timer = 256; /* about 512us */ hw-smb_timer = 10; /* about 200ms */ ACK without any better knowledge... but is any addition insight available at all? -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
Jay Cliburn wrote: On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: From: Jay Cliburn [EMAIL PROTECTED] Update initialization parameters to match the current vendor driver version 1.2.40.2. [...] ACK without any better knowledge... but is any addition insight available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other conform to vendor driver patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. Since these changes are not simply moving code around, we really do need full explanations for them, and to understand their need. Blindly copying code from an exterior driver is pointless, and no way at all to run an engineering process. If the driver is not going to get the review and attention necessary, bug fixes and feedback attended-to, then there's not much point in having this driver in the kernel at all. You will only lead yourself to frustration, if you set up a system where changes only flow one way. That's not how Linux development is done at all. Jeff -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: From: Jay Cliburn [EMAIL PROTECTED] Update initialization parameters to match the current vendor driver version 1.2.40.2. [...] ACK without any better knowledge... but is any addition insight available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other conform to vendor driver patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. Jay -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 06/26] atl1: update initialization parameters
Jay Cliburn wrote: On Tue, 22 Jan 2008 04:56:11 -0500 Jeff Garzik [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: From: Jay Cliburn [EMAIL PROTECTED] Update initialization parameters to match the current vendor driver version 1.2.40.2. [...] ACK without any better knowledge... but is any addition insight available at all? No, sorry Jeff. I simply took the vendor's current driver and matched his initialization settings. I can only assume he discovered these values through lab testing. For this and the other conform to vendor driver patches in this set, I thought it important to have the in-tree driver match the vendor driver as closely as possible. The primary motivations are (1) my belief that he's in a better position to test the NIC, and (2) to be able to go to him for assistance occasionally and not be rejected because of significant differences between his and our drivers. I don't think we should be doing this without justification. From all the atl1 and atl2 code I've looked at, I've gotten the impression that their driver development processes are extremely ad-hoc. There is code in the Atheros version of atl2 that cannot *possibly* apply to that hardware and was just copied and pasted from atl1, just as much of atl1 was copied and pasted from e1000. The fact that various versions have different magic numbers may simply mean they copied and pasted from different irrelevant and incorrect sources. Our contacts at Atheros seem to be very good electrical engineers, so when they tell us that a certain setting should be changed to match particular properties of the hardware, I trust them. They are not, however, experienced and disciplined kernel developers, so absent such justification I think we should stick with what we have, which has been improved and reviewed by people who *are* experienced and disciplined kernel developers. We have at least as much to teach Atheros about writing kernel code as they have to teach us about their hardware. -- Chris -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/26] atl1: update initialization parameters
From: Jay Cliburn <[EMAIL PROTECTED]> Update initialization parameters to match the current vendor driver version 1.2.40.2. Signed-off-by: Jay Cliburn <[EMAIL PROTECTED]> --- drivers/net/atlx/atl1.c | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 262d3ca..695dcbc 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -136,20 +136,20 @@ static int __devinit atl1_sw_init(struct atl1_adapter *adapter) hw->rfd_fetch_gap = 1; hw->rx_jumbo_th = adapter->rx_buffer_len / 8; hw->rx_jumbo_lkah = 1; - hw->rrd_ret_timer = 16; - hw->tpd_burst = 4; + hw->rrd_ret_timer = 4; /* 8 us */ + hw->tpd_burst = 8; hw->tpd_fetch_th = 16; - hw->txf_burst = 0x100; + hw->txf_burst = 0x200; hw->tx_jumbo_task_th = (hw->max_frame_size + 7) >> 3; hw->tpd_fetch_gap = 1; hw->rcb_value = atl1_rcb_64; hw->dma_ord = atl1_dma_ord_enh; - hw->dmar_block = atl1_dma_req_256; - hw->dmaw_block = atl1_dma_req_256; + hw->dmar_block = atl1_dma_req_1024; + hw->dmaw_block = atl1_dma_req_1024; hw->cmb_rrd = 4; hw->cmb_tpd = 4; - hw->cmb_rx_timer = 1; /* about 2us */ - hw->cmb_tx_timer = 1; /* about 2us */ + hw->cmb_rx_timer = 2; /* about 4us */ + hw->cmb_tx_timer = 256; /* about 512us */ hw->smb_timer = 10; /* about 200ms */ spin_lock_init(>lock); -- 1.5.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 06/26] atl1: update initialization parameters
From: Jay Cliburn [EMAIL PROTECTED] Update initialization parameters to match the current vendor driver version 1.2.40.2. Signed-off-by: Jay Cliburn [EMAIL PROTECTED] --- drivers/net/atlx/atl1.c | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 262d3ca..695dcbc 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -136,20 +136,20 @@ static int __devinit atl1_sw_init(struct atl1_adapter *adapter) hw-rfd_fetch_gap = 1; hw-rx_jumbo_th = adapter-rx_buffer_len / 8; hw-rx_jumbo_lkah = 1; - hw-rrd_ret_timer = 16; - hw-tpd_burst = 4; + hw-rrd_ret_timer = 4; /* 8 us */ + hw-tpd_burst = 8; hw-tpd_fetch_th = 16; - hw-txf_burst = 0x100; + hw-txf_burst = 0x200; hw-tx_jumbo_task_th = (hw-max_frame_size + 7) 3; hw-tpd_fetch_gap = 1; hw-rcb_value = atl1_rcb_64; hw-dma_ord = atl1_dma_ord_enh; - hw-dmar_block = atl1_dma_req_256; - hw-dmaw_block = atl1_dma_req_256; + hw-dmar_block = atl1_dma_req_1024; + hw-dmaw_block = atl1_dma_req_1024; hw-cmb_rrd = 4; hw-cmb_tpd = 4; - hw-cmb_rx_timer = 1; /* about 2us */ - hw-cmb_tx_timer = 1; /* about 2us */ + hw-cmb_rx_timer = 2; /* about 4us */ + hw-cmb_tx_timer = 256; /* about 512us */ hw-smb_timer = 10; /* about 200ms */ spin_lock_init(adapter-lock); -- 1.5.3.3 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/