[Intel-gfx] [PATCH 13/14] drm/i915: Use binary search when looking for shadowed registers
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Oct 3 08:33:18 UTC 2016
On 03/10/2016 09:05, Joonas Lahtinen wrote:
> On pe, 2016-09-30 at 19:08 +0100, Chris Wilson wrote:
>> On Fri, Sep 30, 2016 at 06:48:48PM +0100, Tvrtko Ursulin wrote:
>>> +static int mmio_reg_cmp(const void *key, const void *elt)
>>> +{
>>> + u32 offset = (u32)(unsigned long)key;
>>> + i915_reg_t *reg = (i915_reg_t *)elt;
>>> +
>>> + if (offset < i915_mmio_reg_offset(*reg))
>>> + return -1;
>>> + else if (offset > i915_mmio_reg_offset(*reg))
>>> + return 1;
>>> + else
>>> + return 0;
>> There's no issue with using
>>
>> return offset - i915_mmio_reg_offset(*reg)
>>
>> here.
>>
> Why not?
>
>>> + reg = bsearch((void *)(unsigned long)offset,
>>> + (const void *)gen8_shadowed_regs,
>>> + ARRAY_SIZE(gen8_shadowed_regs),
>>> + sizeof(i915_reg_t),
>>> + mmio_reg_cmp);
>>> +
>>> + return reg;
>> Or just return bseearch() ? (Probably like this for easing future
>> patches.)
> Suggested that too, but obviously he has something in mind.
It becomes a direct return in a following patch. It is just a virtue of
me wanting to split out the series a lot for easier review, and then not
picking up all relevant places to tidy when acting on review feedback.
But this one as I said happens in a following patch.
Regards,
Tvrtko
More information about the Intel-gfx
mailing list