Make xf86PciVideoInfo static since it is only used within this file.
Dummy out all of the PCI bus and device access control functions. We need a better way to do this, and that will probably be in libpciaccess and / or the kernel. Refactor xf86GetPciInfoForEntity to use pci_device_find_by_slot. Refector xf86CheckPciSlot to use xf86GetPciEntity. Eliminate disablePciBios and the one place that calls it.
This commit is contained in:
		
							parent
							
								
									5508f7646f
								
							
						
					
					
						commit
						190f229ed7
					
				| 
						 | 
					@ -54,7 +54,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Bus-specific globals */
 | 
					/* Bus-specific globals */
 | 
				
			||||||
Bool pciSlotClaimed = FALSE;
 | 
					Bool pciSlotClaimed = FALSE;
 | 
				
			||||||
struct pci_device ** xf86PciVideoInfo = NULL;	/* PCI probe for video hw */
 | 
					static struct pci_device ** xf86PciVideoInfo = NULL;	/* PCI probe for video hw */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PCI classes that get included in xf86PciVideoInfo */
 | 
					/* PCI classes that get included in xf86PciVideoInfo */
 | 
				
			||||||
| 
						 | 
					@ -175,10 +175,10 @@ FindPCIVideoInfo(void)
 | 
				
			||||||
	    uint16_t  command;
 | 
						    uint16_t  command;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    info = xf86PciVideoInfo[i];
 | 
						    info = xf86PciVideoInfo[i];
 | 
				
			||||||
	    pci_device_cfg_read_u16( info, & command, 4 );
 | 
						    pci_device_cfg_read_u16(info, & command, 4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    if ( (command & PCI_CMD_MEM_ENABLE) 
 | 
						    if ((command & PCI_CMD_MEM_ENABLE) 
 | 
				
			||||||
		 && ((num == 1) || IS_VGA( info->device_class )) ) {
 | 
							&& ((num == 1) || IS_VGA(info->device_class))) {
 | 
				
			||||||
		if (primaryBus.type == BUS_NONE) {
 | 
							if (primaryBus.type == BUS_NONE) {
 | 
				
			||||||
		    primaryBus.type = BUS_PCI;
 | 
							    primaryBus.type = BUS_PCI;
 | 
				
			||||||
		    primaryBus.id.pci.bus = PCI_MAKE_BUS( info->domain, info->bus );
 | 
							    primaryBus.id.pci.bus = PCI_MAKE_BUS( info->domain, info->bus );
 | 
				
			||||||
| 
						 | 
					@ -206,7 +206,7 @@ FindPCIVideoInfo(void)
 | 
				
			||||||
	chipname = pci_device_get_device_name( info );
 | 
						chipname = pci_device_get_device_name( info );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((!vendorname || !chipname) &&
 | 
						if ((!vendorname || !chipname) &&
 | 
				
			||||||
	    !PCIALWAYSPRINTCLASSES( info->device_class ))
 | 
						    !PCIALWAYSPRINTCLASSES(info->device_class))
 | 
				
			||||||
	    continue;
 | 
						    continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (xf86IsPrimaryPci(info))
 | 
						if (xf86IsPrimaryPci(info))
 | 
				
			||||||
| 
						 | 
					@ -270,21 +270,25 @@ FindPCIVideoInfo(void)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciIoAccessEnable(void* arg)
 | 
					pciIoAccessEnable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciIoAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciIoAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
					    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciIoAccessDisable(void* arg)
 | 
					pciIoAccessDisable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciIoAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciIoAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl &= ~SETBITS;
 | 
					    pArg->ctrl &= ~SETBITS;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#undef SETBITS
 | 
					#undef SETBITS
 | 
				
			||||||
| 
						 | 
					@ -292,21 +296,25 @@ pciIoAccessDisable(void* arg)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciIo_MemAccessEnable(void* arg)
 | 
					pciIo_MemAccessEnable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciIo_MemAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciIo_MemAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
					    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciIo_MemAccessDisable(void* arg)
 | 
					pciIo_MemAccessDisable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciIo_MemAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciIo_MemAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl &= ~SETBITS;
 | 
					    pArg->ctrl &= ~SETBITS;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#undef SETBITS
 | 
					#undef SETBITS
 | 
				
			||||||
| 
						 | 
					@ -314,21 +322,25 @@ pciIo_MemAccessDisable(void* arg)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciMemAccessEnable(void* arg)
 | 
					pciMemAccessEnable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciMemAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciMemAccessEnable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
					    pArg->ctrl |= SETBITS | PCI_CMD_MASTER_ENABLE;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciMemAccessDisable(void* arg)
 | 
					pciMemAccessDisable(void* arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciMemAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
					    ErrorF("pciMemAccessDisable: 0x%05lx\n", *(PCITAG *)arg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    pArg->ctrl &= ~SETBITS;
 | 
					    pArg->ctrl &= ~SETBITS;
 | 
				
			||||||
    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( pArg->dev, & pArg->ctrl, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#undef SETBITS
 | 
					#undef SETBITS
 | 
				
			||||||
#undef pArg
 | 
					#undef pArg
 | 
				
			||||||
| 
						 | 
					@ -339,6 +351,7 @@ pciMemAccessDisable(void* arg)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciBusAccessEnable(BusAccPtr ptr)
 | 
					pciBusAccessEnable(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
					    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
				
			||||||
    uint16_t ctrl;
 | 
					    uint16_t ctrl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -351,12 +364,14 @@ pciBusAccessEnable(BusAccPtr ptr)
 | 
				
			||||||
	    ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | PCI_PCI_BRIDGE_SECONDARY_RESET);
 | 
						    ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | PCI_PCI_BRIDGE_SECONDARY_RESET);
 | 
				
			||||||
	pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
						pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciBusAccessDisable(BusAccPtr ptr)
 | 
					pciBusAccessDisable(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
					    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
				
			||||||
    uint16_t ctrl;
 | 
					    uint16_t ctrl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -368,6 +383,7 @@ pciBusAccessDisable(BusAccPtr ptr)
 | 
				
			||||||
	ctrl &= ~(MASKBITS | PCI_PCI_BRIDGE_SECONDARY_RESET);
 | 
						ctrl &= ~(MASKBITS | PCI_PCI_BRIDGE_SECONDARY_RESET);
 | 
				
			||||||
	pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
						pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#undef MASKBITS
 | 
					#undef MASKBITS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -375,6 +391,7 @@ pciBusAccessDisable(BusAccPtr ptr)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciDrvBusAccessEnable(BusAccPtr ptr)
 | 
					pciDrvBusAccessEnable(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int bus = ptr->busdep.pci.bus;
 | 
					    int bus = ptr->busdep.pci.bus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
| 
						 | 
					@ -383,12 +400,14 @@ pciDrvBusAccessEnable(BusAccPtr ptr)
 | 
				
			||||||
    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
					    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
				
			||||||
						PCI_PCI_BRIDGE_VGA_EN,
 | 
											PCI_PCI_BRIDGE_VGA_EN,
 | 
				
			||||||
						PCI_PCI_BRIDGE_VGA_EN);
 | 
											PCI_PCI_BRIDGE_VGA_EN);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciDrvBusAccessDisable(BusAccPtr ptr)
 | 
					pciDrvBusAccessDisable(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int bus = ptr->busdep.pci.bus;
 | 
					    int bus = ptr->busdep.pci.bus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
| 
						 | 
					@ -396,12 +415,14 @@ pciDrvBusAccessDisable(BusAccPtr ptr)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
					    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
				
			||||||
						PCI_PCI_BRIDGE_VGA_EN, 0);
 | 
											PCI_PCI_BRIDGE_VGA_EN, 0);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
pciSetBusAccess(BusAccPtr ptr)
 | 
					pciSetBusAccess(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
    ErrorF("pciSetBusAccess: route VGA to bus %d\n", ptr->busdep.pci.bus);
 | 
					    ErrorF("pciSetBusAccess: route VGA to bus %d\n", ptr->busdep.pci.bus);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -424,12 +445,14 @@ pciSetBusAccess(BusAccPtr ptr)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ptr = ptr->primary;
 | 
						ptr = ptr->primary;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
savePciState( struct pci_device * dev, pciSavePtr ptr )
 | 
					savePciState( struct pci_device * dev, pciSavePtr ptr )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pci_device_cfg_read_u32( dev, & ptr->command, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_read_u32( dev, & ptr->command, PCI_CMD_STAT_REG );
 | 
				
			||||||
| 
						 | 
					@ -440,12 +463,14 @@ savePciState( struct pci_device * dev, pciSavePtr ptr )
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pci_device_cfg_read_u32( dev, & ptr->biosBase, PCI_CMD_BIOS_REG );
 | 
					    pci_device_cfg_read_u32( dev, & ptr->biosBase, PCI_CMD_BIOS_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
restorePciState( struct pci_device * dev, pciSavePtr ptr)
 | 
					restorePciState( struct pci_device * dev, pciSavePtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    /* disable card before setting anything */
 | 
					    /* disable card before setting anything */
 | 
				
			||||||
| 
						 | 
					@ -460,12 +485,14 @@ restorePciState( struct pci_device * dev, pciSavePtr ptr)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pci_device_cfg_write_u32( dev, & ptr->command, PCI_CMD_STAT_REG );
 | 
					    pci_device_cfg_write_u32( dev, & ptr->command, PCI_CMD_STAT_REG );
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
savePciBusState(BusAccPtr ptr)
 | 
					savePciBusState(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
					    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
				
			||||||
    uint16_t temp;
 | 
					    uint16_t temp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -477,6 +504,7 @@ savePciBusState(BusAccPtr ptr)
 | 
				
			||||||
	temp = ptr->busdep.pci.save.control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN;
 | 
						temp = ptr->busdep.pci.save.control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN;
 | 
				
			||||||
	pci_device_cfg_read_u16( dev, & temp, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
						pci_device_cfg_read_u16( dev, & temp, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
| 
						 | 
					@ -484,6 +512,7 @@ savePciBusState(BusAccPtr ptr)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
restorePciBusState(BusAccPtr ptr)
 | 
					restorePciBusState(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
					    struct pci_device * const dev = ptr->busdep.pci.dev;
 | 
				
			||||||
    uint16_t ctrl;
 | 
					    uint16_t ctrl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -495,6 +524,7 @@ restorePciBusState(BusAccPtr ptr)
 | 
				
			||||||
	ctrl |= ptr->busdep.pci.save.control & MASKBITS;
 | 
						ctrl |= ptr->busdep.pci.save.control & MASKBITS;
 | 
				
			||||||
	pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
						pci_device_cfg_write_u16( dev, & ctrl, PCI_PCI_BRIDGE_CONTROL_REG );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#undef MASKBITS
 | 
					#undef MASKBITS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -502,6 +532,7 @@ restorePciBusState(BusAccPtr ptr)
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
savePciDrvBusState(BusAccPtr ptr)
 | 
					savePciDrvBusState(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int bus = ptr->busdep.pci.bus;
 | 
					    int bus = ptr->busdep.pci.bus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ptr->busdep.pci.save.control =
 | 
					    ptr->busdep.pci.save.control =
 | 
				
			||||||
| 
						 | 
					@ -510,24 +541,19 @@ savePciDrvBusState(BusAccPtr ptr)
 | 
				
			||||||
    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
					    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus,
 | 
				
			||||||
						PCI_PCI_BRIDGE_MASTER_ABORT_EN,
 | 
											PCI_PCI_BRIDGE_MASTER_ABORT_EN,
 | 
				
			||||||
						0);
 | 
											0);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* move to OS layer */
 | 
					/* move to OS layer */
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
restorePciDrvBusState(BusAccPtr ptr)
 | 
					restorePciDrvBusState(BusAccPtr ptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    int bus = ptr->busdep.pci.bus;
 | 
					    int bus = ptr->busdep.pci.bus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus, (CARD16)(-1),
 | 
					    (*pciBusInfo[bus]->funcs->pciControlBridge)(bus, (CARD16)(-1),
 | 
				
			||||||
					        ptr->busdep.pci.save.control);
 | 
										        ptr->busdep.pci.save.control);
 | 
				
			||||||
}
 | 
					#endif
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void
 | 
					 | 
				
			||||||
disablePciBios(struct pci_device * dev)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    pci_device_cfg_write_bits(dev, PCI_CMD_BIOS_ENABLE, 0,
 | 
					 | 
				
			||||||
			       PCI_CMD_BIOS_REG);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -688,6 +714,7 @@ initPciBusState(void)
 | 
				
			||||||
void 
 | 
					void 
 | 
				
			||||||
PciStateEnter(void)
 | 
					PciStateEnter(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    unsigned i;
 | 
					    unsigned i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (xf86PciVideoInfo == NULL)
 | 
					    if (xf86PciVideoInfo == NULL)
 | 
				
			||||||
| 
						 | 
					@ -702,11 +729,13 @@ PciStateEnter(void)
 | 
				
			||||||
	    paccp->arg.ctrl = paccp->restore.command;
 | 
						    paccp->arg.ctrl = paccp->restore.command;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
PciBusStateEnter(void)
 | 
					PciBusStateEnter(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    BusAccPtr pbap = xf86BusAccInfo;
 | 
					    BusAccPtr pbap = xf86BusAccInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (pbap) {
 | 
					    while (pbap) {
 | 
				
			||||||
| 
						 | 
					@ -714,11 +743,13 @@ PciBusStateEnter(void)
 | 
				
			||||||
	    pbap->save_f(pbap);
 | 
						    pbap->save_f(pbap);
 | 
				
			||||||
	pbap = pbap->next;
 | 
						pbap = pbap->next;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void 
 | 
					void 
 | 
				
			||||||
PciStateLeave(void)
 | 
					PciStateLeave(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    unsigned i;
 | 
					    unsigned i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (xf86PciVideoInfo == NULL)
 | 
					    if (xf86PciVideoInfo == NULL)
 | 
				
			||||||
| 
						 | 
					@ -732,11 +763,13 @@ PciStateLeave(void)
 | 
				
			||||||
	    restorePciState(paccp->arg.dev, &paccp->save);
 | 
						    restorePciState(paccp->arg.dev, &paccp->save);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
PciBusStateLeave(void)
 | 
					PciBusStateLeave(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    BusAccPtr pbap = xf86BusAccInfo;
 | 
					    BusAccPtr pbap = xf86BusAccInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (pbap) {
 | 
					    while (pbap) {
 | 
				
			||||||
| 
						 | 
					@ -744,11 +777,13 @@ PciBusStateLeave(void)
 | 
				
			||||||
	    pbap->restore_f(pbap);
 | 
						    pbap->restore_f(pbap);
 | 
				
			||||||
	pbap = pbap->next;
 | 
						pbap = pbap->next;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void 
 | 
					void 
 | 
				
			||||||
DisablePciAccess(void)
 | 
					DisablePciAccess(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    unsigned i;
 | 
					    unsigned i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (xf86PciVideoInfo == NULL)
 | 
					    if (xf86PciVideoInfo == NULL)
 | 
				
			||||||
| 
						 | 
					@ -761,11 +796,13 @@ DisablePciAccess(void)
 | 
				
			||||||
	    pciIo_MemAccessDisable(paccp->io_memAccess.arg);
 | 
						    pciIo_MemAccessDisable(paccp->io_memAccess.arg);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
DisablePciBusAccess(void)
 | 
					DisablePciBusAccess(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
    BusAccPtr pbap = xf86BusAccInfo;
 | 
					    BusAccPtr pbap = xf86BusAccInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (pbap) {
 | 
					    while (pbap) {
 | 
				
			||||||
| 
						 | 
					@ -775,6 +812,7 @@ DisablePciBusAccess(void)
 | 
				
			||||||
	    pbap->primary->current = NULL;
 | 
						    pbap->primary->current = NULL;
 | 
				
			||||||
	pbap = pbap->next;
 | 
						pbap = pbap->next;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
| 
						 | 
					@ -825,8 +863,6 @@ xf86ClaimPciSlot(struct pci_device * d, DriverPtr drvp,
 | 
				
			||||||
	    pbap = pbap->next;
 | 
						    pbap = pbap->next;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* in case bios is enabled disable it */
 | 
					 | 
				
			||||||
	disablePciBios( d );
 | 
					 | 
				
			||||||
	pciSlotClaimed = TRUE;
 | 
						pciSlotClaimed = TRUE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (active) {
 | 
						if (active) {
 | 
				
			||||||
| 
						 | 
					@ -958,21 +994,12 @@ xf86GetPciInfoForEntity(int entityIndex)
 | 
				
			||||||
	return NULL;
 | 
						return NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    p = xf86Entities[entityIndex];
 | 
					    p = xf86Entities[entityIndex];
 | 
				
			||||||
    if (p->busType == BUS_PCI) {
 | 
					    return (p->busType == BUS_PCI)
 | 
				
			||||||
	const unsigned domain = PCI_DOM_FROM_BUS(p->pciBusId.bus);
 | 
					      ? pci_device_find_by_slot(PCI_DOM_FROM_BUS(p->pciBusId.bus),
 | 
				
			||||||
	const unsigned bus = PCI_BUS_NO_DOMAIN(p->pciBusId.bus);
 | 
									PCI_BUS_NO_DOMAIN(p->pciBusId.bus),
 | 
				
			||||||
	struct pci_device ** ppPci;
 | 
									p->pciBusId.device,
 | 
				
			||||||
 | 
									p->pciBusId.func)
 | 
				
			||||||
	for (ppPci = xf86PciVideoInfo; *ppPci != NULL; ppPci++) {
 | 
					      : NULL;
 | 
				
			||||||
	    if (domain == (*ppPci)->domain &&
 | 
					 | 
				
			||||||
		bus == (*ppPci)->bus &&
 | 
					 | 
				
			||||||
		p->pciBusId.device == (*ppPci)->dev &&
 | 
					 | 
				
			||||||
		p->pciBusId.func == (*ppPci)->func) 
 | 
					 | 
				
			||||||
	      return (*ppPci);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return NULL;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_X_EXPORT int
 | 
					_X_EXPORT int
 | 
				
			||||||
| 
						 | 
					@ -981,14 +1008,15 @@ xf86GetPciEntity(int bus, int dev, int func)
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    for (i = 0; i < xf86NumEntities; i++) {
 | 
					    for (i = 0; i < xf86NumEntities; i++) {
 | 
				
			||||||
	EntityPtr p = xf86Entities[i];
 | 
						const EntityPtr p = xf86Entities[i];
 | 
				
			||||||
	if (p->busType != BUS_PCI) continue;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (p->pciBusId.bus == bus &&
 | 
						if ((p->busType == BUS_PCI) &&
 | 
				
			||||||
	    p->pciBusId.device == dev &&
 | 
						    (p->pciBusId.bus == bus) &&
 | 
				
			||||||
	    p->pciBusId.func == func) 
 | 
						    (p->pciBusId.device == dev) &&
 | 
				
			||||||
 | 
						    (p->pciBusId.func == func)) {
 | 
				
			||||||
	    return i;
 | 
						    return i;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1014,19 +1042,8 @@ xf86CheckPciMemBase( struct pci_device * pPci, memType base )
 | 
				
			||||||
_X_EXPORT Bool
 | 
					_X_EXPORT Bool
 | 
				
			||||||
xf86CheckPciSlot( const struct pci_device * d )
 | 
					xf86CheckPciSlot( const struct pci_device * d )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int i;
 | 
					    return (xf86GetPciEntity(PCI_MAKE_BUS(d->domain, d->bus),
 | 
				
			||||||
    EntityPtr p;
 | 
								     d->dev, d->func) == -1);
 | 
				
			||||||
    const unsigned busnum = PCI_MAKE_BUS(d->domain, d->bus);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for (i = 0; i < xf86NumEntities; i++) {
 | 
					 | 
				
			||||||
	p = xf86Entities[i];
 | 
					 | 
				
			||||||
	/* Check if this PCI slot is taken */
 | 
					 | 
				
			||||||
	if (p->busType == BUS_PCI && p->pciBusId.bus == busnum &&
 | 
					 | 
				
			||||||
	    p->pciBusId.device == d->dev && p->pciBusId.func == d->func)
 | 
					 | 
				
			||||||
	    return FALSE;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    return TRUE;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue