Re: Special handling of display/VGA devices in hotplug drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 11, 2014 at 10:34:30AM -0700, Bjorn Helgaas wrote:
> It looks like you added the initial pciehp driver [1], which includes
> the following code in pciehp_disable_slot():
> 
> + if (class_code == PCI_BASE_CLASS_DISPLAY) {
> + /* Display/Video adapter (not supported) */
> + rc = REMOVE_NOT_SUPPORTED;
> 
> + /* If it's a bridge, check the VGA Enable bit */
> + if ((header_type & 0x7F) == PCI_HEADER_TYPE_BRIDGE) {
> + rc = pci_bus_read_config_byte (pci_bus, devfn, PCI_BRIDGE_CONTROL, &BCR);
> + if (rc)
> + return rc;
> +
> + /* If the VGA Enable bit is set, remove isn't supported */
> + if (BCR & PCI_BRIDGE_CTL_VGA) {
> + rc = REMOVE_NOT_SUPPORTED;
> 
> I'm trying to figure out why VGA devices are handled specially.  I
> can't find anything in the PCI specs that mentions this.  Most of the
> other PCI hotplug drivers have similar code.  Do you remember anything
> about this?

The PCI spec said that you were not allowed to hotplug VGA drivers.  The
big issue is that POST usually needs to run on those things, and there
is no way to POST a PCI hotplugged device.

Does the spec not say that anymore?  I haven't looked in years at it...

Do you want to hot-add a VGA device?  Are these lines causing a problem
with something?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux