mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
hw/pci: Rename has_power to enabled
The renamed state will not only represent powering state of PFs, but also represent SR-IOV VF enablement in the future. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20250109-reuse-v19-1-f541e82ca5f7@daynix.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
b7700c9fb1
commit
c407eef162
4 changed files with 15 additions and 9 deletions
17
hw/pci/pci.c
17
hw/pci/pci.c
|
@ -1598,7 +1598,7 @@ static void pci_update_mappings(PCIDevice *d)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
new_addr = pci_bar_address(d, i, r->type, r->size);
|
new_addr = pci_bar_address(d, i, r->type, r->size);
|
||||||
if (!d->has_power) {
|
if (!d->enabled) {
|
||||||
new_addr = PCI_BAR_UNMAPPED;
|
new_addr = PCI_BAR_UNMAPPED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1686,7 +1686,7 @@ void pci_default_write_config(PCIDevice *d, uint32_t addr, uint32_t val_in, int
|
||||||
pci_update_irq_disabled(d, was_irq_disabled);
|
pci_update_irq_disabled(d, was_irq_disabled);
|
||||||
memory_region_set_enabled(&d->bus_master_enable_region,
|
memory_region_set_enabled(&d->bus_master_enable_region,
|
||||||
(pci_get_word(d->config + PCI_COMMAND)
|
(pci_get_word(d->config + PCI_COMMAND)
|
||||||
& PCI_COMMAND_MASTER) && d->has_power);
|
& PCI_COMMAND_MASTER) && d->enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
msi_write_config(d, addr, val_in, l);
|
msi_write_config(d, addr, val_in, l);
|
||||||
|
@ -2963,16 +2963,21 @@ MSIMessage pci_get_msi_message(PCIDevice *dev, int vector)
|
||||||
|
|
||||||
void pci_set_power(PCIDevice *d, bool state)
|
void pci_set_power(PCIDevice *d, bool state)
|
||||||
{
|
{
|
||||||
if (d->has_power == state) {
|
pci_set_enabled(d, state);
|
||||||
|
}
|
||||||
|
|
||||||
|
void pci_set_enabled(PCIDevice *d, bool state)
|
||||||
|
{
|
||||||
|
if (d->enabled == state) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
d->has_power = state;
|
d->enabled = state;
|
||||||
pci_update_mappings(d);
|
pci_update_mappings(d);
|
||||||
memory_region_set_enabled(&d->bus_master_enable_region,
|
memory_region_set_enabled(&d->bus_master_enable_region,
|
||||||
(pci_get_word(d->config + PCI_COMMAND)
|
(pci_get_word(d->config + PCI_COMMAND)
|
||||||
& PCI_COMMAND_MASTER) && d->has_power);
|
& PCI_COMMAND_MASTER) && d->enabled);
|
||||||
if (!d->has_power) {
|
if (!d->enabled) {
|
||||||
pci_device_reset(d);
|
pci_device_reset(d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ void pci_host_config_write_common(PCIDevice *pci_dev, uint32_t addr,
|
||||||
* allowing direct removal of unexposed functions.
|
* allowing direct removal of unexposed functions.
|
||||||
*/
|
*/
|
||||||
if ((pci_dev->qdev.hotplugged && !pci_get_function_0(pci_dev)) ||
|
if ((pci_dev->qdev.hotplugged && !pci_get_function_0(pci_dev)) ||
|
||||||
!pci_dev->has_power || is_pci_dev_ejected(pci_dev)) {
|
!pci_dev->enabled || is_pci_dev_ejected(pci_dev)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ uint32_t pci_host_config_read_common(PCIDevice *pci_dev, uint32_t addr,
|
||||||
* allowing direct removal of unexposed functions.
|
* allowing direct removal of unexposed functions.
|
||||||
*/
|
*/
|
||||||
if ((pci_dev->qdev.hotplugged && !pci_get_function_0(pci_dev)) ||
|
if ((pci_dev->qdev.hotplugged && !pci_get_function_0(pci_dev)) ||
|
||||||
!pci_dev->has_power || is_pci_dev_ejected(pci_dev)) {
|
!pci_dev->enabled || is_pci_dev_ejected(pci_dev)) {
|
||||||
return ~0x0;
|
return ~0x0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -674,6 +674,7 @@ static inline void pci_irq_deassert(PCIDevice *pci_dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
MSIMessage pci_get_msi_message(PCIDevice *dev, int vector);
|
MSIMessage pci_get_msi_message(PCIDevice *dev, int vector);
|
||||||
|
void pci_set_enabled(PCIDevice *pci_dev, bool state);
|
||||||
void pci_set_power(PCIDevice *pci_dev, bool state);
|
void pci_set_power(PCIDevice *pci_dev, bool state);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -57,7 +57,7 @@ typedef struct PCIReqIDCache PCIReqIDCache;
|
||||||
struct PCIDevice {
|
struct PCIDevice {
|
||||||
DeviceState qdev;
|
DeviceState qdev;
|
||||||
bool partially_hotplugged;
|
bool partially_hotplugged;
|
||||||
bool has_power;
|
bool enabled;
|
||||||
|
|
||||||
/* PCI config space */
|
/* PCI config space */
|
||||||
uint8_t *config;
|
uint8_t *config;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue