summaryrefslogtreecommitdiff
path: root/libdde_linux26/lib/src/arch/l4
diff options
context:
space:
mode:
Diffstat (limited to 'libdde_linux26/lib/src/arch/l4')
-rw-r--r--libdde_linux26/lib/src/arch/l4/pci.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/libdde_linux26/lib/src/arch/l4/pci.c b/libdde_linux26/lib/src/arch/l4/pci.c
index d5a1414f..1cd64a7d 100644
--- a/libdde_linux26/lib/src/arch/l4/pci.c
+++ b/libdde_linux26/lib/src/arch/l4/pci.c
@@ -132,13 +132,21 @@ void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev)
//WARN_UNIMPL;
}
-void pci_set_master(struct pci_dev *dev)
+static unsigned int pcibios_max_latency = 255;
+
+void pcibios_set_master(struct pci_dev *dev)
{
- CHECK_INITVAR(dde26_pci);
- WARN_UNIMPL;
+ u8 lat;
+ pci_read_config_byte(dev, PCI_LATENCY_TIMER, &lat);
+ if (lat < 16)
+ lat = (64 <= pcibios_max_latency) ? 64 : pcibios_max_latency;
+ else if (lat > pcibios_max_latency)
+ lat = pcibios_max_latency;
+ else
+ return;
+ pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
}
-
int pci_create_sysfs_dev_files(struct pci_dev *pdev)
{
return 0;