echo 1 / sys / bus / pci / slots / [número do slot] / power está mudando o valor do registro do espaço de configuração PCIe?

2

ao fazer

echo 1  > /sys/bus/pci/slots/[slot number]/power

o kernel mudará o valor em algum (ou particular) registro de espaço de configuração PCIe deste dispositivo?

No meu entender, quando um sistema (PC) é ligado, a energia já fornece para dispositivos PCIe, mas o kernel ainda pode controlar alguns slots para serem ON e OFF (como o comando sysfs contorl neste artigo), é que porque o kernel está configurando um registrador no espaço de configuração PCIe que controla seu poder?

quando o lemos, isso também lê a partir de um registrador no registro de controle de slots?

ex:

cat /sys/bus/pci/slots/[slot number]/power 
    
por Mark 26.09.2018 / 11:35

1 resposta

1

Aqui está o meu rastreamento (deixe-me saber se estou errado)

power_write_file () link

slot->ops->disable_slot(slot);

ops->disable_slot = disable_slot;

link

static int disable_slot(struct hotplug_slot *hotplug_slot)
{
    struct slot *slot = hotplug_slot->private;

    return pciehp_sysfs_disable_slot(slot);
}

link

retval = pciehp_disable_slot(p_slot);

remove_board(struct slot *p_slot)

link

finalmente, conseguimos:

void pciehp_power_off_slot(struct slot *slot)
{
    struct controller *ctrl = slot->ctrl;

    pcie_write_cmd(ctrl, PCI_EXP_SLTCTL_PWR_OFF, PCI_EXP_SLTCTL_PCC);
    ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__,
         pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL,
         PCI_EXP_SLTCTL_PWR_OFF);
}

link

#define  PCI_EXP_SLTCTL_PWR_OFF        0x0400 /* Power Off */
#define PCI_EXP_SLTCTL      24  /* Slot Control */

link

0x0400 == > 10000000000 # bit 10 == 1 == > O registro de controle do controlador de energia é 1 no registro de controle de slot (deslocamento 18h == 24)

de acordo com as especificações do PCIe sobre o registro de controle de controle de energia:

0b Power On
1b Power Off

portanto, a resposta é sim,

o kernel mudará o registro de Controle de Controle de Potência no Registro de Controle de Slot.

    
por 01.10.2018 / 11:22