mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 00:47:26 +00:00
pci: Show a message if PCI autoconfig fails
At present this fails silently which can be confusing since some devices on the PCI bus may not work correctly. Show a message in this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: add a '\n' in the PCI autoconfig fail message] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
f365152a55
commit
6a73cf3d8f
1 changed files with 9 additions and 3 deletions
|
@ -39,6 +39,8 @@ void dm_pciauto_setup_device(struct udevice *dev, int bars_num,
|
||||||
|
|
||||||
for (bar = PCI_BASE_ADDRESS_0;
|
for (bar = PCI_BASE_ADDRESS_0;
|
||||||
bar < PCI_BASE_ADDRESS_0 + (bars_num * 4); bar += 4) {
|
bar < PCI_BASE_ADDRESS_0 + (bars_num * 4); bar += 4) {
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
/* Tickle the BAR and get the response */
|
/* Tickle the BAR and get the response */
|
||||||
if (!enum_only)
|
if (!enum_only)
|
||||||
dm_pci_write_config32(dev, bar, 0xffffffff);
|
dm_pci_write_config32(dev, bar, 0xffffffff);
|
||||||
|
@ -97,9 +99,13 @@ void dm_pciauto_setup_device(struct udevice *dev, int bars_num,
|
||||||
(unsigned long long)bar_size);
|
(unsigned long long)bar_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!enum_only && pciauto_region_allocate(bar_res, bar_size,
|
if (!enum_only) {
|
||||||
&bar_value,
|
ret = pciauto_region_allocate(bar_res, bar_size,
|
||||||
found_mem64) == 0) {
|
&bar_value, found_mem64);
|
||||||
|
if (ret)
|
||||||
|
printf("PCI: Failed autoconfig bar %x\n", bar);
|
||||||
|
}
|
||||||
|
if (!enum_only && !ret) {
|
||||||
/* Write it out and update our limit */
|
/* Write it out and update our limit */
|
||||||
dm_pci_write_config32(dev, bar, (u32)bar_value);
|
dm_pci_write_config32(dev, bar, (u32)bar_value);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue