Lines Matching full:bsel
53 int bsel; member
60 uint64_t bsel = object_property_get_uint(OBJECT(bus), ACPI_PCIHP_PROP_BSEL, in acpi_pcihp_get_bsel() local
63 if (local_err || bsel >= ACPI_PCIHP_MAX_HOTPLUG_BUS) { in acpi_pcihp_get_bsel()
69 return bsel; in acpi_pcihp_get_bsel()
78 /* Assign BSEL property only to buses that support hotplug. */
127 if (find->bsel == acpi_pcihp_get_bsel(bus)) { in acpi_pcihp_test_hotplug_bus()
132 static PCIBus *acpi_pcihp_find_hotplug_bus(AcpiPciHpState *s, int bsel) in acpi_pcihp_find_hotplug_bus() argument
134 AcpiPciHpFind find = { .bsel = bsel, .bus = NULL }; in acpi_pcihp_find_hotplug_bus()
136 if (bsel < 0) { in acpi_pcihp_find_hotplug_bus()
142 /* Make bsel 0 eject root bus if bsel property is not set, in acpi_pcihp_find_hotplug_bus()
146 if (!bsel && !find.bus) { in acpi_pcihp_find_hotplug_bus()
151 * Check if find.bus is actually hotpluggable. If bsel is set to in acpi_pcihp_find_hotplug_bus()
153 * non-hotpluggable, find.bus will match the root bus when bsel in acpi_pcihp_find_hotplug_bus()
182 static void acpi_pcihp_eject_slot(AcpiPciHpState *s, unsigned bsel, unsigned slots) in acpi_pcihp_eject_slot() argument
187 PCIBus *bus = acpi_pcihp_find_hotplug_bus(s, bsel); in acpi_pcihp_eject_slot()
189 trace_acpi_pci_eject_slot(bsel, slot); in acpi_pcihp_eject_slot()
196 s->acpi_pcihp_pci_status[bsel].down &= ~(1U << slot); in acpi_pcihp_eject_slot()
197 s->acpi_pcihp_pci_status[bsel].up &= ~(1U << slot); in acpi_pcihp_eject_slot()
230 static void acpi_pcihp_update_hotplug_bus(AcpiPciHpState *s, int bsel) in acpi_pcihp_update_hotplug_bus() argument
233 PCIBus *bus = acpi_pcihp_find_hotplug_bus(s, bsel); in acpi_pcihp_update_hotplug_bus()
236 while (s->acpi_pcihp_pci_status[bsel].down) { in acpi_pcihp_update_hotplug_bus()
237 acpi_pcihp_eject_slot(s, bsel, s->acpi_pcihp_pci_status[bsel].down); in acpi_pcihp_update_hotplug_bus()
240 s->acpi_pcihp_pci_status[bsel].hotplug_enable = ~0; in acpi_pcihp_update_hotplug_bus()
251 s->acpi_pcihp_pci_status[bsel].hotplug_enable &= ~(1U << slot); in acpi_pcihp_update_hotplug_bus()
292 int bsel; in acpi_pcihp_device_plug_cb() local
321 bsel = acpi_pcihp_get_bsel(bus); in acpi_pcihp_device_plug_cb()
322 g_assert(bsel >= 0); in acpi_pcihp_device_plug_cb()
323 s->acpi_pcihp_pci_status[bsel].up |= (1U << slot); in acpi_pcihp_device_plug_cb()
344 int bsel = acpi_pcihp_get_bsel(pci_get_bus(pdev)); in acpi_pcihp_device_unplug_request_cb() local
346 trace_acpi_pci_unplug_request(bsel, slot); in acpi_pcihp_device_unplug_request_cb()
348 if (bsel < 0) { in acpi_pcihp_device_unplug_request_cb()
370 s->acpi_pcihp_pci_status[bsel].down |= (1U << slot); in acpi_pcihp_device_unplug_request_cb()
396 int bsel = s->hotplug_select; in pci_read() local
398 if (bsel < 0 || bsel >= ACPI_PCIHP_MAX_HOTPLUG_BUS) { in pci_read()
404 val = s->acpi_pcihp_pci_status[bsel].up; in pci_read()
406 s->acpi_pcihp_pci_status[bsel].up = 0; in pci_read()
411 val = s->acpi_pcihp_pci_status[bsel].down; in pci_read()
418 val = s->acpi_pcihp_pci_status[bsel].hotplug_enable; in pci_read()