[Intel-gfx] binary constants (was: Re: [PATCH v3] drm/dp: Add Additional DP2 Headers)
daniel.vetter at ffwll.ch
Thu Feb 3 12:57:22 UTC 2022
On Thu, Feb 3, 2022 at 12:58 PM Jani Nikula <jani.nikula at intel.com> wrote:
> On Mon, 27 Sep 2021, Fangzhi Zuo <Jerry.Zuo at amd.com> wrote:
> > +/* DSC Extended Capability Branch Total DSC Resources */
> > +#define DP_DSC_SUPPORT_AND_DSC_DECODER_COUNT 0x2260 /* 2.0 */
> > +# define DP_DSC_DECODER_COUNT_MASK (0b111 << 5)
> > +# define DP_DSC_DECODER_COUNT_SHIFT 5
> > +#define DP_DSC_MAX_SLICE_COUNT_AND_AGGREGATION_0 0x2270 /* 2.0 */
> > +# define DP_DSC_DECODER_0_MAXIMUM_SLICE_COUNT_MASK (1 << 0)
> > +# define DP_DSC_DECODER_0_AGGREGATION_SUPPORT_MASK (0b111 << 1)
> > +# define DP_DSC_DECODER_0_AGGREGATION_SUPPORT_SHIFT 1
> The patch was merged a while back, but only now I noticed the use of
> binary constants, which in C is a GCC and Clang extension . There
> are some instances in the kernel, but not a whole lot.
> Do we want to avoid or embrace them going forward? Or meh?
$ git grep '\<0b*\>'
Gives me almost exclusive hits in
- .rst files
- .S assembler files
- comments and strings
So I think probably not? I mean there's also BIT() and BIT_MASK()
macros and stuff like that, and reading small masks is pretty simple.
>  https://gcc.gnu.org/onlinedocs/gcc/Binary-constants.html
>  https://clang.llvm.org/docs/LanguageExtensions.html#c-14-binary-literals
> Jani Nikula, Intel Open Source Graphics Center
Software Engineer, Intel Corporation
More information about the Intel-gfx