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

From: Andrew Murray
Date: Fri Oct 25 2019 - 05:01:28 EST


On Tue, Oct 22, 2019 at 02:44:13PM +0300, andriy.shevchenko@xxxxxxxxx wrote:
> 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().

Thanks Andy - I was looking for something like this when I was reviewing the
patch but wasn't able to find it.

Andrew Murray

>
> --
> With Best Regards,
> Andy Shevchenko
>
>