mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
PCI: dwc: Rename and move ltssm_status_string() to pcie-designware.c
Rename ltssm_status_string() to dw_pcie_ltssm_status_string() and move it to the common file pcie-designware.c so that this function could be used outside of pcie-designware-debugfs.c file. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Tested-by: Richard Zhu <hongxing.zhu@nxp.com> Tested-by: Vincent Guittot <vincent.guittot@linaro.org> Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com> Reviewed-by: Niklas Cassel <cassel@kernel.org> Link: https://patch.msgid.link/20260120-pci-dwc-suspend-rework-v4-3-2f32d5082549@oss.qualcomm.com
This commit is contained in:
parent
01d16b8afb
commit
36dd677f7d
|
|
@ -443,65 +443,13 @@ static ssize_t counter_value_read(struct file *file, char __user *buf,
|
|||
return simple_read_from_buffer(buf, count, ppos, debugfs_buf, pos);
|
||||
}
|
||||
|
||||
static const char *ltssm_status_string(enum dw_pcie_ltssm ltssm)
|
||||
{
|
||||
const char *str;
|
||||
|
||||
switch (ltssm) {
|
||||
#define DW_PCIE_LTSSM_NAME(n) case n: str = #n; break
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_QUIET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_ACT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_ACTIVE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_COMPLIANCE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_CONFIG);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_PRE_DETECT_QUIET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_WAIT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LINKWD_START);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LINKWD_ACEPT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LANENUM_WAI);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LANENUM_ACEPT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_COMPLETE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_LOCK);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_SPEED);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_RCVRCFG);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L0);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L0S);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L123_SEND_EIDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L2_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L2_WAKE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_ACTIVE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_EXIT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_EXIT_TIMEOUT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_HOT_RESET_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_HOT_RESET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ0);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ1);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ2);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ3);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_1);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_2);
|
||||
default:
|
||||
str = "DW_PCIE_LTSSM_UNKNOWN";
|
||||
break;
|
||||
}
|
||||
|
||||
return str + strlen("DW_PCIE_LTSSM_");
|
||||
}
|
||||
|
||||
static int ltssm_status_show(struct seq_file *s, void *v)
|
||||
{
|
||||
struct dw_pcie *pci = s->private;
|
||||
enum dw_pcie_ltssm val;
|
||||
|
||||
val = dw_pcie_get_ltssm(pci);
|
||||
seq_printf(s, "%s (0x%02x)\n", ltssm_status_string(val), val);
|
||||
seq_printf(s, "%s (0x%02x)\n", dw_pcie_ltssm_status_string(val), val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -692,6 +692,58 @@ void dw_pcie_disable_atu(struct dw_pcie *pci, u32 dir, int index)
|
|||
dw_pcie_writel_atu(pci, dir, index, PCIE_ATU_REGION_CTRL2, 0);
|
||||
}
|
||||
|
||||
const char *dw_pcie_ltssm_status_string(enum dw_pcie_ltssm ltssm)
|
||||
{
|
||||
const char *str;
|
||||
|
||||
switch (ltssm) {
|
||||
#define DW_PCIE_LTSSM_NAME(n) case n: str = #n; break
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_QUIET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_ACT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_ACTIVE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_COMPLIANCE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_POLL_CONFIG);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_PRE_DETECT_QUIET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DETECT_WAIT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LINKWD_START);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LINKWD_ACEPT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LANENUM_WAI);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_LANENUM_ACEPT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_COMPLETE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_CFG_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_LOCK);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_SPEED);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_RCVRCFG);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L0);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L0S);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L123_SEND_EIDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L2_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L2_WAKE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED_IDLE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_DISABLED);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_ACTIVE);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_EXIT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_LPBK_EXIT_TIMEOUT);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_HOT_RESET_ENTRY);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_HOT_RESET);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ0);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ1);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ2);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_RCVRY_EQ3);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_1);
|
||||
DW_PCIE_LTSSM_NAME(DW_PCIE_LTSSM_L1_2);
|
||||
default:
|
||||
str = "DW_PCIE_LTSSM_UNKNOWN";
|
||||
break;
|
||||
}
|
||||
|
||||
return str + strlen("DW_PCIE_LTSSM_");
|
||||
}
|
||||
|
||||
/**
|
||||
* dw_pcie_wait_for_link - Wait for the PCIe link to be up
|
||||
* @pci: DWC instance
|
||||
|
|
|
|||
|
|
@ -828,6 +828,8 @@ static inline enum dw_pcie_ltssm dw_pcie_get_ltssm(struct dw_pcie *pci)
|
|||
return (enum dw_pcie_ltssm)FIELD_GET(PORT_LOGIC_LTSSM_STATE_MASK, val);
|
||||
}
|
||||
|
||||
const char *dw_pcie_ltssm_status_string(enum dw_pcie_ltssm ltssm);
|
||||
|
||||
#ifdef CONFIG_PCIE_DW_HOST
|
||||
int dw_pcie_suspend_noirq(struct dw_pcie *pci);
|
||||
int dw_pcie_resume_noirq(struct dw_pcie *pci);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user