The branch main has been updated by br:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9718d4ab99386918f5b5c207c58289eaade20623

commit 9718d4ab99386918f5b5c207c58289eaade20623
Author:     Florian Walpen <d...@submerge.ch>
AuthorDate: 2024-04-27 08:48:37 +0000
Commit:     Ruslan Bukin <b...@freebsd.org>
CommitDate: 2024-04-27 08:48:37 +0000

    snd_hdspe(4): Recognize newer firmware's PCI vendor id.
    
    At least for HDSPe RayDAT cards, newer firmware comes with RME's own PCI
    vendor id instead of the Xilinx one. Other HDSPe cards are probably also
    affected. Update snd_hdspe(4) to recognize both the old Xilinx and the
    new RME vendor ids.
    
    Differential Revision:  https://reviews.freebsd.org/D44978
    MFC after: 1 day
---
 sys/dev/sound/pci/hdspe.c | 3 ++-
 sys/dev/sound/pci/hdspe.h | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c
index 0773362f2bc3..f9c36df359e3 100644
--- a/sys/dev/sound/pci/hdspe.c
+++ b/sys/dev/sound/pci/hdspe.c
@@ -474,7 +474,8 @@ hdspe_probe(device_t dev)
 {
        uint32_t rev;
 
-       if (pci_get_vendor(dev) == PCI_VENDOR_XILINX &&
+       if ((pci_get_vendor(dev) == PCI_VENDOR_XILINX ||
+           pci_get_vendor(dev) == PCI_VENDOR_RME) &&
            pci_get_device(dev) == PCI_DEVICE_XILINX_HDSPE) {
                rev = pci_get_revid(dev);
                switch (rev) {
diff --git a/sys/dev/sound/pci/hdspe.h b/sys/dev/sound/pci/hdspe.h
index de20462170e7..daffeb4ddebc 100644
--- a/sys/dev/sound/pci/hdspe.h
+++ b/sys/dev/sound/pci/hdspe.h
@@ -28,6 +28,7 @@
  */
 
 #define        PCI_VENDOR_XILINX               0x10ee
+#define        PCI_VENDOR_RME                  0x1d18 /* Newer firmware 
versions. */
 #define        PCI_DEVICE_XILINX_HDSPE         0x3fc6 /* AIO, MADI, AES, 
RayDAT */
 #define        PCI_CLASS_REVISION              0x08
 #define        PCI_REVISION_AIO                212

Reply via email to