Message ID | 20200703135713.985810-1-maxime@cerno.tech (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vc4: Convert register accessors to FIELD_* | expand |
On Fri, Jul 03, 2020 at 09:57:04AM -0700, Eric Anholt wrote: > On Fri, Jul 3, 2020 at 6:57 AM Maxime Ripard <maxime@cerno.tech> wrote: > > > > The VC4_SET_FIELD and VC4_GET_FIELD are reimplementing most of the logic > > already defined in FIELD_SET and FIELD_GET. Let's convert the vc4 macros to > > use the FIELD_* macros. > > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech> > > --- > > Reviewed-by: Eric Anholt <eric@anholt.net> Applied, thanks! Maxime
diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h index b5a6b4cdd332..324462cc9cd4 100644 --- a/drivers/gpu/drm/vc4/vc4_regs.h +++ b/drivers/gpu/drm/vc4/vc4_regs.h @@ -6,19 +6,18 @@ #ifndef VC4_REGS_H #define VC4_REGS_H +#include <linux/bitfield.h> #include <linux/bitops.h> #define VC4_MASK(high, low) ((u32)GENMASK(high, low)) /* Using the GNU statement expression extension */ #define VC4_SET_FIELD(value, field) \ ({ \ - uint32_t fieldval = (value) << field##_SHIFT; \ - WARN_ON((fieldval & ~field##_MASK) != 0); \ - fieldval & field##_MASK; \ + WARN_ON(!FIELD_FIT(field##_MASK, value)); \ + FIELD_PREP(field##_MASK, value); \ }) -#define VC4_GET_FIELD(word, field) (((word) & field##_MASK) >> \ - field##_SHIFT) +#define VC4_GET_FIELD(word, field) FIELD_GET(field##_MASK, word) #define V3D_IDENT0 0x00000 # define V3D_EXPECTED_IDENT0 \
The VC4_SET_FIELD and VC4_GET_FIELD are reimplementing most of the logic already defined in FIELD_SET and FIELD_GET. Let's convert the vc4 macros to use the FIELD_* macros. Signed-off-by: Maxime Ripard <maxime@cerno.tech> --- drivers/gpu/drm/vc4/vc4_regs.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)