Lines Matching refs:icm

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