[PATCH] pci: When disabling pref MEM set all base bits
Pali Rohár
pali at kernel.org
Thu Dec 2 00:12:22 CET 2021
On Tuesday 30 November 2021 07:10:37 Stefan Roese wrote:
> On 11/25/21 11:34, Pali Rohár wrote:
> > It is common to set all base address bits to one and all limit address bits
> > to zero for disabling address forwarding. Forwarding is disabled when base
> > address is higher than limit address, so this change should not have any
> > effect.
> >
> > Signed-off-by: Pali Rohár <pali at kernel.org>
> > ---
> > drivers/pci/pci_auto.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c
> > index 6e5ed194f247..c0acf331398d 100644
> > --- a/drivers/pci/pci_auto.c
> > +++ b/drivers/pci/pci_auto.c
> > @@ -243,7 +243,7 @@ void dm_pciauto_prescan_setup_bridge(struct udevice *dev, int sub_bus)
> > cmdstat |= PCI_COMMAND_MEMORY;
> > } else {
> > /* We don't support prefetchable memory for now, so disable */
> > - dm_pci_write_config16(dev, PCI_PREF_MEMORY_BASE, 0x1000 |
> > + dm_pci_write_config16(dev, PCI_PREF_MEMORY_BASE, 0xfff0 |
> > prefechable_64);
>
> Again, does it make sense to add / use a macro for this 0xfff0 above?
This is again setting all range bits in this register to ones. So
(~0 & PCI_PREF_RANGE_MASK) or (0xffff & PCI_PREF_RANGE_MASK).
> Other than this:
>
> Reviewed-by: Stefan Roese <sr at denx.de>
>
> Thanks,
> Stefan
>
>
> > dm_pci_write_config16(dev, PCI_PREF_MEMORY_LIMIT, 0x0 |
> > prefechable_64);
And then 0x0 here can be expressed similarly via that macro by:
(0x0 & PCI_PREF_RANGE_MASK)
It is verbose, but would follow style if want to use macros for values.
> >
>
> Viele Grüße,
> Stefan Roese
>
> --
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list