freebsd-src icon indicating copy to clipboard operation
freebsd-src copied to clipboard

ata-serverworks: Fix incorrect port count for BCM5770 SATA controller

Open disean opened this issue 2 months ago • 3 comments

According to various online references, the 1166:0241 PCI device has 8 ports instead of 4: https://bugzilla.kernel.org/show_bug.cgi?id=10424 https://github.com/freebsd/freebsd-src/blob/2da5707f714a3263d228c25617ba289227d23f3e/share/misc/pci_vendors#L4813

Note: I don't have the actual hardware to test with.

disean avatar Oct 29 '25 14:10 disean

So why'd you chanage both FRODO4 and FRODO8? And since you don't have this hardware, and we're deep into the 'legacy' time that it will be used, how do we mitigate the risk we accidentally break somebody with this change?

bsdimp avatar Oct 29 '25 15:10 bsdimp

So why'd you change both FRODO4 and FRODO8?

Frodo8 is a BCM5770R controller with 4 SATA ports.

And since you don't have this hardware, and we're deep into the 'legacy' time that it will be used, how do we mitigate the risk we accidentally break somebody with this change?

If you think we can't avoid the risk of making things worse, feel free to reject this and open a bug report instead :)

disean avatar Oct 29 '25 15:10 disean

I believe this change stems from:

https://github.com/torvalds/linux/commit/aeb74914ef0e6746f15b11c0399048de9c5c05b8

Shouldn't the proper fix be?

--- a/sys/dev/ata/ata-pci.h
+++ b/sys/dev/ata/ata-pci.h
@@ -430,8 +430,8 @@ struct ata_pci_controller {
 #define ATA_HT1000_S1           0x024b1166
 #define ATA_HT1000_S2           0x024a1166
 #define ATA_K2                 0x02401166
-#define ATA_FRODO4             0x02411166
-#define ATA_FRODO8             0x02421166
+#define ATA_FRODO8             0x02411166
+#define ATA_FRODO4             0x02421166

I think:

Name Ports
Frodo4 4
Frodo8 8

Still stands, it's just that the IDs were swapped, not the names?

jlduran avatar Oct 29 '25 17:10 jlduran