airlied ([info]airlied) wrote,
@ 2007-06-03 17:37:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
radeon vblank interrupts + power stop : fix step one
I've added code to the radeon drm to support vblank interrupts on both CRTCs and a setparam to allow the DDX to enable/disable the interrupts. I haven't gotten any mesa support for this yet to actually figure out the interrupts but I'll get to that later I'm sure.

But for now it means that when no 3D apps are running we turn off all the vblank interrupts at least so we save power on laptops...

Of course we can do much better, than just turning interrupts off when no 3D is running, it would be nice to not have the interrupt happening when 3D is running this involves using the hardware counters for vblank. Need to think about that a bit more.



(11 comments) - (Post a new comment)

Mesa/OpenGL update?
[info]liquidat.wordpress.com
2007-06-03 10:22 am UTC (link)
Hi,
it is said that Mesa will see a major update soon with a new stable version supporting OpenGL 2.0/2.1. Will the radeon driver support the new features also?

(Reply to this)


(Anonymous)
2007-06-03 09:38 pm UTC (link)
Yay! Thank you!

(Reply to this)


(Anonymous)
2007-06-03 10:04 pm UTC (link)
Would you consider posting the patch somewhere, so people can apply it to their kernels?

(Reply to this) (Thread)


[info]airlied
2007-06-03 11:27 pm UTC (link)
it's not just a kernel patch, you need a DDX patch to xf86-video-ati as well..

the kernel patch will go upstream soon, the DDX patches will have to wait for distros to pick them up.

(Reply to this) (Parent)


(Anonymous)
2007-06-04 06:35 pm UTC (link)
Out of curiosity, rather than using a setparam, why can't the radeon drm just turn on interrupts when something calls the relevant ioctl, and turn them off when done?

(Reply to this) (Thread)


[info]airlied
2007-06-04 10:12 pm UTC (link)
just that the kernel driver is in charge of interrupts, so having the DDX do it would be very rude.

(Reply to this) (Parent)(Thread)


(Anonymous)
2007-06-05 07:07 am UTC (link)
No, I mean why can't the kernel driver do it without any changes to the DDX? Just turn on the interrupt whenever waiting on a vblank, and turn it back off when not waiting on a vblank.

(Reply to this) (Parent)(Thread)


[info]airlied
2007-06-05 07:14 am UTC (link)
because 3D interface suck and OpenGL needs to count the vblanks...

We are trying to modify it as i said to be smarter and use the hw counters to count the blanks without the interrupt when not waiting...

(Reply to this) (Parent)(Thread)


(Anonymous)
2007-06-05 09:35 pm UTC (link)
Ah, I see. I had no idea that OpenGL had such a moronic requirement.

(Reply to this) (Parent)


(Anonymous)
2007-06-04 11:28 pm UTC (link)
I installed xserver-xorg-video-ati 6.6.192 from debian/experimental yesterday, but I did not see any reduction in the 50 wake-ups/sec due to the radeon driver using powertop. Do I need to update other xorg components? I'm running 2.6.21 on a thinkpad t41p laptop and everything else is pegged to debian/unstable.

(Reply to this)

(Reply from suspended user)

(11 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…