From 723028725c0942c289096b00ca6052178be63c60 Mon Sep 17 00:00:00 2001 From: jake Date: Thu, 27 Mar 2003 02:01:59 +0000 Subject: [PATCH] Set the cache line size for subordinate pci bridges as well as for their child devices. This fixes dma timeouts for devices behind the bridge. Reported by: simokawa Tested by: simokawa --- sys/sparc64/pci/ofw_pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sparc64/pci/ofw_pci.c b/sys/sparc64/pci/ofw_pci.c index 3787a00bd0d1..829ad6039c6d 100644 --- a/sys/sparc64/pci/ofw_pci.c +++ b/sys/sparc64/pci/ofw_pci.c @@ -216,6 +216,8 @@ ofw_pci_init(device_t dev, phandle_t bushdl, u_int32_t ign, panic("ofw_pci_init: OF_getprop failed"); slot = OFW_PCI_PHYS_HI_DEVICE(pcir.phys_hi); func = OFW_PCI_PHYS_HI_FUNCTION(pcir.phys_hi); + PCIB_WRITE_CONFIG(dev, busno, slot, func, PCIR_CACHELNSZ, + clnsz / 4, 1); if (strcmp(type, OFW_PCI_PCIBUS) == 0) { /* * This is a pci-pci bridge, initalize the bus number and @@ -269,8 +271,6 @@ ofw_pci_init(device_t dev, phandle_t bushdl, u_int32_t ign, PCIB_WRITE_CONFIG(dev, busno, slot, func, PCIR_LATTIMER, imin(lat, 255), 1); } - PCIB_WRITE_CONFIG(dev, busno, slot, func, - PCIR_CACHELNSZ, clnsz / 4, 1); /* Initialize the intline registers. */ if ((intr = ofw_pci_route_intr(node, ign)) != 255) {