Lines Matching +full:cmd +full:- +full:timeout +full:- +full:ms

1 // SPDX-License-Identifier: GPL-2.0
18 #define ICL_LC_MAILBOX_TIMEOUT 500 /* ms */
27 struct tb *tb = pci_get_drvdata(nhi->pdev); in icl_nhi_is_device_connected()
30 ret = device_for_each_child(&tb->root_switch->dev, NULL, in icl_nhi_is_device_connected()
51 pci_read_config_dword(nhi->pdev, VS_CAP_22, &vs_cap); in icl_nhi_force_power()
59 pci_write_config_dword(nhi->pdev, VS_CAP_22, vs_cap); in icl_nhi_force_power()
67 pci_read_config_dword(nhi->pdev, VS_CAP_9, &val); in icl_nhi_force_power()
71 } while (--retries); in icl_nhi_force_power()
73 return -ETIMEDOUT; in icl_nhi_force_power()
79 static void icl_nhi_lc_mailbox_cmd(struct tb_nhi *nhi, enum icl_lc_mailbox_cmd cmd) in icl_nhi_lc_mailbox_cmd() argument
83 data = (cmd << VS_CAP_19_CMD_SHIFT) & VS_CAP_19_CMD_MASK; in icl_nhi_lc_mailbox_cmd()
84 pci_write_config_dword(nhi->pdev, VS_CAP_19, data | VS_CAP_19_VALID); in icl_nhi_lc_mailbox_cmd()
87 static int icl_nhi_lc_mailbox_cmd_complete(struct tb_nhi *nhi, int timeout) in icl_nhi_lc_mailbox_cmd_complete() argument
92 if (!timeout) in icl_nhi_lc_mailbox_cmd_complete()
95 end = jiffies + msecs_to_jiffies(timeout); in icl_nhi_lc_mailbox_cmd_complete()
97 pci_read_config_dword(nhi->pdev, VS_CAP_18, &data); in icl_nhi_lc_mailbox_cmd_complete()
103 return -ETIMEDOUT; in icl_nhi_lc_mailbox_cmd_complete()
107 pci_write_config_dword(nhi->pdev, VS_CAP_19, 0); in icl_nhi_lc_mailbox_cmd_complete()
115 pci_read_config_dword(nhi->pdev, VS_CAP_16, &max_ltr); in icl_nhi_set_ltr()
117 /* Program the same value for both snoop and no-snoop */ in icl_nhi_set_ltr()
119 pci_write_config_dword(nhi->pdev, VS_CAP_15, ltr); in icl_nhi_set_ltr()
124 struct tb *tb = pci_get_drvdata(nhi->pdev); in icl_nhi_suspend()
130 if (tb_switch_is_icm(tb->root_switch)) { in icl_nhi_suspend()
147 struct tb *tb = pci_get_drvdata(nhi->pdev); in icl_nhi_suspend_noirq()
148 enum icl_lc_mailbox_cmd cmd; in icl_nhi_suspend_noirq() local
153 if (!tb_switch_is_icm(tb->root_switch)) in icl_nhi_suspend_noirq()
156 cmd = wakeup ? ICL_LC_GO2SX : ICL_LC_GO2SX_NO_WAKE; in icl_nhi_suspend_noirq()
157 icl_nhi_lc_mailbox_cmd(nhi, cmd); in icl_nhi_suspend_noirq()