[PATCH 09/22] drm/i915: Create color management files

Emil Velikov emil.l.velikov at gmail.com
Fri Oct 9 15:47:52 PDT 2015


Hi Shashank,

On 9 October 2015 at 20:28, Shashank Sharma <shashank.sharma at intel.com> wrote:
[snip]
> +
> +/* Color management bit utilities */
> +#define GET_BIT_MASK(n) ((1 << n) - 1)
> +
> +/* Read bits of a word from bit no. 'start'(lsb) till 'n' bits */
> +#define GET_BITS(x, start, nbits) ((x >> start) & GET_BIT_MASK(nbits))
> +
> +/* Round off by adding 1 to the immediate lower bit */
> +#define GET_BITS_ROUNDOFF(x, start, nbits) \
> +       ((GET_BITS(x, start, (nbits + 1)) + 1) >> 1)
> +
> +/* Clear bits of a word from bit no. 'start' till nbits */
> +#define CLEAR_BITS(x, start, nbits) ( \
> +               x &= ~((GET_BIT_MASK(nbits) << start)))
> +
> +/* Write bit_pattern of no_bits bits in a target word */
> +#define SET_BITS(target, bit_pattern, start_bit, no_bits) \
> +               do { \
> +                       CLEAR_BITS(target, start_bit, no_bits); \
> +                       target |= (bit_pattern << start_bit);  \
> +               } while (0)
It feels suspicious that the kernel does not have macros for either
one of these.

I would invite you to take a look at include/linux/bitops.h and other
kernel headers.

Regards,
Emil


More information about the dri-devel mailing list