mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 16:36:41 +07:00
d0f282706d
I see very little reason why vid_from_reg is inlined. It is not exactly short, its parameters are seldom known in advance, and it is never called in speed critical areas. Uninlining it should cause little performance loss if any, and saves a signficant space as well as compilation time. As suggested by Alexey Dobriyan, I am leaving vid_to_reg inline for now, as it is short and has a single user so far. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
/*
|
|
hwmon-vid.h - VID/VRM/VRD voltage conversions
|
|
|
|
Originally part of lm_sensors
|
|
Copyright (c) 2002 Mark D. Studebaker <mdsxyz123@yahoo.com>
|
|
With assistance from Trent Piepho <xyzzy@speakeasy.org>
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#ifndef _LINUX_HWMON_VID_H
|
|
#define _LINUX_HWMON_VID_H
|
|
|
|
int vid_from_reg(int val, int vrm);
|
|
int vid_which_vrm(void);
|
|
|
|
/* vrm is the VRM/VRD document version multiplied by 10.
|
|
val is in mV to avoid floating point in the kernel.
|
|
Returned value is the 4-, 5- or 6-bit VID code.
|
|
Note that only VRM 9.x is supported for now. */
|
|
static inline int vid_to_reg(int val, int vrm)
|
|
{
|
|
switch (vrm) {
|
|
case 91: /* VRM 9.1 */
|
|
case 90: /* VRM 9.0 */
|
|
return ((val >= 1100) && (val <= 1850) ?
|
|
((18499 - val * 10) / 25 + 5) / 10 : -1);
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
#endif /* _LINUX_HWMON_VID_H */
|