Lines Matching refs:icm

53  * struct icm - Internal connection manager private data
79 struct icm {
167 static inline struct tb *icm_to_tb(struct icm *icm)
169 return ((void *)icm - sizeof(struct tb));
196 static int pci2cio_wait_completion(struct icm *icm, unsigned long timeout_msec)
202 pci_read_config_dword(icm->upstream_port,
203 icm->vnd_cap + PCIE2CIO_CMD, &cmd);
216 static int pcie2cio_read(struct icm *icm, enum tb_cfg_space cs,
219 struct pci_dev *pdev = icm->upstream_port;
220 int ret, vnd_cap = icm->vnd_cap;
229 ret = pci2cio_wait_completion(icm, 5000);
237 static int pcie2cio_write(struct icm *icm, enum tb_cfg_space cs,
240 struct pci_dev *pdev = icm->upstream_port;
241 int vnd_cap = icm->vnd_cap;
252 return pci2cio_wait_completion(icm, 5000);
286 struct icm *icm = tb_priv(tb);
306 mutex_lock(&icm->request_lock);
308 mutex_unlock(&icm->request_lock);
328 struct icm *icm = tb_priv(tb);
330 if (delayed_work_pending(&icm->rescan_work))
331 mod_delayed_work(tb->wq, &icm->rescan_work,
337 struct icm *icm = tb_priv(tb);
339 if (!icm->veto) {
340 icm->veto = true;
348 struct icm *icm = tb_priv(tb);
350 if (icm->veto) {
351 icm->veto = false;
709 struct icm *icm = tb_priv(tb);
757 ret = icm->get_route(tb, link, depth, &route);
816 ret = icm->get_route(tb, link, depth, &route);
1392 struct icm *icm = tb_priv(tb);
1415 icm->upstream_port = upstream_port;
1416 icm->vnd_cap = cap;
1652 struct icm *icm = tb_priv(tb);
1664 icm->device_connected(tb, n->pkg);
1667 icm->device_disconnected(tb, n->pkg);
1670 icm->xdomain_connected(tb, n->pkg);
1673 icm->xdomain_disconnected(tb, n->pkg);
1676 icm->rtd3_veto(tb, n->pkg);
1707 struct icm *icm = tb_priv(tb);
1711 ret = icm->driver_ready(tb, security_level, nboot_acl, rpm);
1739 struct icm *icm = tb_priv(tb);
1742 if (!icm->upstream_port)
1757 return icm->cio_reset(tb);
1791 struct icm *icm = tb_priv(tb);
1797 if (!icm->upstream_port)
1812 ret = pcie2cio_read(icm, TB_CFG_PORT, port0, PHY_PORT_CS1, &val0);
1815 ret = pcie2cio_read(icm, TB_CFG_PORT, port1, PHY_PORT_CS1, &val1);
1829 ret = pcie2cio_write(icm, TB_CFG_PORT, port0, PHY_PORT_CS1, val0);
1834 ret = pcie2cio_write(icm, TB_CFG_PORT, port1, PHY_PORT_CS1, val1);
1841 ret = pcie2cio_read(icm, TB_CFG_PORT, port0, PHY_PORT_CS1, &val0);
1844 ret = pcie2cio_read(icm, TB_CFG_PORT, port1, PHY_PORT_CS1, &val1);
1849 ret = pcie2cio_write(icm, TB_CFG_PORT, port0, PHY_PORT_CS1, val0);
1854 return pcie2cio_write(icm, TB_CFG_PORT, port1, PHY_PORT_CS1, val1);
1859 struct icm *icm = tb_priv(tb);
1869 if (icm->get_mode) {
1870 ret = icm->get_mode(tb);
1874 icm->safe_mode = true;
1907 struct icm *icm = tb_priv(tb);
1914 if (icm->safe_mode) {
1922 &icm->rpm);
1930 if (tb->nboot_acl > icm->max_boot_acl)
1938 struct icm *icm = tb_priv(tb);
1940 if (icm->save_devices)
1941 icm->save_devices(tb);
2019 struct icm *icm = container_of(work, struct icm, rescan_work.work);
2020 struct tb *tb = icm_to_tb(icm);
2030 struct icm *icm = tb_priv(tb);
2055 queue_delayed_work(tb->wq, &icm->rescan_work, msecs_to_jiffies(500));
2094 struct icm *icm = tb_priv(tb);
2097 if (icm->safe_mode)
2104 tb->root_switch->no_nvm_upgrade = !icm->can_upgrade_nvm;
2105 tb->root_switch->rpm = icm->rpm;
2107 if (icm->set_uuid)
2108 icm->set_uuid(tb);
2121 struct icm *icm = tb_priv(tb);
2123 cancel_delayed_work(&icm->rescan_work);
2209 struct icm *icm;
2212 tb = tb_domain_alloc(nhi, sizeof(struct icm));
2216 icm = tb_priv(tb);
2217 INIT_DELAYED_WORK(&icm->rescan_work, icm_rescan_work);
2218 mutex_init(&icm->request_lock);
2223 icm->can_upgrade_nvm = true;
2224 icm->is_supported = icm_fr_is_supported;
2225 icm->get_route = icm_fr_get_route;
2226 icm->save_devices = icm_fr_save_devices;
2227 icm->driver_ready = icm_fr_driver_ready;
2228 icm->device_connected = icm_fr_device_connected;
2229 icm->device_disconnected = icm_fr_device_disconnected;
2230 icm->xdomain_connected = icm_fr_xdomain_connected;
2231 icm->xdomain_disconnected = icm_fr_xdomain_disconnected;
2240 icm->max_boot_acl = ICM_AR_PREBOOT_ACL_ENTRIES;
2247 icm->can_upgrade_nvm = !x86_apple_machine;
2248 icm->is_supported = icm_ar_is_supported;
2249 icm->cio_reset = icm_ar_cio_reset;
2250 icm->get_mode = icm_ar_get_mode;
2251 icm->get_route = icm_ar_get_route;
2252 icm->save_devices = icm_fr_save_devices;
2253 icm->driver_ready = icm_ar_driver_ready;
2254 icm->device_connected = icm_fr_device_connected;
2255 icm->device_disconnected = icm_fr_device_disconnected;
2256 icm->xdomain_connected = icm_fr_xdomain_connected;
2257 icm->xdomain_disconnected = icm_fr_xdomain_disconnected;
2263 icm->max_boot_acl = ICM_AR_PREBOOT_ACL_ENTRIES;
2264 icm->can_upgrade_nvm = !x86_apple_machine;
2265 icm->is_supported = icm_ar_is_supported;
2266 icm->cio_reset = icm_tr_cio_reset;
2267 icm->get_mode = icm_ar_get_mode;
2268 icm->driver_ready = icm_tr_driver_ready;
2269 icm->device_connected = icm_tr_device_connected;
2270 icm->device_disconnected = icm_tr_device_disconnected;
2271 icm->xdomain_connected = icm_tr_xdomain_connected;
2272 icm->xdomain_disconnected = icm_tr_xdomain_disconnected;
2278 icm->is_supported = icm_fr_is_supported;
2279 icm->driver_ready = icm_icl_driver_ready;
2280 icm->set_uuid = icm_icl_set_uuid;
2281 icm->device_connected = icm_icl_device_connected;
2282 icm->device_disconnected = icm_tr_device_disconnected;
2283 icm->xdomain_connected = icm_tr_xdomain_connected;
2284 icm->xdomain_disconnected = icm_tr_xdomain_disconnected;
2285 icm->rtd3_veto = icm_icl_rtd3_veto;
2293 icm->is_supported = icm_tgl_is_supported;
2294 icm->driver_ready = icm_icl_driver_ready;
2295 icm->set_uuid = icm_icl_set_uuid;
2296 icm->device_connected = icm_icl_device_connected;
2297 icm->device_disconnected = icm_tr_device_disconnected;
2298 icm->xdomain_connected = icm_tr_xdomain_connected;
2299 icm->xdomain_disconnected = icm_tr_xdomain_disconnected;
2300 icm->rtd3_veto = icm_icl_rtd3_veto;
2306 icm->is_supported = icm_tgl_is_supported;
2307 icm->get_mode = icm_ar_get_mode;
2308 icm->driver_ready = icm_tr_driver_ready;
2309 icm->device_connected = icm_tr_device_connected;
2310 icm->device_disconnected = icm_tr_device_disconnected;
2311 icm->xdomain_connected = icm_tr_xdomain_connected;
2312 icm->xdomain_disconnected = icm_tr_xdomain_disconnected;
2317 if (!icm->is_supported || !icm->is_supported(tb)) {