Changeset 90140 in vbox for trunk/src/VBox/Devices/Audio
- Timestamp:
- Jul 9, 2021 10:29:54 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 145642
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevHda.h
r90138 r90140 754 754 R3PTRTYPE(char *) pszOutPath; 755 755 } Dbg; 756 756 /** Align the codec state on a cache line. */ 757 uint64_t au64Padding[3]; 757 758 /** The HDA codec state. */ 758 759 HDACODECR3 Codec; 759 760 } HDASTATER3; 761 AssertCompileMemberAlignment(HDASTATER3, Codec, 64); 760 762 761 763 -
trunk/src/VBox/Devices/Audio/DevHdaCodec.h
r90138 r90140 796 796 { 797 797 /** Codec implementation type. */ 798 CODECTYPE enmType;798 CODECTYPE enmType; 799 799 /** Codec ID. */ 800 uint16_t id; 801 uint16_t u16VendorId; 802 uint16_t u16DeviceId; 803 uint8_t u8BSKU; 804 uint8_t u8AssemblyId; 805 806 CODECNODE aNodes[CODEC_NODES_MAX]; 807 uint32_t cNodes; 808 809 bool fInReset; 810 uint8_t abPadding1[3]; /**< @todo r=bird: Merge with bPadding2 and eliminate both */ 811 812 uint8_t cTotalNodes; 813 uint8_t u8AdcVolsLineIn; 814 uint8_t u8DacLineOut; 815 uint8_t bPadding2; 816 817 uint8_t au8Ports[CODEC_NODES_MAX]; 818 uint8_t au8Dacs[CODEC_NODES_MAX]; 819 uint8_t au8AdcVols[CODEC_NODES_MAX]; 820 uint8_t au8Adcs[CODEC_NODES_MAX]; 821 uint8_t au8AdcMuxs[CODEC_NODES_MAX]; 822 uint8_t au8Pcbeeps[CODEC_NODES_MAX]; 823 uint8_t au8SpdifIns[CODEC_NODES_MAX]; 824 uint8_t au8SpdifOuts[CODEC_NODES_MAX]; 825 uint8_t au8DigInPins[CODEC_NODES_MAX]; 826 uint8_t au8DigOutPins[CODEC_NODES_MAX]; 827 uint8_t au8Cds[CODEC_NODES_MAX]; 828 uint8_t au8VolKnobs[CODEC_NODES_MAX]; 829 uint8_t au8Reserveds[CODEC_NODES_MAX]; 800 uint16_t id; 801 uint16_t u16VendorId; 802 uint16_t u16DeviceId; 803 uint8_t u8BSKU; 804 uint8_t u8AssemblyId; 805 806 bool fInReset; 807 808 uint8_t cTotalNodes; 809 uint8_t u8AdcVolsLineIn; 810 uint8_t u8DacLineOut; 811 812 uint32_t cNodes; 813 814 /** Align the lists below so they don't cross cache lines (assumes 815 * CODEC_NODES_MAX is 32). */ 816 uint8_t abPadding1[CODEC_NODES_MAX - 20]; 817 818 uint8_t au8Ports[CODEC_NODES_MAX]; 819 uint8_t au8Dacs[CODEC_NODES_MAX]; 820 uint8_t au8AdcVols[CODEC_NODES_MAX]; 821 uint8_t au8Adcs[CODEC_NODES_MAX]; 822 uint8_t au8AdcMuxs[CODEC_NODES_MAX]; 823 uint8_t au8Pcbeeps[CODEC_NODES_MAX]; 824 uint8_t au8SpdifIns[CODEC_NODES_MAX]; 825 uint8_t au8SpdifOuts[CODEC_NODES_MAX]; 826 uint8_t au8DigInPins[CODEC_NODES_MAX]; 827 uint8_t au8DigOutPins[CODEC_NODES_MAX]; 828 uint8_t au8Cds[CODEC_NODES_MAX]; 829 uint8_t au8VolKnobs[CODEC_NODES_MAX]; 830 uint8_t au8Reserveds[CODEC_NODES_MAX]; 831 832 /** Safty zero padding before the nodes start. */ 833 uint8_t abSaftyPadding2[CODEC_NODES_MAX * 2]; 834 835 CODECNODE aNodes[CODEC_NODES_MAX]; 830 836 831 837 STAMCOUNTER StatLookupsR3; 838 uint64_t au64Padding3[7]; 832 839 } HDACODECR3; 840 AssertCompile(RT_IS_POWER_OF_TWO(CODEC_NODES_MAX)); 841 AssertCompileMemberAlignment(HDACODECR3, au8Ports, CODEC_NODES_MAX); 842 AssertCompileMemberAlignment(HDACODECR3, aNodes, 64); 843 AssertCompileSizeAlignment(HDACODECR3, 8); 844 AssertCompileSizeAlignment(HDACODECR3, 16); 845 AssertCompileSizeAlignment(HDACODECR3, 32); 846 AssertCompileSizeAlignment(HDACODECR3, 64); 833 847 834 848
Note:
See TracChangeset
for help on using the changeset viewer.