Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afe2478f authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

PCI: pciehp: Announce slot capabilities (slot #, button, LEDs, etc)



We already have the vendor/device IDs from pci_setup_device(), so drop that
info and print things that will be more useful for debugging: the slot
number and presence of button/indicators/link active reporting/etc.

No functional change.

Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 6dae6202
Loading
Loading
Loading
Loading
+12 −3
Original line number Original line Diff line number Diff line
@@ -771,6 +771,8 @@ static inline void dbg_ctrl(struct controller *ctrl)
	ctrl_info(ctrl, "Slot Control           : 0x%04x\n", reg16);
	ctrl_info(ctrl, "Slot Control           : 0x%04x\n", reg16);
}
}


#define FLAG(x,y)	(((x) & (y)) ? '+' : '-')

struct controller *pcie_init(struct pcie_device *dev)
struct controller *pcie_init(struct pcie_device *dev)
{
{
	struct controller *ctrl;
	struct controller *ctrl;
@@ -811,9 +813,16 @@ struct controller *pcie_init(struct pcie_device *dev)
	/* Disable software notification */
	/* Disable software notification */
	pcie_disable_notification(ctrl);
	pcie_disable_notification(ctrl);


	ctrl_info(ctrl, "HPC vendor_id %x device_id %x ss_vid %x ss_did %x\n",
	ctrl_info(ctrl, "Slot #%d AttnBtn%c AttnInd%c PwrInd%c PwrCtrl%c MRL%c Interlock%c NoCompl%c LLActRep%c\n",
		  pdev->vendor, pdev->device, pdev->subsystem_vendor,
		(slot_cap & PCI_EXP_SLTCAP_PSN) >> 19,
		  pdev->subsystem_device);
		FLAG(slot_cap, PCI_EXP_SLTCAP_ABP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_AIP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_PIP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_PCP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_MRLSP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_EIP),
		FLAG(slot_cap, PCI_EXP_SLTCAP_NCCS),
		FLAG(link_cap, PCI_EXP_LNKCAP_DLLLARC));


	if (pcie_init_slot(ctrl))
	if (pcie_init_slot(ctrl))
		goto abort_ctrl;
		goto abort_ctrl;