[PATCH] pci: When disabling pref MEM set all base bits
Stefan Roese
sr at denx.de
Thu Dec 2 16:38:07 CET 2021
On 12/2/21 00:12, Pali Rohár wrote:
> 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).
Again, no real issue IMHO - was just checking. Perhaps someone else has
more thoughts on this.
Thanks,
Stefan
>> 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
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