All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yury Norov <yury.norov@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Jani Nikula <jani.nikula@linux.intel.com>,
	intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Jani Nikula <jani.nikula@intel.com>
Subject: Re: Re: [PATCH v3 1/3] bits: introduce fixed-type genmasks
Date: Thu, 22 Feb 2024 13:31:17 -0800	[thread overview]
Message-ID: <Zde9Je1C0LLbXE6z@yury-ThinkPad> (raw)
In-Reply-To: <Zddiav19kX8FGKY9@smile.fi.intel.com>

On Thu, Feb 22, 2024 at 05:04:10PM +0200, Andy Shevchenko wrote:
> On Thu, Feb 22, 2024 at 06:49:59AM -0800, Yury Norov wrote:
> > On Wed, Feb 21, 2024 at 03:59:06PM -0600, Lucas De Marchi wrote:
> 
> ...
> 
> > +#define __GENMASK(t, h, l) \
> > +	((~0 - (1 << (l)) + 1) & (~0 >> (BITS_PER_LONG - 1 - (h))))
> 
> What's wrong on using the UL/ULL() macros?

Nothing wrong except that in the !__ASSEMBLY section they all are
useless. And having that in mind, useless macros may hurt readability.
 
> Also it would be really good to avoid bifurcation of the implementations of
> __GENMASK() for both cases.

Not exactly. It would be really good if GENMASK_XX() will share the
implementation (and they do). The underscored helper macro is not
intended to be used directly, and I think nobody cares.

> ...
> 
> > -#define __GENMASK(h, l) \
> > -	(((~UL(0)) - (UL(1) << (l)) + 1) & \
> > -	 (~UL(0) >> (BITS_PER_LONG - 1 - (h))))
> 
> This at bare minimum can be left untouched for asm case, no?

As soon as we have to have different versions for the macro depending
on __ASSEMBLY__, I would prefer to remove all compatibility black
magic. After all, the <linux/bits.h> machinery to me is about the same
level of abstraction as the stuff in <linux/const.h>, and in future we
can try to remove dependency on it.

This all is not a big deal to me. I can keep the old implementation
for the asm, if you think it's really important.

What are you thinking guys?

Thanks,
Yury

  reply	other threads:[~2024-02-26 13:47 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-08  7:45 [PATCH v3 0/3] Fixed-type GENMASK/BIT Lucas De Marchi
2024-02-08  7:45 ` [PATCH v3 1/3] bits: introduce fixed-type genmasks Lucas De Marchi
2024-02-08 19:48   ` Andi Shyti
2024-02-09 14:04     ` Andy Shevchenko
2024-02-21 20:30   ` Dmitry Baryshkov
2024-02-21 20:37     ` Dmitry Baryshkov
2024-02-21 21:06       ` Andy Shevchenko
2024-02-21 21:07         ` Andy Shevchenko
2024-02-21 21:04     ` Andy Shevchenko
2024-02-21 21:59       ` Lucas De Marchi
2024-02-22 14:49         ` Yury Norov
2024-02-22 15:04           ` Andy Shevchenko
2024-02-22 21:31             ` Yury Norov [this message]
2024-02-28 23:39           ` Lucas De Marchi
2024-02-29 10:49             ` Andy Shevchenko
2024-02-29 18:21               ` Lucas De Marchi
2024-02-29 18:27                 ` Andy Shevchenko
2024-03-01  4:06                   ` Lucas De Marchi
2024-03-07 21:45                     ` Lucas De Marchi
2024-02-08  7:45 ` [PATCH v3 2/3] bits: Introduce fixed-type BIT Lucas De Marchi
2024-02-08 20:04   ` Andi Shyti
2024-02-08 21:17     ` Lucas De Marchi
2024-02-09  8:01       ` Jani Nikula
2024-02-10 14:22       ` David Laight
2024-02-09 16:53   ` Yury Norov
2024-02-20  5:13     ` Lucas De Marchi
2024-02-22 14:51       ` Yury Norov
2024-02-22 16:35         ` Lucas De Marchi
2024-02-08  7:45 ` [PATCH v3 3/3] drm/i915: Convert REG_GENMASK* to fixed-width GENMASK_* Lucas De Marchi
2024-02-08  8:49   ` Jani Nikula
2024-02-08 20:07   ` Andi Shyti
2024-02-08 21:21     ` Lucas De Marchi
2024-02-08  7:48 ` ✓ CI.Patch_applied: success for Fixed-type GENMASK/BIT (rev2) Patchwork
2024-02-08  7:49 ` ✗ CI.checkpatch: warning " Patchwork
2024-02-08  7:49 ` ✓ CI.KUnit: success " Patchwork
2024-02-08  8:00 ` ✓ CI.Build: " Patchwork
2024-02-08  8:00 ` ✓ CI.Hooks: " Patchwork
2024-02-08  8:02 ` ✗ CI.checksparse: warning " Patchwork
2024-02-08  8:25 ` ✗ Fi.CI.CHECKPATCH: " Patchwork
2024-02-08  8:25 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-08  8:31 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-08  8:34 ` ✗ CI.BAT: failure " Patchwork
2024-02-08  9:44 ` ✗ Fi.CI.IGT: " Patchwork
2024-02-08 17:05 ` ✓ CI.Patch_applied: success for Fixed-type GENMASK/BIT (rev3) Patchwork
2024-02-08 17:05 ` ✗ CI.checkpatch: warning " Patchwork
2024-02-08 17:06 ` ✓ CI.KUnit: success " Patchwork
2024-02-08 17:16 ` ✓ CI.Build: " Patchwork
2024-02-08 17:17 ` ✓ CI.Hooks: " Patchwork
2024-02-08 17:18 ` ✗ CI.checksparse: warning " Patchwork
2024-02-08 17:54 ` ✓ CI.BAT: success " Patchwork
2024-03-01  4:43 ` ✗ CI.Patch_applied: failure for Fixed-type GENMASK/BIT (rev4) Patchwork
2024-03-01  7:19 ` ✗ Fi.CI.BUILD: failure for Fixed-type GENMASK/BIT (rev3) Patchwork
2025-02-02 10:40 ` [PATCH v3 0/3] Fixed-type GENMASK/BIT Vincent Mailhol
2025-02-03 14:29   ` Lucas De Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zde9Je1C0LLbXE6z@yury-ThinkPad \
    --to=yury.norov@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucas.demarchi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.