You are not logged in.

#1 2012-11-06 18:32:52

Moviuro
Member
Registered: 2012-06-03
Posts: 73

How to really turn off an ATI card in an Intel/RadeonHD setup?

Hi all,

Since September, I have to deal with a very low battery life on my Samsung Ultrabook (2hours max) and it seems my ati card is at fault. Here is eveything that I found relevant to tell you and usefull information:

# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

So vgaswitcheroo seems to work.

# lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Thames [Radeon 7500M/7600M Series]
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6230 [Rainbow Peak] (rev 34)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller

And then, I took a look at this folder:

[19:27:14][root@psychopathy:/sys/kernel/debug/dri]
# ls
0/  1/  64/  65/
[19:27:48][root@psychopathy:/sys/kernel/debug/dri]
# cd 1
[19:28:14][root@psychopathy:/sys/kernel/debug/dri/1]
# ls
bufs     gem_names  radeon_fence_info  radeon_pm_info   radeon_sa_info  ttm_dma_page_pool  vm
clients  name       radeon_gtt_mm      radeon_ring_gfx  radeon_vram_mm  ttm_page_pool      vma
[19:28:17][root@psychopathy:/sys/kernel/debug/dri/1]
# cat radeon_pm_info 
default engine clock: 500000 kHz
current engine clock: 2160000 kHz
default memory clock: 900000 kHz
current memory clock: 675000 kHz
voltage: 900 mV

And then, I ask myself: is that accurate?...

[19:28:27][root@psychopathy:/sys/kernel/debug/dri/1]
# sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +36.5°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +65.0°C  (crit = +99.0°C)
temp2:        +29.8°C  (crit = +99.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +66.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:         +66.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:         +64.0°C  (high = +86.0°C, crit = +100.0°C)

[19:29:01][root@psychopathy:/sys/kernel/debug/dri/1]
# uptime
 19:29:06 up 1 day, 11:32,  2 users,  load average: 0,20, 0,27, 0,39
[19:29:06][root@psychopathy:/sys/kernel/debug/dri/1]
# acpi -V
Battery 0: Full, 100%
Battery 0: design capacity 6120 mAh, last full capacity 6100 mAh = 99%
Adapter 0: on-line
Thermal 0: ok, 29.8 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 99.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 97.0 degrees C
Thermal 1: active, 65.0 degrees C
Thermal 1: trip point 0 switches to mode critical at temperature 99.0 degrees C
Thermal 1: trip point 1 switches to mode active at temperature 71.0 degrees C
Thermal 1: trip point 2 switches to mode active at temperature 55.0 degrees C
Cooling 0: Fan 1 of 1
Cooling 1: Fan 1 of 1
Cooling 2: Fan 1 of 1
Cooling 3: Fan 0 of 1
Cooling 4: Fan 0 of 1
Cooling 5: Processor 0 of 10
Cooling 6: Processor 0 of 10
Cooling 7: Processor 0 of 10
Cooling 8: Processor 0 of 10
Cooling 9: LCD 0 of 7
Cooling 10: LCD 0 of 7

So now, I only want to completely disable that ATI card (BTW, radeon is loaded, i.e. listed in lsmod). No juice, no power nothing. Just completely disable that card. And, of course, it cannot be achieved using the BIOS...

EDIT:
Well, I tried some things:
first, force the "low" profile to the ati/radeon driver:

# echo low > /sys/class/drm/card1/device/power_profile

Took a look at the current state of the card:

% cat /sys/kernel/debug/dri/1/radeon_pm_info
default engine clock: 500000 kHz
current engine clock: 299980 kHz #BTW, this value once was 2.16GHz (2160000 kHz)
default memory clock: 900000 kHz
current memory clock: 149970 kHz
voltage: 900 mV #sometimes takes value 1000 mV

Took a look at temperatures

% sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +60.5°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +66.0°C  (crit = +99.0°C)
temp2:        +29.8°C  (crit = +99.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +68.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:         +68.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:         +67.0°C  (high = +86.0°C, crit = +100.0°C)

Don't hesitate to go on IRC, if I ever happen to be there wink

Thank you in advance

Last edited by Moviuro (2012-11-07 12:36:53)


bspwm, BTRFS over LUKS
Archlinux a lot, FreeBSD more and more...
Murphy's rule: The day you need a backup, you tell yourself you should have created some.

Offline

#2 2012-11-08 04:29:46

r0b0t
Member
From: /tmp
Registered: 2009-05-24
Posts: 505

Re: How to really turn off an ATI card in an Intel/RadeonHD setup?

I disable it with
/sbin/modprobe acpi_call
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
in /etc/rc.local
the package is acpi_call-git (AUR)

drm]$ ls
card0  card0-DP-1  card0-HDMI-A-1  card0-LVDS-1  card0-VGA-1  controlD64  version
(no card1) only intel.

drm]$ pwd
/sys/class/drm

PS: of course you should see if your ATI card is supported after installing acpi_call-git

Last edited by r0b0t (2012-11-08 04:35:38)

Offline

#3 2012-11-08 22:26:55

Moviuro
Member
Registered: 2012-06-03
Posts: 73

Re: How to really turn off an ATI card in an Intel/RadeonHD setup?

Thank you so far, R0b0t smile

But on the ##linux IRC, I was hinted that it perhaps wasn't my ATI card at faut but perhaps something else... and powertop does not display all information it should... so I'm back to the beginning: here

But the method you explained here does not seem to change anything in my case... hmm


bspwm, BTRFS over LUKS
Archlinux a lot, FreeBSD more and more...
Murphy's rule: The day you need a backup, you tell yourself you should have created some.

Offline

Board footer

Powered by FluxBB