Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759029AbXFQK6g (ORCPT ); Sun, 17 Jun 2007 06:58:36 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759671AbXFQK6X (ORCPT ); Sun, 17 Jun 2007 06:58:23 -0400 Received: from static-ip-62-75-166-246.inaddr.intergenia.de ([62.75.166.246]:41206 "EHLO vs166246.vserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759583AbXFQK6U (ORCPT ); Sun, 17 Jun 2007 06:58:20 -0400 From: Michael Buesch To: Maximilian Engelhardt Subject: Re: b44: high ping times with wireless-dev Date: Sun, 17 Jun 2007 12:55:39 +0200 User-Agent: KMail/1.9.6 Cc: netdev , "linux-kernel" , "linux-wireless" , Gary Zambrano , Stephen Hemminger , "Jeff Garzik" , "Arnaldo Carvalho de Melo" References: <200706162327.47413.maxi@daemonizer.de> In-Reply-To: <200706162327.47413.maxi@daemonizer.de> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_sMRdGkaeTtd3/Dk" Message-Id: <200706171255.40155.mb@bu3sch.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3581 Lines: 104 --Boundary-00=_sMRdGkaeTtd3/Dk Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Saturday 16 June 2007 23:27:43 Maximilian Engelhardt wrote: > [...] > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10 > ACPI: PCI Interrupt 0000:02:02.0[A] -> Link [LNKD] -> GSI 10 (level, low) -> > IRQ 10 > ssb: Sonics Silicon Backplane found on PCI device 0000:02:02.0 > b44.c:v2.0 > eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:c0:9f:29:99:a7 > [...] Ok, I prepared two debugging patches. Please enable SonicsSiliconBackplane Debugging in the kernel kconfig, so I can get more detail information about your card. Device Drivers/Sonics Silicon Backplane/SSB debugging (Must disable "No SSB kernel messages") Please apply and test the attached debugging patches in a row. So apply patch 1 and test if it works again. If not, apply patch 2 and test if it works. Always save complete dmesg log on each test run and send it to me. Thanks for testing. (This time it seems we are actually getting somewhere, when dealing with sane people. :D ) -- Greetings Michael. --Boundary-00=_sMRdGkaeTtd3/Dk Content-Type: text/x-diff; charset="iso-8859-15"; name="b44-irqs-test1.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="b44-irqs-test1.patch" Index: bu3sch-wireless-dev/drivers/ssb/driver_pcicore.c =================================================================== --- bu3sch-wireless-dev.orig/drivers/ssb/driver_pcicore.c 2007-04-07 17:19:03.000000000 +0200 +++ bu3sch-wireless-dev/drivers/ssb/driver_pcicore.c 2007-06-17 12:51:37.000000000 +0200 @@ -477,6 +477,7 @@ int ssb_pcicore_dev_irqvecs_enable(struc goto out; bus = pdev->bus; +printk("Enabling IRQ vectors\n"); /* Enable interrupts for this device. */ if (bus->host_pci && ((pdev->id.revision >= 6) || (pdev->id.coreid == SSB_DEV_PCIE))) { @@ -497,8 +498,10 @@ int ssb_pcicore_dev_irqvecs_enable(struc intvec = ssb_read32(pdev, SSB_INTVEC); tmp = ssb_read32(dev, SSB_TPSFLAG); +printk("Writing INTVEC. TPSFLAG is 0x%08X\n", tmp); tmp &= SSB_TPSFLAG_BPFLAG; - intvec |= tmp; +// intvec |= tmp; +intvec |= 0x00000002; ssb_write32(pdev, SSB_INTVEC, intvec); } --Boundary-00=_sMRdGkaeTtd3/Dk Content-Type: text/x-diff; charset="iso-8859-15"; name="b44-irqs-test2.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="b44-irqs-test2.patch" Index: bu3sch-wireless-dev/drivers/ssb/driver_pcicore.c =================================================================== --- bu3sch-wireless-dev.orig/drivers/ssb/driver_pcicore.c 2007-06-17 12:50:32.000000000 +0200 +++ bu3sch-wireless-dev/drivers/ssb/driver_pcicore.c 2007-06-17 12:51:32.000000000 +0200 @@ -514,6 +514,8 @@ intvec |= 0x00000002; tmp |= SSB_PCICORE_SBTOPCI_BURST; pcicore_write32(pc, SSB_PCICORE_SBTOPCI2, tmp); +printk("Wrote translation\n"); +#if 0 if (pdev->id.revision < 5) { tmp = ssb_read32(pdev, SSB_IMCFGLO); tmp &= ~SSB_IMCFGLO_SERTO; @@ -527,6 +529,7 @@ intvec |= 0x00000002; tmp |= SSB_PCICORE_SBTOPCI_MRM; pcicore_write32(pc, SSB_PCICORE_SBTOPCI2, tmp); } +#endif } else { assert(pdev->id.coreid == SSB_DEV_PCIE); //TODO: Better make defines for all these magic PCIE values. --Boundary-00=_sMRdGkaeTtd3/Dk-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/