On 05/18/2015 08:06 PM, Christian KÃnig wrote:Sounds good to be, but IIRC that was suggested the last time this came up as well. You might just want to google a bit why it wasn't done like this before submitting the patch for review.
I'm actually surprised how often people come along with that. The last time we tried this it caused a noticeable performance drop.
Basic problem is that this line:
+ if ((reg < rdev->rmmio_size || reg < RADEON_MIN_MMIO_SIZE) && !always_indirect)optimizes away in most of the cases which reduces the call to a readl which is way faster than the spinlock path.
So this is a NAK,
Fair enough.
I'm preparing a v2 where the fast branch of r100_mm_{r,w}reg() will stay inlined.