Skip to contentSkip to conversation

2.4.23-pre8 ieee1394 on nforce2

PATCH New Andrew de Quincey 1 participant 1 message Oct 28, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 2.4.23-pre8 ieee1394 on nforce2

Hi, ieee1394 does not work on my nforce2 motherboard. This patch fixes it. Please apply.

This basically enables each port supported by the ieee1394 PHY device, something my BIOS/ the current code neglects to do.

drivers/ieee1394/ohci1394.c +9 -0
diff -Naurb linux-2.4.23-pre8.orig/drivers/ieee1394/ohci1394.c linux-2.4.23-pre8/drivers/ieee1394/ohci1394.c
@@ -504,6 +504,7 @@
 static void ohci_initialize(struct ti_ohci *ohci)
 {
 	char irq_buf[16];
+	int numports, port;
 	quadlet_t buf;
 
 	spin_lock_init(&ohci->phy_reg_lock);
@@ -615,6 +616,14 @@
 	      pci_resource_start(ohci->dev, 0),
 	      pci_resource_start(ohci->dev, 0) + OHCI1394_REGISTER_SIZE - 1,
 	      ohci->max_packet_size);
+
+	/* enable all ports on the PHY, in case the BIOS has neglected to */
+	numports = get_phy_reg(ohci, 2) & 0xf;
+	for(port=0; port < numports; port++) {
+		// choose the port and enable it
+		set_phy_reg(ohci, 7, (0 << 5) | (port & 0xf));
+		set_phy_reg(ohci, 8, (get_phy_reg(ohci, 8) & ~1));
+	}
 }
 
 /*