66484f0f | 01-Feb-2016 |
Bin Meng <bmeng.cn@gmail.com> |
x86: tnc: Remove IGD and SDVO devices from driver model
With recent DM PCI changes to vesa_fb driver, external graphics card does not work any more. This is because: after setting the function disab
x86: tnc: Remove IGD and SDVO devices from driver model
With recent DM PCI changes to vesa_fb driver, external graphics card does not work any more. This is because: after setting the function disable bit, IGD and SDVO devices will disappear in the PCI configuration space. This however creates an inconsistent state from a driver model PCI controller point of view, as these two PCI devices are still attached to its parent's child device list as maintained by the driver model. Some driver model PCI APIs like dm_pci_find_class() used in the vesa_fb driver, are referring to the list to speed up the finding process instead of re-enumerating the whole PCI bus, so it gets the stale cached data which is wrong.
To fix this, manually remove these two devices.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|
2b94d9fc | 01-Feb-2016 |
Bin Meng <bmeng.cn@gmail.com> |
x86: tnc: Use DM PCI API in disable_igd()
Once we get udevice of IGD and SDVO, we can use its udevice to access PCI configuration space with dm_pci_write_config32().
Signed-off-by: Bin Meng <bmeng.
x86: tnc: Use DM PCI API in disable_igd()
Once we get udevice of IGD and SDVO, we can use its udevice to access PCI configuration space with dm_pci_write_config32().
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|
9e36c53d | 01-Feb-2016 |
Bin Meng <bmeng.cn@gmail.com> |
x86: tnc: Change disable_igd() to have a return value
So far disable_igd() does not have any return value, but we may need that in the future.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-
x86: tnc: Change disable_igd() to have a return value
So far disable_igd() does not have any return value, but we may need that in the future.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|