mirror of
https://github.com/ipxe/ipxe
synced 2026-02-14 02:31:26 +03:00
[phantom] Fix P3 B1 silicon bug workaround
Commit f58cc3f introduced a temporary workaround for a bug in current
prototype silicon, but failed to apply it to all eight PCI functions
within the device.
This commit is contained in:
@@ -1861,12 +1861,14 @@ static int phantom_probe ( struct pci_device *pci,
|
|||||||
* B2 will have this fixed; remove this hack when B1 is no
|
* B2 will have this fixed; remove this hack when B1 is no
|
||||||
* longer in use.
|
* longer in use.
|
||||||
*/
|
*/
|
||||||
{
|
for ( i = 0 ; i < 8 ; i++ ) {
|
||||||
uint32_t temp;
|
uint32_t temp;
|
||||||
|
pci->devfn = PCI_DEVFN ( PCI_SLOT ( pci->devfn ), i );
|
||||||
pci_read_config_dword ( pci, 0xc8, &temp );
|
pci_read_config_dword ( pci, 0xc8, &temp );
|
||||||
pci_read_config_dword ( pci, 0xc8, &temp );
|
pci_read_config_dword ( pci, 0xc8, &temp );
|
||||||
pci_write_config_dword ( pci, 0xc8, 0xf1000 );
|
pci_write_config_dword ( pci, 0xc8, 0xf1000 );
|
||||||
}
|
}
|
||||||
|
pci->devfn = PCI_DEVFN ( PCI_SLOT ( pci->devfn ), 0 );
|
||||||
|
|
||||||
/* Allocate dummy DMA buffer and perform initial hardware handshake */
|
/* Allocate dummy DMA buffer and perform initial hardware handshake */
|
||||||
phantom->dma_buf = malloc_dma ( sizeof ( *(phantom->dma_buf) ),
|
phantom->dma_buf = malloc_dma ( sizeof ( *(phantom->dma_buf) ),
|
||||||
|
|||||||
Reference in New Issue
Block a user