^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * (C) 2003 Dave Jones.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * AMD-specific information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) union msr_fidvidctl {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) unsigned FID:5, // 4:0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) reserved1:3, // 7:5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) VID:5, // 12:8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) reserved2:3, // 15:13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) FIDC:1, // 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) VIDC:1, // 17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) reserved3:2, // 19:18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) FIDCHGRATIO:1, // 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) reserved4:11, // 31-21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) SGTC:20, // 32:51
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) reserved5:12; // 63:52
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) } bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) unsigned long long val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) union msr_fidvidstatus {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) unsigned CFID:5, // 4:0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) reserved1:3, // 7:5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) SFID:5, // 12:8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) reserved2:3, // 15:13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) MFID:5, // 20:16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) reserved3:11, // 31:21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) CVID:5, // 36:32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) reserved4:3, // 39:37
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) SVID:5, // 44:40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) reserved5:3, // 47:45
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) MVID:5, // 52:48
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) reserved6:11; // 63:53
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) } bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) unsigned long long val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) };