new radeon tiling patch

Roland Scheidegger rscheidegger_lists at hispeed.ch
Wed Jan 19 08:30:41 PST 2005


Michel Dänzer wrote:
>> and furthermore there needs to be some code to deal with disabled
>> irqs. Is this such a big issue? I'm happy to leave it broken.
> 
> 
> I don't know, you brought it up, I just brainstormed how it could be 
> done. :)
Ok. I leave it broken then at least for now.

> 
> 
>>>> Also, if doing that in the drm, we'd need to mess with
>>>> OFFSET_CNTL there too (i.e. messy calculation or another field
>>>> in the sarea).
>>> 
>>> 
>>> You mean CRTC_OFFSET? I'm not sure the calculation is that big an
>>>  issue... it'll never happen more than a couple thousand times
>>> per second anyway. ;)
>> 
>> Well, both CRTC_OFFSET and CRTC_OFFSET_CNTL.
> 
> 
> The latter shouldn't matter if the writes are synchronized to the 
> refresh anyway? Unless the update triggers at the same time the 
> interrupt is generated without FLIP_CNTL...
I'm not 100% sure this will work. If you update the offset_cntl in the 
ddx, the crtc might take the new value before drm had a chance to update 
the offset register (if the vblank would just happen when you write the 
offset_cntl, and thus the drm might need to wait for a full frame).

> 
>> It's not really the time which the calculation uses, but I just
>> don't like additional ugly code.
> 
> 
> Well, you could always hide it in a function or something. ;)
It's not THAT much code ;-).

> 
> 
>> Well, the most important issue with that is that
>> RADEON_WAIT_CRTC_PFLIP doesn't actually wait for a pageflip! It
>> made absolutely no difference. Maybe with FLIP_CNTL set, it now
>> considers it as a pageflip whenever it hits a new line, dunno.
> 
> 
> Sure. There's a way to wait for a certain scanline instead, if you
> want to explore that...
Hmm, that might be interesting. But I'll leave it for now I think.

I was able to get rid of the new setparam + sarea variable for pageflip 
+ mergedfb/tiling.
Instead of double wrapping, I just got rid of DRIAdjustFrame altogether 
(you can simply override the default wrap.AdjustFrame with 0). This will 
probably break the fullscreen stuff, so I'm wondering should I care 
about that or is this fullscreen stuff (deprecated for ages afaik) just 
never used anyway and could be removed?
I could of course write something like RadeonDriAdjustFrame which would 
fix that up, but I'm not sure it's worth the hassle.

Roland



More information about the xorg mailing list