II. Does this help b43 DMA errors?

2009-11-28 Thread Larry Finger
Thanks for testing the other patch. To try to test the differences,
I also dumped the PCI configuration writes and found one that wl does.

Please see if this one helps.

Larry




Index: wireless-testing/drivers/ssb/driver_pcicore.c
===
--- wireless-testing.orig/drivers/ssb/driver_pcicore.c
+++ wireless-testing/drivers/ssb/driver_pcicore.c
@@ -325,6 +325,8 @@ static void ssb_pcicore_fixup_pcibridge(
ssb_printk(KERN_INFO PCI: Fixing latency timer of device %s to %u\n,
   pci_name(dev), lat);
pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
+
+   pci_write_config_dword(dev, 0x40, 0x6030001);
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, ssb_pcicore_fixup_pcibridge);



___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: II. Does this help b43 DMA errors?

2009-11-28 Thread Michael Buesch
On Saturday 28 November 2009 18:12:20 Larry Finger wrote:
 Thanks for testing the other patch. To try to test the differences,
 I also dumped the PCI configuration writes and found one that wl does.
 
 Please see if this one helps.
 
 Larry
 
 
 
 
 Index: wireless-testing/drivers/ssb/driver_pcicore.c
 ===
 --- wireless-testing.orig/drivers/ssb/driver_pcicore.c
 +++ wireless-testing/drivers/ssb/driver_pcicore.c
 @@ -325,6 +325,8 @@ static void ssb_pcicore_fixup_pcibridge(
   ssb_printk(KERN_INFO PCI: Fixing latency timer of device %s to %u\n,
  pci_name(dev), lat);
   pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
 +
 + pci_write_config_dword(dev, 0x40, 0x6030001);
  }
  DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, ssb_pcicore_fixup_pcibridge);

Uhm, this code is for embedded MIPS, only.

-- 
Greetings, Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: II. Does this help b43 DMA errors?

2009-11-28 Thread Larry Finger
On 11/28/2009 11:31 AM, Michael Buesch wrote:
 On Saturday 28 November 2009 18:12:20 Larry Finger wrote:
 Thanks for testing the other patch. To try to test the differences,
 I also dumped the PCI configuration writes and found one that wl does.

 Please see if this one helps.

 Larry

 


 Index: wireless-testing/drivers/ssb/driver_pcicore.c
 ===
 --- wireless-testing.orig/drivers/ssb/driver_pcicore.c
 +++ wireless-testing/drivers/ssb/driver_pcicore.c
 @@ -325,6 +325,8 @@ static void ssb_pcicore_fixup_pcibridge(
  ssb_printk(KERN_INFO PCI: Fixing latency timer of device %s to %u\n,
 pci_name(dev), lat);
  pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
 +
 +pci_write_config_dword(dev, 0x40, 0x6030001);
  }
  DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, 
 ssb_pcicore_fixup_pcibridge);
 
 Uhm, this code is for embedded MIPS, only.

On my x86_64 system, I get the Fixing latency ... message printed out
just before the code writes 0x40 to PCI-E configuration register 0x0d
(PCI_LATENCY_TIMER). The wl driver does that same write on my machine.

Do you have any knowledge as to why this number is increased from the
default of 32?

Larry
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: II. Does this help b43 DMA errors?

2009-11-28 Thread Andrew Benton
On 28/11/09 17:12, Larry Finger wrote:
 Thanks for testing the other patch. To try to test the differences,
 I also dumped the PCI configuration writes and found one that wl does.

 Please see if this one helps.

 Larry

 


 Index: wireless-testing/drivers/ssb/driver_pcicore.c
 ===
 --- wireless-testing.orig/drivers/ssb/driver_pcicore.c
 +++ wireless-testing/drivers/ssb/driver_pcicore.c
 @@ -325,6 +325,8 @@ static void ssb_pcicore_fixup_pcibridge(
   ssb_printk(KERN_INFO PCI: Fixing latency timer of device %s to %u\n,
  pci_name(dev), lat);
   pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
 +
 + pci_write_config_dword(dev, 0x40, 0x6030001);
   }
   DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, 
 ssb_pcicore_fixup_pcibridge);



Sorry, this one also doesn't help.
Thanks for trying,

Andy
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: II. Does this help b43 DMA errors?

2009-11-28 Thread Michael Buesch
On Saturday 28 November 2009 19:03:30 Larry Finger wrote:
 On my x86_64 system, I get the Fixing latency ... message printed out
 just before the code writes 0x40 to PCI-E configuration register 0x0d
 (PCI_LATENCY_TIMER). The wl driver does that same write on my machine.
 
 Do you have any knowledge as to why this number is increased from the
 default of 32?

The code should not even be compiled on that system. If the code is really
executed, that's a serious breakage.

