Author: jhibbits
Date: Tue Jul 31 17:18:58 2018
New Revision: 336983
URL: https://svnweb.freebsd.org/changeset/base/336983

Log:
  snd_hda: Byteswap the buffer descriptor entries as needed
  
  The buffer descriptor list entries should be in little endian format.  Byte 
swap
  them on BE.  This is the last piece of the puzzle for snd_hda(4) to work on
  PowerPC.

Modified:
  head/sys/dev/sound/pci/hda/hdac.c

Modified: head/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.c   Tue Jul 31 17:18:35 2018        
(r336982)
+++ head/sys/dev/sound/pci/hda/hdac.c   Tue Jul 31 17:18:58 2018        
(r336983)
@@ -1930,10 +1930,10 @@ hdac_stream_start(device_t dev, device_t child,
        addr = (uint64_t)buf;
        bdle = (struct hdac_bdle *)sc->streams[ss].bdl.dma_vaddr;
        for (i = 0; i < blkcnt; i++, bdle++) {
-               bdle->addrl = (uint32_t)addr;
-               bdle->addrh = (uint32_t)(addr >> 32);
-               bdle->len = blksz;
-               bdle->ioc = 1;
+               bdle->addrl = htole32((uint32_t)addr);
+               bdle->addrh = htole32((uint32_t)(addr >> 32));
+               bdle->len = htole32(blksz);
+               bdle->ioc = htole32(1);
                addr += blksz;
        }
 
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to