CPU fan running at full speed

poma pomidorabelisima at gmail.com
Fri Jul 25 11:20:56 UTC 2014


On 24.07.2014 20:15, Lars E. Pettersson wrote:
> On 07/24/14 15:52, poma wrote:
> ...
>> "drm/nouveau/therm: let the vbios decide on the automatic fan management
>> mode"
>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/gpu/drm/nouveau/core/subdev/therm/fan.c?h=linux-3.15.y&id=0e994d6
>>
>>     This should fix automatic fan management on fermi cards who do not
>> have 0x46 entries in the thermal table.
>>     On my nve6, the blob sets the default linear range from 40°C to 100°C
>> but my nvcf's default values are 40°C to 85°C.
>>     Let's keep 85 as a default for everyone.
>
> I really must say that I do not understand why this change was made.
> Obviously it breaks the fan management for some (me included). Did it
> solve it for others? And what is 0x46 entries?

You can directly ask the developers, right.
Developers, developers, developers! :)

$ grep -R -w 0x46 drivers/gpu/drm/nouveau/
drivers/gpu/drm/nouveau/nouveau_connector.c:	    nv_device(drm->device)->chipset >= 0x46)
drivers/gpu/drm/nouveau/core/engine/device/nv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:		case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	if (device->chipset == 0x46 || device->chipset == 0x47 ||
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:		if (device->chipset == 0x46)
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/nv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/engine/graph/nv40.c:	case 0x46: /* G72 */
drivers/gpu/drm/nouveau/core/engine/graph/nv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c:	case 0x46:
drivers/gpu/drm/nouveau/core/subdev/fb/nv46.c:	.base.base.handle = NV_SUBDEV(FB, 0x46),
drivers/gpu/drm/nouveau/core/subdev/i2c/anx9805.c:				while (nv_rdi2cr(mast, port->addr, 0x46) & 0x10) {
drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c:	0x28, 0x29, 0xff, 0xff, 0xff, 0xff, 0x46, 0xff, /* 0x40 */
drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c:	0xff, 0x46, 0x46, 0x46, 0x46, 0xff, 0xff, 0xff, /* 0x50 */
drivers/gpu/drm/nouveau/core/subdev/bios/pll.c:		 * maxN2 (0x46) and 10 * maxM2 (0x4), so set maxN2 to 0x28 and
drivers/gpu/drm/nouveau/core/subdev/bios/therm.c:		case 0x46:
drivers/gpu/drm/nouveau/core/include/subdev/bios/conn.h:	DCB_CONNECTOR_DP = 0x46,
drivers/gpu/drm/nouveau/dispnv04/nvreg.h:#	define NV_CIO_CRE_RCR			0x46
drivers/gpu/drm/nouveau/dispnv04/tvmodesnv17.c:					0x21, 0xf6, 0x94, 0x46, 0x0, 0x0, 0xb, 0x18,

Perhaps this one is related to this topic? :)
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c#n199

>
> This is my card (a Quadro 2000):
>
> 01:00.0 VGA compatible controller: NVIDIA Corporation GF106GL [Quadro
> 2000] (rev a1) (prog-if 00 [VGA controller])
> 	Subsystem: NVIDIA Corporation Device 084a
> 	Flags: bus master, fast devsel, latency 0, IRQ 45
> 	Memory at f4000000 (32-bit, non-prefetchable) [size=32M]
> 	Memory at e0000000 (64-bit, prefetchable) [size=128M]
> 	Memory at e8000000 (64-bit, prefetchable) [size=64M]
> 	I/O ports at e000 [size=128]
> 	Expansion ROM at f6000000 [disabled] [size=512K]
> 	Capabilities: [60] Power Management version 3
> 	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
> 	Capabilities: [78] Express Endpoint, MSI 00
> 	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
> 	Capabilities: [100] Virtual Channel
> 	Capabilities: [128] Power Budgeting <?>
> 	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
> 	Kernel driver in use: nouveau
> 	Kernel modules: nouveau
>
> NVC0 family (Fermi)
> NVC3 (GF106) 	GeForce GT (440, 445M, 545, 555M, 630M, 635M), GTS
>        		450, GTX 460M, Quadro 2000 (D), 2000M
>
> Lars
>


developers fan club




More information about the users mailing list