The code is ifdefed unter CONFIG_SSB_PCICORE_HOSTMODE.
This config option must not be enabled on anything but MIPS.

I think, however, enabling CONFIG_SSB_PCICORE_HOSTMODE should lead to compile
failures on anything but MIPS.

(And the code writes 0xA8, not 0x40.)

-- 
Greetings, Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: II. Does this help b43 DMA errors?

2009-11-28 Thread Larry Finger
On 11/28/2009 01:59 PM, Michael Buesch wrote:
 
 The code should not even be compiled on that system. If the code is really
 executed, that's a serious breakage.
 
 The code is ifdefed unter CONFIG_SSB_PCICORE_HOSTMODE.
 This config option must not be enabled on anything but MIPS.
 
 I think, however, enabling CONFIG_SSB_PCICORE_HOSTMODE should lead to compile
 failures on anything but MIPS.

I found where my system is changing the latency in arch/x86/pci/i386.c.
Sorry for the noise.

Larry
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


III. Does this help b43 DMA errors?

2009-11-28 Thread Larry Finger
Sorry about the problem with the previous try. This one does write the
PCI configuration the same as wl does.

Please see if this one helps.

Larry



Index: wireless-testing/drivers/ssb/pci.c
===
--- wireless-testing.orig/drivers/ssb/pci.c
+++ wireless-testing/drivers/ssb/pci.c
@@ -567,6 +567,8 @@ static int sprom_extract(struct ssb_bus
 const u16 *in, u16 size)
 {
pci_write_config_dword(bus-host_pci, 0x40, 0x6030001);
+   printk(KERN_DEBUG ssb: Set PCI Configuration word 0x40 to 
+ 0x6030001\n);

memset(out, 0, sizeof(*out));



___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: III. Does this help b43 DMA errors?

2009-11-28 Thread Gábor Stefanik
??? This only adds a printk...

On Sun, Nov 29, 2009 at 12:43 AM, Larry Finger
larry.fin...@lwfinger.net wrote:
 Sorry about the problem with the previous try. This one does write the
 PCI configuration the same as wl does.

 Please see if this one helps.

 Larry

 

 Index: wireless-testing/drivers/ssb/pci.c
 ===
 --- wireless-testing.orig/drivers/ssb/pci.c
 +++ wireless-testing/drivers/ssb/pci.c
 @@ -567,6 +567,8 @@ static int sprom_extract(struct ssb_bus
                         const u16 *in, u16 size)
  {
        pci_write_config_dword(bus-host_pci, 0x40, 0x6030001);
 +       printk(KERN_DEBUG ssb: Set PCI Configuration word 0x40 to 
 +                         0x6030001\n);

        memset(out, 0, sizeof(*out));



 ___
 Bcm43xx-dev mailing list
 Bcm43xx-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/bcm43xx-dev




-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: III. Does this help b43 DMA errors?

2009-11-28 Thread Rafał Miłecki
2009/11/29 Larry Finger larry.fin...@lwfinger.net:
 Sorry about the problem with the previous try. This one does write the
 PCI configuration the same as wl does.

 Please see if this one helps.

 Larry

 

 Index: wireless-testing/drivers/ssb/pci.c
 ===
 --- wireless-testing.orig/drivers/ssb/pci.c
 +++ wireless-testing/drivers/ssb/pci.c
 @@ -567,6 +567,8 @@ static int sprom_extract(struct ssb_bus
                         const u16 *in, u16 size)
  {
        pci_write_config_dword(bus-host_pci, 0x40, 0x6030001);
 +       printk(KERN_DEBUG ssb: Set PCI Configuration word 0x40 to 
 +                         0x6030001\n);

        memset(out, 0, sizeof(*out));

I keep staring at this... And I think you attached patch to locally
patched tree.

-- 
Rafał
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: III. Does this help b43 DMA errors?

2009-11-28 Thread Michael Buesch
On Sunday 29 November 2009 00:43:29 Larry Finger wrote:
 Sorry about the problem with the previous try. This one does write the
 PCI configuration the same as wl does.
 
 Please see if this one helps.

 Index: wireless-testing/drivers/ssb/pci.c
 ===
 --- wireless-testing.orig/drivers/ssb/pci.c
 +++ wireless-testing/drivers/ssb/pci.c
 @@ -567,6 +567,8 @@ static int sprom_extract(struct ssb_bus
const u16 *in, u16 size)
  {
   pci_write_config_dword(bus-host_pci, 0x40, 0x6030001);
 + printk(KERN_DEBUG ssb: Set PCI Configuration word 0x40 to 
 +   0x6030001\n);
 
   memset(out, 0, sizeof(*out));

/me scratches head
quilt refresh? ;)

-- 
Greetings, Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev