Re: [PATCH v4 2/3] dwc: PCI: intel: PCIe RC controller driver

From: andriy.shevchenko@xxxxxxxxx
Date: Tue Oct 22 2019 - 07:44:20 EST


On Tue, Oct 22, 2019 at 06:18:57PM +0800, Dilip Kota wrote:
> On 10/21/2019 6:44 PM, Dilip Kota wrote:
> > On 10/21/2019 4:29 PM, Gustavo Pimentel wrote:
> > > On Mon, Oct 21, 2019 at 7:39:19, Dilip Kota
> > > <eswara.kota@xxxxxxxxxxxxxxx>
> > > wrote:

First of all, it's a good behaviour to avoid way long quoting.

> > > > +static void pcie_update_bits(void __iomem *base, u32 mask, u32
> > > > val, u32 ofs)
> > > > +{
> > > > +    u32 orig, tmp;
> > > > +
> > > > +    orig = readl(base + ofs);
> > > > +
> > > > +    tmp = (orig & ~mask) | (val & mask);
> > > > +
> > > > +    if (tmp != orig)
> > > > +        writel(tmp, base + ofs);
> > > > +}
> > > I'd suggest to the a take on FIELD_PREP() and FIELD_GET() and use more
> > > intuitive names such as new and old, instead of orig and tmp.
> > Sure, i will update it.
> I tried using FIELD_PREP and FIELD_GET but it is failing because FIELD_PREP
> and FIELD_GET
> are expecting mask should be constant macro. u32 or u32 const are not
> accepted.

If you look at bitfield.h carefully you may find in particular
u32_replace_bits().

--
With Best Regards,
Andy Shevchenko