arch/arm/mach-omap2/omap_hwmod.c
2603
oi->slave->name);
arch/arm/mach-omap2/omap_hwmod.c
2605
list_add(&oi->node, &oi->slave->slave_ports);
arch/arm/mach-omap2/omap_hwmod.c
2606
oi->slave->slaves_cnt++;
arch/arm/mach-omap2/omap_hwmod.c
2626
if (!oi || !oi->master || !oi->slave || !oi->user)
arch/arm/mach-omap2/omap_hwmod.c
2633
oi->master->name, oi->slave->name);
arch/arm/mach-omap2/omap_hwmod.c
2642
if (oi->slave->_state != _HWMOD_STATE_REGISTERED)
arch/arm/mach-omap2/omap_hwmod.c
2643
_register(oi->slave);
arch/arm/mach-omap2/omap_hwmod.c
3015
ois[i]->master->name, ois[i]->slave->name, r);
arch/arm/mach-omap2/omap_hwmod.c
3434
oi->slave = oh;
arch/arm/mach-omap2/omap_hwmod.h
241
struct omap_hwmod *slave;
arch/arm/mach-omap2/omap_hwmod_2420_data.c
237
.slave = &omap2420_i2c1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
245
.slave = &omap2420_i2c2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
253
.slave = &omap2420_iva_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
261
.slave = &omap2420_dsp_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
269
.slave = &omap2xxx_wd_timer2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
277
.slave = &omap2xxx_gpio1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
285
.slave = &omap2xxx_gpio2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
293
.slave = &omap2xxx_gpio3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
301
.slave = &omap2xxx_gpio4_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
309
.slave = &omap2420_mailbox_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
316
.slave = &omap2420_mcbsp1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
324
.slave = &omap2420_mcbsp2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
332
.slave = &omap2420_msdi1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
340
.slave = &omap2420_hdq1w_hwmod,
arch/arm/mach-omap2/omap_hwmod_2420_data.c
348
.slave = &omap2xxx_gpmc_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
378
.slave = &omap2xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
386
.slave = &omap2430_i2c1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
394
.slave = &omap2430_i2c2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
402
.slave = &omap2430_usbhsotg_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
410
.slave = &omap2430_mmc1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
418
.slave = &omap2430_mmc2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
426
.slave = &omap2430_mcspi3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
434
.slave = &omap2430_iva_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
442
.slave = &omap2xxx_wd_timer2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
450
.slave = &omap2xxx_gpio1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
458
.slave = &omap2xxx_gpio2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
466
.slave = &omap2xxx_gpio3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
474
.slave = &omap2xxx_gpio4_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
482
.slave = &omap2430_gpio5_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
490
.slave = &omap2430_mailbox_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
497
.slave = &omap2430_mcbsp1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
505
.slave = &omap2430_mcbsp2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
513
.slave = &omap2430_mcbsp3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
521
.slave = &omap2430_mcbsp4_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
529
.slave = &omap2430_mcbsp5_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
537
.slave = &omap2430_hdq1w_hwmod,
arch/arm/mach-omap2/omap_hwmod_2430_data.c
545
.slave = &omap2xxx_gpmc_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
100
.slave = &omap2xxx_timer3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
108
.slave = &omap2xxx_timer4_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
116
.slave = &omap2xxx_timer5_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
124
.slave = &omap2xxx_timer6_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
132
.slave = &omap2xxx_timer7_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
140
.slave = &omap2xxx_timer8_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
148
.slave = &omap2xxx_timer9_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
156
.slave = &omap2xxx_timer10_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
164
.slave = &omap2xxx_timer11_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
172
.slave = &omap2xxx_timer12_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
180
.slave = &omap2xxx_dss_core_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
194
.slave = &omap2xxx_dss_dispc_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
208
.slave = &omap2xxx_dss_rfbi_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
222
.slave = &omap2xxx_dss_venc_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
237
.slave = &omap2xxx_rng_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
245
.slave = &omap2xxx_sham_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
253
.slave = &omap2xxx_aes_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
26
.slave = &omap2xxx_l4_core_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
33
.slave = &omap2xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
40
.slave = &omap2xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
53
.slave = &omap2xxx_l4_wkup_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
60
.slave = &omap2xxx_uart1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
68
.slave = &omap2xxx_uart2_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
76
.slave = &omap2xxx_uart3_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
84
.slave = &omap2xxx_mcspi1_hwmod,
arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
92
.slave = &omap2xxx_mcspi2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1458
.slave = &omap3xxx_l4_core_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1465
.slave = &omap3xxx_l4_per_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1473
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1481
.slave = &omap3xxx_debugss_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1488
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1494
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1507
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1515
.slave = &omap3xxx_l4_wkup_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1522
.slave = &omap3xxx_pre_es3_mmc1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1530
.slave = &omap3xxx_es3plus_mmc1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1539
.slave = &omap3xxx_pre_es3_mmc2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1547
.slave = &omap3xxx_es3plus_mmc2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1557
.slave = &omap3xxx_mmc3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1567
.slave = &omap3xxx_uart1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1576
.slave = &omap3xxx_uart2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1585
.slave = &omap3xxx_uart3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1594
.slave = &omap36xx_uart4_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1603
.slave = &am35xx_uart4_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1611
.slave = &omap3xxx_i2c1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1626
.slave = &omap3xxx_i2c2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1642
.slave = &omap3xxx_i2c3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1657
.slave = &omap34xx_sr1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1664
.slave = &omap36xx_sr1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1673
.slave = &omap34xx_sr2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1680
.slave = &omap36xx_sr2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1688
.slave = &omap3xxx_l4_sec_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1695
.slave = &omap3xxx_iva_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1703
.slave = &omap3xxx_timer3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1712
.slave = &omap3xxx_timer4_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1721
.slave = &omap3xxx_timer5_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1730
.slave = &omap3xxx_timer6_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1739
.slave = &omap3xxx_timer7_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1748
.slave = &omap3xxx_timer8_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1757
.slave = &omap3xxx_timer9_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1765
.slave = &omap3xxx_timer10_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1773
.slave = &omap3xxx_timer11_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1782
.slave = &omap3xxx_wd_timer2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1790
.slave = &omap3430es1_dss_core_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1804
.slave = &omap3xxx_dss_core_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1819
.slave = &omap3xxx_dss_dispc_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1834
.slave = &omap3xxx_dss_dsi1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1849
.slave = &omap3xxx_dss_rfbi_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1864
.slave = &omap3xxx_dss_venc_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1881
.slave = &omap3xxx_gpio1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1889
.slave = &omap3xxx_gpio2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1897
.slave = &omap3xxx_gpio3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1928
.slave = &omap3xxx_mmu_isp_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1950
.slave = &omap3xxx_mmu_iva_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1975
.slave = &omap3xxx_gpio4_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1983
.slave = &omap3xxx_gpio5_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1991
.slave = &omap3xxx_gpio6_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
1998
.slave = &omap3xxx_mcbsp1_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2007
.slave = &omap3xxx_mcbsp2_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2016
.slave = &omap3xxx_mcbsp3_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2025
.slave = &omap3xxx_mcbsp4_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2034
.slave = &omap3xxx_mcbsp5_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2043
.slave = &omap3xxx_mcbsp2_sidetone_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2052
.slave = &omap3xxx_mcbsp3_sidetone_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2060
.slave = &omap3xxx_mailbox_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2067
.slave = &omap34xx_mcspi1,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2075
.slave = &omap34xx_mcspi2,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2083
.slave = &omap34xx_mcspi3,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2092
.slave = &omap34xx_mcspi4,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2099
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2107
.slave = &omap3xxx_usb_host_hs_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2115
.slave = &omap3xxx_usb_tll_hs_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2123
.slave = &omap3xxx_hdq1w_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2147
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2160
.slave = &am35xx_mdio_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2188
.slave = &omap3xxx_l3_main_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2201
.slave = &am35xx_emac_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2208
.slave = &omap3xxx_gpmc_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2246
.slave = &omap3xxx_sham_hwmod,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2288
.slave = &omap3xxx_ssi_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1010
.slave = &dm816x_mmc1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1086
.slave = &dm81xx_mcspi1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1093
.slave = &dm81xx_mcspi2_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1100
.slave = &dm81xx_mcspi3_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1107
.slave = &dm81xx_mcspi4_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1142
.slave = &dm81xx_mailbox_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
1177
.slave = &dm81xx_spinbox_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
149
.slave = &dm81xx_l4_ls_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
156
.slave = &dm81xx_l4_hs_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
177
.slave = &dm81xx_alwon_l3_slow_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
184
.slave = &dm81xx_alwon_l3_med_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
204
.slave = &dm81xx_alwon_l3_slow_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
211
.slave = &dm81xx_alwon_l3_med_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
246
.slave = &ti81xx_rtc_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
285
.slave = &dm81xx_uart1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
306
.slave = &dm81xx_uart2_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
327
.slave = &dm81xx_uart3_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
364
.slave = &dm81xx_wd_timer_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
401
.slave = &dm81xx_i2c1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
421
.slave = &dm81xx_i2c2_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
451
.slave = &dm81xx_elm_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
494
.slave = &dm81xx_gpio1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
520
.slave = &dm81xx_gpio2_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
546
.slave = &dm81xx_gpio3_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
572
.slave = &dm81xx_gpio4_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
609
.slave = &dm81xx_gpmc_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
644
.slave = &dm814x_usbss_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
664
.slave = &dm816x_usbss_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
699
.slave = &dm816x_timer3_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
719
.slave = &dm816x_timer4_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
739
.slave = &dm816x_timer5_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
759
.slave = &dm816x_timer6_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
779
.slave = &dm816x_timer7_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
810
.slave = &dm816x_emac0_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
840
.slave = &dm81xx_emac0_mdio_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
860
.slave = &dm816x_emac1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
893
.slave = &dm81xx_sata_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
939
.slave = &dm814x_mmc1_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
963
.slave = &dm814x_mmc2_hwmod,
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
987
.slave = &dm814x_mmc3_hwmod,
arch/m68k/include/asm/mvme147hw.h
37
volatile u_char slave;
arch/powerpc/platforms/powermac/pic.c
287
struct device_node *slave = NULL;
arch/powerpc/platforms/powermac/pic.c
303
slave = of_find_node_by_name(NULL, "pci106b,7");
arch/powerpc/platforms/powermac/pic.c
304
if (slave)
arch/powerpc/platforms/powermac/pic.c
313
slave = of_find_node_by_name(master, "mac-io");
arch/powerpc/platforms/powermac/pic.c
317
BUG_ON(slave == NULL);
arch/powerpc/platforms/powermac/pic.c
318
swap(master, slave);
arch/powerpc/platforms/powermac/pic.c
322
if (slave)
arch/powerpc/platforms/powermac/pic.c
353
if (slave && !of_address_to_resource(slave, 0, &r)) {
arch/powerpc/platforms/powermac/pic.c
361
pmac_irq_cascade = irq_of_parse_and_map(slave, 0);
arch/powerpc/platforms/powermac/pic.c
364
" cascade: %d\n", slave,
arch/powerpc/platforms/powermac/pic.c
367
of_node_put(slave);
arch/powerpc/platforms/powermac/pic.c
374
if (slave && pmac_irq_cascade) {
arch/powerpc/platforms/powermac/pic.c
475
struct device_node *np, *master = NULL, *slave = NULL;
arch/powerpc/platforms/powermac/pic.c
481
else if (slave == NULL)
arch/powerpc/platforms/powermac/pic.c
482
slave = of_node_get(np);
arch/powerpc/platforms/powermac/pic.c
483
if (master && slave) {
arch/powerpc/platforms/powermac/pic.c
490
if (master == NULL && slave != NULL) {
arch/powerpc/platforms/powermac/pic.c
491
master = slave;
arch/powerpc/platforms/powermac/pic.c
492
slave = NULL;
arch/powerpc/platforms/powermac/pic.c
512
if (slave) {
arch/powerpc/platforms/powermac/pic.c
513
mpic2 = pmac_setup_one_mpic(slave, 0);
arch/powerpc/platforms/powermac/pic.c
516
of_node_put(slave);
arch/powerpc/platforms/powernv/pci-ioda.c
2345
struct pnv_ioda_pe *slave, *tmp;
arch/powerpc/platforms/powernv/pci-ioda.c
2368
list_for_each_entry_safe(slave, tmp, &pe->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
2369
list_del(&slave->list);
arch/powerpc/platforms/powernv/pci-ioda.c
2370
pnv_ioda_free_pe(slave);
arch/powerpc/platforms/powernv/pci-ioda.c
442
struct pnv_ioda_pe *slave;
arch/powerpc/platforms/powernv/pci-ioda.c
468
list_for_each_entry(slave, &pe->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
470
slave->pe_number,
arch/powerpc/platforms/powernv/pci-ioda.c
475
slave->pe_number);
arch/powerpc/platforms/powernv/pci-ioda.c
481
struct pnv_ioda_pe *pe, *slave;
arch/powerpc/platforms/powernv/pci-ioda.c
504
list_for_each_entry(slave, &pe->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
506
slave->pe_number,
arch/powerpc/platforms/powernv/pci-ioda.c
511
slave->pe_number);
arch/powerpc/platforms/powernv/pci-ioda.c
521
struct pnv_ioda_pe *slave, *pe;
arch/powerpc/platforms/powernv/pci-ioda.c
556
list_for_each_entry(slave, &pe->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
558
slave->pe_number,
arch/powerpc/platforms/powernv/pci-ioda.c
566
phb->hose->global_number, slave->pe_number);
arch/powerpc/platforms/powernv/pci-ioda.c
611
struct pnv_ioda_pe *slave;
arch/powerpc/platforms/powernv/pci-ioda.c
627
list_for_each_entry(slave, &child->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
629
slave->pe_number, op);
arch/powerpc/platforms/powernv/pci-ioda.c
631
pe_warn(slave, "OPAL error %ld %s to parent PELTV\n",
arch/powerpc/platforms/powernv/pci-ioda.c
644
struct pnv_ioda_pe *slave;
arch/powerpc/platforms/powernv/pci-ioda.c
656
list_for_each_entry(slave, &pe->slaves, list)
arch/powerpc/platforms/powernv/pci-ioda.c
658
slave->pe_number,
arch/powerpc/platforms/powernv/pci-ioda.c
675
list_for_each_entry(slave, &pe->slaves, list) {
arch/powerpc/platforms/powernv/pci-ioda.c
676
ret = pnv_ioda_set_one_peltv(phb, slave, pe, is_add);
arch/sh/kernel/cpu/sh4a/setup-sh7722.c
122
.slave = sh7722_dmae_slaves,
arch/sh/kernel/cpu/sh4a/setup-sh7724.c
189
.slave = sh7724_dmae_slaves,
arch/sh/kernel/cpu/sh4a/setup-sh7757.c
387
.slave = sh7757_dmae0_slaves,
arch/sh/kernel/cpu/sh4a/setup-sh7757.c
401
.slave = sh7757_dmae1_slaves,
arch/sh/kernel/cpu/sh4a/setup-sh7757.c
415
.slave = sh7757_dmae2_slaves,
arch/sh/kernel/cpu/sh4a/setup-sh7757.c
429
.slave = sh7757_dmae3_slaves,
arch/um/os-Linux/sigio.c
170
int slave;
arch/um/os-Linux/sigio.c
179
if (openpty(&info->master, &info->slave, NULL, NULL, NULL))
arch/um/os-Linux/sigio.c
183
static int async_pty(int master, int slave)
arch/um/os-Linux/sigio.c
195
if ((fcntl(slave, F_SETFL, flags | O_NONBLOCK) < 0))
arch/um/os-Linux/sigio.c
204
struct openpty_arg pty = { .master = -1, .slave = -1 };
arch/um/os-Linux/sigio.c
205
int master, slave, err;
arch/um/os-Linux/sigio.c
215
slave = pty.slave;
arch/um/os-Linux/sigio.c
217
if ((master == -1) || (slave == -1)) {
arch/um/os-Linux/sigio.c
231
err = async_pty(master, slave);
arch/um/os-Linux/sigio.c
253
(*proc)(master, slave);
arch/um/os-Linux/sigio.c
256
close(slave);
arch/um/os-Linux/sigio.c
263
static void tty_output(int master, int slave)
arch/um/os-Linux/sigio.c
276
while (((n = read(slave, buf, sizeof(buf))) > 0) &&
drivers/accel/qaic/qaic_ras.c
135
u32 slave;
drivers/accel/qaic/qaic_ras.c
254
le32_to_cpus(&sysbus1_syndrome->slave);
drivers/accel/qaic/qaic_ras.c
412
sysbus1_syndrome->slave ? "Slave" : "Master",
drivers/ata/libata-core.c
5284
struct ata_link *slave = link->ap->slave_link;
drivers/ata/libata-core.c
5286
WARN_ON(link == slave); /* shouldn't be called on slave link */
drivers/ata/libata-core.c
5289
(slave && ata_phys_link_online(slave));
drivers/ata/libata-core.c
5311
struct ata_link *slave = link->ap->slave_link;
drivers/ata/libata-core.c
5313
WARN_ON(link == slave); /* shouldn't be called on slave link */
drivers/ata/libata-core.c
5316
(!slave || ata_phys_link_offline(slave));
drivers/ata/libata-eh.c
2828
struct ata_link *slave = ap->slave_link;
drivers/ata/libata-eh.c
2830
struct ata_eh_context *sehc = slave ? &slave->eh_context : NULL;
drivers/ata/libata-eh.c
2910
if (slave) {
drivers/ata/libata-eh.c
2921
if (slave && (rc == 0 || rc == -ENOENT)) {
drivers/ata/libata-eh.c
2924
tmp = prereset(slave, deadline);
drivers/ata/libata-eh.c
2995
if (slave && reset == hardreset) {
drivers/ata/libata-eh.c
2999
ata_link_info(slave, "hard resetting link\n");
drivers/ata/libata-eh.c
3001
ata_eh_about_to_do(slave, NULL, ATA_EH_RESET);
drivers/ata/libata-eh.c
3002
trace_ata_slave_hardreset_begin(slave, classes,
drivers/ata/libata-eh.c
3004
tmp = ata_do_reset(slave, reset, classes, deadline,
drivers/ata/libata-eh.c
3006
trace_ata_slave_hardreset_end(slave, classes, tmp);
drivers/ata/libata-eh.c
3014
failed_link = slave;
drivers/ata/libata-eh.c
3074
if (slave && sata_scr_read(slave, SCR_STATUS, &sstatus) == 0)
drivers/ata/libata-eh.c
3075
slave->sata_spd = (sstatus >> 4) & 0xf;
drivers/ata/libata-eh.c
3091
if (slave) {
drivers/ata/libata-eh.c
3092
postreset(slave, classes);
drivers/ata/libata-eh.c
3093
trace_ata_slave_postreset(slave, classes, rc);
drivers/ata/libata-eh.c
3100
if (slave)
drivers/ata/libata-eh.c
3101
slave->eh_info.serror = 0;
drivers/ata/libata-eh.c
3149
if (slave)
drivers/ata/libata-eh.c
3150
ata_eh_done(slave, NULL, ATA_EH_RESET);
drivers/ata/libata-eh.c
3159
if (slave)
drivers/ata/libata-eh.c
3214
if (slave)
drivers/ata/libata-eh.c
3215
sata_down_spd_limit(slave, 0);
drivers/ata/pata_cs5520.c
64
int slave = adev->devno;
drivers/ata/pata_cs5520.c
74
pci_write_config_byte(pdev, 0x64 + 4*ap->port_no + slave,
drivers/ata/pata_cs5520.c
78
pci_write_config_byte(pdev, 0x66 + 4*ap->port_no + slave,
drivers/ata/pata_pcmcia.c
46
struct ata_device *slave = &link->device[1];
drivers/ata/pata_pcmcia.c
48
if (!ata_dev_enabled(master) || !ata_dev_enabled(slave))
drivers/ata/pata_pcmcia.c
51
if (memcmp(master->id + ATA_ID_FW_REV, slave->id + ATA_ID_FW_REV,
drivers/ata/pata_pcmcia.c
55
if (memcmp(master->id + ATA_ID_SERNO, slave->id + ATA_ID_SERNO,
drivers/ata/pata_pcmcia.c
57
ata_dev_warn(slave, "is a ghost device, ignoring\n");
drivers/ata/pata_pcmcia.c
58
ata_dev_disable(slave);
drivers/base/regmap/regmap-fsi.c
214
return __regmap_init(&fsi_dev->dev, bus, fsi_dev->slave, config, lock_key, lock_name);
drivers/base/regmap/regmap-fsi.c
227
return __devm_regmap_init(&fsi_dev->dev, bus, fsi_dev->slave, config, lock_key, lock_name);
drivers/base/regmap/regmap-sdw-mbq.c
101
struct sdw_slave *slave = ctx->sdw;
drivers/base/regmap/regmap-sdw-mbq.c
116
ret = regmap_sdw_mbq_write_impl(slave, reg, val, mbq_size, deferrable);
drivers/base/regmap/regmap-sdw-mbq.c
118
ret = regmap_sdw_mbq_poll_busy(slave, reg, ctx);
drivers/base/regmap/regmap-sdw-mbq.c
122
ret = regmap_sdw_mbq_write_impl(slave, reg, val, mbq_size, false);
drivers/base/regmap/regmap-sdw-mbq.c
128
static int regmap_sdw_mbq_read_impl(struct sdw_slave *slave,
drivers/base/regmap/regmap-sdw-mbq.c
135
read = sdw_read_no_pm(slave, reg);
drivers/base/regmap/regmap-sdw-mbq.c
146
read = sdw_read_no_pm(slave, SDW_SDCA_MBQ_CTL(reg));
drivers/base/regmap/regmap-sdw-mbq.c
160
struct sdw_slave *slave = ctx->sdw;
drivers/base/regmap/regmap-sdw-mbq.c
175
ret = regmap_sdw_mbq_read_impl(slave, reg, val, mbq_size, deferrable);
drivers/base/regmap/regmap-sdw-mbq.c
177
ret = regmap_sdw_mbq_poll_busy(slave, reg, ctx);
drivers/base/regmap/regmap-sdw-mbq.c
181
ret = regmap_sdw_mbq_read_impl(slave, reg, val, mbq_size, false);
drivers/base/regmap/regmap-sdw-mbq.c
48
static int regmap_sdw_mbq_poll_busy(struct sdw_slave *slave, unsigned int reg,
drivers/base/regmap/regmap-sdw-mbq.c
63
false, slave, reg);
drivers/base/regmap/regmap-sdw-mbq.c
75
static int regmap_sdw_mbq_write_impl(struct sdw_slave *slave,
drivers/base/regmap/regmap-sdw-mbq.c
85
ret = sdw_write_no_pm(slave, SDW_SDCA_MBQ_CTL(reg),
drivers/base/regmap/regmap-sdw-mbq.c
91
ret = sdw_write_no_pm(slave, reg, val & 0xff);
drivers/base/regmap/regmap-sdw.c
15
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/base/regmap/regmap-sdw.c
20
return sdw_nwrite_no_pm(slave, addr, val_size - sizeof(addr), val + sizeof(addr));
drivers/base/regmap/regmap-sdw.c
28
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/base/regmap/regmap-sdw.c
31
return sdw_nwrite_no_pm(slave, addr, val_size, val_buf);
drivers/base/regmap/regmap-sdw.c
39
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/base/regmap/regmap-sdw.c
42
return sdw_nread_no_pm(slave, addr, val_size, val_buf);
drivers/char/ipmi/ipmi_ipmb.c
266
iidev->xmitmsg[3] = iidev->slave->addr << 1;
drivers/char/ipmi/ipmi_ipmb.c
42
struct i2c_client *slave;
drivers/char/ipmi/ipmi_ipmb.c
434
if (iidev->slave) {
drivers/char/ipmi/ipmi_ipmb.c
435
i2c_slave_unregister(iidev->slave);
drivers/char/ipmi/ipmi_ipmb.c
436
if (iidev->slave != iidev->client)
drivers/char/ipmi/ipmi_ipmb.c
437
i2c_unregister_device(iidev->slave);
drivers/char/ipmi/ipmi_ipmb.c
439
iidev->slave = NULL;
drivers/char/ipmi/ipmi_ipmb.c
458
struct i2c_client *slave = NULL;
drivers/char/ipmi/ipmi_ipmb.c
502
slave = i2c_new_client_device(slave_adap, &binfo);
drivers/char/ipmi/ipmi_ipmb.c
504
if (IS_ERR(slave)) {
drivers/char/ipmi/ipmi_ipmb.c
505
rv = PTR_ERR(slave);
drivers/char/ipmi/ipmi_ipmb.c
510
i2c_set_clientdata(slave, iidev);
drivers/char/ipmi/ipmi_ipmb.c
512
slave = client;
drivers/char/ipmi/ipmi_ipmb.c
515
slave->flags |= I2C_CLIENT_SLAVE;
drivers/char/ipmi/ipmi_ipmb.c
517
rv = i2c_slave_register(slave, ipmi_ipmb_slave_cb);
drivers/char/ipmi/ipmi_ipmb.c
520
iidev->slave = slave;
drivers/char/ipmi/ipmi_ipmb.c
521
slave = NULL;
drivers/char/ipmi/ipmi_ipmb.c
552
if (slave && slave != client)
drivers/char/ipmi/ipmi_ipmb.c
553
i2c_unregister_device(slave);
drivers/clk/bcm/clk-bcm21664.c
229
BCM21664_CCU_COMMON(slave, SLAVE),
drivers/clk/bcm/clk-bcm21664.c
236
KONA_CLK(slave, uartb, peri),
drivers/clk/bcm/clk-bcm21664.c
238
KONA_CLK(slave, uartb2, peri),
drivers/clk/bcm/clk-bcm21664.c
240
KONA_CLK(slave, uartb3, peri),
drivers/clk/bcm/clk-bcm21664.c
242
KONA_CLK(slave, bsc1, peri),
drivers/clk/bcm/clk-bcm21664.c
244
KONA_CLK(slave, bsc2, peri),
drivers/clk/bcm/clk-bcm21664.c
246
KONA_CLK(slave, bsc3, peri),
drivers/clk/bcm/clk-bcm21664.c
248
KONA_CLK(slave, bsc4, peri),
drivers/clk/bcm/clk-bcm281xx.c
305
BCM281XX_CCU_COMMON(slave, SLAVE),
drivers/clk/bcm/clk-bcm281xx.c
308
KONA_CLK(slave, uartb, peri),
drivers/clk/bcm/clk-bcm281xx.c
310
KONA_CLK(slave, uartb2, peri),
drivers/clk/bcm/clk-bcm281xx.c
312
KONA_CLK(slave, uartb3, peri),
drivers/clk/bcm/clk-bcm281xx.c
314
KONA_CLK(slave, uartb4, peri),
drivers/clk/bcm/clk-bcm281xx.c
316
KONA_CLK(slave, ssp0, peri),
drivers/clk/bcm/clk-bcm281xx.c
318
KONA_CLK(slave, ssp2, peri),
drivers/clk/bcm/clk-bcm281xx.c
320
KONA_CLK(slave, bsc1, peri),
drivers/clk/bcm/clk-bcm281xx.c
322
KONA_CLK(slave, bsc2, peri),
drivers/clk/bcm/clk-bcm281xx.c
324
KONA_CLK(slave, bsc3, peri),
drivers/clk/bcm/clk-bcm281xx.c
326
KONA_CLK(slave, pwm, peri),
drivers/dma/amba-pl08x.c
2132
if (!plchan->slave)
drivers/dma/amba-pl08x.c
2351
chan->slave = true;
drivers/dma/amba-pl08x.c
2362
struct dma_device *dmadev, unsigned int channels, bool slave)
drivers/dma/amba-pl08x.c
2383
if (slave) {
drivers/dma/amba-pl08x.c
2415
i, slave ? "slave" : "memcpy");
drivers/dma/amba-pl08x.c
2488
list_for_each_entry(chan, &pl08x->slave.channels,
drivers/dma/amba-pl08x.c
2523
list_for_each_entry(chan, &pl08x->slave.channels, vc.chan.device_node) {
drivers/dma/amba-pl08x.c
256
bool slave;
drivers/dma/amba-pl08x.c
2776
dma_cap_set(DMA_SLAVE, pl08x->slave.cap_mask);
drivers/dma/amba-pl08x.c
2777
dma_cap_set(DMA_CYCLIC, pl08x->slave.cap_mask);
drivers/dma/amba-pl08x.c
2778
pl08x->slave.dev = &adev->dev;
drivers/dma/amba-pl08x.c
2779
pl08x->slave.device_free_chan_resources =
drivers/dma/amba-pl08x.c
2781
pl08x->slave.device_tx_status = pl08x_dma_tx_status;
drivers/dma/amba-pl08x.c
2782
pl08x->slave.device_issue_pending = pl08x_issue_pending;
drivers/dma/amba-pl08x.c
2783
pl08x->slave.device_prep_slave_sg = pl08x_prep_slave_sg;
drivers/dma/amba-pl08x.c
2784
pl08x->slave.device_prep_dma_cyclic = pl08x_prep_dma_cyclic;
drivers/dma/amba-pl08x.c
2785
pl08x->slave.device_config = pl08x_config;
drivers/dma/amba-pl08x.c
2786
pl08x->slave.device_pause = pl08x_pause;
drivers/dma/amba-pl08x.c
2787
pl08x->slave.device_resume = pl08x_resume;
drivers/dma/amba-pl08x.c
2788
pl08x->slave.device_terminate_all = pl08x_terminate_all;
drivers/dma/amba-pl08x.c
2789
pl08x->slave.device_synchronize = pl08x_synchronize;
drivers/dma/amba-pl08x.c
279
struct dma_device slave;
drivers/dma/amba-pl08x.c
2790
pl08x->slave.src_addr_widths = PL80X_DMA_BUSWIDTHS;
drivers/dma/amba-pl08x.c
2791
pl08x->slave.dst_addr_widths = PL80X_DMA_BUSWIDTHS;
drivers/dma/amba-pl08x.c
2792
pl08x->slave.directions =
drivers/dma/amba-pl08x.c
2794
pl08x->slave.residue_granularity =
drivers/dma/amba-pl08x.c
2811
pl08x->slave.filter.map = pl08x->pd->slave_map;
drivers/dma/amba-pl08x.c
2812
pl08x->slave.filter.mapcnt = pl08x->pd->slave_map_len;
drivers/dma/amba-pl08x.c
2813
pl08x->slave.filter.fn = pl08x_filter_fn;
drivers/dma/amba-pl08x.c
2921
ret = pl08x_dma_init_virtual_channels(pl08x, &pl08x->slave,
drivers/dma/amba-pl08x.c
2940
ret = dma_async_device_register(&pl08x->slave);
drivers/dma/amba-pl08x.c
2961
pl08x_free_virtual_channels(&pl08x->slave);
drivers/dma/amba-pl08x.c
925
list_for_each_entry(p, &pl08x->slave.channels, vc.chan.device_node)
drivers/dma/at_hdmac.c
1789
static bool at_dma_filter(struct dma_chan *chan, void *slave)
drivers/dma/at_hdmac.c
1791
struct at_dma_slave *atslave = slave;
drivers/dma/dmaengine.c
801
!strcmp(map->slave, name))
drivers/dma/dmaengine.c
864
chan->slave = dev;
drivers/dma/dmaengine.c
913
if (chan->slave) {
drivers/dma/dmaengine.c
915
sysfs_remove_link(&chan->slave->kobj, chan->name);
drivers/dma/dmaengine.c
918
chan->slave = NULL;
drivers/dma/dw/acpi.c
14
struct dw_dma_slave slave = {
drivers/dma/dw/acpi.c
22
return dw_dma_filter(chan, &slave);
drivers/dma/dw/idma32.c
38
struct device *slave = dwc->chan.slave;
drivers/dma/dw/idma32.c
40
if (!slave || !dev_is_pci(slave))
drivers/dma/dw/idma32.c
43
return to_pci_dev(slave)->devfn;
drivers/dma/dw/of.c
20
struct dw_dma_slave slave = {
drivers/dma/dw/of.c
28
slave.src_id = dma_spec->args[0];
drivers/dma/dw/of.c
29
slave.dst_id = dma_spec->args[0];
drivers/dma/dw/of.c
30
slave.m_master = dma_spec->args[1];
drivers/dma/dw/of.c
31
slave.p_master = dma_spec->args[2];
drivers/dma/dw/of.c
33
slave.channels = dma_spec->args[3];
drivers/dma/dw/of.c
35
if (WARN_ON(slave.src_id >= DW_DMA_MAX_NR_REQUESTS ||
drivers/dma/dw/of.c
36
slave.dst_id >= DW_DMA_MAX_NR_REQUESTS ||
drivers/dma/dw/of.c
37
slave.m_master >= dw->pdata->nr_masters ||
drivers/dma/dw/of.c
38
slave.p_master >= dw->pdata->nr_masters ||
drivers/dma/dw/of.c
39
slave.channels >= BIT(dw->pdata->nr_channels)))
drivers/dma/dw/of.c
46
return dma_request_channel(cap, dw_dma_filter, &slave);
drivers/dma/k3dma.c
1009
dev_err(d->slave.dev, "clk_prepare_enable failed: %d\n", ret);
drivers/dma/k3dma.c
122
#define to_k3_dma(dmadev) container_of(dmadev, struct k3_dma_dev, slave)
drivers/dma/k3dma.c
246
dev_warn(d->slave.dev, "DMA ERR\n");
drivers/dma/k3dma.c
306
list_for_each_entry_safe(c, cn, &d->slave.channels, vc.chan.device_node) {
drivers/dma/k3dma.c
312
dev_dbg(d->slave.dev, "pchan %u: free\n", p->idx);
drivers/dma/k3dma.c
338
dev_dbg(d->slave.dev, "pchan %u: alloc vchan %p\n", pch, &c->vc);
drivers/dma/k3dma.c
437
dev_dbg(d->slave.dev, "vchan %p: issued\n", &c->vc);
drivers/dma/k3dma.c
442
dev_dbg(d->slave.dev, "vchan %p: nothing to issue\n", &c->vc);
drivers/dma/k3dma.c
722
dev_dbg(d->slave.dev, "vchan %p: terminate all\n", &c->vc);
drivers/dma/k3dma.c
762
dev_dbg(d->slave.dev, "vchan %p: pause\n", &c->vc);
drivers/dma/k3dma.c
784
dev_dbg(d->slave.dev, "vchan %p: resume\n", &c->vc);
drivers/dma/k3dma.c
901
INIT_LIST_HEAD(&d->slave.channels);
drivers/dma/k3dma.c
902
dma_cap_set(DMA_SLAVE, d->slave.cap_mask);
drivers/dma/k3dma.c
903
dma_cap_set(DMA_MEMCPY, d->slave.cap_mask);
drivers/dma/k3dma.c
904
dma_cap_set(DMA_CYCLIC, d->slave.cap_mask);
drivers/dma/k3dma.c
905
d->slave.dev = &op->dev;
drivers/dma/k3dma.c
906
d->slave.device_free_chan_resources = k3_dma_free_chan_resources;
drivers/dma/k3dma.c
907
d->slave.device_tx_status = k3_dma_tx_status;
drivers/dma/k3dma.c
908
d->slave.device_prep_dma_memcpy = k3_dma_prep_memcpy;
drivers/dma/k3dma.c
909
d->slave.device_prep_slave_sg = k3_dma_prep_slave_sg;
drivers/dma/k3dma.c
910
d->slave.device_prep_dma_cyclic = k3_dma_prep_dma_cyclic;
drivers/dma/k3dma.c
911
d->slave.device_issue_pending = k3_dma_issue_pending;
drivers/dma/k3dma.c
912
d->slave.device_config = k3_dma_config;
drivers/dma/k3dma.c
913
d->slave.device_pause = k3_dma_transfer_pause;
drivers/dma/k3dma.c
914
d->slave.device_resume = k3_dma_transfer_resume;
drivers/dma/k3dma.c
915
d->slave.device_terminate_all = k3_dma_terminate_all;
drivers/dma/k3dma.c
916
d->slave.device_synchronize = k3_dma_synchronize;
drivers/dma/k3dma.c
917
d->slave.copy_align = DMAENGINE_ALIGN_8_BYTES;
drivers/dma/k3dma.c
931
vchan_init(&c->vc, &d->slave);
drivers/dma/k3dma.c
943
ret = dma_async_device_register(&d->slave);
drivers/dma/k3dma.c
961
dma_async_device_unregister(&d->slave);
drivers/dma/k3dma.c
972
dma_async_device_unregister(&d->slave);
drivers/dma/k3dma.c
977
list_for_each_entry_safe(c, cn, &d->slave.channels, vc.chan.device_node) {
drivers/dma/k3dma.c
99
struct dma_device slave;
drivers/dma/k3dma.c
993
dev_warn(d->slave.dev,
drivers/dma/pxa_dma.c
1227
pxad_free_channels(&pdev->slave);
drivers/dma/pxa_dma.c
125
struct dma_device slave;
drivers/dma/pxa_dma.c
1264
dev_err(pdev->slave.dev,
drivers/dma/pxa_dma.c
1286
chan = dma_get_any_slave_channel(&d->slave);
drivers/dma/pxa_dma.c
1307
INIT_LIST_HEAD(&pdev->slave.channels);
drivers/dma/pxa_dma.c
1308
pdev->slave.device_alloc_chan_resources = pxad_alloc_chan_resources;
drivers/dma/pxa_dma.c
1309
pdev->slave.device_free_chan_resources = pxad_free_chan_resources;
drivers/dma/pxa_dma.c
1310
pdev->slave.device_tx_status = pxad_tx_status;
drivers/dma/pxa_dma.c
1311
pdev->slave.device_issue_pending = pxad_issue_pending;
drivers/dma/pxa_dma.c
1312
pdev->slave.device_config = pxad_config;
drivers/dma/pxa_dma.c
1313
pdev->slave.device_synchronize = pxad_synchronize;
drivers/dma/pxa_dma.c
1314
pdev->slave.device_terminate_all = pxad_terminate_all;
drivers/dma/pxa_dma.c
1333
vchan_init(&c->vc, &pdev->slave);
drivers/dma/pxa_dma.c
1337
return dmaenginem_async_device_register(&pdev->slave);
drivers/dma/pxa_dma.c
1373
dev_warn(pdev->slave.dev,
drivers/dma/pxa_dma.c
1387
dma_cap_set(DMA_SLAVE, pdev->slave.cap_mask);
drivers/dma/pxa_dma.c
1388
dma_cap_set(DMA_MEMCPY, pdev->slave.cap_mask);
drivers/dma/pxa_dma.c
1389
dma_cap_set(DMA_CYCLIC, pdev->slave.cap_mask);
drivers/dma/pxa_dma.c
1390
dma_cap_set(DMA_PRIVATE, pdev->slave.cap_mask);
drivers/dma/pxa_dma.c
1391
pdev->slave.device_prep_dma_memcpy = pxad_prep_memcpy;
drivers/dma/pxa_dma.c
1392
pdev->slave.device_prep_slave_sg = pxad_prep_slave_sg;
drivers/dma/pxa_dma.c
1393
pdev->slave.device_prep_dma_cyclic = pxad_prep_dma_cyclic;
drivers/dma/pxa_dma.c
1394
pdev->slave.filter.map = slave_map;
drivers/dma/pxa_dma.c
1395
pdev->slave.filter.mapcnt = slave_map_cnt;
drivers/dma/pxa_dma.c
1396
pdev->slave.filter.fn = pxad_filter_fn;
drivers/dma/pxa_dma.c
1398
pdev->slave.copy_align = PDMA_ALIGNMENT;
drivers/dma/pxa_dma.c
1399
pdev->slave.src_addr_widths = widths;
drivers/dma/pxa_dma.c
1400
pdev->slave.dst_addr_widths = widths;
drivers/dma/pxa_dma.c
1401
pdev->slave.directions = BIT(DMA_MEM_TO_DEV) | BIT(DMA_DEV_TO_MEM);
drivers/dma/pxa_dma.c
1402
pdev->slave.residue_granularity = DMA_RESIDUE_GRANULARITY_DESCRIPTOR;
drivers/dma/pxa_dma.c
1403
pdev->slave.descriptor_reuse = true;
drivers/dma/pxa_dma.c
1405
pdev->slave.dev = &op->dev;
drivers/dma/pxa_dma.c
1408
dev_err(pdev->slave.dev, "unable to register\n");
drivers/dma/pxa_dma.c
1417
dev_err(pdev->slave.dev,
drivers/dma/pxa_dma.c
142
container_of(dmadev, struct pxad_device, slave)
drivers/dma/pxa_dma.c
1425
dev_info(pdev->slave.dev, "initialized %d channels on %d requestors\n",
drivers/dma/pxa_dma.c
349
pdev->dbgfs_root = debugfs_create_dir(dev_name(pdev->slave.dev), NULL);
drivers/dma/pxa_dma.c
692
pdev->slave.dev,
drivers/dma/qcom/bam_dma.c
357
struct dma_slave_config slave;
drivers/dma/qcom/bam_dma.c
629
memcpy(&bchan->slave, cfg, sizeof(*cfg));
drivers/dma/qcom/bam_dma.c
984
maxburst = bchan->slave.src_maxburst;
drivers/dma/qcom/bam_dma.c
986
maxburst = bchan->slave.dst_maxburst;
drivers/dma/qcom/qcom_adm.c
143
struct dma_slave_config slave;
drivers/dma/qcom/qcom_adm.c
245
src = &achan->slave.src_addr;
drivers/dma/qcom/qcom_adm.c
251
dst = &achan->slave.dst_addr;
drivers/dma/qcom/qcom_adm.c
309
src = &achan->slave.src_addr;
drivers/dma/qcom/qcom_adm.c
313
dst = &achan->slave.dst_addr;
drivers/dma/qcom/qcom_adm.c
373
achan->slave.dst_maxburst :
drivers/dma/qcom/qcom_adm.c
374
achan->slave.src_maxburst;
drivers/dma/qcom/qcom_adm.c
377
if (achan->slave.device_fc) {
drivers/dma/qcom/qcom_adm.c
393
if (achan->slave.device_fc) {
drivers/dma/qcom/qcom_adm.c
432
if (achan->slave.device_fc)
drivers/dma/qcom/qcom_adm.c
501
memcpy(&achan->slave, cfg, sizeof(struct dma_slave_config));
drivers/dma/sa11x0-dma.c
118
struct dma_device slave;
drivers/dma/sa11x0-dma.c
133
return container_of(dmadev, struct sa11x0_dma_dev, slave);
drivers/dma/sa11x0-dma.c
154
dev_vdbg(p->dev->slave.dev, "pchan %u: txd %p[%x]: starting: DDAR:%x\n",
drivers/dma/sa11x0-dma.c
216
dev_dbg(p->dev->slave.dev, "pchan %u: load: DCSR:%02x DBS%c:%08x DBT%c:%08x\n",
drivers/dma/sa11x0-dma.c
263
dev_dbg(d->slave.dev, "pchan %u: irq: DCSR:%02x\n", p->num, dcsr);
drivers/dma/sa11x0-dma.c
266
dev_err(d->slave.dev, "pchan %u: error. DCSR:%02x DDAR:%08x DBSA:%08x DBTA:%08x DBSB:%08x DBTB:%08x\n",
drivers/dma/sa11x0-dma.c
333
dev_dbg(d->slave.dev, "tasklet enter\n");
drivers/dma/sa11x0-dma.c
335
list_for_each_entry(c, &d->slave.channels, vc.chan.device_node) {
drivers/dma/sa11x0-dma.c
342
dev_dbg(d->slave.dev, "pchan %u: free\n", p->num);
drivers/dma/sa11x0-dma.c
366
dev_dbg(d->slave.dev, "pchan %u: alloc vchan %p\n", pch, &c->vc);
drivers/dma/sa11x0-dma.c
384
dev_dbg(d->slave.dev, "tasklet exit\n");
drivers/dma/sa11x0-dma.c
462
dev_vdbg(d->slave.dev, "tx_status: addr:%pad\n", &addr);
drivers/dma/sa11x0-dma.c
465
dev_vdbg(d->slave.dev, "tx_status: [%u] %x+%x\n",
drivers/dma/sa11x0-dma.c
473
dev_vdbg(d->slave.dev, "tx_status: [%u] +%x\n",
drivers/dma/sa11x0-dma.c
481
dev_vdbg(d->slave.dev, "tx_status: [%u] %x+%x ++\n",
drivers/dma/sa11x0-dma.c
490
dev_vdbg(d->slave.dev, "tx_status: bytes 0x%x\n", state->residue);
drivers/dma/sa11x0-dma.c
513
dev_dbg(d->slave.dev, "vchan %p: issued\n", &c->vc);
drivers/dma/sa11x0-dma.c
518
dev_dbg(d->slave.dev, "vchan %p: nothing to issue\n", &c->vc);
drivers/dma/sa11x0-dma.c
705
dev_dbg(d->slave.dev, "vchan %p: pause\n", &c->vc);
drivers/dma/sa11x0-dma.c
731
dev_dbg(d->slave.dev, "vchan %p: resume\n", &c->vc);
drivers/dma/sa11x0-dma.c
758
dev_dbg(d->slave.dev, "vchan %p: terminate all\n", &c->vc);
drivers/dma/sa11x0-dma.c
765
dev_dbg(d->slave.dev, "pchan %u: terminating\n", p->num);
drivers/dma/sa11x0-dma.c
919
d->slave.filter.fn = sa11x0_dma_filter_fn;
drivers/dma/sa11x0-dma.c
920
d->slave.filter.mapcnt = ARRAY_SIZE(sa11x0_dma_map);
drivers/dma/sa11x0-dma.c
921
d->slave.filter.map = sa11x0_dma_map;
drivers/dma/sa11x0-dma.c
952
dma_cap_set(DMA_SLAVE, d->slave.cap_mask);
drivers/dma/sa11x0-dma.c
953
dma_cap_set(DMA_CYCLIC, d->slave.cap_mask);
drivers/dma/sa11x0-dma.c
954
d->slave.device_prep_slave_sg = sa11x0_dma_prep_slave_sg;
drivers/dma/sa11x0-dma.c
955
d->slave.device_prep_dma_cyclic = sa11x0_dma_prep_dma_cyclic;
drivers/dma/sa11x0-dma.c
956
d->slave.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
drivers/dma/sa11x0-dma.c
957
d->slave.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
drivers/dma/sa11x0-dma.c
958
d->slave.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) |
drivers/dma/sa11x0-dma.c
960
d->slave.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) |
drivers/dma/sa11x0-dma.c
962
ret = sa11x0_dma_init_dmadev(&d->slave, &pdev->dev);
drivers/dma/sa11x0-dma.c
964
dev_warn(d->slave.dev, "failed to register slave async device: %d\n",
drivers/dma/sa11x0-dma.c
973
sa11x0_dma_free_channels(&d->slave);
drivers/dma/sa11x0-dma.c
990
dma_async_device_unregister(&d->slave);
drivers/dma/sa11x0-dma.c
992
sa11x0_dma_free_channels(&d->slave);
drivers/dma/sh/rcar-dmac.c
1117
if (map->slave.xfer_size) {
drivers/dma/sh/rcar-dmac.c
1119
map->slave.xfer_size, map->dir, 0);
drivers/dma/sh/rcar-dmac.c
1120
map->slave.xfer_size = 0;
drivers/dma/sh/rcar-dmac.c
1166
if (dev_addr == map->slave.slave_addr &&
drivers/dma/sh/rcar-dmac.c
1167
dev_size == map->slave.xfer_size &&
drivers/dma/sh/rcar-dmac.c
1172
if (map->slave.xfer_size)
drivers/dma/sh/rcar-dmac.c
1174
map->slave.xfer_size, map->dir, 0);
drivers/dma/sh/rcar-dmac.c
1175
map->slave.xfer_size = 0;
drivers/dma/sh/rcar-dmac.c
1192
map->slave.slave_addr = dev_addr;
drivers/dma/sh/rcar-dmac.c
1193
map->slave.xfer_size = dev_size;
drivers/dma/sh/rcar-dmac.c
137
struct rcar_dmac_chan_slave slave;
drivers/dma/sh/shdma-base.c
222
struct shdma_slave *slave = chan->private;
drivers/dma/sh/shdma-base.c
229
if (slave) {
drivers/dma/sh/shdma-base.c
231
schan->real_slave_id = slave->slave_id;
drivers/dma/sh/shdma-base.c
261
if (slave)
drivers/dma/sh/shdma-base.c
263
clear_bit(slave->slave_id, shdma_slave_used);
drivers/dma/sh/shdmac.c
345
for (i = 0, cfg = pdata->slave; i < pdata->slave_num; i++, cfg++)
drivers/dma/sh/shdmac.c
349
for (i = 0, cfg = pdata->slave; i < pdata->slave_num; i++, cfg++)
drivers/dma/sh/shdmac.c
745
if (pdata->slave && pdata->slave_num)
drivers/dma/stm32/stm32-dma3.c
1970
dma_chan_name(c), dev_name(c->slave));
drivers/dma/sun4i-dma.c
1038
chan = dma_get_any_slave_channel(&priv->slave);
drivers/dma/sun4i-dma.c
1269
dma_cap_zero(priv->slave.cap_mask);
drivers/dma/sun4i-dma.c
1270
dma_cap_set(DMA_PRIVATE, priv->slave.cap_mask);
drivers/dma/sun4i-dma.c
1271
dma_cap_set(DMA_MEMCPY, priv->slave.cap_mask);
drivers/dma/sun4i-dma.c
1272
dma_cap_set(DMA_CYCLIC, priv->slave.cap_mask);
drivers/dma/sun4i-dma.c
1273
dma_cap_set(DMA_SLAVE, priv->slave.cap_mask);
drivers/dma/sun4i-dma.c
1275
INIT_LIST_HEAD(&priv->slave.channels);
drivers/dma/sun4i-dma.c
1276
priv->slave.device_free_chan_resources = sun4i_dma_free_chan_resources;
drivers/dma/sun4i-dma.c
1277
priv->slave.device_tx_status = sun4i_dma_tx_status;
drivers/dma/sun4i-dma.c
1278
priv->slave.device_issue_pending = sun4i_dma_issue_pending;
drivers/dma/sun4i-dma.c
1279
priv->slave.device_prep_slave_sg = sun4i_dma_prep_slave_sg;
drivers/dma/sun4i-dma.c
1280
priv->slave.device_prep_dma_memcpy = sun4i_dma_prep_dma_memcpy;
drivers/dma/sun4i-dma.c
1281
priv->slave.device_prep_dma_cyclic = sun4i_dma_prep_dma_cyclic;
drivers/dma/sun4i-dma.c
1282
priv->slave.device_config = sun4i_dma_config;
drivers/dma/sun4i-dma.c
1283
priv->slave.device_terminate_all = sun4i_dma_terminate_all;
drivers/dma/sun4i-dma.c
1284
priv->slave.copy_align = 2;
drivers/dma/sun4i-dma.c
1285
priv->slave.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) |
drivers/dma/sun4i-dma.c
1288
priv->slave.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) |
drivers/dma/sun4i-dma.c
1291
priv->slave.directions = BIT(DMA_DEV_TO_MEM) |
drivers/dma/sun4i-dma.c
1293
priv->slave.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
drivers/dma/sun4i-dma.c
1295
priv->slave.dev = &pdev->dev;
drivers/dma/sun4i-dma.c
1327
vchan_init(&vchan->vc, &priv->slave);
drivers/dma/sun4i-dma.c
1342
ret = dmaenginem_async_device_register(&priv->slave);
drivers/dma/sun4i-dma.c
223
struct dma_device slave;
drivers/dma/sun4i-dma.c
236
return container_of(dev, struct sun4i_dma_dev, slave);
drivers/dma/sun6i-dma.c
1066
chan = dma_get_any_slave_channel(&sdev->slave);
drivers/dma/sun6i-dma.c
1086
devm_free_irq(sdev->slave.dev, sdev->irq, sdev);
drivers/dma/sun6i-dma.c
1363
dma_cap_set(DMA_PRIVATE, sdc->slave.cap_mask);
drivers/dma/sun6i-dma.c
1364
dma_cap_set(DMA_MEMCPY, sdc->slave.cap_mask);
drivers/dma/sun6i-dma.c
1365
dma_cap_set(DMA_SLAVE, sdc->slave.cap_mask);
drivers/dma/sun6i-dma.c
1366
dma_cap_set(DMA_CYCLIC, sdc->slave.cap_mask);
drivers/dma/sun6i-dma.c
1368
INIT_LIST_HEAD(&sdc->slave.channels);
drivers/dma/sun6i-dma.c
1369
sdc->slave.device_free_chan_resources = sun6i_dma_free_chan_resources;
drivers/dma/sun6i-dma.c
1370
sdc->slave.device_tx_status = sun6i_dma_tx_status;
drivers/dma/sun6i-dma.c
1371
sdc->slave.device_issue_pending = sun6i_dma_issue_pending;
drivers/dma/sun6i-dma.c
1372
sdc->slave.device_prep_slave_sg = sun6i_dma_prep_slave_sg;
drivers/dma/sun6i-dma.c
1373
sdc->slave.device_prep_dma_memcpy = sun6i_dma_prep_dma_memcpy;
drivers/dma/sun6i-dma.c
1374
sdc->slave.device_prep_dma_cyclic = sun6i_dma_prep_dma_cyclic;
drivers/dma/sun6i-dma.c
1375
sdc->slave.copy_align = DMAENGINE_ALIGN_4_BYTES;
drivers/dma/sun6i-dma.c
1376
sdc->slave.device_config = sun6i_dma_config;
drivers/dma/sun6i-dma.c
1377
sdc->slave.device_pause = sun6i_dma_pause;
drivers/dma/sun6i-dma.c
1378
sdc->slave.device_resume = sun6i_dma_resume;
drivers/dma/sun6i-dma.c
1379
sdc->slave.device_terminate_all = sun6i_dma_terminate_all;
drivers/dma/sun6i-dma.c
1380
sdc->slave.src_addr_widths = sdc->cfg->src_addr_widths;
drivers/dma/sun6i-dma.c
1381
sdc->slave.dst_addr_widths = sdc->cfg->dst_addr_widths;
drivers/dma/sun6i-dma.c
1382
sdc->slave.directions = BIT(DMA_DEV_TO_MEM) |
drivers/dma/sun6i-dma.c
1384
sdc->slave.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
drivers/dma/sun6i-dma.c
1385
sdc->slave.dev = &pdev->dev;
drivers/dma/sun6i-dma.c
1435
vchan_init(&vchan->vc, &sdc->slave);
drivers/dma/sun6i-dma.c
1465
ret = dma_async_device_register(&sdc->slave);
drivers/dma/sun6i-dma.c
1484
dma_async_device_unregister(&sdc->slave);
drivers/dma/sun6i-dma.c
1503
dma_async_device_unregister(&sdc->slave);
drivers/dma/sun6i-dma.c
197
struct dma_device slave;
drivers/dma/sun6i-dma.c
223
return container_of(d, struct sun6i_dma_dev, slave);
drivers/dma/sun6i-dma.c
239
dev_dbg(sdev->slave.dev, "Common register:\n"
drivers/dma/sun6i-dma.c
255
dev_dbg(sdev->slave.dev, "Chan %d reg:\n"
drivers/dma/sun6i-dma.c
486
list_for_each_entry(vchan, &sdev->slave.channels, vc.chan.device_node) {
drivers/dma/sun6i-dma.c
496
dev_dbg(sdev->slave.dev, "pchan %u: free\n",
drivers/dma/sun6i-dma.c
524
dev_dbg(sdev->slave.dev, "pchan %u: alloc vchan %p\n",
drivers/dma/sun6i-dma.c
556
dev_dbg(sdev->slave.dev, "DMA irq status %s: 0x%x\n",
drivers/dma/sun6i-dma.c
631
if (!(BIT(src_addr_width) & sdev->slave.src_addr_widths))
drivers/dma/sun6i-dma.c
633
if (!(BIT(dst_addr_width) & sdev->slave.dst_addr_widths))
drivers/dma/sun6i-dma.c
687
dev_err(sdev->slave.dev, "Failed to alloc lli memory\n");
drivers/dma/sun6i-dma.c
829
dev_err(sdev->slave.dev, "Failed to alloc lli memory\n");
drivers/fsi/fsi-core.c
1026
return __fsi_get_new_minor(fdev->slave, type, out_dev, out_index);
drivers/fsi/fsi-core.c
1039
struct fsi_slave *slave;
drivers/fsi/fsi-core.c
1086
slave = kzalloc_obj(*slave);
drivers/fsi/fsi-core.c
1087
if (!slave)
drivers/fsi/fsi-core.c
1090
dev_set_name(&slave->dev, "slave@%02x:%02x", link, id);
drivers/fsi/fsi-core.c
1091
slave->dev.type = &cfam_type;
drivers/fsi/fsi-core.c
1092
slave->dev.parent = &master->dev;
drivers/fsi/fsi-core.c
1093
slave->dev.of_node = fsi_slave_find_of_node(master, link, id);
drivers/fsi/fsi-core.c
1094
slave->dev.release = fsi_slave_release;
drivers/fsi/fsi-core.c
1095
device_initialize(&slave->dev);
drivers/fsi/fsi-core.c
1096
slave->cfam_id = cfam_id;
drivers/fsi/fsi-core.c
1097
slave->master = master;
drivers/fsi/fsi-core.c
1098
slave->link = link;
drivers/fsi/fsi-core.c
1099
slave->id = id;
drivers/fsi/fsi-core.c
1100
slave->size = FSI_SLAVE_SIZE_23b;
drivers/fsi/fsi-core.c
1101
slave->t_send_delay = 16;
drivers/fsi/fsi-core.c
1102
slave->t_echo_delay = 16;
drivers/fsi/fsi-core.c
1105
slave->chip_id = -1;
drivers/fsi/fsi-core.c
1106
if (slave->dev.of_node) {
drivers/fsi/fsi-core.c
1108
if (!of_property_read_u32(slave->dev.of_node, "chip-id", &prop))
drivers/fsi/fsi-core.c
1109
slave->chip_id = prop;
drivers/fsi/fsi-core.c
1121
rc = fsi_slave_set_smode(slave);
drivers/fsi/fsi-core.c
1130
rc = __fsi_get_new_minor(slave, fsi_dev_cfam, &slave->dev.devt,
drivers/fsi/fsi-core.c
1131
&slave->cdev_idx);
drivers/fsi/fsi-core.c
1135
trace_fsi_slave_init(slave);
drivers/fsi/fsi-core.c
1138
cdev_init(&slave->cdev, &cfam_fops);
drivers/fsi/fsi-core.c
1139
rc = cdev_device_add(&slave->cdev, &slave->dev);
drivers/fsi/fsi-core.c
1141
dev_err(&slave->dev, "Error %d creating slave device\n", rc);
drivers/fsi/fsi-core.c
1152
slave->t_send_delay,
drivers/fsi/fsi-core.c
1153
slave->t_echo_delay);
drivers/fsi/fsi-core.c
1156
rc = device_create_bin_file(&slave->dev, &fsi_slave_raw_attr);
drivers/fsi/fsi-core.c
1158
dev_warn(&slave->dev, "failed to create raw attr: %d\n", rc);
drivers/fsi/fsi-core.c
1161
rc = fsi_slave_scan(slave);
drivers/fsi/fsi-core.c
1169
fsi_free_minor(slave->dev.devt);
drivers/fsi/fsi-core.c
1171
of_node_put(slave->dev.of_node);
drivers/fsi/fsi-core.c
1172
kfree(slave);
drivers/fsi/fsi-core.c
1294
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
1297
cdev_device_del(&slave->cdev, &slave->dev);
drivers/fsi/fsi-core.c
181
return fsi_slave_read(dev->slave, dev->addr + addr, val, size);
drivers/fsi/fsi-core.c
191
return fsi_slave_write(dev->slave, dev->addr + addr, val, size);
drivers/fsi/fsi-core.c
199
return fsi_slave_read(dev->slave, addr, val, sizeof(uint32_t));
drivers/fsi/fsi-core.c
210
static struct fsi_device *fsi_create_device(struct fsi_slave *slave)
drivers/fsi/fsi-core.c
218
dev->dev.parent = &slave->dev;
drivers/fsi/fsi-core.c
226
static int fsi_slave_calc_addr(struct fsi_slave *slave, uint32_t *addrp,
drivers/fsi/fsi-core.c
232
if (addr > slave->size)
drivers/fsi/fsi-core.c
239
if (slave->id != 0)
drivers/fsi/fsi-core.c
250
static int fsi_slave_report_and_clear_errors(struct fsi_slave *slave)
drivers/fsi/fsi-core.c
252
struct fsi_master *master = slave->master;
drivers/fsi/fsi-core.c
257
link = slave->link;
drivers/fsi/fsi-core.c
258
id = slave->id;
drivers/fsi/fsi-core.c
270
dev_dbg(&slave->dev, "status: 0x%08x, sisc: 0x%08x\n",
drivers/fsi/fsi-core.c
310
static int fsi_slave_set_smode(struct fsi_slave *slave)
drivers/fsi/fsi-core.c
318
smode = fsi_slave_smode(slave->id, slave->t_send_delay, slave->t_echo_delay);
drivers/fsi/fsi-core.c
321
return fsi_master_write(slave->master, slave->link, slave->id,
drivers/fsi/fsi-core.c
326
static int fsi_slave_handle_error(struct fsi_slave *slave, bool write,
drivers/fsi/fsi-core.c
329
struct fsi_master *master = slave->master;
drivers/fsi/fsi-core.c
337
link = slave->link;
drivers/fsi/fsi-core.c
338
id = slave->id;
drivers/fsi/fsi-core.c
340
dev_dbg(&slave->dev, "handling error on %s to 0x%08x[%zd]",
drivers/fsi/fsi-core.c
346
rc = fsi_slave_report_and_clear_errors(slave);
drivers/fsi/fsi-core.c
357
rc = fsi_slave_report_and_clear_errors(slave);
drivers/fsi/fsi-core.c
363
send_delay = slave->t_send_delay;
drivers/fsi/fsi-core.c
364
echo_delay = slave->t_echo_delay;
drivers/fsi/fsi-core.c
371
slave->t_send_delay = send_delay;
drivers/fsi/fsi-core.c
372
slave->t_echo_delay = echo_delay;
drivers/fsi/fsi-core.c
374
rc = fsi_slave_set_smode(slave);
drivers/fsi/fsi-core.c
380
slave->t_send_delay,
drivers/fsi/fsi-core.c
381
slave->t_echo_delay);
drivers/fsi/fsi-core.c
383
return fsi_slave_report_and_clear_errors(slave);
drivers/fsi/fsi-core.c
386
int fsi_slave_read(struct fsi_slave *slave, uint32_t addr,
drivers/fsi/fsi-core.c
389
uint8_t id = slave->id;
drivers/fsi/fsi-core.c
392
rc = fsi_slave_calc_addr(slave, &addr, &id);
drivers/fsi/fsi-core.c
397
rc = fsi_master_read(slave->master, slave->link,
drivers/fsi/fsi-core.c
402
err_rc = fsi_slave_handle_error(slave, false, addr, size);
drivers/fsi/fsi-core.c
411
int fsi_slave_write(struct fsi_slave *slave, uint32_t addr,
drivers/fsi/fsi-core.c
414
uint8_t id = slave->id;
drivers/fsi/fsi-core.c
417
rc = fsi_slave_calc_addr(slave, &addr, &id);
drivers/fsi/fsi-core.c
422
rc = fsi_master_write(slave->master, slave->link,
drivers/fsi/fsi-core.c
427
err_rc = fsi_slave_handle_error(slave, true, addr, size);
drivers/fsi/fsi-core.c
436
int fsi_slave_claim_range(struct fsi_slave *slave,
drivers/fsi/fsi-core.c
442
if (addr + size > slave->size)
drivers/fsi/fsi-core.c
450
void fsi_slave_release_range(struct fsi_slave *slave,
drivers/fsi/fsi-core.c
484
parent = dev_of_node(&dev->slave->dev);
drivers/fsi/fsi-core.c
497
static int fsi_slave_scan(struct fsi_slave *slave)
drivers/fsi/fsi-core.c
516
rc = fsi_slave_read(slave, (i + 1) * sizeof(data),
drivers/fsi/fsi-core.c
519
dev_warn(&slave->dev,
drivers/fsi/fsi-core.c
527
dev_warn(&slave->dev,
drivers/fsi/fsi-core.c
547
dev = fsi_create_device(slave);
drivers/fsi/fsi-core.c
551
dev->slave = slave;
drivers/fsi/fsi-core.c
560
dev_dbg(&slave->dev,
drivers/fsi/fsi-core.c
566
slave->master->idx, slave->link,
drivers/fsi/fsi-core.c
567
slave->id, i - 2);
drivers/fsi/fsi-core.c
572
dev_warn(&slave->dev, "add failed: %d\n", rc);
drivers/fsi/fsi-core.c
615
struct fsi_slave *slave = to_fsi_slave(kobj_to_dev(kobj));
drivers/fsi/fsi-core.c
628
rc = fsi_slave_read(slave, off, buf + total_len, read_len);
drivers/fsi/fsi-core.c
642
struct fsi_slave *slave = to_fsi_slave(kobj_to_dev(kobj));
drivers/fsi/fsi-core.c
655
rc = fsi_slave_write(slave, off, buf + total_len, write_len);
drivers/fsi/fsi-core.c
677
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
679
fsi_free_minor(slave->dev.devt);
drivers/fsi/fsi-core.c
681
kfree(slave);
drivers/fsi/fsi-core.c
718
struct fsi_slave *slave = filep->private_data;
drivers/fsi/fsi-core.c
735
rc = fsi_slave_read(slave, off, &data, read_len);
drivers/fsi/fsi-core.c
754
struct fsi_slave *slave = filep->private_data;
drivers/fsi/fsi-core.c
777
rc = fsi_slave_write(slave, off, &data, write_len);
drivers/fsi/fsi-core.c
805
struct fsi_slave *slave = container_of(inode->i_cdev, struct fsi_slave, cdev);
drivers/fsi/fsi-core.c
807
file->private_data = slave;
drivers/fsi/fsi-core.c
824
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
825
struct fsi_master *master = slave->master;
drivers/fsi/fsi-core.c
830
master->term(master, slave->link, slave->id);
drivers/fsi/fsi-core.c
840
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
842
return sprintf(buf, "%u\n", slave->t_send_delay);
drivers/fsi/fsi-core.c
848
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
849
struct fsi_master *master = slave->master;
drivers/fsi/fsi-core.c
863
slave->t_send_delay = val;
drivers/fsi/fsi-core.c
864
slave->t_echo_delay = val;
drivers/fsi/fsi-core.c
866
rc = fsi_slave_set_smode(slave);
drivers/fsi/fsi-core.c
870
master->link_config(master, slave->link,
drivers/fsi/fsi-core.c
871
slave->t_send_delay,
drivers/fsi/fsi-core.c
872
slave->t_echo_delay);
drivers/fsi/fsi-core.c
884
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
886
return sprintf(buf, "%d\n", slave->chip_id);
drivers/fsi/fsi-core.c
895
struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
897
return sprintf(buf, "0x%x\n", slave->cfam_id);
drivers/fsi/fsi-core.c
922
const struct fsi_slave *slave = to_fsi_slave(dev);
drivers/fsi/fsi-core.c
925
return kasprintf(GFP_KERNEL, "fsi/cfam%d", slave->cdev_idx);
drivers/fsi/fsi-core.c
927
return kasprintf(GFP_KERNEL, "cfam%d", slave->cdev_idx);
drivers/fsi/fsi-core.c
963
static int __fsi_get_new_minor(struct fsi_slave *slave, enum fsi_dev_type type,
drivers/fsi/fsi-core.c
966
int cid = slave->chip_id;
drivers/fsi/fsi-master-ast-cf.c
414
static int send_term(struct fsi_master_acf *master, uint8_t slave)
drivers/fsi/fsi-master-ast-cf.c
420
build_term_command(&cmd, slave);
drivers/fsi/fsi-master-ast-cf.c
468
uint8_t slave, uint8_t size, void *data)
drivers/fsi/fsi-master-ast-cf.c
498
build_epoll_command(&cmd, slave);
drivers/fsi/fsi-master-ast-cf.c
536
build_dpoll_command(&cmd, slave);
drivers/fsi/fsi-master-ast-cf.c
546
send_term(master, slave);
drivers/fsi/fsi-master-ast-cf.c
571
static int fsi_master_acf_xfer(struct fsi_master_acf *master, uint8_t slave,
drivers/fsi/fsi-master-ast-cf.c
584
rc = handle_response(master, slave, resp_len, resp);
drivers/fsi/fsi-master-gpio.c
397
static int issue_term(struct fsi_master_gpio *master, uint8_t slave)
drivers/fsi/fsi-master-gpio.c
404
build_term_command(&cmd, slave);
drivers/fsi/fsi-master-gpio.c
425
uint8_t slave, uint8_t size, void *data)
drivers/fsi/fsi-master-gpio.c
450
build_epoll_command(&cmd, slave);
drivers/fsi/fsi-master-gpio.c
481
build_dpoll_command(&cmd, slave);
drivers/fsi/fsi-master-gpio.c
494
issue_term(master, slave);
drivers/fsi/fsi-master-gpio.c
539
static int fsi_master_gpio_xfer(struct fsi_master_gpio *master, uint8_t slave,
drivers/fsi/fsi-master-gpio.c
548
rc = poll_for_response(master, slave, resp_len, resp);
drivers/fsi/fsi-master-hub.c
211
rc = fsi_slave_claim_range(fsi_dev->slave, FSI_HUB_LINK_OFFSET,
drivers/fsi/fsi-master-hub.c
257
fsi_slave_release_range(fsi_dev->slave, FSI_HUB_LINK_OFFSET,
drivers/fsi/fsi-master-hub.c
267
fsi_slave_release_range(hub->upstream->slave, hub->addr, hub->size);
drivers/fsi/fsi-master-hub.c
54
return fsi_slave_read(hub->upstream->slave, addr, val, size);
drivers/fsi/fsi-master-hub.c
66
return fsi_slave_write(hub->upstream->slave, addr, val, size);
drivers/fsi/fsi-sbefifo.c
293
rc = fsi_slave_read(sbefifo->fsi_dev->slave, CFAM_GP_MBOX_SBM_ADDR,
drivers/fsi/i2cr-scom.c
91
if (!is_fsi_master_i2cr(fsi_dev->slave->master))
drivers/fsi/i2cr-scom.c
98
scom->i2cr = to_fsi_master_i2cr(fsi_dev->slave->master);
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
257
struct komeda_pipeline *slave = kcrtc->slave;
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
269
if (slave && has_bit(slave->id, kcrtc_st->affected_pipes))
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
270
komeda_pipeline_update(slave, old->state);
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
335
struct komeda_pipeline *slave = kcrtc->slave;
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
343
if (slave && has_bit(slave->id, old_st->active_pipes))
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
344
komeda_pipeline_disable(slave, old->state);
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
581
crtc->slave = komeda_pipeline_get_slave(master);
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
583
if (crtc->slave)
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
584
sprintf(str, "pipe-%d", crtc->slave->id);
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
96
err = komeda_release_unclaimed_resources(kcrtc->slave, kcrtc_st);
drivers/gpu/drm/arm/display/komeda/komeda_kms.h
77
struct komeda_pipeline *slave;
drivers/gpu/drm/arm/display/komeda/komeda_pipeline.c
338
struct komeda_component *slave;
drivers/gpu/drm/arm/display/komeda/komeda_pipeline.c
340
slave = komeda_component_pickup_input(&master->compiz->base,
drivers/gpu/drm/arm/display/komeda/komeda_pipeline.c
343
return slave ? slave->pipeline : NULL;
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
1191
struct komeda_pipeline *slave = kcrtc->slave;
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
1199
if (slave && has_bit(slave->id, kcrtc_st->active_pipes)) {
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c
1200
err = komeda_compiz_validate(slave->compiz, kcrtc_st, &s_dflow);
drivers/gpu/drm/arm/display/komeda/komeda_plane.c
208
if ((pipe == crtc->master) || (pipe == crtc->slave))
drivers/gpu/drm/arm/display/komeda/komeda_plane.c
226
if (pipe == kcrtc->slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1032
if (dsi->slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1033
dw_mipi_dsi_mode_set(dsi->slave, &dsi->mode);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1053
if (dsi->slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1054
dw_mipi_dsi_set_mode(dsi->slave, MIPI_DSI_MODE_VIDEO);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1283
void dw_mipi_dsi_set_slave(struct dw_mipi_dsi *dsi, struct dw_mipi_dsi *slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1286
dsi->slave = slave;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1287
dsi->slave->master = dsi;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1290
dsi->slave->lanes = dsi->lanes;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1291
dsi->slave->channel = dsi->channel;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1292
dsi->slave->format = dsi->format;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
1293
dsi->slave->mode_flags = dsi->mode_flags;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
270
struct dw_mipi_dsi *slave; /* dual-dsi slave ptr */
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
281
return dsi->slave || dsi->master;
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
515
if (dsi->slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
516
dw_mipi_message_config(dsi->slave, msg);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
521
if (dsi->slave) {
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
522
ret = dw_mipi_dsi_write(dsi->slave, &packet);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
954
if (dsi->slave) {
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
955
dw_mipi_dsi_disable(dsi->slave);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
956
clk_disable_unprepare(dsi->slave->pclk);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
957
pm_runtime_put(dsi->slave->dev);
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
972
if (dsi->slave)
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
973
return dsi->lanes + dsi->slave->lanes;
drivers/gpu/drm/loongson/lsdc_ttm.c
116
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/loongson/lsdc_ttm.c
118
if (slave && ttm->sg) {
drivers/gpu/drm/loongson/lsdc_ttm.c
132
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/loongson/lsdc_ttm.c
134
if (slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
342
if (pll_10nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
343
dsi_pll_enable_pll_bias(pll_10nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
370
if (pll_10nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
371
dsi_pll_enable_global_clk(pll_10nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
374
if (pll_10nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
375
writel(0x01, pll_10nm->slave->phy->base + REG_DSI_10nm_PHY_CMN_RBUF_CTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
399
if (pll_10nm->slave) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
400
dsi_pll_disable_global_clk(pll_10nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
401
dsi_pll_disable_sub(pll_10nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
540
pll_10nm->slave = pll_10nm_list[(pll_10nm->phy->id + 1) % DSI_MAX];
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
82
struct dsi_pll_10nm *slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
484
struct dsi_pll_14nm *pll_14nm_slave = pll_14nm->slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
665
struct dsi_pll_14nm *pll_14nm_slave = pll_14nm->slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
729
struct dsi_pll_14nm *pll_14nm_slave = pll_14nm->slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
750
pll_14nm->slave = pll_14nm_list[(pll_14nm->phy->id + 1) % DSI_MAX];
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
82
struct dsi_pll_14nm *slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
102
struct dsi_pll_7nm *slave;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
321
if (pll->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
322
writel(0x22, pll->slave->phy->pll_base + REG_DSI_7nm_PHY_PLL_PERF_OPTIMIZE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
497
if (pll_7nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
498
dsi_pll_enable_pll_bias(pll_7nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
524
if (pll_7nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
525
dsi_pll_phy_dig_reset(pll_7nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
528
if (pll_7nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
529
dsi_pll_enable_global_clk(pll_7nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
532
if (pll_7nm->slave)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
533
writel(0x1, pll_7nm->slave->phy->base + REG_DSI_7nm_PHY_CMN_RBUF_CTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
557
if (pll_7nm->slave) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
558
dsi_pll_disable_global_clk(pll_7nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
559
dsi_pll_disable_sub(pll_7nm->slave);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
700
pll_7nm->slave = pll_7nm_list[(pll_7nm->phy->id + 1) % DSI_MAX];
drivers/gpu/drm/nouveau/dispnv04/dfp.c
156
struct drm_encoder *slave;
drivers/gpu/drm/nouveau/dispnv04/dfp.c
171
list_for_each_entry(slave, &dev->mode_config.encoder_list, head) {
drivers/gpu/drm/nouveau/dispnv04/dfp.c
172
struct dcb_output *slave_dcb = nouveau_encoder(slave)->dcb;
drivers/gpu/drm/nouveau/dispnv04/dfp.c
174
if (slave_dcb->type == DCB_OUTPUT_TMDS && get_encoder_i2c_funcs(slave) &&
drivers/gpu/drm/nouveau/dispnv04/dfp.c
176
return slave;
drivers/gpu/drm/nouveau/nouveau_bo.c
1424
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/nouveau/nouveau_bo.c
1429
if (slave && ttm->sg) {
drivers/gpu/drm/nouveau/nouveau_bo.c
1445
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/nouveau/nouveau_bo.c
1447
if (slave)
drivers/gpu/drm/nouveau/nouveau_encoder.h
141
struct nouveau_i2c_encoder *slave = to_encoder_i2c(enc);
drivers/gpu/drm/nouveau/nouveau_encoder.h
143
return container_of(slave, struct nouveau_encoder, base);
drivers/gpu/drm/radeon/radeon_ttm.c
533
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/radeon/radeon_ttm.c
544
if (slave && ttm->sg) {
drivers/gpu/drm/radeon/radeon_ttm.c
557
bool slave = !!(ttm->page_flags & TTM_TT_FLAG_EXTERNAL);
drivers/gpu/drm/radeon/radeon_ttm.c
567
if (slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1011
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1012
pm_runtime_put(dsi->slave->dev);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1033
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1034
pm_runtime_put(dsi->slave->dev);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1347
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1348
dw_mipi_dsi_rockchip_config(dsi->slave);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
286
struct dw_mipi_dsi_rockchip *slave;
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
794
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
822
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
823
dw_mipi_dsi_rockchip_set_lcdsel(dsi->slave, mux);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
950
dsi->slave = dev_get_drvdata(second);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
951
if (!dsi->slave) {
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
956
dsi->slave->is_slave = true;
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
957
dw_mipi_dsi_set_slave(dsi->dmd, dsi->slave->dmd);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
962
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
963
pm_runtime_get_sync(dsi->slave->dev);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
984
if (dsi->slave)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
985
dw_mipi_dsi_rockchip_config(dsi->slave);
drivers/gpu/drm/sprd/megacores_pll.c
114
pll->freq = dsi->slave->hs_rate;
drivers/gpu/drm/sprd/sprd_dpu.c
629
if (dsi->slave->mode_flags & MIPI_DSI_MODE_VIDEO)
drivers/gpu/drm/sprd/sprd_dsi.c
392
u32 byte_clk = dsi->slave->hs_rate / 8;
drivers/gpu/drm/sprd/sprd_dsi.c
409
div = DIV_ROUND_UP(byte_clk, dsi->slave->lp_rate);
drivers/gpu/drm/sprd/sprd_dsi.c
451
u32 byte_clk = dsi->slave->hs_rate / 8;
drivers/gpu/drm/sprd/sprd_dsi.c
469
coding = fmt_to_coding(dsi->slave->format);
drivers/gpu/drm/sprd/sprd_dsi.c
520
ratio_x1000 / dsi->slave->lanes / 1000;
drivers/gpu/drm/sprd/sprd_dsi.c
591
coding = fmt_to_coding(dsi->slave->format);
drivers/gpu/drm/sprd/sprd_dsi.c
763
writel(dsi->slave->lanes - 1, ctx->base + PHY_LANE_NUM_CONFIG);
drivers/gpu/drm/sprd/sprd_dsi.c
812
if (dsi->slave->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) {
drivers/gpu/drm/sprd/sprd_dsi.c
968
struct mipi_dsi_device *slave)
drivers/gpu/drm/sprd/sprd_dsi.c
973
dsi->slave = slave;
drivers/gpu/drm/sprd/sprd_dsi.c
975
if (slave->mode_flags & MIPI_DSI_MODE_VIDEO)
drivers/gpu/drm/sprd/sprd_dsi.c
980
if (slave->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)
drivers/gpu/drm/sprd/sprd_dsi.c
982
else if (slave->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)
drivers/gpu/drm/sprd/sprd_dsi.c
991
struct mipi_dsi_device *slave)
drivers/gpu/drm/sprd/sprd_dsi.h
117
struct mipi_dsi_device *slave;
drivers/gpu/drm/tegra/dsi.c
1459
parent = clk_get_parent(dsi->slave->clk);
drivers/gpu/drm/tegra/dsi.c
1479
if (dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
1544
dsi->slave = platform_get_drvdata(gangster);
drivers/gpu/drm/tegra/dsi.c
1546
if (!dsi->slave)
drivers/gpu/drm/tegra/dsi.c
1549
dsi->slave->master = dsi;
drivers/gpu/drm/tegra/dsi.c
387
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
388
tegra_dsi_set_phy_timing(dsi->slave, period, timing);
drivers/gpu/drm/tegra/dsi.c
465
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
466
tegra_dsi_enable(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
474
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
475
return dsi->lanes + dsi->slave->lanes;
drivers/gpu/drm/tegra/dsi.c
552
if (dsi->master || dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
574
if (dsi->master || dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
595
if (dsi->master || dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
614
if (dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
615
tegra_dsi_configure(dsi->slave, pipe, mode);
drivers/gpu/drm/tegra/dsi.c
622
tegra_dsi_ganged_enable(dsi->slave, mode->hdisplay / 2,
drivers/gpu/drm/tegra/dsi.c
652
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
653
tegra_dsi_video_disable(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
726
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
727
tegra_dsi_set_timeout(dsi->slave, bclk, vrefresh);
drivers/gpu/drm/tegra/dsi.c
734
if (dsi->slave) {
drivers/gpu/drm/tegra/dsi.c
735
tegra_dsi_ganged_disable(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
743
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
744
tegra_dsi_disable(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
769
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
770
tegra_dsi_soft_reset(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
831
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
832
tegra_dsi_unprepare(dsi->slave);
drivers/gpu/drm/tegra/dsi.c
84
struct tegra_dsi *slave;
drivers/gpu/drm/tegra/dsi.c
902
if (dsi->slave)
drivers/gpu/drm/tegra/dsi.c
903
tegra_dsi_prepare(dsi->slave);
drivers/hsi/clients/ssi_protocol.c
325
struct hsi_client *ssip_slave_get_master(struct hsi_client *slave)
drivers/hsi/clients/ssi_protocol.c
331
if (slave->device.parent == ssi->cl->device.parent) {
drivers/i2c/busses/i2c-aspeed.c
166
struct i2c_client *slave;
drivers/i2c/busses/i2c-aspeed.c
252
struct i2c_client *slave = bus->slave;
drivers/i2c/busses/i2c-aspeed.c
256
if (!slave)
drivers/i2c/busses/i2c-aspeed.c
278
i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-aspeed.c
322
i2c_slave_event(slave, I2C_SLAVE_READ_REQUESTED, &value);
drivers/i2c/busses/i2c-aspeed.c
333
i2c_slave_event(slave, I2C_SLAVE_READ_PROCESSED, &value);
drivers/i2c/busses/i2c-aspeed.c
339
ret = i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
drivers/i2c/busses/i2c-aspeed.c
348
i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED, &value);
drivers/i2c/busses/i2c-aspeed.c
779
if (bus->slave) {
drivers/i2c/busses/i2c-aspeed.c
786
bus->slave = client;
drivers/i2c/busses/i2c-aspeed.c
799
if (!bus->slave) {
drivers/i2c/busses/i2c-aspeed.c
809
bus->slave = NULL;
drivers/i2c/busses/i2c-aspeed.c
952
if (bus->slave)
drivers/i2c/busses/i2c-aspeed.c
953
__aspeed_i2c_reg_slave(bus, bus->slave->addr);
drivers/i2c/busses/i2c-at91-slave.c
28
i2c_slave_event(dev->slave,
drivers/i2c/busses/i2c-at91-slave.c
34
i2c_slave_event(dev->slave,
drivers/i2c/busses/i2c-at91-slave.c
44
i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &value);
drivers/i2c/busses/i2c-at91-slave.c
51
i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, &value);
drivers/i2c/busses/i2c-at91-slave.c
59
i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-at91-slave.c
65
static int at91_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-at91-slave.c
67
struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-at91-slave.c
69
if (dev->slave)
drivers/i2c/busses/i2c-at91-slave.c
72
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-at91-slave.c
78
dev->slave = slave;
drivers/i2c/busses/i2c-at91-slave.c
79
dev->smr = AT91_TWI_SMR_SADR(slave->addr);
drivers/i2c/busses/i2c-at91-slave.c
84
dev_info(dev->dev, "entered slave mode (ADR=%d)\n", slave->addr);
drivers/i2c/busses/i2c-at91-slave.c
89
static int at91_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-at91-slave.c
91
struct at91_twi_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-at91-slave.c
93
WARN_ON(!dev->slave);
drivers/i2c/busses/i2c-at91-slave.c
97
dev->slave = NULL;
drivers/i2c/busses/i2c-at91.h
160
struct i2c_client *slave;
drivers/i2c/busses/i2c-axxia.c
150
struct i2c_client *slave;
drivers/i2c/busses/i2c-axxia.c
321
i2c_slave_event(idev->slave,
drivers/i2c/busses/i2c-axxia.c
325
i2c_slave_event(idev->slave, I2C_SLAVE_WRITE_RECEIVED, &val);
drivers/i2c/busses/i2c-axxia.c
329
i2c_slave_event(idev->slave, I2C_SLAVE_STOP, &val);
drivers/i2c/busses/i2c-axxia.c
345
i2c_slave_event(idev->slave, I2C_SLAVE_READ_REQUESTED, &val);
drivers/i2c/busses/i2c-axxia.c
349
i2c_slave_event(idev->slave, I2C_SLAVE_READ_PROCESSED, &val);
drivers/i2c/busses/i2c-axxia.c
353
i2c_slave_event(idev->slave, I2C_SLAVE_STOP, &val);
drivers/i2c/busses/i2c-axxia.c
661
static int axxia_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-axxia.c
663
struct axxia_i2c_dev *idev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-axxia.c
667
if (idev->slave)
drivers/i2c/busses/i2c-axxia.c
670
idev->slave = slave;
drivers/i2c/busses/i2c-axxia.c
678
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-axxia.c
683
writel(slave->addr, idev->base + SLV_ADDR_1);
drivers/i2c/busses/i2c-axxia.c
693
static int axxia_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-axxia.c
695
struct axxia_i2c_dev *idev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-axxia.c
703
idev->slave = NULL;
drivers/i2c/busses/i2c-bcm-iproc.c
1006
static int bcm_iproc_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-bcm-iproc.c
1008
struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
1011
if (!iproc_i2c->slave)
drivers/i2c/busses/i2c-bcm-iproc.c
1036
iproc_i2c->slave = NULL;
drivers/i2c/busses/i2c-bcm-iproc.c
197
struct i2c_client *slave;
drivers/i2c/busses/i2c-bcm-iproc.c
296
val |= (iproc_i2c->slave->addr << S_CFG_NIC_SMB_ADDR3_SHIFT);
drivers/i2c/busses/i2c-bcm-iproc.c
380
i2c_slave_event(iproc_i2c->slave,
drivers/i2c/busses/i2c-bcm-iproc.c
387
i2c_slave_event(iproc_i2c->slave,
drivers/i2c/busses/i2c-bcm-iproc.c
393
i2c_slave_event(iproc_i2c->slave,
drivers/i2c/busses/i2c-bcm-iproc.c
397
i2c_slave_event(iproc_i2c->slave, I2C_SLAVE_STOP,
drivers/i2c/busses/i2c-bcm-iproc.c
453
i2c_slave_event(iproc_i2c->slave,
drivers/i2c/busses/i2c-bcm-iproc.c
458
i2c_slave_event(iproc_i2c->slave,
drivers/i2c/busses/i2c-bcm-iproc.c
495
i2c_slave_event(iproc_i2c->slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-bcm-iproc.c
986
static int bcm_iproc_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-bcm-iproc.c
988
struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-bcm-iproc.c
990
if (iproc_i2c->slave)
drivers/i2c/busses/i2c-bcm-iproc.c
993
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-bcm-iproc.c
996
iproc_i2c->slave = slave;
drivers/i2c/busses/i2c-cadence.c
1190
static int cdns_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-cadence.c
1193
struct cdns_i2c *id = container_of(slave->adapter, struct cdns_i2c,
drivers/i2c/busses/i2c-cadence.c
1196
if (id->slave)
drivers/i2c/busses/i2c-cadence.c
1199
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-cadence.c
1207
id->slave = slave;
drivers/i2c/busses/i2c-cadence.c
1215
static int cdns_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-cadence.c
1217
struct cdns_i2c *id = container_of(slave->adapter, struct cdns_i2c,
drivers/i2c/busses/i2c-cadence.c
1223
id->slave = NULL;
drivers/i2c/busses/i2c-cadence.c
219
struct i2c_client *slave;
drivers/i2c/busses/i2c-cadence.c
349
cdns_i2c_writereg(id->slave->addr & CDNS_I2C_ADDR_MASK,
drivers/i2c/busses/i2c-cadence.c
367
i2c_slave_event(id->slave, I2C_SLAVE_WRITE_REQUESTED, NULL);
drivers/i2c/busses/i2c-cadence.c
376
i2c_slave_event(id->slave, I2C_SLAVE_WRITE_RECEIVED, &data);
drivers/i2c/busses/i2c-cadence.c
387
i2c_slave_event(id->slave, I2C_SLAVE_READ_REQUESTED, &data);
drivers/i2c/busses/i2c-cadence.c
389
i2c_slave_event(id->slave, I2C_SLAVE_READ_PROCESSED, &data);
drivers/i2c/busses/i2c-cadence.c
428
i2c_slave_event(id->slave, I2C_SLAVE_STOP, NULL);
drivers/i2c/busses/i2c-cadence.c
438
i2c_slave_event(id->slave, I2C_SLAVE_STOP, NULL);
drivers/i2c/busses/i2c-cadence.c
446
i2c_slave_event(id->slave, I2C_SLAVE_STOP, NULL);
drivers/i2c/busses/i2c-designware-common.c
375
regmap_write(dev->map, DW_IC_SAR, dev->slave->addr);
drivers/i2c/busses/i2c-designware-common.c
416
if (mode == DW_IC_SLAVE && !dev->slave)
drivers/i2c/busses/i2c-designware-core.h
280
struct i2c_client *slave;
drivers/i2c/busses/i2c-designware-pcidrv.c
280
dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, &dgpu_node);
drivers/i2c/busses/i2c-designware-pcidrv.c
281
if (IS_ERR(dev->slave)) {
drivers/i2c/busses/i2c-designware-pcidrv.c
283
return dev_err_probe(device, PTR_ERR(dev->slave),
drivers/i2c/busses/i2c-designware-slave.c
125
if (!enabled || !(raw_stat & ~DW_IC_INTR_ACTIVITY) || !dev->slave)
drivers/i2c/busses/i2c-designware-slave.c
137
i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_REQUESTED,
drivers/i2c/busses/i2c-designware-slave.c
144
i2c_slave_event(dev->slave,
drivers/i2c/busses/i2c-designware-slave.c
148
i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED,
drivers/i2c/busses/i2c-designware-slave.c
159
i2c_slave_event(dev->slave,
drivers/i2c/busses/i2c-designware-slave.c
165
i2c_slave_event(dev->slave,
drivers/i2c/busses/i2c-designware-slave.c
174
i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &val);
drivers/i2c/busses/i2c-designware-slave.c
24
int i2c_dw_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-designware-slave.c
26
struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-designware-slave.c
29
if (!i2c_check_functionality(slave->adapter, I2C_FUNC_SLAVE))
drivers/i2c/busses/i2c-designware-slave.c
31
if (dev->slave)
drivers/i2c/busses/i2c-designware-slave.c
33
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-designware-slave.c
42
dev->slave = slave;
drivers/i2c/busses/i2c-designware-slave.c
50
int i2c_dw_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-designware-slave.c
52
struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-designware-slave.c
57
dev->slave = NULL;
drivers/i2c/busses/i2c-emev2.c
233
if (!priv->slave)
drivers/i2c/busses/i2c-emev2.c
247
i2c_slave_event(priv->slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-emev2.c
269
i2c_slave_event(priv->slave, event, &value);
drivers/i2c/busses/i2c-emev2.c
283
i2c_slave_event(priv->slave, I2C_SLAVE_WRITE_REQUESTED,
drivers/i2c/busses/i2c-emev2.c
288
ret = i2c_slave_event(priv->slave,
drivers/i2c/busses/i2c-emev2.c
316
static int em_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-emev2.c
318
struct em_i2c_device *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-emev2.c
320
if (priv->slave)
drivers/i2c/busses/i2c-emev2.c
323
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-emev2.c
326
priv->slave = slave;
drivers/i2c/busses/i2c-emev2.c
329
writeb(slave->addr << 1, priv->base + I2C_OFS_SVA0);
drivers/i2c/busses/i2c-emev2.c
334
static int em_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-emev2.c
336
struct em_i2c_device *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-emev2.c
338
WARN_ON(!priv->slave);
drivers/i2c/busses/i2c-emev2.c
348
priv->slave = NULL;
drivers/i2c/busses/i2c-emev2.c
70
struct i2c_client *slave;
drivers/i2c/busses/i2c-gxp.c
151
static int gxp_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-gxp.c
153
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
155
if (drvdata->slave)
drivers/i2c/busses/i2c-gxp.c
158
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-gxp.c
161
drvdata->slave = slave;
drivers/i2c/busses/i2c-gxp.c
163
writeb(slave->addr << 1, drvdata->base + GXP_I2COWNADR);
drivers/i2c/busses/i2c-gxp.c
170
static int gxp_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-gxp.c
172
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
174
WARN_ON(!drvdata->slave);
drivers/i2c/busses/i2c-gxp.c
180
drvdata->slave = NULL;
drivers/i2c/busses/i2c-gxp.c
371
i2c_slave_event(drvdata->slave, I2C_SLAVE_STOP, &buf);
drivers/i2c/busses/i2c-gxp.c
379
i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
386
ret = i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
406
i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
421
ret = i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
90
struct i2c_client *slave;
drivers/i2c/busses/i2c-imx.c
1143
if (i2c_imx->slave) {
drivers/i2c/busses/i2c-imx.c
1636
if (i2c_imx->slave)
drivers/i2c/busses/i2c-imx.c
254
struct i2c_client *slave;
drivers/i2c/busses/i2c-imx.c
778
i2c_slave_event(i2c_imx->slave, event, val);
drivers/i2c/busses/i2c-imx.c
910
imx_i2c_write_reg((i2c_imx->slave->addr << 1), i2c_imx, IMX_I2C_IADR);
drivers/i2c/busses/i2c-imx.c
930
if (i2c_imx->slave)
drivers/i2c/busses/i2c-imx.c
933
i2c_imx->slave = client;
drivers/i2c/busses/i2c-imx.c
953
if (!i2c_imx->slave)
drivers/i2c/busses/i2c-imx.c
961
i2c_imx->slave = NULL;
drivers/i2c/busses/i2c-mlxbf.c
1536
struct i2c_client *slave)
drivers/i2c/busses/i2c-mlxbf.c
1574
slave_reg |= (slave->addr << (byte * 8));
drivers/i2c/busses/i2c-mlxbf.c
1583
priv->slave[(reg * 4) + byte] = slave;
drivers/i2c/busses/i2c-mlxbf.c
1636
priv->slave[(reg * 4) + byte] = NULL;
drivers/i2c/busses/i2c-mlxbf.c
1802
if (!priv->slave[i])
drivers/i2c/busses/i2c-mlxbf.c
1805
if (priv->slave[i]->addr == addr)
drivers/i2c/busses/i2c-mlxbf.c
1806
return priv->slave[i];
drivers/i2c/busses/i2c-mlxbf.c
1820
struct i2c_client *slave;
drivers/i2c/busses/i2c-mlxbf.c
1838
slave = mlxbf_i2c_get_slave_from_addr(priv, addr);
drivers/i2c/busses/i2c-mlxbf.c
1839
if (!slave) {
drivers/i2c/busses/i2c-mlxbf.c
1852
i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
drivers/i2c/busses/i2c-mlxbf.c
1854
ret = i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED,
drivers/i2c/busses/i2c-mlxbf.c
1856
i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-mlxbf.c
1868
i2c_slave_event(slave, I2C_SLAVE_READ_REQUESTED, &value);
drivers/i2c/busses/i2c-mlxbf.c
1872
i2c_slave_event(slave, I2C_SLAVE_READ_PROCESSED, &value);
drivers/i2c/busses/i2c-mlxbf.c
1876
i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-mlxbf.c
1918
struct i2c_client *slave;
drivers/i2c/busses/i2c-mlxbf.c
1931
slave = mlxbf_i2c_get_slave_from_addr(priv, addr);
drivers/i2c/busses/i2c-mlxbf.c
1932
if (!slave) {
drivers/i2c/busses/i2c-mlxbf.c
1941
i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
drivers/i2c/busses/i2c-mlxbf.c
1946
ret = i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED,
drivers/i2c/busses/i2c-mlxbf.c
1956
i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-mlxbf.c
2033
request.slave = addr;
drivers/i2c/busses/i2c-mlxbf.c
2109
static int mlxbf_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-mlxbf.c
2111
struct mlxbf_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-mlxbf.c
2112
struct device *dev = &slave->dev;
drivers/i2c/busses/i2c-mlxbf.c
2119
if (slave->flags & (I2C_CLIENT_TEN | I2C_CLIENT_PEC)) {
drivers/i2c/busses/i2c-mlxbf.c
2124
ret = mlxbf_i2c_slave_enable(priv, slave);
drivers/i2c/busses/i2c-mlxbf.c
2131
static int mlxbf_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-mlxbf.c
2133
struct mlxbf_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-mlxbf.c
2134
struct device *dev = &slave->dev;
drivers/i2c/busses/i2c-mlxbf.c
2142
ret = mlxbf_i2c_slave_disable(priv, slave->addr);
drivers/i2c/busses/i2c-mlxbf.c
2144
dev_err(dev, "Unable to find slave 0x%x\n", slave->addr);
drivers/i2c/busses/i2c-mlxbf.c
385
u8 slave;
drivers/i2c/busses/i2c-mlxbf.c
423
struct i2c_client *slave[MLXBF_I2C_SMBUS_SLAVE_ADDR_CNT];
drivers/i2c/busses/i2c-mlxbf.c
635
static int mlxbf_i2c_smbus_enable(struct mlxbf_i2c_priv *priv, u8 slave,
drivers/i2c/busses/i2c-mlxbf.c
651
command |= rol32(slave, MLXBF_I2C_MASTER_SLV_ADDR_SHIFT);
drivers/i2c/busses/i2c-mlxbf.c
684
u8 slave, addr;
drivers/i2c/busses/i2c-mlxbf.c
701
slave = request->slave & GENMASK(6, 0);
drivers/i2c/busses/i2c-mlxbf.c
702
addr = slave << 1;
drivers/i2c/busses/i2c-mlxbf.c
792
ret = mlxbf_i2c_smbus_enable(priv, slave, write_len, block_en,
drivers/i2c/busses/i2c-mlxbf.c
802
ret = mlxbf_i2c_smbus_enable(priv, slave, read_len, block_en,
drivers/i2c/busses/i2c-npcm7xx.c
1008
if (bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
1163
if (!bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
1191
i2c_slave_event(bus->slave, I2C_SLAVE_READ_REQUESTED, &value);
drivers/i2c/busses/i2c-npcm7xx.c
1194
i2c_slave_event(bus->slave, I2C_SLAVE_READ_PROCESSED, &value);
drivers/i2c/busses/i2c-npcm7xx.c
1208
i2c_slave_event(bus->slave, I2C_SLAVE_WRITE_RECEIVED,
drivers/i2c/busses/i2c-npcm7xx.c
1387
i2c_slave_event(bus->slave, I2C_SLAVE_STOP, 0);
drivers/i2c/busses/i2c-npcm7xx.c
1431
i2c_slave_event(bus->slave, I2C_SLAVE_WRITE_REQUESTED,
drivers/i2c/busses/i2c-npcm7xx.c
1523
bus->slave = client;
drivers/i2c/busses/i2c-npcm7xx.c
1557
if (!bus->slave) {
drivers/i2c/busses/i2c-npcm7xx.c
1563
bus->slave = NULL;
drivers/i2c/busses/i2c-npcm7xx.c
1926
if (bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
1927
iowrite8(bus->slave->addr | NPCM_I2CADDR_SAEN,
drivers/i2c/busses/i2c-npcm7xx.c
2201
bus->slave = NULL;
drivers/i2c/busses/i2c-npcm7xx.c
2233
if (bus->slave) {
drivers/i2c/busses/i2c-npcm7xx.c
2355
if (!bus_busy && bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
2356
iowrite8((bus->slave->addr & 0x7F),
drivers/i2c/busses/i2c-npcm7xx.c
2448
if (bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
2449
iowrite8((bus->slave->addr & 0x7F) | NPCM_I2CADDR_SAEN,
drivers/i2c/busses/i2c-npcm7xx.c
582
struct i2c_client *slave;
drivers/i2c/busses/i2c-npcm7xx.c
623
if (bus->slave)
drivers/i2c/busses/i2c-npcm7xx.c
936
if (bus->slave) {
drivers/i2c/busses/i2c-npcm7xx.c
937
addr = bus->slave->addr;
drivers/i2c/busses/i2c-pxa.c
238
struct i2c_client *slave;
drivers/i2c/busses/i2c-pxa.c
623
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
624
i2c_slave_event(i2c->slave, I2C_SLAVE_READ_PROCESSED,
drivers/i2c/busses/i2c-pxa.c
636
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
637
i2c_slave_event(i2c->slave, I2C_SLAVE_WRITE_RECEIVED, &byte);
drivers/i2c/busses/i2c-pxa.c
650
if (i2c->slave != NULL) {
drivers/i2c/busses/i2c-pxa.c
654
i2c_slave_event(i2c->slave, I2C_SLAVE_READ_REQUESTED,
drivers/i2c/busses/i2c-pxa.c
658
i2c_slave_event(i2c->slave, I2C_SLAVE_WRITE_REQUESTED,
drivers/i2c/busses/i2c-pxa.c
693
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
694
i2c_slave_event(i2c->slave, I2C_SLAVE_STOP, NULL);
drivers/i2c/busses/i2c-pxa.c
707
static int i2c_pxa_slave_reg(struct i2c_client *slave)
drivers/i2c/busses/i2c-pxa.c
709
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-pxa.c
711
if (i2c->slave)
drivers/i2c/busses/i2c-pxa.c
717
i2c->slave = slave;
drivers/i2c/busses/i2c-pxa.c
718
i2c->slave_addr = slave->addr;
drivers/i2c/busses/i2c-pxa.c
725
static int i2c_pxa_slave_unreg(struct i2c_client *slave)
drivers/i2c/busses/i2c-pxa.c
727
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-pxa.c
729
WARN_ON(!i2c->slave);
drivers/i2c/busses/i2c-pxa.c
734
i2c->slave = NULL;
drivers/i2c/busses/i2c-rcar.c
1027
static int rcar_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-rcar.c
1029
struct rcar_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-rcar.c
1031
if (priv->slave)
drivers/i2c/busses/i2c-rcar.c
1034
if (slave->flags & I2C_CLIENT_TEN)
drivers/i2c/busses/i2c-rcar.c
1040
priv->slave = slave;
drivers/i2c/busses/i2c-rcar.c
1041
rcar_i2c_write(priv, ICSAR, slave->addr);
drivers/i2c/busses/i2c-rcar.c
1049
static int rcar_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-rcar.c
1051
struct rcar_i2c_priv *priv = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-rcar.c
1053
WARN_ON(!priv->slave);
drivers/i2c/busses/i2c-rcar.c
1060
priv->slave = NULL;
drivers/i2c/busses/i2c-rcar.c
159
struct i2c_client *slave;
drivers/i2c/busses/i2c-rcar.c
673
i2c_slave_event(priv->slave, I2C_SLAVE_READ_REQUESTED, &value);
drivers/i2c/busses/i2c-rcar.c
677
ret = i2c_slave_event(priv->slave, I2C_SLAVE_WRITE_REQUESTED, &value);
drivers/i2c/busses/i2c-rcar.c
691
i2c_slave_event(priv->slave, I2C_SLAVE_STOP, &value);
drivers/i2c/busses/i2c-rcar.c
701
ret = i2c_slave_event(priv->slave, I2C_SLAVE_WRITE_RECEIVED, &value);
drivers/i2c/busses/i2c-rcar.c
713
i2c_slave_event(priv->slave, I2C_SLAVE_READ_PROCESSED, &value);
drivers/i2c/busses/i2c-rcar.c
896
if (priv->slave)
drivers/i2c/busses/i2c-stm32f7.c
1270
static bool stm32f7_i2c_is_addr_match(struct i2c_client *slave, u32 addcode)
drivers/i2c/busses/i2c-stm32f7.c
1274
if (!slave)
drivers/i2c/busses/i2c-stm32f7.c
1277
if (slave->flags & I2C_CLIENT_TEN) {
drivers/i2c/busses/i2c-stm32f7.c
1283
addr = slave->addr >> 8;
drivers/i2c/busses/i2c-stm32f7.c
1288
addr = slave->addr & 0x7f;
drivers/i2c/busses/i2c-stm32f7.c
1298
struct i2c_client *slave = i2c_dev->slave_running;
drivers/i2c/busses/i2c-stm32f7.c
1305
i2c_slave_event(slave, I2C_SLAVE_READ_REQUESTED, &value);
drivers/i2c/busses/i2c-stm32f7.c
1326
i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
drivers/i2c/busses/i2c-stm32f7.c
1355
if (stm32f7_i2c_is_addr_match(i2c_dev->slave[i], addcode)) {
drivers/i2c/busses/i2c-stm32f7.c
1356
i2c_dev->slave_running = i2c_dev->slave[i];
drivers/i2c/busses/i2c-stm32f7.c
1371
struct i2c_client *slave, int *id)
drivers/i2c/busses/i2c-stm32f7.c
1376
if (i2c_dev->slave[i] == slave) {
drivers/i2c/busses/i2c-stm32f7.c
1382
dev_err(i2c_dev->dev, "Slave 0x%x not registered\n", slave->addr);
drivers/i2c/busses/i2c-stm32f7.c
1388
struct i2c_client *slave, int *id)
drivers/i2c/busses/i2c-stm32f7.c
1398
if (i2c_dev->smbus_mode && (slave->addr == 0x08)) {
drivers/i2c/busses/i2c-stm32f7.c
1399
if (i2c_dev->slave[STM32F7_SLAVE_HOSTNOTIFY])
drivers/i2c/busses/i2c-stm32f7.c
1407
(slave->flags & I2C_CLIENT_TEN))
drivers/i2c/busses/i2c-stm32f7.c
1409
if (!i2c_dev->slave[i]) {
drivers/i2c/busses/i2c-stm32f7.c
1416
dev_err(dev, "Slave 0x%x could not be registered\n", slave->addr);
drivers/i2c/busses/i2c-stm32f7.c
1426
if (i2c_dev->slave[i])
drivers/i2c/busses/i2c-stm32f7.c
1439
if (i2c_dev->slave[i])
drivers/i2c/busses/i2c-stm32f7.c
1894
static int stm32f7_i2c_reg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-stm32f7.c
1896
struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-stm32f7.c
1902
if (slave->flags & I2C_CLIENT_PEC) {
drivers/i2c/busses/i2c-stm32f7.c
1912
ret = stm32f7_i2c_get_free_slave_id(i2c_dev, slave, &id);
drivers/i2c/busses/i2c-stm32f7.c
1926
i2c_dev->slave[id] = slave;
drivers/i2c/busses/i2c-stm32f7.c
1933
if (slave->flags & I2C_CLIENT_TEN) {
drivers/i2c/busses/i2c-stm32f7.c
1934
oar1 |= STM32F7_I2C_OAR1_OA1_10(slave->addr);
drivers/i2c/busses/i2c-stm32f7.c
1937
oar1 |= STM32F7_I2C_OAR1_OA1_7(slave->addr);
drivers/i2c/busses/i2c-stm32f7.c
1940
i2c_dev->slave[id] = slave;
drivers/i2c/busses/i2c-stm32f7.c
1948
if (slave->flags & I2C_CLIENT_TEN) {
drivers/i2c/busses/i2c-stm32f7.c
1953
oar2 |= STM32F7_I2C_OAR2_OA2_7(slave->addr);
drivers/i2c/busses/i2c-stm32f7.c
1955
i2c_dev->slave[id] = slave;
drivers/i2c/busses/i2c-stm32f7.c
1983
static int stm32f7_i2c_unreg_slave(struct i2c_client *slave)
drivers/i2c/busses/i2c-stm32f7.c
1985
struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-stm32f7.c
1990
ret = stm32f7_i2c_get_slave_id(i2c_dev, slave, &id);
drivers/i2c/busses/i2c-stm32f7.c
1994
WARN_ON(!i2c_dev->slave[id]);
drivers/i2c/busses/i2c-stm32f7.c
2008
i2c_dev->slave[id] = NULL;
drivers/i2c/busses/i2c-stm32f7.c
349
struct i2c_client *slave[STM32F7_I2C_MAX_SLAVE];
drivers/infiniband/core/lag.c
111
struct net_device *slave = NULL;
drivers/infiniband/core/lag.c
131
slave = rdma_get_xmit_slave_udp(device, master, ah_attr, flags);
drivers/infiniband/core/lag.c
134
return slave;
drivers/infiniband/core/lag.c
85
struct net_device *slave;
drivers/infiniband/core/lag.c
93
slave = netdev_get_xmit_slave(master, skb,
drivers/infiniband/core/lag.c
96
dev_hold(slave);
drivers/infiniband/core/lag.c
99
return slave;
drivers/infiniband/core/verbs.c
1842
struct net_device *slave;
drivers/infiniband/core/verbs.c
1855
slave = rdma_lag_get_ah_roce_slave(qp->device,
drivers/infiniband/core/verbs.c
1858
if (IS_ERR(slave)) {
drivers/infiniband/core/verbs.c
1859
ret = PTR_ERR(slave);
drivers/infiniband/core/verbs.c
1862
attr->xmit_slave = slave;
drivers/infiniband/core/verbs.c
618
struct net_device *slave;
drivers/infiniband/core/verbs.c
625
slave = rdma_lag_get_ah_roce_slave(pd->device, ah_attr,
drivers/infiniband/core/verbs.c
628
if (IS_ERR(slave)) {
drivers/infiniband/core/verbs.c
630
return ERR_CAST(slave);
drivers/infiniband/core/verbs.c
632
ah = _rdma_create_ah(pd, ah_attr, flags, NULL, slave);
drivers/infiniband/core/verbs.c
633
rdma_lag_put_ah_roce_slave(slave);
drivers/infiniband/hw/mlx4/alias_GUID.c
125
void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave,
drivers/infiniband/hw/mlx4/alias_GUID.c
129
int record_num = slave / 8;
drivers/infiniband/hw/mlx4/alias_GUID.c
130
int index = slave % 8;
drivers/infiniband/hw/mlx4/alias_GUID.c
149
required_guid = mlx4_get_admin_guid(dev->dev, slave, port);
drivers/infiniband/hw/mlx4/cm.c
360
static int alloc_rej_tmout(struct mlx4_ib_sriov *sriov, u32 rem_pv_cm_id, int slave)
drivers/infiniband/hw/mlx4/cm.c
384
item->slave = slave;
drivers/infiniband/hw/mlx4/cm.c
409
int slave;
drivers/infiniband/hw/mlx4/cm.c
417
slave = !item ? -ENOENT : xa_err(item);
drivers/infiniband/hw/mlx4/cm.c
419
slave = item->slave;
drivers/infiniband/hw/mlx4/cm.c
423
return slave;
drivers/infiniband/hw/mlx4/cm.c
426
int mlx4_ib_demux_cm_handler(struct ib_device *ibdev, int port, int *slave,
drivers/infiniband/hw/mlx4/cm.c
439
if (!slave)
drivers/infiniband/hw/mlx4/cm.c
443
*slave = mlx4_ib_find_real_gid(ibdev, port, gid.global.interface_id);
drivers/infiniband/hw/mlx4/cm.c
444
if (*slave < 0) {
drivers/infiniband/hw/mlx4/cm.c
450
sts = alloc_rej_tmout(sriov, rem_pv_cm_id, *slave);
drivers/infiniband/hw/mlx4/cm.c
454
rem_pv_cm_id, *slave, sts);
drivers/infiniband/hw/mlx4/cm.c
464
REJ_REASON(mad) == IB_CM_REJ_TIMEOUT && slave) {
drivers/infiniband/hw/mlx4/cm.c
465
*slave = lookup_rej_tmout_slave(sriov, rem_pv_cm_id);
drivers/infiniband/hw/mlx4/cm.c
467
return (*slave < 0) ? *slave : 0;
drivers/infiniband/hw/mlx4/cm.c
474
if (slave)
drivers/infiniband/hw/mlx4/cm.c
475
*slave = id->slave_id;
drivers/infiniband/hw/mlx4/cm.c
494
static void rej_tmout_xa_cleanup(struct mlx4_ib_sriov *sriov, int slave)
drivers/infiniband/hw/mlx4/cm.c
503
if (slave < 0 || slave == item->slave) {
drivers/infiniband/hw/mlx4/cm.c
514
cnt, slave);
drivers/infiniband/hw/mlx4/cm.c
517
if (slave < 0)
drivers/infiniband/hw/mlx4/cm.c
523
void mlx4_ib_cm_paravirt_clean(struct mlx4_ib_dev *dev, int slave)
drivers/infiniband/hw/mlx4/cm.c
535
if (slave < 0 || slave == map->slave_id) {
drivers/infiniband/hw/mlx4/cm.c
548
if (slave < 0) {
drivers/infiniband/hw/mlx4/cm.c
565
if (ent->slave_id == slave)
drivers/infiniband/hw/mlx4/cm.c
576
if (slave == map->slave_id)
drivers/infiniband/hw/mlx4/cm.c
58
int slave;
drivers/infiniband/hw/mlx4/cm.c
589
rej_tmout_xa_cleanup(sriov, slave);
drivers/infiniband/hw/mlx4/mad.c
1341
int slave, struct ib_sa_mad *sa_mad)
drivers/infiniband/hw/mlx4/mad.c
1348
ret = mlx4_ib_mcg_multiplex_handler(ibdev, port, slave, sa_mad);
drivers/infiniband/hw/mlx4/mad.c
1356
int mlx4_ib_send_to_wire(struct mlx4_ib_dev *dev, int slave, u32 port,
drivers/infiniband/hw/mlx4/mad.c
1383
wire_pkey_ix = dev->pkeys.virt2phys_pkey[slave][port - 1][0];
drivers/infiniband/hw/mlx4/mad.c
1387
wire_pkey_ix = dev->pkeys.virt2phys_pkey[slave][port - 1][pkey_index];
drivers/infiniband/hw/mlx4/mad.c
1460
static int get_slave_base_gid_ix(struct mlx4_ib_dev *dev, int slave, int port)
drivers/infiniband/hw/mlx4/mad.c
1463
return slave;
drivers/infiniband/hw/mlx4/mad.c
1464
return mlx4_get_base_gid_ix(dev->dev, slave, port);
drivers/infiniband/hw/mlx4/mad.c
1467
static void fill_in_real_sgid_index(struct mlx4_ib_dev *dev, int slave, int port,
drivers/infiniband/hw/mlx4/mad.c
1472
grh->sgid_index = slave;
drivers/infiniband/hw/mlx4/mad.c
1474
grh->sgid_index += get_slave_base_gid_ix(dev, slave, port);
drivers/infiniband/hw/mlx4/mad.c
1486
int slave;
drivers/infiniband/hw/mlx4/mad.c
1501
slave = ((wc->src_qp & ~0x7) - dev->dev->phys_caps.base_proxy_sqpn) / 8;
drivers/infiniband/hw/mlx4/mad.c
1502
if (slave != ctx->slave) {
drivers/infiniband/hw/mlx4/mad.c
1524
tunnel->mad.mad_hdr.mgmt_class, slave);
drivers/infiniband/hw/mlx4/mad.c
1527
*slave_id = slave;
drivers/infiniband/hw/mlx4/mad.c
1537
if (slave != mlx4_master_func_num(dev->dev) &&
drivers/infiniband/hw/mlx4/mad.c
1538
!mlx4_vf_smi_enabled(dev->dev, slave, ctx->port))
drivers/infiniband/hw/mlx4/mad.c
1542
if (mlx4_ib_multiplex_sa_handler(ctx->ib_dev, ctx->port, slave,
drivers/infiniband/hw/mlx4/mad.c
1547
if (mlx4_ib_multiplex_cm_handler(ctx->ib_dev, ctx->port, slave,
drivers/infiniband/hw/mlx4/mad.c
1558
if (slave != mlx4_master_func_num(dev->dev)) {
drivers/infiniband/hw/mlx4/mad.c
1560
"for slave:%d\n", tunnel->mad.mad_hdr.mgmt_class, slave);
drivers/infiniband/hw/mlx4/mad.c
1571
port = mlx4_slave_convert_port(dev->dev, slave, port);
drivers/infiniband/hw/mlx4/mad.c
1579
fill_in_real_sgid_index(dev, slave, ctx->port, &ah_attr);
drivers/infiniband/hw/mlx4/mad.c
1585
if (mlx4_get_slave_default_vlan(dev->dev, ctx->port, slave,
drivers/infiniband/hw/mlx4/mad.c
1589
sts = mlx4_ib_send_to_wire(dev, slave, ctx->port,
drivers/infiniband/hw/mlx4/mad.c
1590
is_proxy_qp0(dev, wc->src_qp, slave) ?
drivers/infiniband/hw/mlx4/mad.c
1598
is_proxy_qp0(dev, wc->src_qp, slave) ? "SMI" : "GSI",
drivers/infiniband/hw/mlx4/mad.c
1599
slave, sts);
drivers/infiniband/hw/mlx4/mad.c
1770
ctx->slave, wc.status, wc.wr_id);
drivers/infiniband/hw/mlx4/mad.c
1820
qp_init_attr.slave = ctx->slave;
drivers/infiniband/hw/mlx4/mad.c
1845
ret = find_slave_port_pkey_ix(to_mdev(ctx->ib_dev), ctx->slave,
drivers/infiniband/hw/mlx4/mad.c
1850
to_mdev(ctx->ib_dev)->pkeys.virt2phys_pkey[ctx->slave][ctx->port - 1][0];
drivers/infiniband/hw/mlx4/mad.c
1937
ctx->slave, wc.status, wc.wr_id);
drivers/infiniband/hw/mlx4/mad.c
1951
static int alloc_pv_object(struct mlx4_ib_dev *dev, int slave, int port,
drivers/infiniband/hw/mlx4/mad.c
1963
ctx->slave = slave;
drivers/infiniband/hw/mlx4/mad.c
1968
static void free_pv_object(struct mlx4_ib_dev *dev, int slave, int port)
drivers/infiniband/hw/mlx4/mad.c
1970
if (dev->sriov.demux[port - 1].tun[slave]) {
drivers/infiniband/hw/mlx4/mad.c
1971
kfree(dev->sriov.demux[port - 1].tun[slave]);
drivers/infiniband/hw/mlx4/mad.c
1972
dev->sriov.demux[port - 1].tun[slave] = NULL;
drivers/infiniband/hw/mlx4/mad.c
1976
static int create_pv_resources(struct ib_device *ibdev, int slave, int port,
drivers/infiniband/hw/mlx4/mad.c
2089
static void destroy_pv_resources(struct mlx4_ib_dev *dev, int slave, int port,
drivers/infiniband/hw/mlx4/mad.c
2114
static int mlx4_ib_tunnels_update(struct mlx4_ib_dev *dev, int slave,
drivers/infiniband/hw/mlx4/mad.c
2120
clean_vf_mcast(&dev->sriov.demux[port - 1], slave);
drivers/infiniband/hw/mlx4/mad.c
2122
if (slave == mlx4_master_func_num(dev->dev))
drivers/infiniband/hw/mlx4/mad.c
2123
destroy_pv_resources(dev, slave, port,
drivers/infiniband/hw/mlx4/mad.c
2126
destroy_pv_resources(dev, slave, port,
drivers/infiniband/hw/mlx4/mad.c
2127
dev->sriov.demux[port - 1].tun[slave], 1);
drivers/infiniband/hw/mlx4/mad.c
2132
ret = create_pv_resources(&dev->ib_dev, slave, port, 1,
drivers/infiniband/hw/mlx4/mad.c
2133
dev->sriov.demux[port - 1].tun[slave]);
drivers/infiniband/hw/mlx4/mad.c
2136
if (!ret && slave == mlx4_master_func_num(dev->dev))
drivers/infiniband/hw/mlx4/mad.c
2137
ret = create_pv_resources(&dev->ib_dev, slave, port, 0,
drivers/infiniband/hw/mlx4/mad.c
2147
mlx4_ib_tunnels_update(dmxw->dev, dmxw->slave, (int) dmxw->port,
drivers/infiniband/hw/mlx4/mad.c
336
int i, ix, slave, err;
drivers/infiniband/hw/mlx4/mad.c
339
for (slave = 0; slave < dev->dev->caps.sqp_demux; slave++) {
drivers/infiniband/hw/mlx4/mad.c
340
if (slave == mlx4_master_func_num(dev->dev))
drivers/infiniband/hw/mlx4/mad.c
342
if (!mlx4_is_slave_active(dev->dev, slave))
drivers/infiniband/hw/mlx4/mad.c
351
if (dev->pkeys.virt2phys_pkey[slave][port_num - 1]
drivers/infiniband/hw/mlx4/mad.c
353
err = mlx4_gen_pkey_eqe(dev->dev, slave, port_num);
drivers/infiniband/hw/mlx4/mad.c
356
slave, port_num, ix, err);
drivers/infiniband/hw/mlx4/mad.c
417
static int mlx4_ib_demux_sa_handler(struct ib_device *ibdev, int port, int slave,
drivers/infiniband/hw/mlx4/mad.c
425
ret = mlx4_ib_mcg_demux_handler(ibdev, port, slave, sa_mad);
drivers/infiniband/hw/mlx4/mad.c
446
static int find_slave_port_pkey_ix(struct mlx4_ib_dev *dev, int slave,
drivers/infiniband/hw/mlx4/mad.c
453
if (slave == mlx4_master_func_num(dev->dev))
drivers/infiniband/hw/mlx4/mad.c
459
if (dev->pkeys.virt2phys_pkey[slave][port - 1][i] == unassigned_pkey_ix)
drivers/infiniband/hw/mlx4/mad.c
462
pkey_ix = dev->pkeys.virt2phys_pkey[slave][port - 1][i];
drivers/infiniband/hw/mlx4/mad.c
504
static int is_proxy_qp0(struct mlx4_ib_dev *dev, int qpn, int slave)
drivers/infiniband/hw/mlx4/mad.c
506
int proxy_start = dev->dev->phys_caps.base_proxy_sqpn + 8 * slave;
drivers/infiniband/hw/mlx4/mad.c
511
int mlx4_ib_send_to_slave(struct mlx4_ib_dev *dev, int slave, u32 port,
drivers/infiniband/hw/mlx4/mad.c
536
tun_ctx = dev->sriov.demux[port-1].tun[slave];
drivers/infiniband/hw/mlx4/mad.c
553
is_proxy_qp0(dev, wc->src_qp, slave) ? "SMI" : "GSI",
drivers/infiniband/hw/mlx4/mad.c
558
ret = find_slave_port_pkey_ix(dev, slave, port, cached_pkey, &pkey_ix);
drivers/infiniband/hw/mlx4/mad.c
561
is_proxy_qp0(dev, wc->src_qp, slave) ? "SMI" : "GSI",
drivers/infiniband/hw/mlx4/mad.c
567
tun_pkey_ix = dev->pkeys.virt2phys_pkey[slave][port - 1][0];
drivers/infiniband/hw/mlx4/mad.c
569
dqpn = dev->dev->phys_caps.base_proxy_sqpn + 8 * slave + port + (dest_qpt * 2) - 1;
drivers/infiniband/hw/mlx4/mad.c
624
if (mlx4_get_slave_default_vlan(dev->dev, port, slave, &vlan,
drivers/infiniband/hw/mlx4/mad.c
688
int slave = -1;
drivers/infiniband/hw/mlx4/mad.c
711
err = mlx4_get_slave_from_roce_gid(dev->dev, port, dgid.raw, &slave);
drivers/infiniband/hw/mlx4/mad.c
714
err = mlx4_get_slave_from_roce_gid(dev->dev, other_port, dgid.raw, &slave);
drivers/infiniband/hw/mlx4/mad.c
718
slave, grh->dgid.raw, port, other_port);
drivers/infiniband/hw/mlx4/mad.c
725
if (slave >= dev->dev->caps.sqp_demux) {
drivers/infiniband/hw/mlx4/mad.c
727
slave, dev->dev->caps.sqp_demux);
drivers/infiniband/hw/mlx4/mad.c
734
err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad);
drivers/infiniband/hw/mlx4/mad.c
737
is_proxy_qp0(dev, wc->src_qp, slave) ? "SMI" : "GSI",
drivers/infiniband/hw/mlx4/mad.c
738
slave, err);
drivers/infiniband/hw/mlx4/mad.c
743
slave = mlx4_master_func_num(dev->dev);
drivers/infiniband/hw/mlx4/mad.c
748
slave = *slave_id;
drivers/infiniband/hw/mlx4/mad.c
749
if (slave != 255) /*255 indicates the dom0*/
drivers/infiniband/hw/mlx4/mad.c
759
slave = 0;
drivers/infiniband/hw/mlx4/mad.c
761
slave = mlx4_ib_find_real_gid(ibdev, port,
drivers/infiniband/hw/mlx4/mad.c
763
if (slave < 0) {
drivers/infiniband/hw/mlx4/mad.c
774
if (slave != 255 && slave != mlx4_master_func_num(dev->dev)) {
drivers/infiniband/hw/mlx4/mad.c
775
if (!mlx4_vf_smi_enabled(dev->dev, slave, port))
drivers/infiniband/hw/mlx4/mad.c
780
slave, mad->mad_hdr.mgmt_class,
drivers/infiniband/hw/mlx4/mad.c
787
if (mlx4_ib_demux_sa_handler(ibdev, port, slave,
drivers/infiniband/hw/mlx4/mad.c
792
if (mlx4_ib_demux_cm_handler(ibdev, port, &slave, mad))
drivers/infiniband/hw/mlx4/mad.c
801
if (slave != mlx4_master_func_num(dev->dev)) {
drivers/infiniband/hw/mlx4/mad.c
803
"for slave:%d\n", mad->mad_hdr.mgmt_class, slave);
drivers/infiniband/hw/mlx4/mad.c
808
if (slave >= dev->dev->caps.sqp_demux) {
drivers/infiniband/hw/mlx4/mad.c
810
slave, dev->dev->caps.sqp_demux);
drivers/infiniband/hw/mlx4/mad.c
814
err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad);
drivers/infiniband/hw/mlx4/mad.c
817
is_proxy_qp0(dev, wc->src_qp, slave) ? "SMI" : "GSI",
drivers/infiniband/hw/mlx4/mad.c
818
slave, err);
drivers/infiniband/hw/mlx4/main.c
2394
int slave;
drivers/infiniband/hw/mlx4/main.c
2398
for (slave = 0; slave <= ibdev->dev->persist->num_vfs;
drivers/infiniband/hw/mlx4/main.c
2399
++slave) {
drivers/infiniband/hw/mlx4/main.c
2404
ibdev->pkeys.virt2phys_pkey[slave][port - 1][i] =
drivers/infiniband/hw/mlx4/main.c
2406
(slave == mlx4_master_func_num(ibdev->dev) || !i) ? i :
drivers/infiniband/hw/mlx4/main.c
2408
mlx4_sync_pkey_table(ibdev->dev, slave, port, i,
drivers/infiniband/hw/mlx4/main.c
2409
ibdev->pkeys.virt2phys_pkey[slave][port - 1][i]);
drivers/infiniband/hw/mlx4/main.c
3017
static void do_slave_init(struct mlx4_ib_dev *ibdev, int slave, int do_init)
drivers/infiniband/hw/mlx4/main.c
3030
actv_ports = mlx4_get_active_ports(dev, slave);
drivers/infiniband/hw/mlx4/main.c
3047
dm[i]->slave = slave;
drivers/infiniband/hw/mlx4/main.c
82
static void do_slave_init(struct mlx4_ib_dev *ibdev, int slave, int do_init);
drivers/infiniband/hw/mlx4/mcg.c
1206
static int push_deleteing_req(struct mcast_group *group, int slave)
drivers/infiniband/hw/mlx4/mcg.c
1211
if (!group->func[slave].join_state)
drivers/infiniband/hw/mlx4/mcg.c
1218
if (!list_empty(&group->func[slave].pending)) {
drivers/infiniband/hw/mlx4/mcg.c
1219
pend_req = list_entry(group->func[slave].pending.prev, struct mcast_req, group_list);
drivers/infiniband/hw/mlx4/mcg.c
1227
req->func = slave;
drivers/infiniband/hw/mlx4/mcg.c
1229
++group->func[slave].num_pend_reqs;
drivers/infiniband/hw/mlx4/mcg.c
1235
void clean_vf_mcast(struct mlx4_ib_demux_ctx *ctx, int slave)
drivers/infiniband/hw/mlx4/mcg.c
1246
clear_pending_reqs(group, slave);
drivers/infiniband/hw/mlx4/mcg.c
1247
push_deleteing_req(group, slave);
drivers/infiniband/hw/mlx4/mcg.c
228
static int send_mad_to_slave(int slave, struct mlx4_ib_demux_ctx *ctx,
drivers/infiniband/hw/mlx4/mcg.c
249
return mlx4_ib_send_to_slave(dev, slave, ctx->port, IB_QPT_GSI, &wc, NULL, mad);
drivers/infiniband/hw/mlx4/mcg.c
318
static int send_reply_to_slave(int slave, struct mcast_group *group,
drivers/infiniband/hw/mlx4/mcg.c
345
sa_data->scope_join_state |= (group->func[slave].join_state & 0x0f);
drivers/infiniband/hw/mlx4/mcg.c
348
ret = send_mad_to_slave(slave, group->demux, (struct ib_mad *)&mad);
drivers/infiniband/hw/mlx4/mcg.c
495
static int join_group(struct mcast_group *group, int slave, u8 join_mask)
drivers/infiniband/hw/mlx4/mcg.c
501
join_state = join_mask & (~group->func[slave].join_state);
drivers/infiniband/hw/mlx4/mcg.c
503
group->func[slave].join_state |= join_state;
drivers/infiniband/hw/mlx4/mcg.c
504
if (group->func[slave].state != MCAST_MEMBER && join_state) {
drivers/infiniband/hw/mlx4/mcg.c
505
group->func[slave].state = MCAST_MEMBER;
drivers/infiniband/hw/mlx4/mcg.c
511
static int leave_group(struct mcast_group *group, int slave, u8 leave_state)
drivers/infiniband/hw/mlx4/mcg.c
516
group->func[slave].join_state &= ~leave_state;
drivers/infiniband/hw/mlx4/mcg.c
517
if (!group->func[slave].join_state) {
drivers/infiniband/hw/mlx4/mcg.c
518
group->func[slave].state = MCAST_NOT_MEMBER;
drivers/infiniband/hw/mlx4/mcg.c
524
static int check_leave(struct mcast_group *group, int slave, u8 leave_mask)
drivers/infiniband/hw/mlx4/mcg.c
526
if (group->func[slave].state != MCAST_MEMBER)
drivers/infiniband/hw/mlx4/mcg.c
530
if (~group->func[slave].join_state & leave_mask)
drivers/infiniband/hw/mlx4/mcg.c
882
int mlx4_ib_mcg_demux_handler(struct ib_device *ibdev, int port, int slave,
drivers/infiniband/hw/mlx4/mcg.c
899
*(u8 *)(&tid) = (u8)slave; /* in group we kept the modified TID */
drivers/infiniband/hw/mlx4/mcg.c
932
int slave, struct ib_sa_mad *sa_mad)
drivers/infiniband/hw/mlx4/mcg.c
953
req->func = slave;
drivers/infiniband/hw/mlx4/mcg.c
964
if (group->func[slave].num_pend_reqs > MAX_PEND_REQS_PER_FUNC) {
drivers/infiniband/hw/mlx4/mcg.c
967
port, slave, MAX_PEND_REQS_PER_FUNC);
drivers/infiniband/hw/mlx4/mcg.c
972
++group->func[slave].num_pend_reqs;
drivers/infiniband/hw/mlx4/mcg.c
985
port, slave, sa_mad->mad_hdr.method);
drivers/infiniband/hw/mlx4/mlx4_ib.h
448
int slave;
drivers/infiniband/hw/mlx4/mlx4_ib.h
478
int slave;
drivers/infiniband/hw/mlx4/mlx4_ib.h
660
int slave;
drivers/infiniband/hw/mlx4/mlx4_ib.h
845
void clean_vf_mcast(struct mlx4_ib_demux_ctx *ctx, int slave);
drivers/infiniband/hw/mlx4/mlx4_ib.h
851
int mlx4_ib_mcg_multiplex_handler(struct ib_device *ibdev, int port, int slave,
drivers/infiniband/hw/mlx4/mlx4_ib.h
853
int mlx4_ib_mcg_demux_handler(struct ib_device *ibdev, int port, int slave,
drivers/infiniband/hw/mlx4/mlx4_ib.h
864
int mlx4_ib_send_to_slave(struct mlx4_ib_dev *dev, int slave, u32 port,
drivers/infiniband/hw/mlx4/mlx4_ib.h
868
int mlx4_ib_send_to_wire(struct mlx4_ib_dev *dev, int slave, u32 port,
drivers/infiniband/hw/mlx4/mlx4_ib.h
875
int mlx4_ib_demux_cm_handler(struct ib_device *ibdev, int port, int *slave,
drivers/infiniband/hw/mlx4/mlx4_ib.h
903
void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave,
drivers/infiniband/hw/mlx4/qp.c
1034
else if (tnl_init->slave == mlx4_master_func_num(dev->dev) ||
drivers/infiniband/hw/mlx4/qp.c
1035
mlx4_vf_smi_enabled(dev->dev, tnl_init->slave,
drivers/infiniband/hw/mlx4/qp.c
1042
qpn = dev->dev->phys_caps.base_tunnel_sqpn + 8 * tnl_init->slave
drivers/infiniband/hw/mlx4/sysfs.c
372
int slave;
drivers/infiniband/hw/mlx4/sysfs.c
446
u8 key = m->virt2phys_pkey[p->slave][p->port_num - 1][tab_attr->index];
drivers/infiniband/hw/mlx4/sysfs.c
462
if (p->slave == mlx4_master_func_num(p->dev->dev))
drivers/infiniband/hw/mlx4/sysfs.c
472
p->dev->pkeys.virt2phys_pkey[p->slave][p->port_num - 1]
drivers/infiniband/hw/mlx4/sysfs.c
474
mlx4_sync_pkey_table(p->dev->dev, p->slave, p->port_num,
drivers/infiniband/hw/mlx4/sysfs.c
476
err = mlx4_gen_pkey_eqe(p->dev->dev, p->slave, p->port_num);
drivers/infiniband/hw/mlx4/sysfs.c
479
" port %d, index %d\n", p->slave, p->port_num, idx);
drivers/infiniband/hw/mlx4/sysfs.c
488
return sysfs_emit(buf, "%d\n", p->slave);
drivers/infiniband/hw/mlx4/sysfs.c
543
!!mlx4_vf_smi_enabled(p->dev->dev, p->slave,
drivers/infiniband/hw/mlx4/sysfs.c
555
!!mlx4_vf_get_enable_smi_admin(p->dev->dev, p->slave,
drivers/infiniband/hw/mlx4/sysfs.c
571
if (mlx4_vf_set_enable_smi_admin(p->dev->dev, p->slave, p->port_num, enable))
drivers/infiniband/hw/mlx4/sysfs.c
583
if (is_eth || p->slave == mlx4_master_func_num(p->dev->dev))
drivers/infiniband/hw/mlx4/sysfs.c
616
if (is_eth || p->slave == mlx4_master_func_num(p->dev->dev))
drivers/infiniband/hw/mlx4/sysfs.c
623
static int add_port(struct mlx4_ib_dev *dev, int port_num, int slave)
drivers/infiniband/hw/mlx4/sysfs.c
637
p->slave = slave;
drivers/infiniband/hw/mlx4/sysfs.c
640
kobject_get(dev->dev_ports_parent[slave]),
drivers/infiniband/hw/mlx4/sysfs.c
674
list_add_tail(&p->kobj.entry, &dev->pkeys.pkey_port_list[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
687
kobject_put(dev->dev_ports_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
692
static int register_one_pkey_tree(struct mlx4_ib_dev *dev, int slave)
drivers/infiniband/hw/mlx4/sysfs.c
701
get_name(dev, name, slave, sizeof name);
drivers/infiniband/hw/mlx4/sysfs.c
703
dev->pkeys.device_parent[slave] =
drivers/infiniband/hw/mlx4/sysfs.c
706
if (!dev->pkeys.device_parent[slave]) {
drivers/infiniband/hw/mlx4/sysfs.c
711
INIT_LIST_HEAD(&dev->pkeys.pkey_port_list[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
713
dev->dev_ports_parent[slave] =
drivers/infiniband/hw/mlx4/sysfs.c
715
kobject_get(dev->pkeys.device_parent[slave]));
drivers/infiniband/hw/mlx4/sysfs.c
717
if (!dev->dev_ports_parent[slave]) {
drivers/infiniband/hw/mlx4/sysfs.c
722
actv_ports = mlx4_get_active_ports(dev->dev, slave);
drivers/infiniband/hw/mlx4/sysfs.c
727
err = add_port(dev, port, slave);
drivers/infiniband/hw/mlx4/sysfs.c
735
&dev->pkeys.pkey_port_list[slave],
drivers/infiniband/hw/mlx4/sysfs.c
744
kobject_put(dev->dev_ports_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
747
kobject_put(dev->pkeys.device_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
749
kobject_put(dev->pkeys.device_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
771
int slave;
drivers/infiniband/hw/mlx4/sysfs.c
778
for (slave = device->dev->persist->num_vfs; slave >= 0; --slave) {
drivers/infiniband/hw/mlx4/sysfs.c
780
&device->pkeys.pkey_port_list[slave],
drivers/infiniband/hw/mlx4/sysfs.c
788
kobject_put(device->dev_ports_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
790
kobject_put(device->dev_ports_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
791
kobject_put(device->pkeys.device_parent[slave]);
drivers/infiniband/hw/mlx4/sysfs.c
792
kobject_put(device->pkeys.device_parent[slave]);
drivers/infiniband/hw/mlx5/main.c
1977
struct mlx5_core_dev *slave,
drivers/infiniband/hw/mlx5/main.c
1986
err = mlx5_nic_vport_update_local_lb(slave, true);
drivers/infiniband/hw/mlx5/main.c
1999
struct mlx5_core_dev *slave,
drivers/infiniband/hw/mlx5/main.c
2002
mlx5_nic_vport_update_local_lb(slave, false);
drivers/input/misc/apanel.c
246
unsigned char method, slave, chip;
drivers/input/misc/apanel.c
250
slave = readb(p + 3) >> 1;
drivers/input/misc/apanel.c
252
if (slave != i2c_addr) {
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
369
u32 slave, u32 mbps)
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
373
dwc_dphy_ifc_write_mask(isys, slave, 0x133, 0x0, 0, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
377
dwc_dphy_ifc_write_mask(isys, slave, 0x307, 0x0, 2, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
381
dwc_dphy_ifc_write_mask(isys, slave, 0x508, 0x1, 5, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
383
dwc_dphy_ifc_write_mask(isys, slave, 0x708, 0x1, 5, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
387
dwc_dphy_ifc_write_mask(isys, slave, 0x308, 0x1, 3, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
390
dwc_dphy_ifc_write_mask(isys, slave, 0xe0, 0x3, 0, 2);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
393
dwc_dphy_ifc_write_mask(isys, slave, 0xe1, 0x1, 1, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
394
dwc_dphy_ifc_write_mask(isys, slave, 0x307, 0x1, 3, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
397
dwc_dphy_ifc_write_mask(isys, slave, 0x304, 0x1, 7, 1);
drivers/media/pci/intel/ipu6/ipu6-isys-dwc-phy.c
398
dwc_dphy_ifc_write_mask(isys, slave, 0x305, 0xa, 0, 5);
drivers/media/pci/mgb4/mgb4_core.c
479
map->slave = mgbdev->channel_names[i];
drivers/media/pci/mgb4/mgb4_core.c
486
map->slave = mgbdev->channel_names[i + MGB4_VIN_DEVICES];
drivers/media/tuners/tda18250.c
812
dev->slave = false;
drivers/media/tuners/tda18250.c
815
dev->slave = true;
drivers/media/tuners/tda18250.c
831
dev->slave ? "S" : "M");
drivers/media/tuners/tda18250.c
836
dev->slave ? "S" : "M");
drivers/media/tuners/tda18250_priv.h
130
bool slave;
drivers/media/usb/gspca/ov519.c
2529
static void ov51x_set_slave_ids(struct sd *sd, u8 slave);
drivers/media/usb/gspca/ov519.c
2534
static int init_ov_sensor(struct sd *sd, u8 slave)
drivers/media/usb/gspca/ov519.c
2539
ov51x_set_slave_ids(sd, slave);
drivers/media/usb/gspca/ov519.c
2574
u8 slave)
drivers/media/usb/gspca/ov519.c
2578
reg_w(sd, OVFX2_I2C_ADDR, slave);
drivers/media/usb/gspca/ov519.c
2581
sd->sensor_addr = slave;
drivers/media/usb/gspca/ov519.c
2585
reg_w(sd, R51x_I2C_W_SID, slave);
drivers/media/usb/gspca/ov519.c
2586
reg_w(sd, R51x_I2C_R_SID, slave + 1);
drivers/mfd/db8500-prcmu.c
2096
int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size)
drivers/mfd/db8500-prcmu.c
2109
writeb(PRCMU_I2C_READ(slave), (tcdm_base + PRCM_REQ_MB5_I2C_SLAVE_OP));
drivers/mfd/db8500-prcmu.c
2146
int prcmu_abb_write_masked(u8 slave, u8 reg, u8 *value, u8 *mask, u8 size)
drivers/mfd/db8500-prcmu.c
215
#define PRCMU_I2C_WRITE(slave) (((slave) << 1) | BIT(6))
drivers/mfd/db8500-prcmu.c
2159
writeb(PRCMU_I2C_WRITE(slave), (tcdm_base + PRCM_REQ_MB5_I2C_SLAVE_OP));
drivers/mfd/db8500-prcmu.c
216
#define PRCMU_I2C_READ(slave) (((slave) << 1) | BIT(0) | BIT(6))
drivers/mfd/db8500-prcmu.c
2190
int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size)
drivers/mfd/db8500-prcmu.c
2194
return prcmu_abb_write_masked(slave, reg, value, &mask, size);
drivers/mfd/palmas.c
428
int ret, slave;
drivers/mfd/palmas.c
435
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PU_PD_OD_BASE);
drivers/mfd/palmas.c
444
ret = regmap_update_bits(palmas_dev->regmap[slave], addr,
drivers/mfd/palmas.c
452
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PMU_CONTROL_BASE);
drivers/mfd/palmas.c
456
palmas_dev->regmap[slave],
drivers/mfd/palmas.c
492
int slave;
drivers/mfd/palmas.c
564
slave = PALMAS_BASE_TO_SLAVE(PALMAS_INTERRUPT_BASE);
drivers/mfd/palmas.c
568
regmap_write(palmas->regmap[slave], addr, reg);
drivers/mfd/palmas.c
570
ret = regmap_add_irq_chip(palmas->regmap[slave], palmas->irq,
drivers/mfd/palmas.c
577
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PU_PD_OD_BASE);
drivers/mfd/palmas.c
583
ret = regmap_write(palmas->regmap[slave], addr, reg);
drivers/mfd/palmas.c
587
ret = regmap_read(palmas->regmap[slave], addr, ®);
drivers/mfd/palmas.c
618
ret = regmap_write(palmas->regmap[slave], addr, reg);
drivers/mfd/palmas.c
622
ret = regmap_read(palmas->regmap[slave], addr, ®);
drivers/mfd/palmas.c
642
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PMU_CONTROL_BASE);
drivers/mfd/palmas.c
645
ret = regmap_write(palmas->regmap[slave], addr, reg);
drivers/mtd/nand/raw/fsmc_nand.c
860
static bool filter(struct dma_chan *chan, void *slave)
drivers/mtd/nand/raw/fsmc_nand.c
862
chan->private = slave;
drivers/net/bonding/bond_3ad.c
1006
ether_addr_copy(marker_header->hdr.h_source, slave->perm_hwaddr);
drivers/net/bonding/bond_3ad.c
1018
struct bonding *bond = port->slave->bond;
drivers/net/bonding/bond_3ad.c
1135
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
1138
bond_is_slave_rx_disabled(slave)) {
drivers/net/bonding/bond_3ad.c
1172
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
1249
atomic64_inc(&SLAVE_AD_INFO(port->slave)->stats.lacpdu_rx);
drivers/net/bonding/bond_3ad.c
1250
atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.lacpdu_rx);
drivers/net/bonding/bond_3ad.c
1304
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
131
if (port->slave == NULL)
drivers/net/bonding/bond_3ad.c
134
return bond_get_bond_by_slave(port->slave);
drivers/net/bonding/bond_3ad.c
1362
slave_err(port->slave->bond->dev, port->slave->dev, "An illegal loopback occurred on slave\n"
drivers/net/bonding/bond_3ad.c
1432
slave_dbg(port->slave->bond->dev,
drivers/net/bonding/bond_3ad.c
1433
port->slave->dev,
drivers/net/bonding/bond_3ad.c
148
struct slave *first_slave;
drivers/net/bonding/bond_3ad.c
1514
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
1554
struct slave *slave;
drivers/net/bonding/bond_3ad.c
1593
slave_dbg(bond->dev, port->slave->dev, "Port %d left LAG %d\n",
drivers/net/bonding/bond_3ad.c
1609
port->slave->bond->dev->name,
drivers/net/bonding/bond_3ad.c
1610
port->slave->dev->name,
drivers/net/bonding/bond_3ad.c
1616
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
1617
aggregator = &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
1642
slave_dbg(bond->dev, slave->dev, "Port %d joined LAG %d (existing LAG)\n",
drivers/net/bonding/bond_3ad.c
1689
slave_dbg(bond->dev, port->slave->dev, "Port %d joined LAG %d (new LAG)\n",
drivers/net/bonding/bond_3ad.c
1693
slave_err(bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
1787
curr->slave->bond->dev->name,
drivers/net/bonding/bond_3ad.c
1788
curr->slave->dev->name,
drivers/net/bonding/bond_3ad.c
1805
if (netif_running(port->slave->dev) &&
drivers/net/bonding/bond_3ad.c
1806
netif_carrier_ok(port->slave->dev))
drivers/net/bonding/bond_3ad.c
184
bond_set_slave_tx_disabled_flags(port->slave, BOND_SLAVE_NOTIFY_LATER);
drivers/net/bonding/bond_3ad.c
1847
struct bonding *bond = agg->slave->bond;
drivers/net/bonding/bond_3ad.c
1849
struct slave *slave;
drivers/net/bonding/bond_3ad.c
1857
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
1858
agg = &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
1894
best->slave ? best->slave->dev->name : "NULL",
drivers/net/bonding/bond_3ad.c
1900
best->slave ? best->slave->dev->name : "NULL",
drivers/net/bonding/bond_3ad.c
1901
best->lag_ports, best->slave);
drivers/net/bonding/bond_3ad.c
1903
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
1904
agg = &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
1906
slave_dbg(bond->dev, slave->dev, "Agg=%d; P=%d; a k=%d; p k=%d; Ind=%d; Act=%d\n",
drivers/net/bonding/bond_3ad.c
1920
best->slave ? best->slave->dev->name : "NULL",
drivers/net/bonding/bond_3ad.c
1923
best->slave ? best->slave->dev->name : "NULL",
drivers/net/bonding/bond_3ad.c
196
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
198
if (slave->link == BOND_LINK_UP && bond_slave_is_up(slave))
drivers/net/bonding/bond_3ad.c
1981
aggregator->slave ?
drivers/net/bonding/bond_3ad.c
1982
aggregator->slave->dev->name : "NULL",
drivers/net/bonding/bond_3ad.c
199
bond_set_slave_rx_enabled_flags(slave, BOND_SLAVE_NOTIFY_LATER);
drivers/net/bonding/bond_3ad.c
1998
aggregator->slave = NULL;
drivers/net/bonding/bond_3ad.c
2079
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
2081
slave_dbg(slave->bond->dev, slave->dev,
drivers/net/bonding/bond_3ad.c
2097
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
210
bond_set_slave_inactive_flags(port->slave, BOND_SLAVE_NOTIFY_LATER);
drivers/net/bonding/bond_3ad.c
2118
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
2139
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
2159
atomic64_inc(&SLAVE_AD_INFO(port->slave)->stats.marker_rx);
drivers/net/bonding/bond_3ad.c
2160
atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_rx);
drivers/net/bonding/bond_3ad.c
2169
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
2186
atomic64_inc(&SLAVE_AD_INFO(port->slave)->stats.marker_resp_rx);
drivers/net/bonding/bond_3ad.c
2187
atomic64_inc(&BOND_AD_INFO(port->slave->bond).stats.marker_resp_rx);
drivers/net/bonding/bond_3ad.c
221
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
223
if ((slave->link == BOND_LINK_UP) && bond_slave_is_up(slave))
drivers/net/bonding/bond_3ad.c
224
bond_set_slave_active_flags(slave, BOND_SLAVE_NOTIFY_LATER);
drivers/net/bonding/bond_3ad.c
2241
void bond_3ad_bind_slave(struct slave *slave)
drivers/net/bonding/bond_3ad.c
2243
struct bonding *bond = bond_get_bond_by_slave(slave);
drivers/net/bonding/bond_3ad.c
2248
if (SLAVE_AD_INFO(slave)->port.slave != slave) {
drivers/net/bonding/bond_3ad.c
2251
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2256
SLAVE_AD_INFO(slave)->port_priority = port->actor_port_priority;
drivers/net/bonding/bond_3ad.c
2258
port->slave = slave;
drivers/net/bonding/bond_3ad.c
2259
port->actor_port_number = SLAVE_AD_INFO(slave)->id;
drivers/net/bonding/bond_3ad.c
2275
aggregator = &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
2281
aggregator->slave = slave;
drivers/net/bonding/bond_3ad.c
2295
void bond_3ad_unbind_slave(struct slave *slave)
drivers/net/bonding/bond_3ad.c
2300
struct bonding *bond = slave->bond;
drivers/net/bonding/bond_3ad.c
2301
struct slave *slave_iter;
drivers/net/bonding/bond_3ad.c
2307
aggregator = &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
2308
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2311
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2312
slave_warn(bond->dev, slave->dev, "Trying to unbind an uninitialized port\n");
drivers/net/bonding/bond_3ad.c
2316
slave_dbg(bond->dev, slave->dev, "Unbinding Link Aggregation Group %d\n",
drivers/net/bonding/bond_3ad.c
2355
slave_dbg(bond->dev, slave->dev, "Some port(s) related to LAG %d - replacing with LAG %d\n",
drivers/net/bonding/bond_3ad.c
2361
slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
drivers/net/bonding/bond_3ad.c
2392
slave_warn(bond->dev, slave->dev, "unbinding aggregator, and could not find a new aggregator for its ports\n");
drivers/net/bonding/bond_3ad.c
2401
slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
drivers/net/bonding/bond_3ad.c
2411
slave_dbg(bond->dev, slave->dev, "Unbinding port %d\n", port->actor_port_number);
drivers/net/bonding/bond_3ad.c
2435
slave_info(bond->dev, slave->dev, "Removing an active aggregator\n");
drivers/net/bonding/bond_3ad.c
2445
port->slave = NULL;
drivers/net/bonding/bond_3ad.c
2461
struct slave *slave;
drivers/net/bonding/bond_3ad.c
2474
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2475
struct port *port = &(SLAVE_AD_INFO(slave))->port;
drivers/net/bonding/bond_3ad.c
250
return bond_is_active_slave(port->slave);
drivers/net/bonding/bond_3ad.c
2524
struct slave *slave;
drivers/net/bonding/bond_3ad.c
2541
slave = bond_first_slave_rcu(bond);
drivers/net/bonding/bond_3ad.c
2542
port = slave ? &(SLAVE_AD_INFO(slave)->port) : NULL;
drivers/net/bonding/bond_3ad.c
2546
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2559
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2560
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2561
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2580
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2581
if (slave->should_notify) {
drivers/net/bonding/bond_3ad.c
2608
static int bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave)
drivers/net/bonding/bond_3ad.c
2610
struct bonding *bond = slave->bond;
drivers/net/bonding/bond_3ad.c
2616
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2617
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2619
slave->dev->name, slave->bond->dev->name);
drivers/net/bonding/bond_3ad.c
2626
slave_dbg(slave->bond->dev, slave->dev,
drivers/net/bonding/bond_3ad.c
2630
spin_lock(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2632
spin_unlock(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2642
slave_dbg(slave->bond->dev, slave->dev, "Received Marker Information on port %d\n",
drivers/net/bonding/bond_3ad.c
2647
slave_dbg(slave->bond->dev, slave->dev, "Received Marker Response on port %d\n",
drivers/net/bonding/bond_3ad.c
2652
slave_dbg(slave->bond->dev, slave->dev, "Received an unknown Marker subtype on port %d\n",
drivers/net/bonding/bond_3ad.c
2654
stat = &SLAVE_AD_INFO(slave)->stats.marker_unknown_rx;
drivers/net/bonding/bond_3ad.c
2661
atomic64_inc(&SLAVE_AD_INFO(slave)->stats.lacpdu_unknown_rx);
drivers/net/bonding/bond_3ad.c
2703
slave_err(port->slave->bond->dev,
drivers/net/bonding/bond_3ad.c
2704
port->slave->dev,
drivers/net/bonding/bond_3ad.c
2723
void bond_3ad_adapter_speed_duplex_changed(struct slave *slave)
drivers/net/bonding/bond_3ad.c
2727
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2730
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2731
slave_warn(slave->bond->dev, slave->dev,
drivers/net/bonding/bond_3ad.c
2736
spin_lock_bh(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2738
spin_unlock_bh(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2739
slave_dbg(slave->bond->dev, slave->dev, "Port %d changed speed/duplex\n",
drivers/net/bonding/bond_3ad.c
2750
void bond_3ad_handle_link_change(struct slave *slave, char link)
drivers/net/bonding/bond_3ad.c
2756
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2759
if (!port->slave) {
drivers/net/bonding/bond_3ad.c
2760
slave_warn(slave->bond->dev, slave->dev, "link status changed for uninitialized port\n");
drivers/net/bonding/bond_3ad.c
2764
spin_lock_bh(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2783
spin_unlock_bh(&slave->bond->mode_lock);
drivers/net/bonding/bond_3ad.c
2785
slave_dbg(slave->bond->dev, slave->dev, "Port %d changed link status to %s\n",
drivers/net/bonding/bond_3ad.c
2792
bond_update_slave_arr(slave->bond, NULL);
drivers/net/bonding/bond_3ad.c
2811
struct slave *first_slave;
drivers/net/bonding/bond_3ad.c
2853
struct slave *slave;
drivers/net/bonding/bond_3ad.c
2856
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2857
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2888
struct slave *slave)
drivers/net/bonding/bond_3ad.c
2900
atomic64_inc(&SLAVE_AD_INFO(slave)->stats.lacpdu_illegal_rx);
drivers/net/bonding/bond_3ad.c
2905
return bond_3ad_rx_indication(lacpdu, slave);
drivers/net/bonding/bond_3ad.c
2923
struct slave *slave;
drivers/net/bonding/bond_3ad.c
2928
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2929
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
2948
struct slave *slave;
drivers/net/bonding/bond_3ad.c
2953
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_3ad.c
2954
port = &(SLAVE_AD_INFO(slave)->port);
drivers/net/bonding/bond_3ad.c
310
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
318
if (slave->link != BOND_LINK_UP)
drivers/net/bonding/bond_3ad.c
321
switch (slave->speed) {
drivers/net/bonding/bond_3ad.c
396
if (slave->speed != SPEED_UNKNOWN)
drivers/net/bonding/bond_3ad.c
398
slave->bond->dev->name,
drivers/net/bonding/bond_3ad.c
399
slave->dev->name, slave->speed,
drivers/net/bonding/bond_3ad.c
406
slave_dbg(slave->bond->dev, slave->dev, "Port %d Received link speed %d update from adapter\n",
drivers/net/bonding/bond_3ad.c
421
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
427
if (slave->link == BOND_LINK_UP) {
drivers/net/bonding/bond_3ad.c
428
switch (slave->duplex) {
drivers/net/bonding/bond_3ad.c
431
slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status full duplex update from adapter\n",
drivers/net/bonding/bond_3ad.c
437
slave_dbg(slave->bond->dev, slave->dev, "Port %d Received status NOT full duplex update from adapter\n",
drivers/net/bonding/bond_3ad.c
447
const struct bonding *bond = bond_get_bond_by_slave(port->slave);
drivers/net/bonding/bond_3ad.c
451
port->actor_port_priority = SLAVE_AD_INFO(port->slave)->port_priority;
drivers/net/bonding/bond_3ad.c
573
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
577
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
858
struct bonding *bond = aggregator->slave->bond;
drivers/net/bonding/bond_3ad.c
860
struct slave *slave;
drivers/net/bonding/bond_3ad.c
862
bond_for_each_slave_rcu(bond, slave, iter)
drivers/net/bonding/bond_3ad.c
863
if (SLAVE_AD_INFO(slave)->aggregator.is_active)
drivers/net/bonding/bond_3ad.c
864
return &(SLAVE_AD_INFO(slave)->aggregator);
drivers/net/bonding/bond_3ad.c
891
slave_dbg(port->slave->bond->dev, port->slave->dev,
drivers/net/bonding/bond_3ad.c
929
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
938
atomic64_inc(&SLAVE_AD_INFO(slave)->stats.lacpdu_tx);
drivers/net/bonding/bond_3ad.c
939
atomic64_inc(&BOND_AD_INFO(slave->bond).stats.lacpdu_tx);
drivers/net/bonding/bond_3ad.c
941
skb->dev = slave->dev;
drivers/net/bonding/bond_3ad.c
953
ether_addr_copy(lacpdu_header->hdr.h_source, slave->perm_hwaddr);
drivers/net/bonding/bond_3ad.c
973
struct slave *slave = port->slave;
drivers/net/bonding/bond_3ad.c
984
atomic64_inc(&SLAVE_AD_INFO(slave)->stats.marker_tx);
drivers/net/bonding/bond_3ad.c
985
atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_tx);
drivers/net/bonding/bond_3ad.c
988
atomic64_inc(&SLAVE_AD_INFO(slave)->stats.marker_resp_tx);
drivers/net/bonding/bond_3ad.c
989
atomic64_inc(&BOND_AD_INFO(slave->bond).stats.marker_resp_tx);
drivers/net/bonding/bond_3ad.c
995
skb->dev = slave->dev;
drivers/net/bonding/bond_alb.c
1001
struct bonding *bond = bond_get_bond_by_slave(slave);
drivers/net/bonding/bond_alb.c
1006
.slave = slave,
drivers/net/bonding/bond_alb.c
1012
alb_send_lp_vid(slave, mac_addr, 0, 0);
drivers/net/bonding/bond_alb.c
1022
static int alb_set_slave_mac_addr(struct slave *slave, const u8 addr[],
drivers/net/bonding/bond_alb.c
1025
struct net_device *dev = slave->dev;
drivers/net/bonding/bond_alb.c
1028
if (BOND_MODE(slave->bond) == BOND_MODE_TLB) {
drivers/net/bonding/bond_alb.c
1039
slave_err(slave->bond->dev, dev, "dev_set_mac_address on slave failed! ALB mode requires that the base driver support setting the hw address also when the network device's interface is open\n");
drivers/net/bonding/bond_alb.c
104
index = SLAVE_TLB_INFO(slave).head;
drivers/net/bonding/bond_alb.c
1049
static void alb_swap_mac_addr(struct slave *slave1, struct slave *slave2)
drivers/net/bonding/bond_alb.c
1066
static void alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1,
drivers/net/bonding/bond_alb.c
1067
struct slave *slave2)
drivers/net/bonding/bond_alb.c
1070
struct slave *disabled_slave = NULL;
drivers/net/bonding/bond_alb.c
1120
static void alb_change_hw_addr_on_detach(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
1124
struct slave *found_slave;
drivers/net/bonding/bond_alb.c
1126
perm_curr_diff = !ether_addr_equal_64bits(slave->perm_hwaddr,
drivers/net/bonding/bond_alb.c
1127
slave->dev->dev_addr);
drivers/net/bonding/bond_alb.c
1128
perm_bond_diff = !ether_addr_equal_64bits(slave->perm_hwaddr,
drivers/net/bonding/bond_alb.c
113
tlb_init_slave(slave);
drivers/net/bonding/bond_alb.c
1132
found_slave = bond_slave_has_mac(bond, slave->perm_hwaddr);
drivers/net/bonding/bond_alb.c
1135
alb_swap_mac_addr(slave, found_slave);
drivers/net/bonding/bond_alb.c
1136
alb_fasten_mac_swap(bond, slave, found_slave);
drivers/net/bonding/bond_alb.c
116
static void tlb_clear_slave(struct bonding *bond, struct slave *slave,
drivers/net/bonding/bond_alb.c
1163
static int alb_handle_addr_collision_on_attach(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
1165
struct slave *has_bond_addr = rcu_access_pointer(bond->curr_active_slave);
drivers/net/bonding/bond_alb.c
1166
struct slave *tmp_slave1, *free_mac_slave = NULL;
drivers/net/bonding/bond_alb.c
1178
if (!ether_addr_equal_64bits(slave->perm_hwaddr, bond->dev->dev_addr)) {
drivers/net/bonding/bond_alb.c
1179
if (!bond_slave_has_mac(bond, slave->dev->dev_addr))
drivers/net/bonding/bond_alb.c
1185
alb_set_slave_mac_addr(slave, bond->dev->dev_addr,
drivers/net/bonding/bond_alb.c
120
__tlb_clear_slave(bond, slave, save_load);
drivers/net/bonding/bond_alb.c
1211
alb_set_slave_mac_addr(slave, free_mac_slave->perm_hwaddr,
drivers/net/bonding/bond_alb.c
1214
slave_warn(bond->dev, slave->dev, "the slave hw address is in use by the bond; giving it the hw address of %s\n",
drivers/net/bonding/bond_alb.c
1218
slave_err(bond->dev, slave->dev, "the slave hw address is in use by the bond; couldn't find a slave with a free hw address to give it (this should not have happened)\n");
drivers/net/bonding/bond_alb.c
1241
struct slave *slave, *rollback_slave;
drivers/net/bonding/bond_alb.c
1250
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_alb.c
1252
bond_hw_addr_copy(tmp_addr, slave->dev->dev_addr,
drivers/net/bonding/bond_alb.c
1253
slave->dev->addr_len);
drivers/net/bonding/bond_alb.c
1255
res = dev_set_mac_address(slave->dev, addr, NULL);
drivers/net/bonding/bond_alb.c
1258
dev_addr_set(slave->dev, tmp_addr);
drivers/net/bonding/bond_alb.c
1272
if (rollback_slave == slave)
drivers/net/bonding/bond_alb.c
1339
struct slave *tx_slave)
drivers/net/bonding/bond_alb.c
1370
struct slave *bond_xmit_tlb_slave_get(struct bonding *bond,
drivers/net/bonding/bond_alb.c
1373
struct slave *tx_slave = NULL;
drivers/net/bonding/bond_alb.c
1412
struct slave *tx_slave;
drivers/net/bonding/bond_alb.c
1418
struct slave *bond_xmit_alb_slave_get(struct bonding *bond,
drivers/net/bonding/bond_alb.c
1423
struct slave *tx_slave = NULL;
drivers/net/bonding/bond_alb.c
1526
struct slave *tx_slave = NULL;
drivers/net/bonding/bond_alb.c
1538
struct slave *slave;
drivers/net/bonding/bond_alb.c
1555
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_alb.c
1561
strict_match = (slave != rcu_access_pointer(bond->curr_active_slave) ||
drivers/net/bonding/bond_alb.c
1563
alb_send_learning_packets(slave, slave->dev->dev_addr,
drivers/net/bonding/bond_alb.c
1571
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_alb.c
1572
tlb_clear_slave(bond, slave, 1);
drivers/net/bonding/bond_alb.c
1573
if (slave == rcu_access_pointer(bond->curr_active_slave)) {
drivers/net/bonding/bond_alb.c
1574
SLAVE_TLB_INFO(slave).load =
drivers/net/bonding/bond_alb.c
161
static long long compute_gap(struct slave *slave)
drivers/net/bonding/bond_alb.c
163
return (s64) (slave->speed << 20) - /* Convert to Megabit per sec */
drivers/net/bonding/bond_alb.c
1634
int bond_alb_init_slave(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
1638
res = alb_set_slave_mac_addr(slave, slave->perm_hwaddr,
drivers/net/bonding/bond_alb.c
1639
slave->dev->addr_len);
drivers/net/bonding/bond_alb.c
164
(s64) (SLAVE_TLB_INFO(slave).load << 3); /* Bytes to bits */
drivers/net/bonding/bond_alb.c
1643
res = alb_handle_addr_collision_on_attach(bond, slave);
drivers/net/bonding/bond_alb.c
1647
tlb_init_slave(slave);
drivers/net/bonding/bond_alb.c
1664
void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
1667
alb_change_hw_addr_on_detach(bond, slave);
drivers/net/bonding/bond_alb.c
1669
tlb_clear_slave(bond, slave, 0);
drivers/net/bonding/bond_alb.c
167
static struct slave *tlb_get_least_loaded_slave(struct bonding *bond)
drivers/net/bonding/bond_alb.c
1673
rlb_clear_slave(bond, slave);
drivers/net/bonding/bond_alb.c
1678
void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link)
drivers/net/bonding/bond_alb.c
1683
tlb_clear_slave(bond, slave, 0);
drivers/net/bonding/bond_alb.c
1685
rlb_clear_slave(bond, slave);
drivers/net/bonding/bond_alb.c
169
struct slave *slave, *least_loaded;
drivers/net/bonding/bond_alb.c
1716
void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave)
drivers/net/bonding/bond_alb.c
1718
struct slave *swap_slave;
drivers/net/bonding/bond_alb.c
1719
struct slave *curr_active;
drivers/net/bonding/bond_alb.c
177
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_alb.c
178
if (bond_slave_can_tx(slave)) {
drivers/net/bonding/bond_alb.c
1789
struct slave *curr_active;
drivers/net/bonding/bond_alb.c
179
long long gap = compute_gap(slave);
drivers/net/bonding/bond_alb.c
1790
struct slave *swap_slave;
drivers/net/bonding/bond_alb.c
182
least_loaded = slave;
drivers/net/bonding/bond_alb.c
191
static struct slave *__tlb_choose_channel(struct bonding *bond, u32 hash_index,
drivers/net/bonding/bond_alb.c
196
struct slave *assigned_slave;
drivers/net/bonding/bond_alb.c
227
static struct slave *tlb_choose_channel(struct bonding *bond, u32 hash_index,
drivers/net/bonding/bond_alb.c
230
struct slave *tx_slave;
drivers/net/bonding/bond_alb.c
273
struct slave *slave)
drivers/net/bonding/bond_alb.c
299
slave_dbg(bond->dev, slave->dev, "Server received an ARP Reply from client\n");
drivers/net/bonding/bond_alb.c
306
static struct slave *__rlb_next_rx_slave(struct bonding *bond)
drivers/net/bonding/bond_alb.c
309
struct slave *before = NULL, *rx_slave = NULL, *slave;
drivers/net/bonding/bond_alb.c
313
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_alb.c
314
if (!bond_slave_can_tx(slave))
drivers/net/bonding/bond_alb.c
317
if (!before || before->speed < slave->speed)
drivers/net/bonding/bond_alb.c
318
before = slave;
drivers/net/bonding/bond_alb.c
320
if (!rx_slave || rx_slave->speed < slave->speed)
drivers/net/bonding/bond_alb.c
321
rx_slave = slave;
drivers/net/bonding/bond_alb.c
323
if (slave == bond_info->rx_slave)
drivers/net/bonding/bond_alb.c
339
static struct slave *rlb_next_rx_slave(struct bonding *bond)
drivers/net/bonding/bond_alb.c
341
struct slave *rx_slave;
drivers/net/bonding/bond_alb.c
360
struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_alb.c
381
static void rlb_clear_slave(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
394
if (rx_hash_table[index].slave == slave) {
drivers/net/bonding/bond_alb.c
395
struct slave *assigned_slave = rlb_next_rx_slave(bond);
drivers/net/bonding/bond_alb.c
398
rx_hash_table[index].slave = assigned_slave;
drivers/net/bonding/bond_alb.c
413
rx_hash_table[index].slave = NULL;
drivers/net/bonding/bond_alb.c
420
if (slave != rtnl_dereference(bond->curr_active_slave))
drivers/net/bonding/bond_alb.c
421
rlb_teach_disabled_mac_on_primary(bond, slave->dev->dev_addr);
drivers/net/bonding/bond_alb.c
428
if (!client_info->slave || !is_valid_ether_addr(client_info->mac_dst))
drivers/net/bonding/bond_alb.c
436
client_info->slave->dev,
drivers/net/bonding/bond_alb.c
439
client_info->slave->dev->dev_addr,
drivers/net/bonding/bond_alb.c
442
slave_err(client_info->slave->bond->dev,
drivers/net/bonding/bond_alb.c
443
client_info->slave->dev,
drivers/net/bonding/bond_alb.c
448
skb->dev = client_info->slave->dev;
drivers/net/bonding/bond_alb.c
488
static void rlb_req_update_slave_clients(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_alb.c
502
if ((client_info->slave == slave) &&
drivers/net/bonding/bond_alb.c
533
if (!client_info->slave) {
drivers/net/bonding/bond_alb.c
54
static void alb_send_learning_packets(struct slave *slave, const u8 mac_addr[],
drivers/net/bonding/bond_alb.c
542
!ether_addr_equal_64bits(client_info->slave->dev->dev_addr,
drivers/net/bonding/bond_alb.c
553
static struct slave *rlb_choose_channel(struct sk_buff *skb,
drivers/net/bonding/bond_alb.c
558
struct slave *assigned_slave, *curr_active_slave;
drivers/net/bonding/bond_alb.c
579
assigned_slave = client_info->slave;
drivers/net/bonding/bond_alb.c
590
client_info->slave != curr_active_slave) {
drivers/net/bonding/bond_alb.c
591
client_info->slave = curr_active_slave;
drivers/net/bonding/bond_alb.c
619
client_info->slave = assigned_slave;
drivers/net/bonding/bond_alb.c
653
static struct slave *rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond)
drivers/net/bonding/bond_alb.c
655
struct slave *tx_slave = NULL;
drivers/net/bonding/bond_alb.c
715
struct slave *assigned_slave;
drivers/net/bonding/bond_alb.c
728
if (assigned_slave && (client_info->slave != assigned_slave)) {
drivers/net/bonding/bond_alb.c
729
client_info->slave = assigned_slave;
drivers/net/bonding/bond_alb.c
749
entry->slave = NULL;
drivers/net/bonding/bond_alb.c
87
static inline void tlb_init_slave(struct slave *slave)
drivers/net/bonding/bond_alb.c
89
SLAVE_TLB_INFO(slave).load = 0;
drivers/net/bonding/bond_alb.c
90
SLAVE_TLB_INFO(slave).head = TLB_NULL_INDEX;
drivers/net/bonding/bond_alb.c
919
static void alb_send_lp_vid(struct slave *slave, const u8 mac_addr[],
drivers/net/bonding/bond_alb.c
93
static void __tlb_clear_slave(struct bonding *bond, struct slave *slave,
drivers/net/bonding/bond_alb.c
941
skb->dev = slave->dev;
drivers/net/bonding/bond_alb.c
943
slave_dbg(slave->bond->dev, slave->dev,
drivers/net/bonding/bond_alb.c
954
struct slave *slave;
drivers/net/bonding/bond_alb.c
966
struct slave *slave = data->slave;
drivers/net/bonding/bond_alb.c
972
alb_send_lp_vid(slave, mac_addr,
drivers/net/bonding/bond_alb.c
976
alb_send_lp_vid(slave, upper->dev_addr,
drivers/net/bonding/bond_alb.c
990
alb_send_lp_vid(slave, upper->dev_addr,
drivers/net/bonding/bond_alb.c
998
static void alb_send_learning_packets(struct slave *slave, const u8 mac_addr[],
drivers/net/bonding/bond_debugfs.c
37
if (client_info->slave)
drivers/net/bonding/bond_debugfs.c
42
client_info->slave->dev->name);
drivers/net/bonding/bond_main.c
1000
return slave;
drivers/net/bonding/bond_main.c
1013
struct slave *new_active,
drivers/net/bonding/bond_main.c
1014
struct slave *old_active)
drivers/net/bonding/bond_main.c
1092
static struct slave *bond_choose_primary_or_current(struct bonding *bond)
drivers/net/bonding/bond_main.c
1094
struct slave *prim = rtnl_dereference(bond->primary_slave);
drivers/net/bonding/bond_main.c
1095
struct slave *curr = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
1096
struct slave *slave, *hprio = NULL;
drivers/net/bonding/bond_main.c
1100
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
1101
if (slave->link == BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
1102
hprio = hprio ?: slave;
drivers/net/bonding/bond_main.c
1103
if (slave->prio > hprio->prio)
drivers/net/bonding/bond_main.c
1104
hprio = slave;
drivers/net/bonding/bond_main.c
1150
static struct slave *bond_find_best_slave(struct bonding *bond)
drivers/net/bonding/bond_main.c
1152
struct slave *slave, *bestslave = NULL;
drivers/net/bonding/bond_main.c
1156
slave = bond_choose_primary_or_current(bond);
drivers/net/bonding/bond_main.c
1157
if (slave)
drivers/net/bonding/bond_main.c
1158
return slave;
drivers/net/bonding/bond_main.c
1160
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
1161
if (slave->link == BOND_LINK_UP)
drivers/net/bonding/bond_main.c
1162
return slave;
drivers/net/bonding/bond_main.c
1163
if (slave->link == BOND_LINK_BACK && bond_slave_is_up(slave) &&
drivers/net/bonding/bond_main.c
1164
slave->delay < mintime) {
drivers/net/bonding/bond_main.c
1165
mintime = slave->delay;
drivers/net/bonding/bond_main.c
1166
bestslave = slave;
drivers/net/bonding/bond_main.c
1177
struct slave *slave = NULL;
drivers/net/bonding/bond_main.c
1194
slave = rcu_dereference_rtnl(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
1195
if (!slave || test_bit(__LINK_STATE_LINKWATCH_PENDING,
drivers/net/bonding/bond_main.c
1196
&slave->dev->state))
drivers/net/bonding/bond_main.c
1201
slave ? slave->dev->name : "all");
drivers/net/bonding/bond_main.c
1264
void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
drivers/net/bonding/bond_main.c
1266
struct slave *old_active;
drivers/net/bonding/bond_main.c
1370
struct slave *best_slave;
drivers/net/bonding/bond_main.c
1390
static inline int slave_enable_netpoll(struct slave *slave)
drivers/net/bonding/bond_main.c
1400
err = __netpoll_setup(np, slave->dev);
drivers/net/bonding/bond_main.c
1405
slave->np = np;
drivers/net/bonding/bond_main.c
1409
static inline void slave_disable_netpoll(struct slave *slave)
drivers/net/bonding/bond_main.c
1411
struct netpoll *np = slave->np;
drivers/net/bonding/bond_main.c
1416
slave->np = NULL;
drivers/net/bonding/bond_main.c
1424
struct slave *slave = NULL;
drivers/net/bonding/bond_main.c
1432
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
1433
if (!bond_slave_is_up(slave))
drivers/net/bonding/bond_main.c
1438
SLAVE_AD_INFO(slave)->port.aggregator;
drivers/net/bonding/bond_main.c
1445
netpoll_poll_dev(slave->dev);
drivers/net/bonding/bond_main.c
1453
struct slave *slave;
drivers/net/bonding/bond_main.c
1455
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
1456
if (bond_slave_is_up(slave))
drivers/net/bonding/bond_main.c
1457
slave_disable_netpoll(slave);
drivers/net/bonding/bond_main.c
1464
struct slave *slave;
drivers/net/bonding/bond_main.c
1467
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
1468
err = slave_enable_netpoll(slave);
drivers/net/bonding/bond_main.c
1477
static inline int slave_enable_netpoll(struct slave *slave)
drivers/net/bonding/bond_main.c
1481
static inline void slave_disable_netpoll(struct slave *slave)
drivers/net/bonding/bond_main.c
1497
struct slave *slave;
drivers/net/bonding/bond_main.c
1502
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
1504
slave->dev->features,
drivers/net/bonding/bond_main.c
1518
struct slave *slave;
drivers/net/bonding/bond_main.c
1522
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
1523
if (slave) {
drivers/net/bonding/bond_main.c
1524
slave_ops = READ_ONCE(slave->dev->header_ops);
drivers/net/bonding/bond_main.c
1526
ret = slave_ops->create(skb, slave->dev,
drivers/net/bonding/bond_main.c
1539
struct slave *slave;
drivers/net/bonding/bond_main.c
1543
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
1544
if (slave) {
drivers/net/bonding/bond_main.c
1545
slave_ops = READ_ONCE(slave->dev->header_ops);
drivers/net/bonding/bond_main.c
1547
ret = slave_ops->parse(skb, slave->dev, haddr);
drivers/net/bonding/bond_main.c
1588
struct slave *slave,
drivers/net/bonding/bond_main.c
1591
if (bond_is_slave_inactive(slave)) {
drivers/net/bonding/bond_main.c
1604
struct slave *slave;
drivers/net/bonding/bond_main.c
1607
struct slave *);
drivers/net/bonding/bond_main.c
1616
slave = bond_slave_get_rcu(skb->dev);
drivers/net/bonding/bond_main.c
1617
bond = slave->bond;
drivers/net/bonding/bond_main.c
1621
ret = recv_probe(skb, bond, slave);
drivers/net/bonding/bond_main.c
1639
if (bond_should_deliver_exact_match(skb, slave, bond)) {
drivers/net/bonding/bond_main.c
1704
static int bond_master_upper_dev_link(struct bonding *bond, struct slave *slave,
drivers/net/bonding/bond_main.c
1715
err = netdev_master_upper_dev_link(slave->dev, bond->dev, slave,
drivers/net/bonding/bond_main.c
1720
slave->dev->flags |= IFF_SLAVE;
drivers/net/bonding/bond_main.c
1724
static void bond_upper_dev_unlink(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_main.c
1726
netdev_upper_dev_unlink(slave->dev, bond->dev);
drivers/net/bonding/bond_main.c
1727
slave->dev->flags &= ~IFF_SLAVE;
drivers/net/bonding/bond_main.c
1732
struct slave *slave = to_slave(kobj);
drivers/net/bonding/bond_main.c
1733
struct bonding *bond = bond_get_bond_by_slave(slave);
drivers/net/bonding/bond_main.c
1735
cancel_delayed_work_sync(&slave->notify_work);
drivers/net/bonding/bond_main.c
1737
kfree(SLAVE_AD_INFO(slave));
drivers/net/bonding/bond_main.c
1739
kfree(slave);
drivers/net/bonding/bond_main.c
1749
static int bond_kobj_init(struct slave *slave)
drivers/net/bonding/bond_main.c
1753
err = kobject_init_and_add(&slave->kobj, &slave_ktype,
drivers/net/bonding/bond_main.c
1754
&(slave->dev->dev.kobj), "bonding_slave");
drivers/net/bonding/bond_main.c
1756
kobject_put(&slave->kobj);
drivers/net/bonding/bond_main.c
1761
static struct slave *bond_alloc_slave(struct bonding *bond,
drivers/net/bonding/bond_main.c
1764
struct slave *slave = NULL;
drivers/net/bonding/bond_main.c
1766
slave = kzalloc_obj(*slave);
drivers/net/bonding/bond_main.c
1767
if (!slave)
drivers/net/bonding/bond_main.c
1770
slave->bond = bond;
drivers/net/bonding/bond_main.c
1771
slave->dev = slave_dev;
drivers/net/bonding/bond_main.c
1772
INIT_DELAYED_WORK(&slave->notify_work, bond_netdev_notify_work);
drivers/net/bonding/bond_main.c
1774
if (bond_kobj_init(slave))
drivers/net/bonding/bond_main.c
1778
SLAVE_AD_INFO(slave) = kzalloc_obj(struct ad_slave_info);
drivers/net/bonding/bond_main.c
1779
if (!SLAVE_AD_INFO(slave)) {
drivers/net/bonding/bond_main.c
1780
kobject_put(&slave->kobj);
drivers/net/bonding/bond_main.c
1785
return slave;
drivers/net/bonding/bond_main.c
1795
static void bond_fill_ifslave(struct slave *slave, struct ifslave *info)
drivers/net/bonding/bond_main.c
1797
strcpy(info->slave_name, slave->dev->name);
drivers/net/bonding/bond_main.c
1798
info->link = slave->link;
drivers/net/bonding/bond_main.c
1799
info->state = bond_slave_state(slave);
drivers/net/bonding/bond_main.c
1800
info->link_failure_count = slave->link_failure_count;
drivers/net/bonding/bond_main.c
1805
struct slave *slave = container_of(_work, struct slave,
drivers/net/bonding/bond_main.c
1811
bond_fill_ifslave(slave, &binfo.slave);
drivers/net/bonding/bond_main.c
1812
bond_fill_ifbond(slave->bond, &binfo.master);
drivers/net/bonding/bond_main.c
1813
netdev_bonding_info_change(slave->dev, &binfo);
drivers/net/bonding/bond_main.c
1816
queue_delayed_work(slave->bond->wq, &slave->notify_work, 1);
drivers/net/bonding/bond_main.c
1820
void bond_queue_slave_event(struct slave *slave)
drivers/net/bonding/bond_main.c
1822
queue_delayed_work(slave->bond->wq, &slave->notify_work, 0);
drivers/net/bonding/bond_main.c
1825
void bond_lower_state_changed(struct slave *slave)
drivers/net/bonding/bond_main.c
1829
info.link_up = slave->link == BOND_LINK_UP ||
drivers/net/bonding/bond_main.c
1830
slave->link == BOND_LINK_FAIL;
drivers/net/bonding/bond_main.c
1831
info.tx_enabled = bond_is_active_slave(slave);
drivers/net/bonding/bond_main.c
1832
netdev_lower_state_changed(slave->dev, &info);
drivers/net/bonding/bond_main.c
1868
struct slave *slave;
drivers/net/bonding/bond_main.c
1877
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
1878
val &= slave->dev->xdp_features;
drivers/net/bonding/bond_main.c
1891
struct slave *new_slave = NULL, *prev_slave;
drivers/net/bonding/bond_main.c
2420
struct slave *slave, *oldcurrent;
drivers/net/bonding/bond_main.c
2434
slave = bond_get_slave_by_dev(bond, slave_dev);
drivers/net/bonding/bond_main.c
2435
if (!slave) {
drivers/net/bonding/bond_main.c
2442
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
drivers/net/bonding/bond_main.c
2444
bond_sysfs_slave_del(slave);
drivers/net/bonding/bond_main.c
2466
bond_3ad_unbind_slave(slave);
drivers/net/bonding/bond_main.c
2468
bond_upper_dev_unlink(bond, slave);
drivers/net/bonding/bond_main.c
2472
bond_update_slave_arr(bond, slave);
drivers/net/bonding/bond_main.c
2475
bond_is_active_slave(slave) ? "active" : "backup");
drivers/net/bonding/bond_main.c
2483
if (ether_addr_equal_64bits(bond_dev->dev_addr, slave->perm_hwaddr) &&
drivers/net/bonding/bond_main.c
2486
slave->perm_hwaddr);
drivers/net/bonding/bond_main.c
2489
if (rtnl_dereference(bond->primary_slave) == slave)
drivers/net/bonding/bond_main.c
2492
if (oldcurrent == slave)
drivers/net/bonding/bond_main.c
2499
bond_slave_ns_maddrs_del(bond, slave);
drivers/net/bonding/bond_main.c
2507
bond_alb_deinit_slave(bond, slave);
drivers/net/bonding/bond_main.c
2512
} else if (oldcurrent == slave) {
drivers/net/bonding/bond_main.c
2562
slave_disable_netpoll(slave);
drivers/net/bonding/bond_main.c
2572
bond_hw_addr_copy(ss.__data, slave->perm_hwaddr,
drivers/net/bonding/bond_main.c
2573
slave->dev->addr_len);
drivers/net/bonding/bond_main.c
2580
__netif_set_mtu(slave_dev, slave->original_mtu);
drivers/net/bonding/bond_main.c
2583
dev_set_mtu(slave_dev, slave->original_mtu);
drivers/net/bonding/bond_main.c
2590
kobject_put(&slave->kobj);
drivers/net/bonding/bond_main.c
2633
struct slave *slave;
drivers/net/bonding/bond_main.c
2635
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
2638
bond_fill_ifslave(slave, info);
drivers/net/bonding/bond_main.c
2654
struct slave *slave;
drivers/net/bonding/bond_main.c
2667
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
2668
bond_propose_link_state(slave, BOND_LINK_NOCHANGE);
drivers/net/bonding/bond_main.c
2670
link_state = netif_running(slave->dev) &&
drivers/net/bonding/bond_main.c
2671
netif_carrier_ok(slave->dev);
drivers/net/bonding/bond_main.c
2673
switch (slave->link) {
drivers/net/bonding/bond_main.c
2678
bond_propose_link_state(slave, BOND_LINK_FAIL);
drivers/net/bonding/bond_main.c
2680
slave->delay = bond->params.downdelay;
drivers/net/bonding/bond_main.c
2681
if (slave->delay && net_ratelimit()) {
drivers/net/bonding/bond_main.c
2682
slave_info(bond->dev, slave->dev, "link status down for %sinterface, disabling it in %d ms\n",
drivers/net/bonding/bond_main.c
2685
(bond_is_active_slave(slave) ?
drivers/net/bonding/bond_main.c
2693
bond_propose_link_state(slave, BOND_LINK_UP);
drivers/net/bonding/bond_main.c
2694
slave->last_link_up = jiffies;
drivers/net/bonding/bond_main.c
2696
slave_info(bond->dev, slave->dev, "link status up again after %d ms\n",
drivers/net/bonding/bond_main.c
2697
(bond->params.downdelay - slave->delay) *
drivers/net/bonding/bond_main.c
2703
if (slave->delay <= 0) {
drivers/net/bonding/bond_main.c
2704
bond_propose_link_state(slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
2709
slave->delay--;
drivers/net/bonding/bond_main.c
2716
bond_propose_link_state(slave, BOND_LINK_BACK);
drivers/net/bonding/bond_main.c
2718
slave->delay = bond->params.updelay;
drivers/net/bonding/bond_main.c
2720
if (slave->delay && net_ratelimit()) {
drivers/net/bonding/bond_main.c
2721
slave_info(bond->dev, slave->dev, "link status up, enabling it in %d ms\n",
drivers/net/bonding/bond_main.c
2729
bond_propose_link_state(slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
2731
slave_info(bond->dev, slave->dev, "link status down again after %d ms\n",
drivers/net/bonding/bond_main.c
2732
(bond->params.updelay - slave->delay) *
drivers/net/bonding/bond_main.c
2739
slave->delay = 0;
drivers/net/bonding/bond_main.c
2741
if (slave->delay <= 0) {
drivers/net/bonding/bond_main.c
2742
bond_propose_link_state(slave, BOND_LINK_UP);
drivers/net/bonding/bond_main.c
2748
slave->delay--;
drivers/net/bonding/bond_main.c
2757
struct slave *slave,
drivers/net/bonding/bond_main.c
2762
bond_3ad_handle_link_change(slave, link);
drivers/net/bonding/bond_main.c
2766
bond_alb_handle_link_change(bond, slave, link);
drivers/net/bonding/bond_main.c
2776
struct slave *slave, *primary, *active;
drivers/net/bonding/bond_main.c
2782
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
2783
switch (slave->link_new_state) {
drivers/net/bonding/bond_main.c
2792
slave->link == BOND_LINK_UP)
drivers/net/bonding/bond_main.c
2793
bond_3ad_adapter_speed_duplex_changed(slave);
drivers/net/bonding/bond_main.c
2797
if (bond_update_speed_duplex(slave) &&
drivers/net/bonding/bond_main.c
2799
slave->link = BOND_LINK_DOWN;
drivers/net/bonding/bond_main.c
2801
slave_warn(bond->dev, slave->dev,
drivers/net/bonding/bond_main.c
2805
bond_set_slave_link_state(slave, BOND_LINK_UP,
drivers/net/bonding/bond_main.c
2807
slave->last_link_up = jiffies;
drivers/net/bonding/bond_main.c
2812
bond_set_backup_slave(slave);
drivers/net/bonding/bond_main.c
2815
bond_set_active_slave(slave);
drivers/net/bonding/bond_main.c
2818
slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n",
drivers/net/bonding/bond_main.c
2819
slave->speed == SPEED_UNKNOWN ? 0 : slave->speed,
drivers/net/bonding/bond_main.c
2820
slave->duplex ? "full" : "half");
drivers/net/bonding/bond_main.c
2822
bond_miimon_link_change(bond, slave, BOND_LINK_UP);
drivers/net/bonding/bond_main.c
2825
if (!active || slave == primary || slave->prio > active->prio)
drivers/net/bonding/bond_main.c
2831
if (slave->link_failure_count < UINT_MAX)
drivers/net/bonding/bond_main.c
2832
slave->link_failure_count++;
drivers/net/bonding/bond_main.c
2834
bond_set_slave_link_state(slave, BOND_LINK_DOWN,
drivers/net/bonding/bond_main.c
2839
bond_set_slave_inactive_flags(slave,
drivers/net/bonding/bond_main.c
2842
slave_info(bond->dev, slave->dev, "link status definitely down, disabling slave\n");
drivers/net/bonding/bond_main.c
2844
bond_miimon_link_change(bond, slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
2846
if (slave == rcu_access_pointer(bond->curr_active_slave))
drivers/net/bonding/bond_main.c
2853
slave_dbg(bond->dev, slave->dev, "link_new_state %d on slave\n",
drivers/net/bonding/bond_main.c
2854
slave->link_new_state);
drivers/net/bonding/bond_main.c
2858
slave_err(bond->dev, slave->dev, "invalid link_new_state %d on slave\n",
drivers/net/bonding/bond_main.c
2859
slave->link_new_state);
drivers/net/bonding/bond_main.c
2860
bond_propose_link_state(slave, BOND_LINK_NOCHANGE);
drivers/net/bonding/bond_main.c
2887
struct slave *slave;
drivers/net/bonding/bond_main.c
2910
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
2911
bond_commit_link_state(slave,
drivers/net/bonding/bond_main.c
2956
static bool bond_handle_vlan(struct slave *slave, struct bond_vlan_tag *tags,
drivers/net/bonding/bond_main.c
2959
struct net_device *bond_dev = slave->bond->dev;
drivers/net/bonding/bond_main.c
2960
struct net_device *slave_dev = slave->dev;
drivers/net/bonding/bond_main.c
3001
static void bond_arp_send(struct slave *slave, int arp_op, __be32 dest_ip,
drivers/net/bonding/bond_main.c
3004
struct net_device *bond_dev = slave->bond->dev;
drivers/net/bonding/bond_main.c
3005
struct net_device *slave_dev = slave->dev;
drivers/net/bonding/bond_main.c
3019
if (bond_handle_vlan(slave, tags, skb)) {
drivers/net/bonding/bond_main.c
3020
slave_update_last_tx(slave);
drivers/net/bonding/bond_main.c
3067
static void bond_arp_send_all(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_main.c
3075
slave_dbg(bond->dev, slave->dev, "%s: target %pI4\n",
drivers/net/bonding/bond_main.c
3090
bond_arp_send(slave, ARPOP_REQUEST, targets[i],
drivers/net/bonding/bond_main.c
3107
slave_dbg(bond->dev, slave->dev, "no path to arp_ip_target %pI4 via rt.dev %s\n",
drivers/net/bonding/bond_main.c
3116
bond_arp_send(slave, ARPOP_REQUEST, targets[i], addr, tags);
drivers/net/bonding/bond_main.c
3121
static void bond_validate_arp(struct bonding *bond, struct slave *slave, __be32 sip, __be32 tip)
drivers/net/bonding/bond_main.c
3126
slave_dbg(bond->dev, slave->dev, "%s: sip %pI4 tip %pI4 not found\n",
drivers/net/bonding/bond_main.c
3133
slave_dbg(bond->dev, slave->dev, "%s: sip %pI4 not found in targets\n",
drivers/net/bonding/bond_main.c
3137
WRITE_ONCE(slave->last_rx, jiffies);
drivers/net/bonding/bond_main.c
3138
WRITE_ONCE(slave->target_last_arp_rx[i], jiffies);
drivers/net/bonding/bond_main.c
3142
struct slave *slave)
drivers/net/bonding/bond_main.c
3145
struct slave *curr_active_slave, *curr_arp_slave;
drivers/net/bonding/bond_main.c
3174
slave_dbg(bond->dev, slave->dev, "%s: %s/%d av %d sv %d sip %pI4 tip %pI4\n",
drivers/net/bonding/bond_main.c
3175
__func__, slave->dev->name, bond_slave_state(slave),
drivers/net/bonding/bond_main.c
3176
bond->params.arp_validate, slave_do_arp_validate(bond, slave),
drivers/net/bonding/bond_main.c
3205
if (bond_is_active_slave(slave))
drivers/net/bonding/bond_main.c
3206
bond_validate_arp(bond, slave, sip, tip);
drivers/net/bonding/bond_main.c
3210
bond_validate_arp(bond, slave, tip, sip);
drivers/net/bonding/bond_main.c
3213
bond_validate_arp(bond, slave, sip, tip);
drivers/net/bonding/bond_main.c
3222
static void bond_ns_send(struct slave *slave, const struct in6_addr *daddr,
drivers/net/bonding/bond_main.c
3225
struct net_device *bond_dev = slave->bond->dev;
drivers/net/bonding/bond_main.c
3226
struct net_device *slave_dev = slave->dev;
drivers/net/bonding/bond_main.c
3240
if (bond_handle_vlan(slave, tags, skb)) {
drivers/net/bonding/bond_main.c
3241
slave_update_last_tx(slave);
drivers/net/bonding/bond_main.c
3246
static void bond_ns_send_all(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_main.c
3256
slave_dbg(bond->dev, slave->dev, "%s: target %pI6c\n",
drivers/net/bonding/bond_main.c
3274
bond_ns_send(slave, &targets[i], &in6addr_any, tags);
drivers/net/bonding/bond_main.c
3290
slave_dbg(bond->dev, slave->dev, "no path to ns_ip6_target %pI6c via dst->dev %s\n",
drivers/net/bonding/bond_main.c
3298
bond_ns_send(slave, &targets[i], &saddr, tags);
drivers/net/bonding/bond_main.c
3300
bond_ns_send(slave, &targets[i], &in6addr_any, tags);
drivers/net/bonding/bond_main.c
3333
static void bond_validate_na(struct bonding *bond, struct slave *slave,
drivers/net/bonding/bond_main.c
3346
slave_dbg(bond->dev, slave->dev, "%s: sip %pI6c tip %pI6c not found\n",
drivers/net/bonding/bond_main.c
3353
slave_dbg(bond->dev, slave->dev, "%s: sip %pI6c not found in targets\n",
drivers/net/bonding/bond_main.c
3357
WRITE_ONCE(slave->last_rx, jiffies);
drivers/net/bonding/bond_main.c
3358
WRITE_ONCE(slave->target_last_arp_rx[i], jiffies);
drivers/net/bonding/bond_main.c
3362
struct slave *slave)
drivers/net/bonding/bond_main.c
3364
struct slave *curr_active_slave, *curr_arp_slave;
drivers/net/bonding/bond_main.c
3384
slave_dbg(bond->dev, slave->dev, "%s: %s/%d av %d sv %d sip %pI6c tip %pI6c\n",
drivers/net/bonding/bond_main.c
3385
__func__, slave->dev->name, bond_slave_state(slave),
drivers/net/bonding/bond_main.c
3386
bond->params.arp_validate, slave_do_arp_validate(bond, slave),
drivers/net/bonding/bond_main.c
3395
if (bond_is_active_slave(slave))
drivers/net/bonding/bond_main.c
3396
bond_validate_na(bond, slave, saddr, daddr);
drivers/net/bonding/bond_main.c
3400
bond_validate_na(bond, slave, daddr, saddr);
drivers/net/bonding/bond_main.c
3403
bond_validate_na(bond, slave, saddr, daddr);
drivers/net/bonding/bond_main.c
3411
struct slave *slave)
drivers/net/bonding/bond_main.c
3418
slave_dbg(bond->dev, slave->dev, "%s: skb->dev %s\n",
drivers/net/bonding/bond_main.c
3422
if (!slave_do_arp_validate(bond, slave)) {
drivers/net/bonding/bond_main.c
3428
WRITE_ONCE(slave->last_rx, jiffies);
drivers/net/bonding/bond_main.c
3431
return bond_arp_rcv(skb, bond, slave);
drivers/net/bonding/bond_main.c
3434
return bond_na_rcv(skb, bond, slave);
drivers/net/bonding/bond_main.c
3441
static void bond_send_validate(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_main.c
3443
bond_arp_send_all(bond, slave);
drivers/net/bonding/bond_main.c
3445
bond_ns_send_all(bond, slave);
drivers/net/bonding/bond_main.c
3471
struct slave *slave, *oldcurrent;
drivers/net/bonding/bond_main.c
3489
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3490
unsigned long last_tx = slave_last_tx(slave);
drivers/net/bonding/bond_main.c
3492
bond_propose_link_state(slave, BOND_LINK_NOCHANGE);
drivers/net/bonding/bond_main.c
3494
if (slave->link != BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
3496
bond_time_in_interval(bond, READ_ONCE(slave->last_rx), 1)) {
drivers/net/bonding/bond_main.c
3498
bond_propose_link_state(slave, BOND_LINK_UP);
drivers/net/bonding/bond_main.c
3507
slave_info(bond->dev, slave->dev, "link status definitely up\n");
drivers/net/bonding/bond_main.c
3510
slave_info(bond->dev, slave->dev, "interface is now up\n");
drivers/net/bonding/bond_main.c
3522
!bond_time_in_interval(bond, READ_ONCE(slave->last_rx),
drivers/net/bonding/bond_main.c
3525
bond_propose_link_state(slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
3528
if (slave->link_failure_count < UINT_MAX)
drivers/net/bonding/bond_main.c
3529
slave->link_failure_count++;
drivers/net/bonding/bond_main.c
3531
slave_info(bond->dev, slave->dev, "interface is now down\n");
drivers/net/bonding/bond_main.c
3533
if (slave == oldcurrent)
drivers/net/bonding/bond_main.c
3545
if (bond_slave_is_up(slave))
drivers/net/bonding/bond_main.c
3546
bond_send_validate(bond, slave);
drivers/net/bonding/bond_main.c
3555
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3556
if (slave->link_new_state != BOND_LINK_NOCHANGE)
drivers/net/bonding/bond_main.c
3557
slave->link = slave->link_new_state;
drivers/net/bonding/bond_main.c
3590
struct slave *slave;
drivers/net/bonding/bond_main.c
3593
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3594
bond_propose_link_state(slave, BOND_LINK_NOCHANGE);
drivers/net/bonding/bond_main.c
3595
last_rx = slave_last_rx(bond, slave);
drivers/net/bonding/bond_main.c
3597
if (slave->link != BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
3599
bond_propose_link_state(slave, BOND_LINK_UP);
drivers/net/bonding/bond_main.c
3601
} else if (slave->link == BOND_LINK_BACK) {
drivers/net/bonding/bond_main.c
3602
bond_propose_link_state(slave, BOND_LINK_FAIL);
drivers/net/bonding/bond_main.c
3612
if (bond_time_in_interval(bond, slave->last_link_up, 2))
drivers/net/bonding/bond_main.c
3627
if (!bond_is_active_slave(slave) &&
drivers/net/bonding/bond_main.c
3630
bond_propose_link_state(slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
3639
last_tx = slave_last_tx(slave);
drivers/net/bonding/bond_main.c
3640
if (bond_is_active_slave(slave) &&
drivers/net/bonding/bond_main.c
3643
bond_propose_link_state(slave, BOND_LINK_DOWN);
drivers/net/bonding/bond_main.c
3661
struct slave *slave;
drivers/net/bonding/bond_main.c
3663
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3664
switch (slave->link_new_state) {
drivers/net/bonding/bond_main.c
3669
last_tx = slave_last_tx(slave);
drivers/net/bonding/bond_main.c
3670
if (rtnl_dereference(bond->curr_active_slave) != slave ||
drivers/net/bonding/bond_main.c
3673
struct slave *current_arp_slave;
drivers/net/bonding/bond_main.c
3676
bond_set_slave_link_state(slave, BOND_LINK_UP,
drivers/net/bonding/bond_main.c
3685
slave_info(bond->dev, slave->dev, "link status definitely up\n");
drivers/net/bonding/bond_main.c
3688
slave == rtnl_dereference(bond->primary_slave) ||
drivers/net/bonding/bond_main.c
3689
slave->prio > rtnl_dereference(bond->curr_active_slave)->prio)
drivers/net/bonding/bond_main.c
3697
if (slave->link_failure_count < UINT_MAX)
drivers/net/bonding/bond_main.c
3698
slave->link_failure_count++;
drivers/net/bonding/bond_main.c
3700
bond_set_slave_link_state(slave, BOND_LINK_DOWN,
drivers/net/bonding/bond_main.c
3702
bond_set_slave_inactive_flags(slave,
drivers/net/bonding/bond_main.c
3705
slave_info(bond->dev, slave->dev, "link status definitely down, disabling slave\n");
drivers/net/bonding/bond_main.c
3707
if (slave == rtnl_dereference(bond->curr_active_slave)) {
drivers/net/bonding/bond_main.c
3715
bond_set_slave_link_state(slave, BOND_LINK_FAIL,
drivers/net/bonding/bond_main.c
3717
bond_set_slave_inactive_flags(slave,
drivers/net/bonding/bond_main.c
3728
slave_err(bond->dev, slave->dev,
drivers/net/bonding/bond_main.c
3730
slave->link_new_state);
drivers/net/bonding/bond_main.c
3750
struct slave *slave, *before = NULL, *new_slave = NULL,
drivers/net/bonding/bond_main.c
3778
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3779
if (!found && !before && bond_slave_is_up(slave))
drivers/net/bonding/bond_main.c
3780
before = slave;
drivers/net/bonding/bond_main.c
3782
if (found && !new_slave && bond_slave_is_up(slave))
drivers/net/bonding/bond_main.c
3783
new_slave = slave;
drivers/net/bonding/bond_main.c
379
struct slave *slave, *rollback_slave;
drivers/net/bonding/bond_main.c
3791
if (!bond_slave_is_up(slave) && slave->link == BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
3792
bond_set_slave_link_state(slave, BOND_LINK_DOWN,
drivers/net/bonding/bond_main.c
3794
if (slave->link_failure_count < UINT_MAX)
drivers/net/bonding/bond_main.c
3795
slave->link_failure_count++;
drivers/net/bonding/bond_main.c
3797
bond_set_slave_inactive_flags(slave,
drivers/net/bonding/bond_main.c
3800
slave_info(bond->dev, slave->dev, "backup interface is now down\n");
drivers/net/bonding/bond_main.c
3802
if (slave == curr_arp_slave)
drivers/net/bonding/bond_main.c
3820
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
3821
if (slave->should_notify || slave->should_notify_link) {
drivers/net/bonding/bond_main.c
383
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
384
res = vlan_vid_add(slave->dev, proto, vid);
drivers/net/bonding/bond_main.c
3934
struct slave *slave = bond_slave_get_rtnl(slave_dev), *primary;
drivers/net/bonding/bond_main.c
394
if (rollback_slave == slave)
drivers/net/bonding/bond_main.c
3942
if (!slave) {
drivers/net/bonding/bond_main.c
3947
bond_dev = slave->bond->dev;
drivers/net/bonding/bond_main.c
3948
bond = slave->bond;
drivers/net/bonding/bond_main.c
3969
if (bond_update_speed_duplex(slave) &&
drivers/net/bonding/bond_main.c
3971
if (slave->last_link_up)
drivers/net/bonding/bond_main.c
3972
slave->link = BOND_LINK_FAIL;
drivers/net/bonding/bond_main.c
3974
slave->link = BOND_LINK_DOWN;
drivers/net/bonding/bond_main.c
3978
bond_3ad_adapter_speed_duplex_changed(slave);
drivers/net/bonding/bond_main.c
4011
if (slave == primary) {
drivers/net/bonding/bond_main.c
4016
rcu_assign_pointer(bond->primary_slave, slave);
drivers/net/bonding/bond_main.c
4037
call_netdevice_notifiers(event, slave->bond->dev);
drivers/net/bonding/bond_main.c
414
struct slave *slave;
drivers/net/bonding/bond_main.c
416
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
417
vlan_vid_del(slave->dev, proto, vid);
drivers/net/bonding/bond_main.c
4337
struct slave *slave;
drivers/net/bonding/bond_main.c
4347
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4349
slave != rcu_access_pointer(bond->curr_active_slave)) {
drivers/net/bonding/bond_main.c
4350
bond_set_slave_inactive_flags(slave,
drivers/net/bonding/bond_main.c
4353
bond_set_slave_active_flags(slave,
drivers/net/bonding/bond_main.c
4383
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
4384
dev_mc_add(slave->dev, lacpdu_mcast_addr);
drivers/net/bonding/bond_main.c
4399
struct slave *slave;
drivers/net/bonding/bond_main.c
440
struct slave *slave;
drivers/net/bonding/bond_main.c
4417
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
4418
if (slave)
drivers/net/bonding/bond_main.c
4419
bond_hw_addr_flush(bond_dev, slave->dev);
drivers/net/bonding/bond_main.c
4424
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
4425
bond_hw_addr_flush(bond_dev, slave->dev);
drivers/net/bonding/bond_main.c
446
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
447
if (!slave)
drivers/net/bonding/bond_main.c
4507
struct slave *slave;
drivers/net/bonding/bond_main.c
4519
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4521
dev_get_stats(slave->dev, &temp);
drivers/net/bonding/bond_main.c
4523
bond_fold_stats(stats, new, &slave->slave_stats);
drivers/net/bonding/bond_main.c
4526
memcpy(&slave->slave_stats, new, sizeof(*new));
drivers/net/bonding/bond_main.c
453
if (xs->xso.real_dev != slave->dev)
drivers/net/bonding/bond_main.c
455
bond_dev->name, slave->dev->name, xs->xso.real_dev->name);
drivers/net/bonding/bond_main.c
457
return slave->dev;
drivers/net/bonding/bond_main.c
4687
struct slave *slave;
drivers/net/bonding/bond_main.c
4691
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
4692
if (slave) {
drivers/net/bonding/bond_main.c
4693
dev_uc_sync(slave->dev, bond_dev);
drivers/net/bonding/bond_main.c
4694
dev_mc_sync(slave->dev, bond_dev);
drivers/net/bonding/bond_main.c
4697
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4698
dev_uc_sync_multiple(slave->dev, bond_dev);
drivers/net/bonding/bond_main.c
4699
dev_mc_sync_multiple(slave->dev, bond_dev);
drivers/net/bonding/bond_main.c
4710
struct slave *slave;
drivers/net/bonding/bond_main.c
4714
slave = bond_first_slave_rcu(bond);
drivers/net/bonding/bond_main.c
4715
if (!slave)
drivers/net/bonding/bond_main.c
4717
slave_ops = slave->dev->netdev_ops;
drivers/net/bonding/bond_main.c
4730
ret = slave_ops->ndo_neigh_setup(slave->dev, &parms);
drivers/net/bonding/bond_main.c
474
struct slave *slave;
drivers/net/bonding/bond_main.c
4764
struct slave *slave, *rollback_slave;
drivers/net/bonding/bond_main.c
4770
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4771
slave_dbg(bond_dev, slave->dev, "s %p c_m %p\n",
drivers/net/bonding/bond_main.c
4772
slave, slave->dev->netdev_ops->ndo_change_mtu);
drivers/net/bonding/bond_main.c
4774
res = dev_set_mtu(slave->dev, new_mtu);
drivers/net/bonding/bond_main.c
4785
slave_dbg(bond_dev, slave->dev, "err %d setting mtu to %d\n",
drivers/net/bonding/bond_main.c
4800
if (rollback_slave == slave)
drivers/net/bonding/bond_main.c
482
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
4821
struct slave *slave, *rollback_slave;
drivers/net/bonding/bond_main.c
483
real_dev = slave ? slave->dev : NULL;
drivers/net/bonding/bond_main.c
4842
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4843
slave_dbg(bond_dev, slave->dev, "%s: slave=%p\n",
drivers/net/bonding/bond_main.c
4844
__func__, slave);
drivers/net/bonding/bond_main.c
4845
res = dev_set_mac_address(slave->dev, addr, NULL);
drivers/net/bonding/bond_main.c
4853
slave_dbg(bond_dev, slave->dev, "%s: err %d\n",
drivers/net/bonding/bond_main.c
4871
if (rollback_slave == slave)
drivers/net/bonding/bond_main.c
4892
static struct slave *bond_get_slave_by_id(struct bonding *bond,
drivers/net/bonding/bond_main.c
4896
struct slave *slave;
drivers/net/bonding/bond_main.c
4900
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4902
if (bond_slave_can_tx(slave))
drivers/net/bonding/bond_main.c
4903
return slave;
drivers/net/bonding/bond_main.c
4909
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
4912
if (bond_slave_can_tx(slave))
drivers/net/bonding/bond_main.c
4913
return slave;
drivers/net/bonding/bond_main.c
4952
static struct slave *bond_xmit_roundrobin_slave_get(struct bonding *bond,
drivers/net/bonding/bond_main.c
4955
struct slave *slave;
drivers/net/bonding/bond_main.c
4974
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
4975
if (slave)
drivers/net/bonding/bond_main.c
4976
return slave;
drivers/net/bonding/bond_main.c
4990
static struct slave *bond_xdp_xmit_roundrobin_slave_get(struct bonding *bond,
drivers/net/bonding/bond_main.c
4993
struct slave *slave;
drivers/net/bonding/bond_main.c
5015
slave = rcu_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
5016
if (slave)
drivers/net/bonding/bond_main.c
5017
return slave;
drivers/net/bonding/bond_main.c
5035
struct slave *slave;
drivers/net/bonding/bond_main.c
5037
slave = bond_xmit_roundrobin_slave_get(bond, skb);
drivers/net/bonding/bond_main.c
5038
if (likely(slave))
drivers/net/bonding/bond_main.c
5039
return bond_dev_queue_xmit(bond, skb, slave->dev);
drivers/net/bonding/bond_main.c
5044
static struct slave *bond_xmit_activebackup_slave_get(struct bonding *bond)
drivers/net/bonding/bond_main.c
5056
struct slave *slave;
drivers/net/bonding/bond_main.c
5058
slave = bond_xmit_activebackup_slave_get(bond);
drivers/net/bonding/bond_main.c
5059
if (slave)
drivers/net/bonding/bond_main.c
5060
return bond_dev_queue_xmit(bond, skb, slave->dev);
drivers/net/bonding/bond_main.c
5097
struct slave *skipslave)
drivers/net/bonding/bond_main.c
5152
int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave)
drivers/net/bonding/bond_main.c
5155
struct slave *slave;
drivers/net/bonding/bond_main.c
5184
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
5185
if (skipslave == slave)
drivers/net/bonding/bond_main.c
5188
all_slaves->arr[all_slaves->count++] = slave;
drivers/net/bonding/bond_main.c
5192
agg = SLAVE_AD_INFO(slave)->port.aggregator;
drivers/net/bonding/bond_main.c
5196
if (!bond_slave_can_tx(slave))
drivers/net/bonding/bond_main.c
5199
slave_dbg(bond->dev, slave->dev, "Adding slave to tx hash array[%d]\n",
drivers/net/bonding/bond_main.c
5202
usable_slaves->arr[usable_slaves->count++] = slave;
drivers/net/bonding/bond_main.c
5220
static struct slave *bond_xmit_3ad_xor_slave_get(struct bonding *bond,
drivers/net/bonding/bond_main.c
5224
struct slave *slave;
drivers/net/bonding/bond_main.c
5233
slave = slaves->arr[hash % count];
drivers/net/bonding/bond_main.c
5234
return slave;
drivers/net/bonding/bond_main.c
5237
static struct slave *bond_xdp_xmit_3ad_xor_slave_get(struct bonding *bond,
drivers/net/bonding/bond_main.c
526
struct slave *slave;
drivers/net/bonding/bond_main.c
528
slave = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
529
real_dev = slave ? slave->dev : NULL;
drivers/net/bonding/bond_main.c
5293
struct slave *slave;
drivers/net/bonding/bond_main.c
5296
slave = bond_xmit_3ad_xor_slave_get(bond, skb, slaves);
drivers/net/bonding/bond_main.c
5297
if (likely(slave))
drivers/net/bonding/bond_main.c
5298
return bond_dev_queue_xmit(bond, skb, slave->dev);
drivers/net/bonding/bond_main.c
5323
struct slave *slave = slaves->arr[i];
drivers/net/bonding/bond_main.c
5326
if (!(bond_slave_is_up(slave) && slave->link == BOND_LINK_UP))
drivers/net/bonding/bond_main.c
5341
if (bond_dev_queue_xmit(bond, skb2, slave->dev) == NETDEV_TX_OK)
drivers/net/bonding/bond_main.c
5361
struct slave *slave = NULL;
drivers/net/bonding/bond_main.c
5368
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
5369
if (READ_ONCE(slave->queue_id) == skb_get_queue_mapping(skb)) {
drivers/net/bonding/bond_main.c
5370
if (bond_slave_is_up(slave) &&
drivers/net/bonding/bond_main.c
5371
slave->link == BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
5372
bond_dev_queue_xmit(bond, skb, slave->dev);
drivers/net/bonding/bond_main.c
5411
struct slave *slave = NULL;
drivers/net/bonding/bond_main.c
5415
slave = bond_xmit_roundrobin_slave_get(bond, skb);
drivers/net/bonding/bond_main.c
5418
slave = bond_xmit_activebackup_slave_get(bond);
drivers/net/bonding/bond_main.c
5426
slave = bond_xmit_3ad_xor_slave_get(bond, skb, slaves);
drivers/net/bonding/bond_main.c
5431
slave = bond_xmit_alb_slave_get(bond, skb);
drivers/net/bonding/bond_main.c
5434
slave = bond_xmit_tlb_slave_get(bond, skb);
drivers/net/bonding/bond_main.c
5442
if (slave)
drivers/net/bonding/bond_main.c
5443
return slave->dev;
drivers/net/bonding/bond_main.c
5497
struct slave *slave;
drivers/net/bonding/bond_main.c
5507
slave = slaves->arr[hash % count];
drivers/net/bonding/bond_main.c
5509
return slave->dev;
drivers/net/bonding/bond_main.c
5605
struct slave *slave;
drivers/net/bonding/bond_main.c
5611
slave = bond_xdp_xmit_roundrobin_slave_get(bond, xdp);
drivers/net/bonding/bond_main.c
5615
slave = bond_xmit_activebackup_slave_get(bond);
drivers/net/bonding/bond_main.c
5620
slave = bond_xdp_xmit_3ad_xor_slave_get(bond, xdp);
drivers/net/bonding/bond_main.c
5630
if (slave)
drivers/net/bonding/bond_main.c
5631
return slave->dev;
drivers/net/bonding/bond_main.c
5678
struct slave *slave, *rollback_slave;
drivers/net/bonding/bond_main.c
5699
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
5700
struct net_device *slave_dev = slave->dev;
drivers/net/bonding/bond_main.c
5746
if (slave == rollback_slave)
drivers/net/bonding/bond_main.c
5769
static u32 bond_mode_bcast_speed(struct slave *slave, u32 speed)
drivers/net/bonding/bond_main.c
5772
speed = slave->speed;
drivers/net/bonding/bond_main.c
5774
speed = min(speed, slave->speed);
drivers/net/bonding/bond_main.c
5845
struct slave *slave;
drivers/net/bonding/bond_main.c
5856
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
5857
if (bond_slave_can_tx(slave)) {
drivers/net/bonding/bond_main.c
5858
bond_update_speed_duplex(slave);
drivers/net/bonding/bond_main.c
5859
if (slave->speed != SPEED_UNKNOWN) {
drivers/net/bonding/bond_main.c
5861
speed = bond_mode_bcast_speed(slave,
drivers/net/bonding/bond_main.c
5864
speed += slave->speed;
drivers/net/bonding/bond_main.c
5867
slave->duplex != DUPLEX_UNKNOWN)
drivers/net/bonding/bond_main.c
5868
cmd->base.duplex = slave->duplex;
drivers/net/bonding/bond_main.c
5892
struct slave *slave;
drivers/net/bonding/bond_main.c
5905
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_main.c
5906
ret = ethtool_get_ts_info_by_layer(slave->dev, &ts_info);
drivers/net/bonding/bond_main.c
603
struct slave *slave;
drivers/net/bonding/bond_main.c
605
slave = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
6053
struct slave *slave;
drivers/net/bonding/bond_main.c
6058
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_main.c
6059
__bond_release_one(bond_dev, slave->dev, true, true);
drivers/net/bonding/bond_main.c
606
real_dev = slave ? slave->dev : NULL;
drivers/net/bonding/bond_main.c
761
struct slave *slave;
drivers/net/bonding/bond_main.c
769
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
770
if (slave->link == BOND_LINK_UP) {
drivers/net/bonding/bond_main.c
793
static int bond_update_speed_duplex(struct slave *slave)
drivers/net/bonding/bond_main.c
795
struct net_device *slave_dev = slave->dev;
drivers/net/bonding/bond_main.c
812
slave->speed = ecmd.base.speed;
drivers/net/bonding/bond_main.c
813
slave->duplex = ecmd.base.duplex;
drivers/net/bonding/bond_main.c
818
slave->speed = SPEED_UNKNOWN;
drivers/net/bonding/bond_main.c
819
slave->duplex = DUPLEX_UNKNOWN;
drivers/net/bonding/bond_main.c
849
struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
854
struct slave *slave;
drivers/net/bonding/bond_main.c
856
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
857
err = dev_set_promiscuity(slave->dev, inc);
drivers/net/bonding/bond_main.c
872
struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_main.c
877
struct slave *slave;
drivers/net/bonding/bond_main.c
879
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
880
err = dev_set_allmulti(slave->dev, inc);
drivers/net/bonding/bond_main.c
930
static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active,
drivers/net/bonding/bond_main.c
931
struct slave *old_active)
drivers/net/bonding/bond_main.c
989
static struct slave *bond_get_old_active(struct bonding *bond,
drivers/net/bonding/bond_main.c
990
struct slave *new_active)
drivers/net/bonding/bond_main.c
992
struct slave *slave;
drivers/net/bonding/bond_main.c
995
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_main.c
996
if (slave == new_active)
drivers/net/bonding/bond_main.c
999
if (ether_addr_equal(bond->dev->dev_addr, slave->dev->dev_addr))
drivers/net/bonding/bond_netlink.c
39
struct slave *slave = bond_slave_get_rtnl(slave_dev);
drivers/net/bonding/bond_netlink.c
41
if (nla_put_u8(skb, IFLA_BOND_SLAVE_STATE, bond_slave_state(slave)))
drivers/net/bonding/bond_netlink.c
44
if (nla_put_u8(skb, IFLA_BOND_SLAVE_MII_STATUS, slave->link))
drivers/net/bonding/bond_netlink.c
48
slave->link_failure_count))
drivers/net/bonding/bond_netlink.c
52
slave_dev->addr_len, slave->perm_hwaddr))
drivers/net/bonding/bond_netlink.c
56
READ_ONCE(slave->queue_id)))
drivers/net/bonding/bond_netlink.c
59
if (nla_put_s32(skb, IFLA_BOND_SLAVE_PRIO, slave->prio))
drivers/net/bonding/bond_netlink.c
62
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
drivers/net/bonding/bond_netlink.c
66
ad_port = &SLAVE_AD_INFO(slave)->port;
drivers/net/bonding/bond_netlink.c
666
const struct net_device *slave;
drivers/net/bonding/bond_netlink.c
67
agg = SLAVE_AD_INFO(slave)->port.aggregator;
drivers/net/bonding/bond_netlink.c
670
slave = bond_option_active_slave_get_rcu(bond);
drivers/net/bonding/bond_netlink.c
671
ifindex = slave ? slave->ifindex : 0;
drivers/net/bonding/bond_netlink.c
683
struct slave *primary;
drivers/net/bonding/bond_netlink.c
83
SLAVE_AD_INFO(slave)->port_priority))
drivers/net/bonding/bond_netlink.c
896
struct slave *slave = NULL;
drivers/net/bonding/bond_netlink.c
905
slave = bond_slave_get_rtnl(dev);
drivers/net/bonding/bond_netlink.c
906
if (!slave)
drivers/net/bonding/bond_netlink.c
908
bond = slave->bond;
drivers/net/bonding/bond_netlink.c
920
if (slave)
drivers/net/bonding/bond_netlink.c
921
stats = &SLAVE_AD_INFO(slave)->stats;
drivers/net/bonding/bond_options.c
1152
struct slave *slave;
drivers/net/bonding/bond_options.c
1155
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_options.c
1156
WRITE_ONCE(slave->target_last_arp_rx[slot], last_rx);
drivers/net/bonding/bond_options.c
1200
struct slave *slave;
drivers/net/bonding/bond_options.c
1222
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_options.c
1223
targets_rx = slave->target_last_arp_rx;
drivers/net/bonding/bond_options.c
1270
static bool slave_can_set_ns_maddr(const struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_options.c
1273
!bond_is_active_slave(slave) &&
drivers/net/bonding/bond_options.c
1274
slave->dev->flags & IFF_MULTICAST;
drivers/net/bonding/bond_options.c
1294
static void slave_set_ns_maddrs(struct bonding *bond, struct slave *slave, bool add)
drivers/net/bonding/bond_options.c
1301
if (!slave_can_set_ns_maddr(bond, slave))
drivers/net/bonding/bond_options.c
1309
if (!ndisc_mc_map(&mcaddr, slot_maddr, slave->dev, 0)) {
drivers/net/bonding/bond_options.c
1311
dev_mc_add(slave->dev, slot_maddr);
drivers/net/bonding/bond_options.c
1313
dev_mc_del(slave->dev, slot_maddr);
drivers/net/bonding/bond_options.c
1318
void bond_slave_ns_maddrs_add(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_options.c
1322
slave_set_ns_maddrs(bond, slave, true);
drivers/net/bonding/bond_options.c
1325
void bond_slave_ns_maddrs_del(struct bonding *bond, struct slave *slave)
drivers/net/bonding/bond_options.c
1329
slave_set_ns_maddrs(bond, slave, false);
drivers/net/bonding/bond_options.c
1349
static void slave_set_ns_maddr(struct bonding *bond, struct slave *slave,
drivers/net/bonding/bond_options.c
1355
if (!bond->params.arp_validate || !slave_can_set_ns_maddr(bond, slave))
drivers/net/bonding/bond_options.c
1361
!ndisc_mc_map(&mcast_addr, mac_addr, slave->dev, 0))
drivers/net/bonding/bond_options.c
1362
dev_mc_del(slave->dev, mac_addr);
drivers/net/bonding/bond_options.c
1367
!ndisc_mc_map(&mcast_addr, mac_addr, slave->dev, 0))
drivers/net/bonding/bond_options.c
1368
dev_mc_add(slave->dev, mac_addr);
drivers/net/bonding/bond_options.c
1377
struct slave *slave;
drivers/net/bonding/bond_options.c
1380
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_options.c
1381
WRITE_ONCE(slave->target_last_arp_rx[slot], last_rx);
drivers/net/bonding/bond_options.c
1382
slave_set_ns_maddr(bond, slave, target, &targets[slot]);
drivers/net/bonding/bond_options.c
1436
static void slave_set_ns_maddrs(struct bonding *bond, struct slave *slave, bool add) {}
drivers/net/bonding/bond_options.c
1438
void bond_slave_ns_maddrs_add(struct bonding *bond, struct slave *slave) {}
drivers/net/bonding/bond_options.c
1440
void bond_slave_ns_maddrs_del(struct bonding *bond, struct slave *slave) {}
drivers/net/bonding/bond_options.c
1448
struct slave *slave;
drivers/net/bonding/bond_options.c
1455
bond_for_each_slave(bond, slave, iter)
drivers/net/bonding/bond_options.c
1456
slave_set_ns_maddrs(bond, slave, !!bond->params.arp_validate);
drivers/net/bonding/bond_options.c
1485
struct slave *slave;
drivers/net/bonding/bond_options.c
1487
slave = bond_slave_get_rtnl(newval->slave_dev);
drivers/net/bonding/bond_options.c
1488
if (!slave) {
drivers/net/bonding/bond_options.c
1492
slave->prio = newval->value;
drivers/net/bonding/bond_options.c
1495
slave_warn(bond->dev, slave->dev,
drivers/net/bonding/bond_options.c
1508
struct slave *slave;
drivers/net/bonding/bond_options.c
1524
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_options.c
1525
if (strncmp(slave->dev->name, primary, IFNAMSIZ) == 0) {
drivers/net/bonding/bond_options.c
1526
slave_dbg(bond->dev, slave->dev, "Setting as primary slave\n");
drivers/net/bonding/bond_options.c
1527
rcu_assign_pointer(bond->primary_slave, slave);
drivers/net/bonding/bond_options.c
1528
strcpy(bond->params.primary, slave->dev->name);
drivers/net/bonding/bond_options.c
1609
struct slave *slave;
drivers/net/bonding/bond_options.c
1614
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_options.c
1615
if (!bond_is_active_slave(slave)) {
drivers/net/bonding/bond_options.c
1617
slave->inactive = 0;
drivers/net/bonding/bond_options.c
1619
slave->inactive = 1;
drivers/net/bonding/bond_options.c
1700
struct slave *slave, *update_slave;
drivers/net/bonding/bond_options.c
1731
bond_for_each_slave(bond, slave, iter) {
drivers/net/bonding/bond_options.c
1732
if (sdev == slave->dev)
drivers/net/bonding/bond_options.c
1736
update_slave = slave;
drivers/net/bonding/bond_options.c
1737
else if (qid && qid == slave->queue_id) {
drivers/net/bonding/bond_options.c
1831
struct slave *slave;
drivers/net/bonding/bond_options.c
1833
slave = bond_slave_get_rtnl(newval->slave_dev);
drivers/net/bonding/bond_options.c
1834
if (!slave) {
drivers/net/bonding/bond_options.c
1842
SLAVE_AD_INFO(slave)->port_priority = newval->value;
drivers/net/bonding/bond_options.c
979
struct slave *old_active = rtnl_dereference(bond->curr_active_slave);
drivers/net/bonding/bond_options.c
980
struct slave *new_active = bond_slave_get_rtnl(slave_dev);
drivers/net/bonding/bond_procfs.c
16
struct slave *slave;
drivers/net/bonding/bond_procfs.c
191
const struct slave *slave)
drivers/net/bonding/bond_procfs.c
195
seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name);
drivers/net/bonding/bond_procfs.c
196
seq_printf(seq, "MII Status: %s\n", bond_slave_link_status(slave->link));
drivers/net/bonding/bond_procfs.c
197
if (slave->speed == SPEED_UNKNOWN)
drivers/net/bonding/bond_procfs.c
200
seq_printf(seq, "Speed: %d Mbps\n", slave->speed);
drivers/net/bonding/bond_procfs.c
202
if (slave->duplex == DUPLEX_UNKNOWN)
drivers/net/bonding/bond_procfs.c
205
seq_printf(seq, "Duplex: %s\n", slave->duplex ? "full" : "half");
drivers/net/bonding/bond_procfs.c
208
slave->link_failure_count);
drivers/net/bonding/bond_procfs.c
211
slave->dev->addr_len, slave->perm_hwaddr);
drivers/net/bonding/bond_procfs.c
212
seq_printf(seq, "Slave queue ID: %d\n", READ_ONCE(slave->queue_id));
drivers/net/bonding/bond_procfs.c
215
const struct port *port = &SLAVE_AD_INFO(slave)->port;
drivers/net/bonding/bond_procfs.c
24
bond_for_each_slave_rcu(bond, slave, iter)
drivers/net/bonding/bond_procfs.c
26
return slave;
drivers/net/bonding/bond_procfs.c
35
struct slave *slave;
drivers/net/bonding/bond_procfs.c
42
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_procfs.c
44
return slave;
drivers/net/bonding/bond_procfs.c
45
if (slave == v)
drivers/net/bonding/bond_procfs.c
62
struct slave *curr, *primary;
drivers/net/bonding/bond_sysfs.c
170
struct slave *slave;
drivers/net/bonding/bond_sysfs.c
175
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_sysfs.c
183
res += sysfs_emit_at(buf, res, "%s ", slave->dev->name);
drivers/net/bonding/bond_sysfs.c
439
struct slave *primary;
drivers/net/bonding/bond_sysfs.c
623
struct slave *slave;
drivers/net/bonding/bond_sysfs.c
628
bond_for_each_slave_rcu(bond, slave, iter) {
drivers/net/bonding/bond_sysfs.c
637
slave->dev->name,
drivers/net/bonding/bond_sysfs.c
638
READ_ONCE(slave->queue_id));
drivers/net/bonding/bond_sysfs_slave.c
123
struct slave *slave = to_slave(kobj);
drivers/net/bonding/bond_sysfs_slave.c
125
return slave_attr->show(slave, buf);
drivers/net/bonding/bond_sysfs_slave.c
132
int bond_sysfs_slave_add(struct slave *slave)
drivers/net/bonding/bond_sysfs_slave.c
134
return sysfs_create_files(&slave->kobj, slave_attrs);
drivers/net/bonding/bond_sysfs_slave.c
137
void bond_sysfs_slave_del(struct slave *slave)
drivers/net/bonding/bond_sysfs_slave.c
139
sysfs_remove_files(&slave->kobj, slave_attrs);
drivers/net/bonding/bond_sysfs_slave.c
15
ssize_t (*show)(struct slave *, char *);
drivers/net/bonding/bond_sysfs_slave.c
21
static ssize_t state_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
23
switch (bond_slave_state(slave)) {
drivers/net/bonding/bond_sysfs_slave.c
34
static ssize_t mii_status_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
36
return sysfs_emit(buf, "%s\n", bond_slave_link_status(slave->link));
drivers/net/bonding/bond_sysfs_slave.c
40
static ssize_t link_failure_count_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
42
return sysfs_emit(buf, "%d\n", slave->link_failure_count);
drivers/net/bonding/bond_sysfs_slave.c
46
static ssize_t perm_hwaddr_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
49
slave->dev->addr_len,
drivers/net/bonding/bond_sysfs_slave.c
50
slave->perm_hwaddr);
drivers/net/bonding/bond_sysfs_slave.c
54
static ssize_t queue_id_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
56
return sysfs_emit(buf, "%d\n", READ_ONCE(slave->queue_id));
drivers/net/bonding/bond_sysfs_slave.c
60
static ssize_t ad_aggregator_id_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
64
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
drivers/net/bonding/bond_sysfs_slave.c
65
agg = SLAVE_AD_INFO(slave)->port.aggregator;
drivers/net/bonding/bond_sysfs_slave.c
75
static ssize_t ad_actor_oper_port_state_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
79
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
drivers/net/bonding/bond_sysfs_slave.c
80
ad_port = &SLAVE_AD_INFO(slave)->port;
drivers/net/bonding/bond_sysfs_slave.c
90
static ssize_t ad_partner_oper_port_state_show(struct slave *slave, char *buf)
drivers/net/bonding/bond_sysfs_slave.c
94
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) {
drivers/net/bonding/bond_sysfs_slave.c
95
ad_port = &SLAVE_AD_INFO(slave)->port;
drivers/net/eql.c
142
static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
drivers/net/eql.c
152
slave_t *slave = list_entry(this, slave_t, list);
drivers/net/eql.c
154
if ((slave->dev->flags & IFF_UP) == IFF_UP) {
drivers/net/eql.c
155
slave->bytes_queued -= slave->priority_Bps;
drivers/net/eql.c
156
if (slave->bytes_queued < 0)
drivers/net/eql.c
157
slave->bytes_queued = 0;
drivers/net/eql.c
159
eql_kill_one_slave(&eql->queue, slave);
drivers/net/eql.c
223
static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave)
drivers/net/eql.c
225
list_del(&slave->list);
drivers/net/eql.c
227
slave->dev->flags &= ~IFF_SLAVE;
drivers/net/eql.c
228
netdev_put(slave->dev, &slave->dev_tracker);
drivers/net/eql.c
229
kfree(slave);
drivers/net/eql.c
313
slave_t *slave = list_entry(this, slave_t, list);
drivers/net/eql.c
319
bytes_queued = slave->bytes_queued;
drivers/net/eql.c
320
priority_Bps = slave->priority_Bps;
drivers/net/eql.c
321
if ((slave->dev->flags & IFF_UP) == IFF_UP) {
drivers/net/eql.c
327
best_slave = slave;
drivers/net/eql.c
331
eql_kill_one_slave(queue, slave);
drivers/net/eql.c
340
slave_t *slave;
drivers/net/eql.c
344
slave = __eql_schedule_slaves(&eql->queue);
drivers/net/eql.c
345
if (slave) {
drivers/net/eql.c
346
struct net_device *slave_dev = slave->dev;
drivers/net/eql.c
350
slave->bytes_queued += skb->len;
drivers/net/eql.c
374
slave_t *slave = list_entry(this, slave_t, list);
drivers/net/eql.c
376
if (slave->dev == dev)
drivers/net/eql.c
377
return slave;
drivers/net/eql.c
393
static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave)
drivers/net/eql.c
398
duplicate_slave = __eql_find_slave_dev(queue, slave->dev);
drivers/net/eql.c
402
netdev_hold(slave->dev, &slave->dev_tracker, GFP_ATOMIC);
drivers/net/eql.c
403
list_add(&slave->list, &queue->all_slaves);
drivers/net/eql.c
405
slave->dev->flags |= IFF_SLAVE;
drivers/net/eql.c
471
slave_t *slave = __eql_find_slave_dev(&eql->queue, slave_dev);
drivers/net/eql.c
472
if (slave) {
drivers/net/eql.c
473
eql_kill_one_slave(&eql->queue, slave);
drivers/net/eql.c
485
slave_t *slave;
drivers/net/eql.c
501
slave = __eql_find_slave_dev(&eql->queue, slave_dev);
drivers/net/eql.c
502
if (slave) {
drivers/net/eql.c
503
sc.priority = slave->priority;
drivers/net/eql.c
517
slave_t *slave;
drivers/net/eql.c
535
slave = __eql_find_slave_dev(&eql->queue, slave_dev);
drivers/net/eql.c
536
if (slave) {
drivers/net/eql.c
537
slave->priority = sc.priority;
drivers/net/eql.c
538
slave->priority_bps = sc.priority;
drivers/net/eql.c
539
slave->priority_Bps = sc.priority / 8;
drivers/net/ethernet/intel/ice/ice_lag.c
1823
if (!b_info->slave.state) {
drivers/net/ethernet/intel/ice/ice_lag.c
1887
if (b_info->slave.link == BOND_LINK_UP) {
drivers/net/ethernet/intel/ice/ice_lag.c
354
if (bonding_info->slave.state && lag->pf_rx_rule_id) {
drivers/net/ethernet/intel/ice/ice_lag.c
363
if (!bonding_info->slave.state && !lag->pf_rx_rule_id) {
drivers/net/ethernet/intel/ice/ice_lag.c
917
if (strcmp(bonding_info->slave.slave_name, lag_netdev_name)) {
drivers/net/ethernet/intel/ice/ice_lag.c
922
if (bonding_info->slave.state)
drivers/net/ethernet/mellanox/mlx4/cmd.c
1008
if (slave != mlx4_master_func_num(dev) &&
drivers/net/ethernet/mellanox/mlx4/cmd.c
1009
!mlx4_vf_smi_enabled(dev, slave, port)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
1013
slave, smp->mgmt_class, smp->method,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1025
static int mlx4_CMD_EPERM_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1034
int mlx4_DMA_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1048
in_param |= slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
136
static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1661
static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1683
ret = mlx4_ACCESS_MEM(dev, priv->mfunc.vhcr_dma, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1684
priv->mfunc.master.slave_state[slave].vhcr_dma,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1715
vhcr->op, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1730
ret = mlx4_ACCESS_MEM(dev, inbox->dma, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1744
if (cmd->verify && cmd->verify(dev, slave, vhcr, inbox)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
1746
vhcr->op, slave, vhcr->in_modifier);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1763
err = cmd->wrapper(dev, slave, vhcr, inbox, outbox,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1791
slave, err);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1794
vhcr->op, slave, vhcr->errno, err);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1803
ret = mlx4_ACCESS_MEM(dev, outbox->dma, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1820
ret = mlx4_ACCESS_MEM(dev, priv->mfunc.vhcr_dma, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1821
priv->mfunc.master.slave_state[slave].vhcr_dma,
drivers/net/ethernet/mellanox/mlx4/cmd.c
1829
mlx4_GEN_EQE(dev, slave, &priv->mfunc.master.cmd_eqe))
drivers/net/ethernet/mellanox/mlx4/cmd.c
1831
slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1842
int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
1851
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
1852
vp_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
1861
if (!(priv->mfunc.master.slave_state[slave].active &&
drivers/net/ethernet/mellanox/mlx4/cmd.c
1871
slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1889
slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1899
admin_vlan_ix, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
1924
work->slave = slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
1995
static int mlx4_master_activate_admin_state(struct mlx4_priv *priv, int slave)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2001
&priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/cmd.c
2003
&priv->dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2007
priv->mfunc.master.vf_oper[slave].smi_enabled[port] =
drivers/net/ethernet/mellanox/mlx4/cmd.c
2008
priv->mfunc.master.vf_admin[slave].enable_smi[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
2009
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
2010
vp_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
2033
slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2038
vp_oper->vlan_idx, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2049
slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2053
vp_oper->state.mac, vp_oper->mac_idx, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2059
static void mlx4_master_deactivate_admin_state(struct mlx4_priv *priv, int slave)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2064
&priv->dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2068
priv->mfunc.master.vf_oper[slave].smi_enabled[port] =
drivers/net/ethernet/mellanox/mlx4/cmd.c
2070
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
2084
static void mlx4_master_do_cmd(struct mlx4_dev *dev, int slave, u8 cmd,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2094
slave_state[slave].comm_toggle ^= 1;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2095
reply = (u32) slave_state[slave].comm_toggle << 31;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2096
if (toggle != slave_state[slave].comm_toggle) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2098
toggle, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2102
mlx4_warn(dev, "Received reset from slave:%d\n", slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2103
slave_state[slave].active = false;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2104
slave_state[slave].old_vlan_api = false;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2105
slave_state[slave].vst_qinq_supported = false;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2106
mlx4_master_deactivate_admin_state(priv, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2108
slave_state[slave].event_eq[i].eqn = -1;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2109
slave_state[slave].event_eq[i].token = 0;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2113
if (MLX4_COMM_CMD_FLR == slave_state[slave].last_cmd)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2116
mlx4_dispatch_event(dev, MLX4_DEV_EVENT_SLAVE_SHUTDOWN, &slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2125
MLX4_COMM_CMD_FLR == slave_state[slave].last_cmd) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2127
slave, cmd);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2133
if (slave_state[slave].last_cmd != MLX4_COMM_CMD_RESET)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2135
slave_state[slave].vhcr_dma = ((u64) param) << 48;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2136
priv->mfunc.master.slave_state[slave].cookie = 0;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2139
if (slave_state[slave].last_cmd != MLX4_COMM_CMD_VHCR0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2141
slave_state[slave].vhcr_dma |= ((u64) param) << 32;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2144
if (slave_state[slave].last_cmd != MLX4_COMM_CMD_VHCR1)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2146
slave_state[slave].vhcr_dma |= ((u64) param) << 16;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2149
if (slave_state[slave].last_cmd != MLX4_COMM_CMD_VHCR2)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2151
slave_state[slave].vhcr_dma |= param;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2152
if (mlx4_master_activate_admin_state(priv, slave))
drivers/net/ethernet/mellanox/mlx4/cmd.c
2154
slave_state[slave].active = true;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2155
mlx4_dispatch_event(dev, MLX4_DEV_EVENT_SLAVE_INIT, &slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2158
if ((slave_state[slave].last_cmd != MLX4_COMM_CMD_VHCR_EN) &&
drivers/net/ethernet/mellanox/mlx4/cmd.c
2159
(slave_state[slave].last_cmd != MLX4_COMM_CMD_VHCR_POST)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2161
slave, cmd, slave_state[slave].last_cmd);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2166
if (mlx4_master_process_vhcr(dev, slave, NULL)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2168
slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2175
mlx4_warn(dev, "Bad comm cmd:%d from slave:%d\n", cmd, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2179
if (!slave_state[slave].is_slave_going_down)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2180
slave_state[slave].last_cmd = cmd;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2186
cmd, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2190
&priv->mfunc.comm[slave].slave_read);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2197
mlx4_delete_all_resources_for_slave(dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2201
slave, cmd);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2210
if (!slave_state[slave].is_slave_going_down)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2211
slave_state[slave].last_cmd = MLX4_COMM_CMD_RESET;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2215
memset(&slave_state[slave].event_eq, 0,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2218
&priv->mfunc.comm[slave].slave_read);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2237
int i, slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2249
slave = master->next_slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2251
slave = find_next_bit((const unsigned long *)&lbit_vec, nmbr_bits, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2252
if (!first && slave >= master->next_slave)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2254
if (slave == nmbr_bits) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2258
slave = 0;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2262
comm_cmd = swab32(readl(&mfunc->comm[slave].slave_write));
drivers/net/ethernet/mellanox/mlx4/cmd.c
2263
slt = swab32(readl(&mfunc->comm[slave].slave_read)) >> 31;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2266
if (master->slave_state[slave].comm_toggle
drivers/net/ethernet/mellanox/mlx4/cmd.c
2269
slave, slt,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2270
master->slave_state[slave].comm_toggle);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2271
master->slave_state[slave].comm_toggle =
drivers/net/ethernet/mellanox/mlx4/cmd.c
2274
mlx4_master_do_cmd(dev, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2279
slave++;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2546
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2559
for (slave = 0; slave < dev->num_slaves; slave++) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2560
slave_read = swab32(readl(&priv->mfunc.comm[slave].slave_read));
drivers/net/ethernet/mellanox/mlx4/cmd.c
2563
&priv->mfunc.comm[slave].slave_read);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2731
int mlx4_get_vf_indx(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2733
if (slave < 1 || slave > dev->persist->num_vfs) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2736
slave, dev->num_slaves);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2739
return slave - 1;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2761
struct mlx4_active_ports mlx4_get_active_ports(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2768
if (slave == 0) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2773
vf = mlx4_get_vf_indx(dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2778
min((int)dev->dev_vfs[mlx4_get_vf_indx(dev, slave)].n_ports,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2785
int mlx4_slave_convert_port(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2788
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2802
int mlx4_phys_to_slave_port(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2804
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2856
static int mlx4_slaves_closest_port(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2858
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2872
static int mlx4_set_vport_qos(struct mlx4_priv *priv, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/cmd.c
2884
if (slave > port_qos->num_of_qos_vfs) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
2909
err = mlx4_SET_VPORT_QOS_set(dev, port, slave, vpp_qos);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2911
mlx4_info(dev, "Failed to set Vport %d QoS values\n", slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2973
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
2981
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2982
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
2985
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
2986
s_info = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3008
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3029
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3030
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3033
slave_state = &priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3039
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3040
vf_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3041
vf_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3058
vf_admin->qos_vport = slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3065
mlx4_master_immediate_activate_vlan_qos(priv, slave, port))
drivers/net/ethernet/mellanox/mlx4/cmd.c
3077
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3090
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3091
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3094
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3095
vf_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3097
err = mlx4_set_vport_qos(priv, slave, port, max_tx_rate);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3126
vf_admin->qos_vport = max_tx_rate ? slave : MLX4_VPP_DEFAULT_VPORT;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3128
if (priv->mfunc.master.slave_state[slave].active &&
drivers/net/ethernet/mellanox/mlx4/cmd.c
3130
mlx4_master_immediate_activate_vlan_qos(priv, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3140
bool mlx4_get_slave_default_vlan(struct mlx4_dev *dev, int port, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
3147
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3148
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3165
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3172
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3173
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3176
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3177
s_info = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3195
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3200
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3201
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3204
s_info = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3236
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3239
slave = mlx4_get_slave_indx(dev, vf);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3240
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3243
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3263
link_state, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3266
s_info = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
3270
mlx4_gen_port_state_change_eqe(dev, slave, port, link_stat_event);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3272
if (mlx4_master_immediate_activate_vlan_qos(priv, slave, port))
drivers/net/ethernet/mellanox/mlx4/cmd.c
3340
int slave;
drivers/net/ethernet/mellanox/mlx4/cmd.c
3349
slave = mlx4_get_slave_indx(dev, vf_idx);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3350
if (slave < 0)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3353
port = mlx4_slaves_closest_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3354
err = mlx4_calc_vf_counters(dev, slave, port, &tmp_vf_stats);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3366
int mlx4_vf_smi_enabled(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3370
if (slave < 1 || slave >= dev->num_slaves ||
drivers/net/ethernet/mellanox/mlx4/cmd.c
3374
return priv->mfunc.master.vf_oper[slave].smi_enabled[port] ==
drivers/net/ethernet/mellanox/mlx4/cmd.c
3379
int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/cmd.c
3383
if (slave == mlx4_master_func_num(dev))
drivers/net/ethernet/mellanox/mlx4/cmd.c
3386
if (slave < 1 || slave >= dev->num_slaves ||
drivers/net/ethernet/mellanox/mlx4/cmd.c
3390
return priv->mfunc.master.vf_admin[slave].enable_smi[port] ==
drivers/net/ethernet/mellanox/mlx4/cmd.c
3395
int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/cmd.c
3400
&priv->dev, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
3406
if (slave == mlx4_master_func_num(dev))
drivers/net/ethernet/mellanox/mlx4/cmd.c
3409
if (slave < 1 || slave >= dev->num_slaves ||
drivers/net/ethernet/mellanox/mlx4/cmd.c
3419
priv->mfunc.master.vf_admin[slave].enable_smi[port] = enabled;
drivers/net/ethernet/mellanox/mlx4/cmd.c
813
int slave, u64 slave_addr,
drivers/net/ethernet/mellanox/mlx4/cmd.c
820
(slave & ~0x7f) | (size & 0xff)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
822
slave_addr, master_addr, slave, size);
drivers/net/ethernet/mellanox/mlx4/cmd.c
827
in_param = (u64) slave | slave_addr;
drivers/net/ethernet/mellanox/mlx4/cmd.c
831
out_param = (u64) slave | slave_addr;
drivers/net/ethernet/mellanox/mlx4/cmd.c
891
static int mlx4_MAD_IFC_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
912
port = mlx4_slave_convert_port(dev, slave, slave_port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
938
pidx = priv->virt2phys_pkey[slave][port - 1][vidx];
drivers/net/ethernet/mellanox/mlx4/cmd.c
953
if (!err && slave != mlx4_master_func_num(dev)) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
956
*state = (*state & 0xf0) | vf_port_state(dev, port, slave);
drivers/net/ethernet/mellanox/mlx4/cmd.c
957
slave_cap_mask = priv->mfunc.master.slave_state[slave].ib_cap_mask[port];
drivers/net/ethernet/mellanox/mlx4/cmd.c
963
__be64 guid = mlx4_get_admin_guid(dev, slave,
drivers/net/ethernet/mellanox/mlx4/cmd.c
969
if (slave == 0 && guid == 0) {
drivers/net/ethernet/mellanox/mlx4/cmd.c
983
data, slave, port);
drivers/net/ethernet/mellanox/mlx4/cmd.c
997
slave_node_guid = mlx4_get_slave_node_guid(dev, slave);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2952
if (bonding_info->slave.state ==
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2974
__s8 link = bonding_info->slave.link;
drivers/net/ethernet/mellanox/mlx4/eq.c
147
u8 slave;
drivers/net/ethernet/mellanox/mlx4/eq.c
152
slave = eqe->slave_id;
drivers/net/ethernet/mellanox/mlx4/eq.c
166
if (slave == ALL_SLAVES) {
drivers/net/ethernet/mellanox/mlx4/eq.c
184
if (mlx4_GEN_EQE(dev, slave, eqe))
drivers/net/ethernet/mellanox/mlx4/eq.c
186
slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
194
static void slave_event(struct mlx4_dev *dev, u8 slave, struct mlx4_eqe *eqe)
drivers/net/ethernet/mellanox/mlx4/eq.c
206
slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
212
s_eqe->slave_id = slave;
drivers/net/ethernet/mellanox/mlx4/eq.c
223
static void mlx4_slave_event(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/eq.c
228
if (slave < 0 || slave > dev->persist->num_vfs ||
drivers/net/ethernet/mellanox/mlx4/eq.c
229
slave == dev->caps.function ||
drivers/net/ethernet/mellanox/mlx4/eq.c
230
!priv->mfunc.master.slave_state[slave].active)
drivers/net/ethernet/mellanox/mlx4/eq.c
233
slave_event(dev, slave, eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
253
int mlx4_gen_pkey_eqe(struct mlx4_dev *dev, int slave, u8 port)
drivers/net/ethernet/mellanox/mlx4/eq.c
258
struct mlx4_slave_state *s_slave = &priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/eq.c
267
eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
269
return mlx4_GEN_EQE(dev, slave, &eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
273
int mlx4_gen_guid_change_eqe(struct mlx4_dev *dev, int slave, u8 port)
drivers/net/ethernet/mellanox/mlx4/eq.c
278
if (dev->persist->num_vfs < slave)
drivers/net/ethernet/mellanox/mlx4/eq.c
284
eqe.event.port_mgmt_change.port = mlx4_phys_to_slave_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
286
return mlx4_GEN_EQE(dev, slave, &eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
290
int mlx4_gen_port_state_change_eqe(struct mlx4_dev *dev, int slave, u8 port,
drivers/net/ethernet/mellanox/mlx4/eq.c
294
u8 slave_port = mlx4_phys_to_slave_port(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
297
if (dev->persist->num_vfs < slave)
drivers/net/ethernet/mellanox/mlx4/eq.c
306
port_subtype_change, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
307
return mlx4_GEN_EQE(dev, slave, &eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
311
enum slave_port_state mlx4_get_slave_port_state(struct mlx4_dev *dev, int slave, u8 port)
drivers/net/ethernet/mellanox/mlx4/eq.c
315
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
317
if (slave >= dev->num_slaves || port > dev->caps.num_ports ||
drivers/net/ethernet/mellanox/mlx4/eq.c
320
__func__, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
323
return s_state[slave].port_state[port];
drivers/net/ethernet/mellanox/mlx4/eq.c
327
static int mlx4_set_slave_port_state(struct mlx4_dev *dev, int slave, u8 port,
drivers/net/ethernet/mellanox/mlx4/eq.c
332
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
334
if (slave >= dev->num_slaves || port > dev->caps.num_ports ||
drivers/net/ethernet/mellanox/mlx4/eq.c
337
__func__, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
340
s_state[slave].port_state[port] = state;
drivers/net/ethernet/mellanox/mlx4/eq.c
366
int set_and_calc_slave_port_state(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/eq.c
374
struct mlx4_active_ports actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
376
mlx4_get_slave_port_state(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
380
if (slave >= dev->num_slaves || port > dev->caps.num_ports ||
drivers/net/ethernet/mellanox/mlx4/eq.c
383
__func__, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
387
ctx = &priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/eq.c
393
mlx4_set_slave_port_state(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/eq.c
398
mlx4_set_slave_port_state(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/eq.c
401
mlx4_set_slave_port_state(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/eq.c
408
mlx4_set_slave_port_state(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/eq.c
413
mlx4_set_slave_port_state(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/eq.c
420
__func__, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
423
ret = mlx4_get_slave_port_state(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/eq.c
502
int slave = 0;
drivers/net/ethernet/mellanox/mlx4/eq.c
539
& 0xffffff, &slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
547
if (!ret && slave != dev->caps.function) {
drivers/net/ethernet/mellanox/mlx4/eq.c
548
mlx4_slave_event(dev, slave, eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
569
&slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
579
__func__, slave,
drivers/net/ethernet/mellanox/mlx4/eq.c
583
if (!ret && slave != dev->caps.function) {
drivers/net/ethernet/mellanox/mlx4/eq.c
588
eqe->subtype, slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
589
mlx4_slave_event(dev, slave, eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
694
& 0xffffff, &slave);
drivers/net/ethernet/mellanox/mlx4/eq.c
702
if (!ret && slave != dev->caps.function) {
drivers/net/ethernet/mellanox/mlx4/eq.c
703
mlx4_slave_event(dev, slave, eqe);
drivers/net/ethernet/mellanox/mlx4/eq.c
875
int mlx4_MAP_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/eq.c
883
priv->mfunc.master.slave_state[slave].event_eq;
drivers/net/ethernet/mellanox/mlx4/eq.c
890
if (slave == dev->caps.function)
drivers/net/ethernet/mellanox/mlx4/fw.c
1272
int mlx4_QUERY_DEV_CAP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
1300
actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/fw.c
1406
int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
1418
int port = mlx4_slave_convert_port(dev, slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
1441
if (!err && dev->caps.function != slave) {
drivers/net/ethernet/mellanox/mlx4/fw.c
1442
def_mac = priv->mfunc.master.vf_oper[slave].vport[vhcr->in_modifier].state.mac;
drivers/net/ethernet/mellanox/mlx4/fw.c
1454
admin_link_state = priv->mfunc.master.vf_oper[slave].vport[vhcr->in_modifier].state.link_state;
drivers/net/ethernet/mellanox/mlx4/fw.c
1473
short_field = mlx4_get_slave_num_gids(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/fw.c
1743
int mlx4_QUERY_FW_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
204
int mlx4_QUERY_FUNC(struct mlx4_dev *dev, struct mlx4_func *func, int slave)
drivers/net/ethernet/mellanox/mlx4/fw.c
2253
int mlx4_INIT_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
226
in_modifier = slave;
drivers/net/ethernet/mellanox/mlx4/fw.c
2260
int port = mlx4_slave_convert_port(dev, slave, vhcr->in_modifier);
drivers/net/ethernet/mellanox/mlx4/fw.c
2266
if (priv->mfunc.master.slave_state[slave].init_port_mask & (1 << port))
drivers/net/ethernet/mellanox/mlx4/fw.c
2277
priv->mfunc.master.slave_state[slave].init_port_mask |= (1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
2279
if (slave == mlx4_master_func_num(dev)) {
drivers/net/ethernet/mellanox/mlx4/fw.c
2280
if (check_qp0_state(dev, slave, port) &&
drivers/net/ethernet/mellanox/mlx4/fw.c
2287
priv->mfunc.master.slave_state[slave].init_port_mask |= (1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
2290
priv->mfunc.master.slave_state[slave].init_port_mask |= (1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
2351
int mlx4_CLOSE_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
2358
int port = mlx4_slave_convert_port(dev, slave, vhcr->in_modifier);
drivers/net/ethernet/mellanox/mlx4/fw.c
2364
if (!(priv->mfunc.master.slave_state[slave].init_port_mask &
drivers/net/ethernet/mellanox/mlx4/fw.c
2375
priv->mfunc.master.slave_state[slave].init_port_mask &= ~(1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
2378
if (slave == mlx4_master_func_num(dev)) {
drivers/net/ethernet/mellanox/mlx4/fw.c
2385
priv->mfunc.master.slave_state[slave].init_port_mask &= ~(1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
2389
priv->mfunc.master.slave_state[slave].init_port_mask &= ~(1 << port);
drivers/net/ethernet/mellanox/mlx4/fw.c
259
static int mlx4_activate_vst_qinq(struct mlx4_priv *priv, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/fw.c
265
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/fw.c
266
vp_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/fw.c
276
slave, port);
drivers/net/ethernet/mellanox/mlx4/fw.c
281
vp_oper->vlan_idx, slave, port);
drivers/net/ethernet/mellanox/mlx4/fw.c
290
static int mlx4_handle_vst_qinq(struct mlx4_priv *priv, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/fw.c
297
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/fw.c
298
vp_admin = &priv->mfunc.master.vf_admin[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/fw.c
299
slave_state = &priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
2993
int mlx4_ACCESS_REG_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
3003
if (slave != mlx4_master_func_num(dev) &&
drivers/net/ethernet/mellanox/mlx4/fw.c
3012
mlx4_slave_convert_port(dev, slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
317
"Slave %d does not support VST QinQ mode\n", slave);
drivers/net/ethernet/mellanox/mlx4/fw.c
321
err = mlx4_activate_vst_qinq(priv, slave, port);
drivers/net/ethernet/mellanox/mlx4/fw.c
325
int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.c
396
mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/fw.c
398
dev, slave, vhcr->in_modifier);
drivers/net/ethernet/mellanox/mlx4/fw.c
411
proxy_qp = dev->phys_caps.base_proxy_sqpn + 8 * slave + port - 1;
drivers/net/ethernet/mellanox/mlx4/fw.c
416
if (mlx4_vf_smi_enabled(dev, slave, port) &&
drivers/net/ethernet/mellanox/mlx4/fw.c
425
size = dev->phys_caps.base_tunnel_sqpn + 8 * slave + port - 1;
drivers/net/ethernet/mellanox/mlx4/fw.c
438
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/fw.c
439
err = mlx4_handle_vst_qinq(priv, slave, port);
drivers/net/ethernet/mellanox/mlx4/fw.c
452
mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/fw.c
454
&priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
475
size = priv->mfunc.master.res_tracker.res_alloc[RES_QP].quota[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
480
size = priv->mfunc.master.res_tracker.res_alloc[RES_SRQ].quota[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
485
size = priv->mfunc.master.res_tracker.res_alloc[RES_CQ].quota[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
491
mlx4_QUERY_FUNC(dev, &func, slave)) {
drivers/net/ethernet/mellanox/mlx4/fw.c
509
size = priv->mfunc.master.res_tracker.res_alloc[RES_MPT].quota[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
514
size = priv->mfunc.master.res_tracker.res_alloc[RES_MTT].quota[slave];
drivers/net/ethernet/mellanox/mlx4/fw.c
527
size = dev->caps.reserved_lkey + ((slave << 8) & 0xFF00);
drivers/net/ethernet/mellanox/mlx4/fw.h
235
int mlx4_QUERY_FUNC_CAP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/fw.h
240
int mlx4_QUERY_FUNC(struct mlx4_dev *dev, struct mlx4_func *func, int slave);
drivers/net/ethernet/mellanox/mlx4/main.c
778
void mlx4_sync_pkey_table(struct mlx4_dev *dev, int slave, int port, int i, int val)
drivers/net/ethernet/mellanox/mlx4/main.c
785
priv->virt2phys_pkey[slave][port - 1][i] = val;
drivers/net/ethernet/mellanox/mlx4/main.c
789
void mlx4_put_slave_node_guid(struct mlx4_dev *dev, int slave, __be64 guid)
drivers/net/ethernet/mellanox/mlx4/main.c
796
priv->slave_node_guids[slave] = guid;
drivers/net/ethernet/mellanox/mlx4/main.c
800
__be64 mlx4_get_slave_node_guid(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/main.c
807
return priv->slave_node_guids[slave];
drivers/net/ethernet/mellanox/mlx4/main.c
811
int mlx4_is_slave_active(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/main.c
819
s_slave = &priv->mfunc.master.slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/mcg.c
1558
int mlx4_PROMISC_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mcg.c
1565
int port = mlx4_slave_convert_port(dev, slave, vhcr->in_param >> 62);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1004
int mlx4_SW2HW_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1009
int mlx4_HW2SW_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1014
int mlx4_QUERY_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1019
int mlx4_SW2HW_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1024
int mlx4_CONFIG_DEV_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1029
int mlx4_DMA_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1043
int mlx4_calc_vf_counters(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1074
int mlx4_ALLOC_RES_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1079
int mlx4_FREE_RES_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1084
int mlx4_MAP_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1088
int mlx4_COMM_INT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1093
int mlx4_HW2SW_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1098
int mlx4_QUERY_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1103
int mlx4_SW2HW_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1108
int mlx4_HW2SW_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1113
int mlx4_QUERY_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1118
int mlx4_MODIFY_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1123
int mlx4_SW2HW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1128
int mlx4_HW2SW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1133
int mlx4_QUERY_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1138
int mlx4_ARM_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1143
int mlx4_GEN_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1148
int mlx4_RST2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1153
int mlx4_INIT2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1158
int mlx4_INIT2RTR_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1163
int mlx4_RTR2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1168
int mlx4_RTS2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1173
int mlx4_SQERR2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1178
int mlx4_2ERR_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1183
int mlx4_RTS2SQD_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1188
int mlx4_SQD2SQD_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1193
int mlx4_SQD2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1198
int mlx4_2RST_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1203
int mlx4_QUERY_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1209
int mlx4_GEN_EQE(struct mlx4_dev *dev, int slave, struct mlx4_eqe *eqe);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1272
u64 resource_id, int *slave);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1274
void mlx4_reset_roce_gids(struct mlx4_dev *dev, int slave);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1280
int mlx4_QUERY_FW_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1285
int mlx4_SET_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1290
int mlx4_INIT_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1295
int mlx4_CLOSE_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1300
int mlx4_QUERY_DEV_CAP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1305
int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1315
int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1321
int mlx4_UPDATE_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1327
int mlx4_PROMISC_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1341
int mlx4_SET_MCAST_FLTR_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1346
int mlx4_SET_VLAN_FLTR_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1353
int mlx4_DUMP_ETH_STATS_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1358
int mlx4_PKEY_TABLE_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1363
int mlx4_QUERY_IF_STAT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1368
int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1373
int mlx4_QP_FLOW_STEERING_DETACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1378
int mlx4_ACCESS_REG_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1420
int mlx4_get_slave_num_gids(struct mlx4_dev *dev, int slave, int port);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
1422
int mlx4_get_vf_indx(struct mlx4_dev *dev, int slave);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
205
int (*verify)(struct mlx4_dev *dev, int slave, struct mlx4_vhcr *vhcr,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
207
int (*wrapper)(struct mlx4_dev *dev, int slave, struct mlx4_vhcr *vhcr,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
657
int slave;
drivers/net/ethernet/mellanox/mlx4/mlx4.h
994
int mlx4_WRITE_MTT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/mlx4.h
999
int mlx4_SYNC_TPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1072
int mlx4_get_slave_num_gids(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/port.c
1075
int slave_gid = slave;
drivers/net/ethernet/mellanox/mlx4/port.c
1081
if (slave == 0)
drivers/net/ethernet/mellanox/mlx4/port.c
1086
actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1108
int mlx4_get_base_gid_ix(struct mlx4_dev *dev, int slave, int port)
drivers/net/ethernet/mellanox/mlx4/port.c
1112
int slave_gid = slave;
drivers/net/ethernet/mellanox/mlx4/port.c
1119
if (slave == 0)
drivers/net/ethernet/mellanox/mlx4/port.c
1123
actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1149
static int mlx4_reset_roce_port_gids(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1157
num_gids = mlx4_get_slave_num_gids(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/port.c
1158
base = mlx4_get_base_gid_ix(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/port.c
1184
void mlx4_reset_roce_gids(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/port.c
1191
if (slave < 0 || slave > dev->persist->num_vfs)
drivers/net/ethernet/mellanox/mlx4/port.c
1194
actv_ports = mlx4_get_active_ports(dev, slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1216
err = mlx4_reset_roce_port_gids(dev, slave, i + 1, mailbox);
drivers/net/ethernet/mellanox/mlx4/port.c
1219
slave, i + 1, err);
drivers/net/ethernet/mellanox/mlx4/port.c
1228
mlx4_en_set_port_mtu(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/port.c
1233
struct mlx4_slave_state *slave_st = &master->slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/port.c
1260
mlx4_en_set_port_user_mtu(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/port.c
1265
struct mlx4_slave_state *slave_st = &master->slave_state[slave];
drivers/net/ethernet/mellanox/mlx4/port.c
1292
mlx4_en_set_port_global_pause(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1299
if (slave != mlx4_master_func_num(dev) &&
drivers/net/ethernet/mellanox/mlx4/port.c
1305
slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1312
static int mlx4_common_set_port(struct mlx4_dev *dev, int slave, u32 in_mod,
drivers/net/ethernet/mellanox/mlx4/port.c
1343
if (slave != dev->caps.function &&
drivers/net/ethernet/mellanox/mlx4/port.c
1347
slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1371
mlx4_en_set_port_mtu(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/port.c
1375
mlx4_en_set_port_user_mtu(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/port.c
1380
mlx4_en_set_port_global_pause(dev, slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1389
num_gids = mlx4_get_slave_num_gids(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/port.c
1390
base = mlx4_get_base_gid_ix(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/port.c
1429
slave, i);
drivers/net/ethernet/mellanox/mlx4/port.c
1463
mlx4_warn(dev, "denying SET_PORT Beacon slave:%d\n", slave);
drivers/net/ethernet/mellanox/mlx4/port.c
1482
if (slave != mlx4_master_func_num(dev) &&
drivers/net/ethernet/mellanox/mlx4/port.c
1493
priv->mfunc.master.slave_state[slave].ib_cap_mask[port];
drivers/net/ethernet/mellanox/mlx4/port.c
1494
priv->mfunc.master.slave_state[slave].ib_cap_mask[port] = new_cap_mask;
drivers/net/ethernet/mellanox/mlx4/port.c
1502
if (slave != dev->caps.function)
drivers/net/ethernet/mellanox/mlx4/port.c
1515
priv->mfunc.master.slave_state[slave].ib_cap_mask[port] =
drivers/net/ethernet/mellanox/mlx4/port.c
1520
int mlx4_SET_PORT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1527
dev, slave, vhcr->in_modifier & 0xFF);
drivers/net/ethernet/mellanox/mlx4/port.c
1535
return mlx4_common_set_port(dev, slave, vhcr->in_modifier,
drivers/net/ethernet/mellanox/mlx4/port.c
1797
int mlx4_SET_MCAST_FLTR_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1817
int mlx4_SET_VLAN_FLTR_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/port.c
1828
int mlx4_DUMP_ETH_STATS_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1005
&tracker->slave_list[slave].res_list[RES_COUNTER],
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1017
err = counter_alloc_res(dev, slave, RES_OP_RESERVE, 0, 0, &counter_idx,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1023
__func__, slave, err);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1027
__func__, slave, qpc->pri_path.counter_index);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1035
u8 slave, int port)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1038
return handle_existing_counter(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1041
return handle_unexisting_counter(dev, qpc, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1180
static struct res_common *alloc_tr(u64 id, enum mlx4_resource type, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1220
ret->owner = slave;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1225
int mlx4_calc_vf_counters(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1243
&tracker->slave_list[slave].res_list[RES_COUNTER],
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1271
static int add_res_range(struct mlx4_dev *dev, int slave, u64 base, int count,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1286
res_arr[i] = alloc_tr(base + i, type, slave, extra);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1306
&tracker->slave_list[slave].res_list[type]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1458
static int rem_res_range(struct mlx4_dev *dev, int slave, u64 base, int count,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1474
if (r->owner != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1497
static int qp_res_start_move_to(struct mlx4_dev *dev, int slave, int qpn,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1510
else if (r->com.owner != slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1562
static int mr_res_start_move_to(struct mlx4_dev *dev, int slave, int index,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1574
else if (r->com.owner != slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1615
static int eq_res_start_move_to(struct mlx4_dev *dev, int slave, int index,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1627
else if (r->com.owner != slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1664
static int cq_res_start_move_to(struct mlx4_dev *dev, int slave, int cqn,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1676
} else if (r->com.owner != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1704
static int srq_res_start_move_to(struct mlx4_dev *dev, int slave, int index,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1716
} else if (r->com.owner != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1740
static void res_abort_move(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1749
if (r && (r->owner == slave))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1754
static void res_end_move(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1763
if (r && (r->owner == slave))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1768
static int valid_reserved(struct mlx4_dev *dev, int slave, int qpn)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1771
(mlx4_is_master(dev) || mlx4_is_guest_proxy(dev, slave, qpn));
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1779
static int qp_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1797
err = mlx4_grant_resource(dev, slave, RES_QP, count, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1803
mlx4_release_resource(dev, slave, RES_QP, count, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1807
err = add_res_range(dev, slave, base, count, RES_QP, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1809
mlx4_release_resource(dev, slave, RES_QP, count, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1817
if (valid_reserved(dev, slave, qpn)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1818
err = add_res_range(dev, slave, qpn, 1, RES_QP, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1823
err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1831
res_abort_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1836
res_end_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1846
static int mtt_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1858
err = mlx4_grant_resource(dev, slave, RES_MTT, 1 << order, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1864
mlx4_release_resource(dev, slave, RES_MTT, 1 << order, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1868
err = add_res_range(dev, slave, base, 1, RES_MTT, order);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1870
mlx4_release_resource(dev, slave, RES_MTT, 1 << order, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1879
static int mpt_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1889
err = mlx4_grant_resource(dev, slave, RES_MPT, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1895
mlx4_release_resource(dev, slave, RES_MPT, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1900
err = add_res_range(dev, slave, id, 1, RES_MPT, index);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1902
mlx4_release_resource(dev, slave, RES_MPT, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1911
err = mr_res_start_move_to(dev, slave, id,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1918
res_abort_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1922
res_end_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1928
static int cq_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1936
err = mlx4_grant_resource(dev, slave, RES_CQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1942
mlx4_release_resource(dev, slave, RES_CQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1946
err = add_res_range(dev, slave, cqn, 1, RES_CQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1948
mlx4_release_resource(dev, slave, RES_CQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1963
static int srq_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1971
err = mlx4_grant_resource(dev, slave, RES_SRQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1977
mlx4_release_resource(dev, slave, RES_SRQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1981
err = add_res_range(dev, slave, srqn, 1, RES_SRQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1983
mlx4_release_resource(dev, slave, RES_SRQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
1998
static int mac_find_smac_ix_in_slave(struct mlx4_dev *dev, int slave, int port,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2004
&tracker->slave_list[slave].res_list[RES_MAC];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2016
static int mac_add_to_slave(struct mlx4_dev *dev, int slave, u64 mac, int port, u8 smac_index)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2021
&tracker->slave_list[slave].res_list[RES_MAC];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2032
if (mlx4_grant_resource(dev, slave, RES_MAC, 1, port))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2036
mlx4_release_resource(dev, slave, RES_MAC, 1, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2044
&tracker->slave_list[slave].res_list[RES_MAC]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2048
static void mac_del_from_slave(struct mlx4_dev *dev, int slave, u64 mac,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2054
&tracker->slave_list[slave].res_list[RES_MAC];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2061
mlx4_release_resource(dev, slave, RES_MAC, 1, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2069
static void rem_slave_macs(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2074
&tracker->slave_list[slave].res_list[RES_MAC];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2083
mlx4_release_resource(dev, slave, RES_MAC, 1, res->port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2088
static int mac_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2101
dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2115
err = mac_add_to_slave(dev, slave, mac, port, smac_index);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2122
static int vlan_add_to_slave(struct mlx4_dev *dev, int slave, u16 vlan,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2128
&tracker->slave_list[slave].res_list[RES_VLAN];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2139
if (mlx4_grant_resource(dev, slave, RES_VLAN, 1, port))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2143
mlx4_release_resource(dev, slave, RES_VLAN, 1, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2151
&tracker->slave_list[slave].res_list[RES_VLAN]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2156
static void vlan_del_from_slave(struct mlx4_dev *dev, int slave, u16 vlan,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2162
&tracker->slave_list[slave].res_list[RES_VLAN];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2169
mlx4_release_resource(dev, slave, RES_VLAN,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2178
static void rem_slave_vlans(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2183
&tracker->slave_list[slave].res_list[RES_VLAN];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2192
mlx4_release_resource(dev, slave, RES_VLAN, 1, res->port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2197
static int vlan_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2213
dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2219
slave_state[slave].old_vlan_api = true;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2228
err = vlan_add_to_slave(dev, slave, vlan, port, vlan_index);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2235
static int counter_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2244
err = mlx4_grant_resource(dev, slave, RES_COUNTER, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2250
mlx4_release_resource(dev, slave, RES_COUNTER, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2254
err = add_res_range(dev, slave, index, 1, RES_COUNTER, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2257
mlx4_release_resource(dev, slave, RES_COUNTER, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2265
static int xrcdn_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2278
err = add_res_range(dev, slave, xrcdn, 1, RES_XRCD, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2287
int mlx4_ALLOC_RES_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2298
err = qp_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2303
err = mtt_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2308
err = mpt_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2313
err = cq_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2318
err = srq_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2323
err = mac_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2329
err = vlan_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2335
err = counter_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2340
err = xrcdn_alloc_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2352
static int qp_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2364
err = rem_res_range(dev, slave, base, count, RES_QP, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2367
mlx4_release_resource(dev, slave, RES_QP, count, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2372
err = qp_res_start_move_to(dev, slave, qpn, RES_QP_RESERVED,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2380
res_end_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2382
if (valid_reserved(dev, slave, qpn))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2383
err = rem_res_range(dev, slave, qpn, 1, RES_QP, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2392
static int mtt_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2404
err = rem_res_range(dev, slave, base, 1, RES_MTT, order);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2406
mlx4_release_resource(dev, slave, RES_MTT, 1 << order, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2412
static int mpt_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2424
err = get_res(dev, slave, id, RES_MPT, &mpt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2428
put_res(dev, slave, id, RES_MPT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2430
err = rem_res_range(dev, slave, id, 1, RES_MPT, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2433
mlx4_release_resource(dev, slave, RES_MPT, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2439
err = mr_res_start_move_to(dev, slave, id,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2445
res_end_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2454
static int cq_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2463
err = rem_res_range(dev, slave, cqn, 1, RES_CQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2467
mlx4_release_resource(dev, slave, RES_CQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2479
static int srq_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2488
err = rem_res_range(dev, slave, srqn, 1, RES_SRQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2492
mlx4_release_resource(dev, slave, RES_SRQ, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2504
static int mac_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2514
dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2518
mac_del_from_slave(dev, slave, in_param, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2530
static int vlan_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2538
dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2544
if (slave_state[slave].old_vlan_api)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2548
vlan_del_from_slave(dev, slave, in_param, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2559
static int counter_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2572
err = rem_res_range(dev, slave, index, 1, RES_COUNTER, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2577
mlx4_release_resource(dev, slave, RES_COUNTER, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2582
static int xrcdn_free_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2592
err = rem_res_range(dev, slave, xrcdn, 1, RES_XRCD, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2601
int mlx4_FREE_RES_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2612
err = qp_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2617
err = mtt_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2622
err = mpt_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2627
err = cq_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2632
err = srq_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2637
err = mac_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2643
err = vlan_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2649
err = counter_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2654
err = xrcdn_free_res(dev, slave, vhcr->op_modifier, alop,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2737
static int check_mtt_range(struct mlx4_dev *dev, int slave, int start,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2748
int mlx4_SW2HW_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2765
err = mr_res_start_move_to(dev, slave, id, RES_MPT_HW, &mpt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2778
if (pd_slave != 0 && --pd_slave != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2798
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2802
err = check_mtt_range(dev, slave, mtt_base,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2810
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2816
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2819
res_end_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2824
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2826
res_abort_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2831
int mlx4_HW2SW_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2843
err = mr_res_start_move_to(dev, slave, id, RES_MPT_MAPPED, &mpt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2847
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2854
res_end_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2858
res_abort_move(dev, slave, RES_MPT, id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2863
int mlx4_QUERY_MPT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2875
err = get_res(dev, slave, id, RES_MPT, &mpt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2901
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2909
put_res(dev, slave, id, RES_MPT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2941
static int adjust_qp_sched_queue(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2945
int mlx4_RST2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2967
err = adjust_qp_sched_queue(dev, slave, qpc, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2971
err = qp_res_start_move_to(dev, slave, qpn, RES_QP_HW, &qp, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2984
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2988
err = check_mtt_range(dev, slave, mtt_base, mtt_size, mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2992
err = get_res(dev, slave, rcqn, RES_CQ, &rcq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2997
err = get_res(dev, slave, scqn, RES_CQ, &scq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3004
err = get_res(dev, slave, srqn, RES_SRQ, &srq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3010
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3011
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3022
put_res(dev, slave, scqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3026
put_res(dev, slave, srqn, RES_SRQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3032
put_res(dev, slave, rcqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3033
put_res(dev, slave, mtt_base, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3034
res_end_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3040
put_res(dev, slave, srqn, RES_SRQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3043
put_res(dev, slave, scqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3045
put_res(dev, slave, rcqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3047
put_res(dev, slave, mtt_base, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3049
res_abort_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
306
static void rem_slave_vlans(struct mlx4_dev *dev, int slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
307
static inline int mlx4_grant_resource(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3086
int mlx4_SW2HW_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3094
int res_id = (slave << 10) | eqn;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3101
err = add_res_range(dev, slave, res_id, 1, RES_EQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3104
err = eq_res_start_move_to(dev, slave, res_id, RES_EQ_HW, &eq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3108
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3112
err = check_mtt_range(dev, slave, mtt_base, mtt_size, mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3116
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3122
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3123
res_end_move(dev, slave, RES_EQ, res_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3127
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3129
res_abort_move(dev, slave, RES_EQ, res_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3131
rem_res_range(dev, slave, res_id, 1, RES_EQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3135
int mlx4_CONFIG_DEV_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3147
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3152
static int get_containing_mtt(struct mlx4_dev *dev, int slave, int start,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3161
list_for_each_entry(mtt, &tracker->slave_list[slave].res_list[RES_MTT],
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3163
if (!check_mtt_range(dev, slave, start, len, mtt)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3179
enum qp_transition transition, u8 slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
318
if (slave > dev->persist->num_vfs)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3192
if (slave != mlx4_master_func_num(dev)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3209
if (slave != mlx4_master_func_num(dev)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3213
num_gids = mlx4_get_slave_num_gids(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3222
num_gids = mlx4_get_slave_num_gids(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3239
slave != mlx4_master_func_num(dev) &&
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
324
(dev->persist->num_vfs + 1) + slave] :
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3241
!mlx4_vf_smi_enabled(dev, slave, port)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3244
__func__, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
325
res_alloc->allocated[slave];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3256
int mlx4_WRITE_MTT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3271
err = get_containing_mtt(dev, slave, start, npages, &rmtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3289
put_res(dev, slave, rmtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3294
int mlx4_HW2SW_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
330
guaranteed = res_alloc->guaranteed[slave];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3301
int res_id = eqn | (slave << 10);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3305
err = eq_res_start_move_to(dev, slave, res_id, RES_EQ_RESERVED, &eq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3309
err = get_res(dev, slave, eq->mtt->com.res_id, RES_MTT, NULL);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3313
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3318
put_res(dev, slave, eq->mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3319
res_end_move(dev, slave, RES_EQ, res_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
332
if (allocated + count > res_alloc->quota[slave]) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3320
rem_res_range(dev, slave, res_id, 1, RES_EQ, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3325
put_res(dev, slave, eq->mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3327
res_abort_move(dev, slave, RES_EQ, res_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3332
int mlx4_GEN_EQE(struct mlx4_dev *dev, int slave, struct mlx4_eqe *eqe)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
334
slave, port, resource_str(res_type), count,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3346
if (slave < 0 || slave > dev->persist->num_vfs ||
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3347
slave == dev->caps.function ||
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3348
!priv->mfunc.master.slave_state[slave].active)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
335
allocated, res_alloc->quota[slave]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3351
event_eq = &priv->mfunc.master.slave_state[slave].event_eq[eqe->type];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3357
mutex_lock(&priv->mfunc.master.gen_eqe_mutex[slave]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3358
res_id = (slave << 10) | event_eq->eqn;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3359
err = get_res(dev, slave, res_id, RES_EQ, &req);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3381
in_modifier = (slave & 0xff) | ((event_eq->eqn & 0x3ff) << 16);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3387
put_res(dev, slave, res_id, RES_EQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3388
mutex_unlock(&priv->mfunc.master.gen_eqe_mutex[slave]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3393
put_res(dev, slave, res_id, RES_EQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3396
mutex_unlock(&priv->mfunc.master.gen_eqe_mutex[slave]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3400
int mlx4_QUERY_EQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3407
int res_id = eqn | (slave << 10);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3411
err = get_res(dev, slave, res_id, RES_EQ, &eq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3420
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3423
put_res(dev, slave, res_id, RES_EQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3427
int mlx4_SW2HW_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3440
err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_HW, &cq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3443
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3446
err = check_mtt_range(dev, slave, mtt_base, cq_get_mtt_size(cqc), mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3449
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3454
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3455
res_end_move(dev, slave, RES_CQ, cqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3459
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3461
res_abort_move(dev, slave, RES_CQ, cqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3465
int mlx4_HW2SW_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3475
err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_ALLOCATED, &cq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3478
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3482
res_end_move(dev, slave, RES_CQ, cqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3486
res_abort_move(dev, slave, RES_CQ, cqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3490
int mlx4_QUERY_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3500
err = get_res(dev, slave, cqn, RES_CQ, &cq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3507
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3509
put_res(dev, slave, cqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3514
static int handle_resize(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3527
err = get_res(dev, slave, cq->mtt->com.res_id, RES_MTT, &orig_mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3536
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3540
err = check_mtt_range(dev, slave, mtt_base, cq_get_mtt_size(cqc), mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3543
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3547
put_res(dev, slave, orig_mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
355
slave, port, resource_str(res_type), free,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3550
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3554
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3556
put_res(dev, slave, orig_mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3562
int mlx4_MODIFY_CQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3572
err = get_res(dev, slave, cqn, RES_CQ, &cq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3580
err = handle_resize(dev, slave, vhcr, inbox, outbox, cmd, cq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3584
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3586
put_res(dev, slave, cqn, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3603
int mlx4_SW2HW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3619
err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_HW, &srq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3622
err = get_res(dev, slave, mtt_base, RES_MTT, &mtt);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3625
err = check_mtt_range(dev, slave, mtt_base, srq_get_mtt_size(srqc),
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
363
(dev->persist->num_vfs + 1) + slave] += count;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3630
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3636
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3637
res_end_move(dev, slave, RES_SRQ, srqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3641
put_res(dev, slave, mtt->com.res_id, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3643
res_abort_move(dev, slave, RES_SRQ, srqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3648
int mlx4_HW2SW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3658
err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_ALLOCATED, &srq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3661
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3667
res_end_move(dev, slave, RES_SRQ, srqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
367
res_alloc->allocated[slave] += count;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3672
res_abort_move(dev, slave, RES_SRQ, srqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3677
int mlx4_QUERY_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3687
err = get_res(dev, slave, srqn, RES_SRQ, &srq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3694
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3696
put_res(dev, slave, srqn, RES_SRQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3700
int mlx4_ARM_SRQ_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3710
err = get_res(dev, slave, srqn, RES_SRQ, &srq);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3719
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3721
put_res(dev, slave, srqn, RES_SRQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3725
int mlx4_GEN_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3735
err = get_res(dev, slave, qpn, RES_QP, &qp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3743
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3745
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3749
int mlx4_INIT2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3757
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3758
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3761
static int adjust_qp_sched_queue(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3768
dev, slave, (qpc->pri_path.sched_queue >> 6 & 1) + 1) - 1;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
378
static inline void mlx4_release_resource(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3783
dev, slave, (qpc->alt_path.sched_queue >> 6 & 1)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3794
static int roce_verify_mac(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3807
if (mac_find_smac_ix_in_slave(dev, slave, port, smac_ix, &mac))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3813
int mlx4_INIT2RTR_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3830
err = adjust_qp_sched_queue(dev, slave, qpc, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3833
err = verify_qp_parameters(dev, vhcr, inbox, QP_TRANS_INIT2RTR, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3837
if (roce_verify_mac(dev, slave, qpc, inbox))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3840
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3841
update_gid(dev, inbox, (u8)slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3845
err = get_res(dev, slave, qpn, RES_QP, &qp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3853
err = update_vport_qp_param(dev, inbox, slave, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3857
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
387
if (slave > dev->persist->num_vfs)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3871
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3875
int mlx4_RTR2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3884
err = adjust_qp_sched_queue(dev, slave, context, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3887
err = verify_qp_parameters(dev, vhcr, inbox, QP_TRANS_RTR2RTS, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3891
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3892
update_gid(dev, inbox, (u8)slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3894
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3897
int mlx4_RTS2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3906
err = adjust_qp_sched_queue(dev, slave, context, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3909
err = verify_qp_parameters(dev, vhcr, inbox, QP_TRANS_RTS2RTS, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3913
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3914
update_gid(dev, inbox, (u8)slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3916
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3920
int mlx4_SQERR2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3927
int err = adjust_qp_sched_queue(dev, slave, context, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3931
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3934
int mlx4_SQD2SQD_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
394
(dev->persist->num_vfs + 1) + slave] :
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3943
err = adjust_qp_sched_queue(dev, slave, context, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3946
err = verify_qp_parameters(dev, vhcr, inbox, QP_TRANS_SQD2SQD, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
395
res_alloc->allocated[slave];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3951
update_gid(dev, inbox, (u8)slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3952
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3953
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3956
int mlx4_SQD2RTS_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
396
guaranteed = res_alloc->guaranteed[slave];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3965
err = adjust_qp_sched_queue(dev, slave, context, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3968
err = verify_qp_parameters(dev, vhcr, inbox, QP_TRANS_SQD2RTS, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3973
update_gid(dev, inbox, (u8)slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3974
update_pkey_index(dev, slave, inbox);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3975
return mlx4_GEN_QP_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3978
int mlx4_2RST_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3988
err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, &qp, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
3991
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4000
res_end_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4004
res_abort_move(dev, slave, RES_QP, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4009
static struct res_gid *find_gid(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4021
static int add_mcg_res(struct mlx4_dev *dev, int slave, struct res_qp *rqp,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4033
if (find_gid(dev, slave, rqp, gid)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4049
static int rem_mcg_res(struct mlx4_dev *dev, int slave, struct res_qp *rqp,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4057
res = find_gid(dev, slave, rqp, gid);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4071
static int qp_attach(struct mlx4_dev *dev, int slave, struct mlx4_qp *qp,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4077
int port = mlx4_slave_convert_port(dev, slave, gid[5]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4086
int port = mlx4_slave_convert_port(dev, slave, gid[5]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
410
(dev->persist->num_vfs + 1) + slave] -= count;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4112
static int mlx4_adjust_port(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4122
real_port = mlx4_slave_convert_port(dev, slave, gid[5]);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4131
int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
414
res_alloc->allocated[slave] -= count;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4150
err = get_res(dev, slave, qpn, RES_QP, &rqp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4156
err = qp_attach(dev, slave, &qp, gid, block_loopback, prot,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4162
err = add_mcg_res(dev, slave, rqp, gid, prot, type, reg_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4166
err = mlx4_adjust_port(dev, slave, gid, prot);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4170
err = rem_mcg_res(dev, slave, rqp, gid, prot, type, ®_id);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4179
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4185
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4193
static int validate_eth_header_mac(int slave, struct _rule_hw *eth_header,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4208
eth_header->eth.dst_mac, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4218
static int add_eth_header(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4277
int mlx4_UPDATE_QP_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4304
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4309
err = get_res(dev, slave, qpn, RES_QP, &rqp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4311
mlx4_err(dev, "Updating qpn 0x%x for slave %d rejected\n", qpn, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4319
err = mac_find_smac_ix_in_slave(dev, slave, port,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4339
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4359
int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4368
struct list_head *rlist = &tracker->slave_list[slave].res_list[RES_MAC];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4383
err = mlx4_slave_convert_port(dev, slave, ctrl->port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4388
err = get_res(dev, slave, qpn, RES_QP, &rqp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4401
if (validate_eth_header_mac(slave, rule_header, rlist)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4412
if (add_eth_header(dev, slave, inbox, rlist, header_id)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4433
err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4439
err = get_res(dev, slave, vhcr->out_param, RES_FS_RULE, &rrule);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4466
put_res(dev, slave, vhcr->out_param, RES_FS_RULE);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4474
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4493
int mlx4_QP_FLOW_STEERING_DETACH_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4509
err = get_res(dev, slave, vhcr->in_param, RES_FS_RULE, &rrule);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4515
put_res(dev, slave, vhcr->in_param, RES_FS_RULE);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4523
put_res(dev, slave, vhcr->in_param, RES_FS_RULE);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4524
err = get_res(dev, slave, qpn, RES_QP, &rqp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4529
err = get_res(dev, slave, mirr_reg_id, RES_FS_RULE, &rrule);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4533
put_res(dev, slave, mirr_reg_id, RES_FS_RULE);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4537
err = rem_res_range(dev, slave, vhcr->in_param, 1, RES_FS_RULE, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4549
put_res(dev, slave, qpn, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4557
int mlx4_QUERY_IF_STAT_wrapper(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4566
err = get_res(dev, slave, index, RES_COUNTER, NULL);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4570
err = mlx4_DMA_wrapper(dev, slave, vhcr, inbox, outbox, cmd);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4571
put_res(dev, slave, index, RES_COUNTER);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4575
static void detach_qp(struct mlx4_dev *dev, int slave, struct res_qp *rqp)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4597
static int _move_all_busy(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4603
struct list_head *rlist = &tracker->slave_list[slave].res_list[type];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4611
if (r->owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4633
static int move_all_busy(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4641
busy = _move_all_busy(dev, slave, type, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4649
busy = _move_all_busy(dev, slave, type, 1);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4653
static void rem_slave_qps(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4658
&tracker->slave_list[slave].res_list[RES_QP];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4666
err = move_all_busy(dev, slave, RES_QP);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4669
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4674
if (qp->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4676
detach_qp(dev, slave, qp);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4686
if (!valid_reserved(dev, slave, qpn)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4688
mlx4_release_resource(dev, slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4695
if (!valid_reserved(dev, slave, qpn))
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4700
in_param = slave;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4708
slave, qp->local_qpn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4726
static void rem_slave_srqs(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4731
&tracker->slave_list[slave].res_list[RES_SRQ];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4739
err = move_all_busy(dev, slave, RES_SRQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4742
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4747
if (srq->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4759
mlx4_release_resource(dev, slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4766
in_param = slave;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4773
slave, srqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4791
static void rem_slave_cqs(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4796
&tracker->slave_list[slave].res_list[RES_CQ];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4804
err = move_all_busy(dev, slave, RES_CQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4807
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4812
if (cq->com.owner == slave && !atomic_read(&cq->ref_count)) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4824
mlx4_release_resource(dev, slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4831
in_param = slave;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4838
slave, cqn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4853
static void rem_slave_mrs(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4858
&tracker->slave_list[slave].res_list[RES_MPT];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4866
err = move_all_busy(dev, slave, RES_MPT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4869
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4874
if (mpt->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4886
mlx4_release_resource(dev, slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4898
in_param = slave;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4905
slave, mptn);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4920
static void rem_slave_mtts(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4926
&tracker->slave_list[slave].res_list[RES_MTT];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4933
err = move_all_busy(dev, slave, RES_MTT);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4936
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4941
if (mtt->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4954
mlx4_release_resource(dev, slave, RES_MTT,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5056
static void rem_slave_fs_rule(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5062
&tracker->slave_list[slave].res_list[RES_FS_RULE];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5069
err = move_all_busy(dev, slave, RES_FS_RULE);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5072
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5077
if (fs_rule->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5109
static void rem_slave_eqs(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5114
&tracker->slave_list[slave].res_list[RES_EQ];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5121
err = move_all_busy(dev, slave, RES_EQ);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5124
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5129
if (eq->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5145
err = mlx4_cmd(dev, slave, eqn & 0x3ff,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5151
slave, eqn & 0x3ff);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5166
static void rem_slave_counters(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5171
&tracker->slave_list[slave].res_list[RES_COUNTER];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5178
err = move_all_busy(dev, slave, RES_COUNTER);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5181
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5192
if (counter->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5204
mlx4_release_resource(dev, slave, RES_COUNTER, 1, 0);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5211
static void rem_slave_xrcdns(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5216
&tracker->slave_list[slave].res_list[RES_XRCD];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5222
err = move_all_busy(dev, slave, RES_XRCD);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5225
slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5229
if (xrcd->com.owner == slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5240
void mlx4_delete_all_resources_for_slave(struct mlx4_dev *dev, int slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5243
mlx4_reset_roce_gids(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5244
mutex_lock(&priv->mfunc.master.res_tracker.slave_list[slave].mutex);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5245
rem_slave_vlans(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5246
rem_slave_macs(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5247
rem_slave_fs_rule(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5248
rem_slave_qps(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5249
rem_slave_srqs(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5250
rem_slave_cqs(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5251
rem_slave_mrs(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5252
rem_slave_eqs(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5253
rem_slave_mtts(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5254
rem_slave_counters(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5255
rem_slave_xrcdns(dev, slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5256
mutex_unlock(&priv->mfunc.master.res_tracker.slave_list[slave].mutex);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5276
&tracker->slave_list[work->slave].res_list[RES_QP];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5302
work->slave);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5335
if (qp->com.owner == work->slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5392
work->slave, port, qp->local_qpn, err);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
5403
errors, work->slave, work->port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
685
static void update_pkey_index(struct mlx4_dev *dev, int slave,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
696
new_index = priv->virt2phys_pkey[slave][port - 1][orig_index];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
701
u8 slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
712
mlx4_get_base_gid_ix(dev, slave, port) | 0x80;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
714
qp_ctx->pri_path.mgid_index = slave | 0x80;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
721
mlx4_get_base_gid_ix(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
724
qp_ctx->pri_path.mgid_index = slave & 0x7F;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
731
mlx4_get_base_gid_ix(dev, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
734
qp_ctx->alt_path.mgid_index = slave & 0x7F;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
741
u8 slave, int port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
745
u8 slave, u32 qpn)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
755
vp_oper = &priv->mfunc.master.vf_oper[slave].vport[port];
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
758
err = handle_counter(dev, qpc, slave, port);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
885
static int _get_res(struct mlx4_dev *dev, int slave, u64 res_id,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
902
func_name, slave, res_id, mlx4_resource_type_to_str(type),
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
908
if (r->owner != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
925
#define get_res(dev, slave, res_id, type, res) \
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
926
_get_res((dev), (slave), (res_id), (type), (res), __func__)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
930
u64 res_id, int *slave)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
943
*slave = r->owner;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
951
static void put_res(struct mlx4_dev *dev, int slave, u64 res_id,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
965
static int counter_alloc_res(struct mlx4_dev *dev, int slave, int op, int cmd,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
968
static int handle_existing_counter(struct mlx4_dev *dev, u8 slave, int port,
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
980
if (!r || r->owner != slave) {
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
993
struct mlx4_qp_context *qpc, u8 slave,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1496
struct net_device *slave, *master;
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1499
slave = mlx5_uplink_netdev_get(mdev);
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1500
if (!slave)
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1505
master = netdev_master_upper_dev_get(slave);
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1512
mlx5_uplink_netdev_put(mdev, slave);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2808
struct mlx5_core_dev *slave)
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2834
ns = mlx5_get_flow_namespace(slave,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2842
err = mlx5_cmd_exec(slave, in, sizeof(in), out, sizeof(out));
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2849
struct mlx5_core_dev *slave,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2853
u16 slave_index = MLX5_CAP_GEN(slave, vhca_id);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2878
dest.vport.num = slave->priv.eswitch->manager_vport;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2879
dest.vport.vhca_id = MLX5_CAP_GEN(slave, vhca_id);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2974
struct mlx5_core_dev *slave, size_t count)
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2977
u16 slave_index = MLX5_CAP_GEN(slave, vhca_id);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3002
err = __esw_set_master_egress_rule(master, slave, vport, vport->egress.acl);
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
165
struct mlx5_core_dev *slave,
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
187
ns = mlx5_get_flow_namespace(slave,
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
194
return mlx5_cmd_exec(slave, in, sizeof(in), out, sizeof(out));
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1300
struct slave *slave;
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1326
slave = bond_slave_get_rcu(ndev_tmp);
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1327
if (slave)
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1328
has_inactive |= bond_is_slave_inactive(slave);
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1408
struct slave *slave;
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1421
slave = bond_slave_get_rcu(ndev_tmp);
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1422
if (slave)
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1423
has_inactive |= bond_is_slave_inactive(slave);
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1898
struct net_device *slave)
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
1911
if (ldev->pf[i].netdev == slave) {
drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/nfp_xpb.h
22
#define NFP_XPB_DEVICE(island, slave, device) \
drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/nfp_xpb.h
24
(((slave) & 3) << 22) | \
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3301
struct net_device *master, *slave;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3315
for_each_netdev_rcu(&init_net, slave)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3316
if (is_vlan_dev(slave) &&
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3317
vlan_dev_real_dev(slave) == master)
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3318
netxen_config_indev_addr(adapter, slave, event);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3336
struct net_device *slave;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3350
for_each_netdev_in_bond_rcu(dev, slave) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3351
if (!netxen_config_checkdev(slave))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3353
adapter = netdev_priv(slave);
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3377
struct net_device *dev, *slave;
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3395
for_each_netdev_in_bond_rcu(dev, slave) {
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3396
if (!netxen_config_checkdev(slave))
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
3398
adapter = netdev_priv(slave);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1012
cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1013
cpsw_sl_wait_for_idle(port->slave.mac_sl, 100);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1014
cpsw_sl_ctl_reset(port->slave.mac_sl);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1017
cpsw_sl_reg_write(port->slave.mac_sl, CPSW_SL_SOFT_RESET, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1019
reg = cpsw_sl_reg_read(port->slave.mac_sl, CPSW_SL_SOFT_RESET);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1072
ret = phylink_of_phy_connect(port->slave.phylink, port->slave.port_np, 0);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1079
phylink_start(port->slave.phylink);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
176
static void am65_cpsw_port_set_sl_mac(struct am65_cpsw_port *slave,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
183
writel(mac_hi, slave->port_base + AM65_CPSW_PORTN_REG_SA_H);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
184
writel(mac_lo, slave->port_base + AM65_CPSW_PORTN_REG_SA_L);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1907
return phylink_mii_ioctl(port->slave.phylink, req, cmd);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
191
static int am65_cpsw_port_set_dscp_map(struct am65_cpsw_port *slave, u8 dscp, u8 pri)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2025
phy = port->slave.serdes_phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2043
port->slave.serdes_phy = phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2059
struct am65_cpsw_slave_data *slave = container_of(config, struct am65_cpsw_slave_data,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2061
struct am65_cpsw_port *port = container_of(slave, struct am65_cpsw_port, slave);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2068
cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_EXT_EN);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2070
cpsw_sl_ctl_clr(port->slave.mac_sl, CPSW_SL_CTL_EXT_EN);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2074
cpsw_sl_ctl_set(port->slave.mac_sl,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2077
cpsw_sl_ctl_clr(port->slave.mac_sl,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
208
val = readl(slave->port_base + AM65_CPSW_PORTN_REG_DSCP_MAP + reg_ofs);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2089
struct am65_cpsw_slave_data *slave = container_of(config, struct am65_cpsw_slave_data,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2091
struct am65_cpsw_port *port = container_of(slave, struct am65_cpsw_port, slave);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2100
cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2102
tmo = cpsw_sl_wait_for_idle(port->slave.mac_sl, 100);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2104
cpsw_sl_reg_read(port->slave.mac_sl, CPSW_SL_MACSTATUS), tmo);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
211
writel(val, slave->port_base + AM65_CPSW_PORTN_REG_DSCP_MAP + reg_ofs);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2113
cpsw_sl_ctl_clr(port->slave.mac_sl, mac_control);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2123
struct am65_cpsw_slave_data *slave = container_of(config, struct am65_cpsw_slave_data,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2125
struct am65_cpsw_port *port = container_of(slave, struct am65_cpsw_port, slave);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2131
cpsw_sl_ctl_clr(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2151
cpsw_sl_ctl_set(port->slave.mac_sl, mac_control);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
216
static void am65_cpsw_port_enable_dscp_map(struct am65_cpsw_port *slave)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2176
cpsw_sl_reset(port->slave.mac_sl, 100);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2177
cpsw_sl_ctl_reset(port->slave.mac_sl);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2530
int slave, u8 *mac_addr)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2640
port->slave.mac_sl = cpsw_sl_get("am65", dev, port->port_base);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2641
if (IS_ERR(port->slave.mac_sl)) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2642
ret = PTR_ERR(port->slave.mac_sl);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2652
port->slave.ifphy = devm_of_phy_get(dev, port_np, NULL);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2653
if (IS_ERR(port->slave.ifphy)) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2654
ret = PTR_ERR(port->slave.ifphy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2665
port->slave.mac_only =
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2669
port->slave.port_np = of_node_get(port_np);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2698
port->slave.phy_if = phy_if;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2699
ret = phy_set_mode_ext(port->slave.ifphy, PHY_MODE_ETHERNET, phy_if);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
270
am65_cpsw_port_set_dscp_map(slave, dscp, pri);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2703
ret = of_get_mac_address(port_np, port->slave.mac_addr);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2709
port->slave.mac_addr);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2710
if (!is_valid_ether_addr(port->slave.mac_addr)) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2711
eth_random_addr(port->slave.mac_addr);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
274
val = readl(slave->port_base + AM65_CPSW_PORTN_REG_CTL);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2742
if (port->slave.phylink)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2743
phylink_destroy(port->slave.phylink);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2754
of_node_put(port->slave.port_np);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
277
writel(val, slave->port_base + AM65_CPSW_PORTN_REG_CTL);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2787
device_set_node(&port->ndev->dev, of_fwnode_handle(port->slave.port_np));
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2789
eth_hw_addr_set(port->ndev, port->slave.mac_addr);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2808
port->slave.phylink_config.dev = &port->ndev->dev;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2809
port->slave.phylink_config.type = PHYLINK_NETDEV;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2810
port->slave.phylink_config.mac_capabilities = MAC_SYM_PAUSE | MAC_10 | MAC_100 |
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2812
port->slave.phylink_config.mac_managed_pm = true; /* MAC does PM */
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2814
switch (port->slave.phy_if) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2819
phy_interface_set_rgmii(port->slave.phylink_config.supported_interfaces);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
282
cpsw_sl_reset(port->slave.mac_sl, 100);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2824
port->slave.phylink_config.supported_interfaces);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2830
if (common->pdata.extra_modes & BIT(port->slave.phy_if)) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2831
__set_bit(port->slave.phy_if,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2832
port->slave.phylink_config.supported_interfaces);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2844
phylink = phylink_create(&port->slave.phylink_config,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2845
of_fwnode_handle(port->slave.port_np),
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2846
port->slave.phy_if,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2851
port->slave.phylink = phylink;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3091
struct am65_cpsw_slave_data *slave = &port->slave;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3095
writel(slave->port_vlan, port->port_base + AM65_CPSW_PORT_VLAN_REG_OFFSET);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3097
if (slave->mac_only)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3107
HOST_PORT_NUM, ALE_SECURE, slave->port_vlan);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3109
port_mask, ALE_VLAN, slave->port_vlan, ALE_MCAST_FWD_2);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3114
struct am65_cpsw_slave_data *slave = &port->slave;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3123
slave->port_vlan);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3128
port_mask, ALE_VLAN, slave->port_vlan,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3131
writel(slave->port_vlan, port->port_base + AM65_CPSW_PORT_VLAN_REG_OFFSET);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3177
struct am65_cpsw_slave_data *slave;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3182
slave = am65_ndev_to_slave(sl_ndev);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3184
slave->port_vlan = cpsw->default_vlan;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3186
slave->port_vlan = 0;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3204
struct am65_cpsw_slave_data *slave;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3211
slave = am65_ndev_to_slave(sl_ndev);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3212
slave->port_vlan = cpsw->default_vlan;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3231
port->slave.port_vlan = 0;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
975
phylink_stop(port->slave.phylink);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
979
phylink_disconnect_phy(port->slave.phylink);
drivers/net/ethernet/ti/am65-cpsw-nuss.h
209
#define am65_ndev_to_slave(ndev) (&am65_ndev_to_port(ndev)->slave)
drivers/net/ethernet/ti/am65-cpsw-nuss.h
53
struct am65_cpsw_slave_data slave;
drivers/net/ethernet/ti/am65-cpsw-qos.c
282
switch (port->slave.phy_if) {
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
184
cpsw_ale_add_ucast(cpsw->ale, port->slave.mac_addr,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
218
cpsw_ale_del_ucast(cpsw->ale, port->slave.mac_addr,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
386
if (memcmp(port->slave.mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0)
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
402
if (memcmp(port->slave.mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0)
drivers/net/ethernet/ti/cpsw-common.c
15
int slave, u8 *mac_addr)
drivers/net/ethernet/ti/cpsw-common.c
28
regmap_read(syscon, CTRL_MAC_LO_REG(offset, slave), &macid_lsb);
drivers/net/ethernet/ti/cpsw-common.c
29
regmap_read(syscon, CTRL_MAC_HI_REG(offset, slave), &macid_msb);
drivers/net/ethernet/ti/cpsw-common.c
41
static int cpsw_am33xx_cm_get_macid(struct device *dev, u16 offset, int slave,
drivers/net/ethernet/ti/cpsw-common.c
55
regmap_read(syscon, CTRL_MAC_LO_REG(offset, slave), &macid_lo);
drivers/net/ethernet/ti/cpsw-common.c
56
regmap_read(syscon, CTRL_MAC_HI_REG(offset, slave), &macid_hi);
drivers/net/ethernet/ti/cpsw-common.c
68
int ti_cm_get_macid(struct device *dev, int slave, u8 *mac_addr)
drivers/net/ethernet/ti/cpsw-common.c
71
return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-common.c
74
return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-common.c
77
return davinci_emac_3517_get_macid(dev, 0x110, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-common.c
80
return cpsw_am33xx_cm_get_macid(dev, 0x30, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-common.c
83
return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-common.c
86
return davinci_emac_3517_get_macid(dev, 0x514, slave, mac_addr);
drivers/net/ethernet/ti/cpsw-phy-sel.c
100
phy_interface_t phy_mode, int slave)
drivers/net/ethernet/ti/cpsw-phy-sel.c
130
switch (slave) {
drivers/net/ethernet/ti/cpsw-phy-sel.c
160
void cpsw_phy_sel(struct device *dev, phy_interface_t phy_mode, int slave)
drivers/net/ethernet/ti/cpsw-phy-sel.c
182
priv->cpsw_phy_sel(priv, phy_mode, slave);
drivers/net/ethernet/ti/cpsw-phy-sel.c
35
phy_interface_t phy_mode, int slave);
drivers/net/ethernet/ti/cpsw-phy-sel.c
40
phy_interface_t phy_mode, int slave)
drivers/net/ethernet/ti/cpsw-phy-sel.c
75
mask = GMII_SEL_MODE_MASK << (slave * 2) | BIT(slave + 6);
drivers/net/ethernet/ti/cpsw-phy-sel.c
76
mask |= BIT(slave + 4);
drivers/net/ethernet/ti/cpsw-phy-sel.c
77
mode <<= slave * 2;
drivers/net/ethernet/ti/cpsw-phy-sel.c
80
if (slave == 0)
drivers/net/ethernet/ti/cpsw-phy-sel.c
87
if (slave == 0)
drivers/net/ethernet/ti/cpsw.c
477
static void _cpsw_adjust_link(struct cpsw_slave *slave,
drivers/net/ethernet/ti/cpsw.c
480
struct phy_device *phy = slave->phy;
drivers/net/ethernet/ti/cpsw.c
488
slave_port = cpsw_get_slave_port(slave->slave_num);
drivers/net/ethernet/ti/cpsw.c
511
if (mac_control != slave->mac_control)
drivers/net/ethernet/ti/cpsw.c
512
cpsw_sl_ctl_set(slave->mac_sl, mac_control);
drivers/net/ethernet/ti/cpsw.c
521
priv->shp_cfg_speed != slave->phy->speed &&
drivers/net/ethernet/ti/cpsw.c
531
cpsw_sl_wait_for_idle(slave->mac_sl, 100);
drivers/net/ethernet/ti/cpsw.c
533
cpsw_sl_ctl_reset(slave->mac_sl);
drivers/net/ethernet/ti/cpsw.c
536
if (mac_control != slave->mac_control)
drivers/net/ethernet/ti/cpsw.c
539
slave->mac_control = mac_control;
drivers/net/ethernet/ti/cpsw.c
564
struct cpsw_priv *priv, struct cpsw_slave *slave,
drivers/net/ethernet/ti/cpsw.c
571
slave_write(slave, slave->port_vlan, CPSW1_PORT_VLAN);
drivers/net/ethernet/ti/cpsw.c
573
slave_write(slave, slave->port_vlan, CPSW2_PORT_VLAN);
drivers/net/ethernet/ti/cpsw.c
574
cpsw_ale_add_vlan(cpsw->ale, slave->port_vlan, port_mask,
drivers/net/ethernet/ti/cpsw.c
577
ALE_PORT_HOST, ALE_VLAN, slave->port_vlan, 0);
drivers/net/ethernet/ti/cpsw.c
580
ALE_SECURE, slave->port_vlan);
drivers/net/ethernet/ti/cpsw.c
585
static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv)
drivers/net/ethernet/ti/cpsw.c
591
cpsw_sl_reset(slave->mac_sl, 100);
drivers/net/ethernet/ti/cpsw.c
592
cpsw_sl_ctl_reset(slave->mac_sl);
drivers/net/ethernet/ti/cpsw.c
595
cpsw_sl_reg_write(slave->mac_sl, CPSW_SL_RX_PRI_MAP,
drivers/net/ethernet/ti/cpsw.c
600
slave_write(slave, TX_PRIORITY_MAPPING, CPSW1_TX_PRI_MAP);
drivers/net/ethernet/ti/cpsw.c
604
slave_write(slave,
drivers/net/ethernet/ti/cpsw.c
611
slave_write(slave, TX_PRIORITY_MAPPING, CPSW2_TX_PRI_MAP);
drivers/net/ethernet/ti/cpsw.c
615
slave_write(slave,
drivers/net/ethernet/ti/cpsw.c
622
cpsw_sl_reg_write(slave->mac_sl, CPSW_SL_RX_MAXLEN,
drivers/net/ethernet/ti/cpsw.c
624
cpsw_set_slave_mac(slave, priv);
drivers/net/ethernet/ti/cpsw.c
626
slave->mac_control = 0; /* no link yet */
drivers/net/ethernet/ti/cpsw.c
628
slave_port = cpsw_get_slave_port(slave->slave_num);
drivers/net/ethernet/ti/cpsw.c
631
cpsw_add_dual_emac_def_ale_entries(priv, slave, slave_port);
drivers/net/ethernet/ti/cpsw.c
636
if (slave->data->phy_node) {
drivers/net/ethernet/ti/cpsw.c
637
phy = of_phy_connect(priv->ndev, slave->data->phy_node,
drivers/net/ethernet/ti/cpsw.c
638
&cpsw_adjust_link, 0, slave->data->phy_if);
drivers/net/ethernet/ti/cpsw.c
641
slave->data->phy_node,
drivers/net/ethernet/ti/cpsw.c
642
slave->slave_num);
drivers/net/ethernet/ti/cpsw.c
646
phy = phy_connect(priv->ndev, slave->data->phy_id,
drivers/net/ethernet/ti/cpsw.c
647
&cpsw_adjust_link, slave->data->phy_if);
drivers/net/ethernet/ti/cpsw.c
651
slave->data->phy_id, slave->slave_num,
drivers/net/ethernet/ti/cpsw.c
659
slave->phy = phy;
drivers/net/ethernet/ti/cpsw.c
661
phy_disable_eee(slave->phy);
drivers/net/ethernet/ti/cpsw.c
663
phy_attached_info(slave->phy);
drivers/net/ethernet/ti/cpsw.c
665
phy_start(slave->phy);
drivers/net/ethernet/ti/cpsw.c
668
if (!IS_ERR(slave->data->ifphy))
drivers/net/ethernet/ti/cpsw.c
669
phy_set_mode_ext(slave->data->ifphy, PHY_MODE_ETHERNET,
drivers/net/ethernet/ti/cpsw.c
670
slave->data->phy_if);
drivers/net/ethernet/ti/cpsw.c
672
cpsw_phy_sel(cpsw->dev, slave->phy->interface,
drivers/net/ethernet/ti/cpsw.c
673
slave->slave_num);
drivers/net/ethernet/ti/cpsw.c
68
struct cpsw_slave *slave; \
drivers/net/ethernet/ti/cpsw.c
738
static void cpsw_slave_stop(struct cpsw_slave *slave, struct cpsw_common *cpsw)
drivers/net/ethernet/ti/cpsw.c
742
slave_port = cpsw_get_slave_port(slave->slave_num);
drivers/net/ethernet/ti/cpsw.c
744
if (!slave->phy)
drivers/net/ethernet/ti/cpsw.c
746
phy_stop(slave->phy);
drivers/net/ethernet/ti/cpsw.c
747
phy_disconnect(slave->phy);
drivers/net/ethernet/ti/cpsw.c
748
slave->phy = NULL;
drivers/net/ethernet/ti/cpsw.c
75
slave = cpsw->slaves; \
drivers/net/ethernet/ti/cpsw.c
751
cpsw_sl_reset(slave->mac_sl, 100);
drivers/net/ethernet/ti/cpsw.c
752
cpsw_sl_ctl_reset(slave->mac_sl);
drivers/net/ethernet/ti/cpsw.c
77
(func)(slave++, ##arg); \
drivers/net/ethernet/ti/cpsw.h
18
void cpsw_phy_sel(struct device *dev, phy_interface_t phy_mode, int slave);
drivers/net/ethernet/ti/cpsw.h
21
void cpsw_phy_sel(struct device *dev, phy_interface_t phy_mode, int slave)
drivers/net/ethernet/ti/cpsw.h
24
int ti_cm_get_macid(struct device *dev, int slave, u8 *mac_addr);
drivers/net/ethernet/ti/cpsw_new.c
1687
struct cpsw_slave *slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_new.c
1688
struct net_device *sl_ndev = slave->ndev;
drivers/net/ethernet/ti/cpsw_new.c
1700
struct cpsw_slave *slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_new.c
1701
struct net_device *sl_ndev = slave->ndev;
drivers/net/ethernet/ti/cpsw_new.c
1709
vlan = slave->data->dual_emac_res_vlan;
drivers/net/ethernet/ti/cpsw_new.c
1710
slave->port_vlan = vlan;
drivers/net/ethernet/ti/cpsw_new.c
1728
struct cpsw_slave *slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_new.c
1729
struct net_device *sl_ndev = slave->ndev;
drivers/net/ethernet/ti/cpsw_new.c
1736
slave->port_vlan = vlan;
drivers/net/ethernet/ti/cpsw_new.c
1740
slave);
drivers/net/ethernet/ti/cpsw_new.c
1757
struct cpsw_slave *slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_new.c
1758
struct net_device *sl_ndev = slave->ndev;
drivers/net/ethernet/ti/cpsw_new.c
1764
priv = netdev_priv(slave->ndev);
drivers/net/ethernet/ti/cpsw_new.c
1765
slave->port_vlan = slave->data->dual_emac_res_vlan;
drivers/net/ethernet/ti/cpsw_new.c
1767
cpsw_port_add_dual_emac_def_ale_entries(priv, slave);
drivers/net/ethernet/ti/cpsw_new.c
610
struct cpsw_slave *slave)
drivers/net/ethernet/ti/cpsw_new.c
618
slave_write(slave, slave->port_vlan, reg);
drivers/net/ethernet/ti/cpsw_new.c
620
cpsw_ale_add_vlan(cpsw->ale, slave->port_vlan, port_mask,
drivers/net/ethernet/ti/cpsw_new.c
623
ALE_PORT_HOST, ALE_VLAN, slave->port_vlan,
drivers/net/ethernet/ti/cpsw_new.c
627
ALE_SECURE, slave->port_vlan);
drivers/net/ethernet/ti/cpsw_new.c
636
struct cpsw_slave *slave)
drivers/net/ethernet/ti/cpsw_new.c
660
port_mask, ALE_VLAN, slave->port_vlan,
drivers/net/ethernet/ti/cpsw_new.c
663
HOST_PORT_NUM, ALE_VLAN, slave->port_vlan);
drivers/net/ethernet/ti/cpsw_new.c
667
slave_write(slave, slave->port_vlan, reg);
drivers/net/ethernet/ti/cpsw_new.c
674
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_new.c
678
slave = &cpsw->slaves[priv->emac_port - 1];
drivers/net/ethernet/ti/cpsw_new.c
679
phy = slave->phy;
drivers/net/ethernet/ti/cpsw_new.c
705
if (mac_control != slave->mac_control)
drivers/net/ethernet/ti/cpsw_new.c
706
cpsw_sl_ctl_set(slave->mac_sl, mac_control);
drivers/net/ethernet/ti/cpsw_new.c
715
priv->shp_cfg_speed != slave->phy->speed &&
drivers/net/ethernet/ti/cpsw_new.c
726
cpsw_sl_wait_for_idle(slave->mac_sl, 100);
drivers/net/ethernet/ti/cpsw_new.c
728
cpsw_sl_ctl_reset(slave->mac_sl);
drivers/net/ethernet/ti/cpsw_new.c
731
if (mac_control != slave->mac_control)
drivers/net/ethernet/ti/cpsw_new.c
734
slave->mac_control = mac_control;
drivers/net/ethernet/ti/cpsw_new.c
740
static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv)
drivers/net/ethernet/ti/cpsw_new.c
745
cpsw_sl_reset(slave->mac_sl, 100);
drivers/net/ethernet/ti/cpsw_new.c
746
cpsw_sl_ctl_reset(slave->mac_sl);
drivers/net/ethernet/ti/cpsw_new.c
749
cpsw_sl_reg_write(slave->mac_sl, CPSW_SL_RX_PRI_MAP,
drivers/net/ethernet/ti/cpsw_new.c
754
slave_write(slave, TX_PRIORITY_MAPPING, CPSW1_TX_PRI_MAP);
drivers/net/ethernet/ti/cpsw_new.c
758
slave_write(slave,
drivers/net/ethernet/ti/cpsw_new.c
765
slave_write(slave, TX_PRIORITY_MAPPING, CPSW2_TX_PRI_MAP);
drivers/net/ethernet/ti/cpsw_new.c
769
slave_write(slave,
drivers/net/ethernet/ti/cpsw_new.c
776
cpsw_sl_reg_write(slave->mac_sl, CPSW_SL_RX_MAXLEN,
drivers/net/ethernet/ti/cpsw_new.c
778
cpsw_set_slave_mac(slave, priv);
drivers/net/ethernet/ti/cpsw_new.c
780
slave->mac_control = 0; /* no link yet */
drivers/net/ethernet/ti/cpsw_new.c
783
cpsw_port_add_switch_def_ale_entries(priv, slave);
drivers/net/ethernet/ti/cpsw_new.c
785
cpsw_port_add_dual_emac_def_ale_entries(priv, slave);
drivers/net/ethernet/ti/cpsw_new.c
787
if (!slave->data->phy_node)
drivers/net/ethernet/ti/cpsw_new.c
789
slave->slave_num);
drivers/net/ethernet/ti/cpsw_new.c
790
phy = of_phy_connect(priv->ndev, slave->data->phy_node,
drivers/net/ethernet/ti/cpsw_new.c
791
&cpsw_adjust_link, 0, slave->data->phy_if);
drivers/net/ethernet/ti/cpsw_new.c
794
slave->data->phy_node,
drivers/net/ethernet/ti/cpsw_new.c
795
slave->slave_num);
drivers/net/ethernet/ti/cpsw_new.c
801
slave->phy = phy;
drivers/net/ethernet/ti/cpsw_new.c
803
phy_disable_eee(slave->phy);
drivers/net/ethernet/ti/cpsw_new.c
805
phy_attached_info(slave->phy);
drivers/net/ethernet/ti/cpsw_new.c
807
phy_start(slave->phy);
drivers/net/ethernet/ti/cpsw_new.c
810
phy_set_mode_ext(slave->data->ifphy, PHY_MODE_ETHERNET,
drivers/net/ethernet/ti/cpsw_new.c
811
slave->data->phy_if);
drivers/net/ethernet/ti/cpsw_new.c
818
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_new.c
821
slave = &cpsw->slaves[priv->emac_port - 1];
drivers/net/ethernet/ti/cpsw_new.c
822
if (slave->phy)
drivers/net/ethernet/ti/cpsw_new.c
823
phy_stop(slave->phy);
drivers/net/ethernet/ti/cpsw_new.c
827
if (slave->phy) {
drivers/net/ethernet/ti/cpsw_new.c
828
phy_disconnect(slave->phy);
drivers/net/ethernet/ti/cpsw_new.c
829
slave->phy = NULL;
drivers/net/ethernet/ti/cpsw_priv.c
1019
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
1020
slave_write(slave, tx_prio_map, offset);
drivers/net/ethernet/ti/cpsw_priv.c
1047
void cpsw_cbs_resume(struct cpsw_slave *slave, struct cpsw_priv *priv)
drivers/net/ethernet/ti/cpsw_priv.c
1060
void cpsw_mqprio_resume(struct cpsw_slave *slave, struct cpsw_priv *priv)
drivers/net/ethernet/ti/cpsw_priv.c
1079
slave_write(slave, tx_prio_map, tx_prio_rg);
drivers/net/ethernet/ti/cpsw_priv.c
272
void cpsw_set_slave_mac(struct cpsw_slave *slave, struct cpsw_priv *priv)
drivers/net/ethernet/ti/cpsw_priv.c
274
slave_write(slave, mac_hi(priv->mac_addr), SA_HI);
drivers/net/ethernet/ti/cpsw_priv.c
275
slave_write(slave, mac_lo(priv->mac_addr), SA_LO);
drivers/net/ethernet/ti/cpsw_priv.c
487
struct cpsw_slave *slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_priv.c
490
slave->slave_num = i;
drivers/net/ethernet/ti/cpsw_priv.c
491
slave->data = &cpsw->data.slave_data[i];
drivers/net/ethernet/ti/cpsw_priv.c
492
slave->regs = regs + slave_offset;
drivers/net/ethernet/ti/cpsw_priv.c
493
slave->port_vlan = slave->data->dual_emac_res_vlan;
drivers/net/ethernet/ti/cpsw_priv.c
494
slave->mac_sl = cpsw_sl_get("cpsw", dev, regs + sliver_offset);
drivers/net/ethernet/ti/cpsw_priv.c
495
if (IS_ERR(slave->mac_sl))
drivers/net/ethernet/ti/cpsw_priv.c
496
return PTR_ERR(slave->mac_sl);
drivers/net/ethernet/ti/cpsw_priv.c
557
struct cpsw_slave *slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
561
slave_write(slave, 0, CPSW1_TS_CTL);
drivers/net/ethernet/ti/cpsw_priv.c
574
slave_write(slave, ts_en, CPSW1_TS_CTL);
drivers/net/ethernet/ti/cpsw_priv.c
575
slave_write(slave, seq_id, CPSW1_TS_SEQ_LTYPE);
drivers/net/ethernet/ti/cpsw_priv.c
581
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
584
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
586
ctrl = slave_read(slave, CPSW2_CONTROL);
drivers/net/ethernet/ti/cpsw_priv.c
611
slave_write(slave, mtype, CPSW2_TS_SEQ_MTYPE);
drivers/net/ethernet/ti/cpsw_priv.c
612
slave_write(slave, ctrl, CPSW2_CONTROL);
drivers/net/ethernet/ti/cpsw_priv.c
717
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
751
slave = &cpsw->slaves[i];
drivers/net/ethernet/ti/cpsw_priv.c
752
if (!slave->ndev)
drivers/net/ethernet/ti/cpsw_priv.c
755
netdev_get_tx_queue(slave->ndev, queue)->tx_maxrate = rate;
drivers/net/ethernet/ti/cpsw_priv.c
773
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
778
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
779
shift = CPSW_FIFO_SHAPE_EN_SHIFT + 3 * slave->slave_num;
drivers/net/ethernet/ti/cpsw_priv.c
789
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
794
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
795
shift = CPSW_FIFO_SHAPE_EN_SHIFT + 3 * slave->slave_num;
drivers/net/ethernet/ti/cpsw_priv.c
806
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
815
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
816
send_pct = slave_read(slave, SEND_PERCENT);
drivers/net/ethernet/ti/cpsw_priv.c
850
slave_write(slave, send_pct, SEND_PERCENT);
drivers/net/ethernet/ti/cpsw_priv.c
865
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
873
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
880
val = slave_read(slave, tx_in_ctl_rg);
drivers/net/ethernet/ti/cpsw_priv.c
900
slave_write(slave, val, tx_in_ctl_rg);
drivers/net/ethernet/ti/cpsw_priv.c
917
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.c
939
slave = &cpsw->slaves[cpsw_slave_index(cpsw, priv)];
drivers/net/ethernet/ti/cpsw_priv.c
940
if (slave->phy && slave->phy->link) {
drivers/net/ethernet/ti/cpsw_priv.c
942
priv->shp_cfg_speed != slave->phy->speed)
drivers/net/ethernet/ti/cpsw_priv.c
945
priv->shp_cfg_speed = slave->phy->speed;
drivers/net/ethernet/ti/cpsw_priv.c
978
struct cpsw_slave *slave;
drivers/net/ethernet/ti/cpsw_priv.h
316
static inline u32 slave_read(struct cpsw_slave *slave, u32 offset)
drivers/net/ethernet/ti/cpsw_priv.h
318
return readl_relaxed(slave->regs + offset);
drivers/net/ethernet/ti/cpsw_priv.h
321
static inline void slave_write(struct cpsw_slave *slave, u32 val, u32 offset)
drivers/net/ethernet/ti/cpsw_priv.h
323
writel_relaxed(val, slave->regs + offset);
drivers/net/ethernet/ti/cpsw_priv.h
462
void cpsw_set_slave_mac(struct cpsw_slave *slave, struct cpsw_priv *priv);
drivers/net/ethernet/ti/cpsw_priv.h
469
void cpsw_cbs_resume(struct cpsw_slave *slave, struct cpsw_priv *priv);
drivers/net/ethernet/ti/cpsw_priv.h
470
void cpsw_mqprio_resume(struct cpsw_slave *slave, struct cpsw_priv *priv);
drivers/net/ethernet/ti/netcp_ethss.c
1728
#define for_each_sec_slave(slave, priv) \
drivers/net/ethernet/ti/netcp_ethss.c
1729
list_for_each_entry((slave), &(priv)->secondary_slaves, slave_list)
drivers/net/ethernet/ti/netcp_ethss.c
1944
if (!gbe_intf->slave)
drivers/net/ethernet/ti/netcp_ethss.c
1948
cmd->base.port = gbe_intf->slave->phy_port_t;
drivers/net/ethernet/ti/netcp_ethss.c
1976
if (!gbe_intf->slave)
drivers/net/ethernet/ti/netcp_ethss.c
1979
if (port != gbe_intf->slave->phy_port_t) {
drivers/net/ethernet/ti/netcp_ethss.c
1996
gbe_intf->slave->phy_port_t = port;
drivers/net/ethernet/ti/netcp_ethss.c
2051
static void gbe_set_slave_mac(struct gbe_slave *slave,
drivers/net/ethernet/ti/netcp_ethss.c
2056
writel(mac_hi(ndev->dev_addr), GBE_REG_ADDR(slave, port_regs, sa_hi));
drivers/net/ethernet/ti/netcp_ethss.c
2057
writel(mac_lo(ndev->dev_addr), GBE_REG_ADDR(slave, port_regs, sa_lo));
drivers/net/ethernet/ti/netcp_ethss.c
2070
struct gbe_slave *slave,
drivers/net/ethernet/ti/netcp_ethss.c
2073
struct phy_device *phy = slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2077
mac_control = slave->mac_control;
drivers/net/ethernet/ti/netcp_ethss.c
2086
writel(mac_control, GBE_REG_ADDR(slave, emac_regs,
drivers/net/ethernet/ti/netcp_ethss.c
2089
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2093
if (ndev && slave->open &&
drivers/net/ethernet/ti/netcp_ethss.c
2094
((slave->link_interface != SGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
2095
(slave->link_interface != RGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
2096
(slave->link_interface != XGMII_LINK_MAC_PHY)))
drivers/net/ethernet/ti/netcp_ethss.c
2099
writel(mac_control, GBE_REG_ADDR(slave, emac_regs,
drivers/net/ethernet/ti/netcp_ethss.c
2101
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2105
((slave->link_interface != SGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
2106
(slave->link_interface != RGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
2107
(slave->link_interface != XGMII_LINK_MAC_PHY)))
drivers/net/ethernet/ti/netcp_ethss.c
2115
static bool gbe_phy_link_status(struct gbe_slave *slave)
drivers/net/ethernet/ti/netcp_ethss.c
2117
return !slave->phy || slave->phy->link;
drivers/net/ethernet/ti/netcp_ethss.c
2131
struct gbe_slave *slave,
drivers/net/ethernet/ti/netcp_ethss.c
2135
int sp = slave->slave_num, link_state;
drivers/net/ethernet/ti/netcp_ethss.c
2137
if (!slave->open)
drivers/net/ethernet/ti/netcp_ethss.c
2140
if (SLAVE_LINK_IS_RGMII(slave))
drivers/net/ethernet/ti/netcp_ethss.c
2143
if (SLAVE_LINK_IS_SGMII(slave))
drivers/net/ethernet/ti/netcp_ethss.c
2147
phy_link_state = gbe_phy_link_status(slave);
drivers/net/ethernet/ti/netcp_ethss.c
2150
if (atomic_xchg(&slave->link_state, link_state) != link_state)
drivers/net/ethernet/ti/netcp_ethss.c
2151
netcp_ethss_link_state_action(gbe_dev, ndev, slave,
drivers/net/ethernet/ti/netcp_ethss.c
2164
netcp_ethss_update_link_state(gbe_intf->gbe_dev, gbe_intf->slave,
drivers/net/ethernet/ti/netcp_ethss.c
2177
netcp_ethss_update_link_state(gbe_intf->gbe_dev, gbe_intf->slave,
drivers/net/ethernet/ti/netcp_ethss.c
2184
struct gbe_slave *slave;
drivers/net/ethernet/ti/netcp_ethss.c
2186
for_each_sec_slave(slave, gbe_dev)
drivers/net/ethernet/ti/netcp_ethss.c
2187
netcp_ethss_update_link_state(gbe_dev, slave, NULL);
drivers/net/ethernet/ti/netcp_ethss.c
2193
static int gbe_port_reset(struct gbe_slave *slave)
drivers/net/ethernet/ti/netcp_ethss.c
2198
writel(SOFT_RESET, GBE_REG_ADDR(slave, emac_regs, soft_reset));
drivers/net/ethernet/ti/netcp_ethss.c
2202
v = readl(GBE_REG_ADDR(slave, emac_regs, soft_reset));
drivers/net/ethernet/ti/netcp_ethss.c
2212
static void gbe_port_config(struct gbe_priv *gbe_dev, struct gbe_slave *slave,
drivers/net/ethernet/ti/netcp_ethss.c
2223
(slave->link_interface >= XGMII_LINK_MAC_PHY)) {
drivers/net/ethernet/ti/netcp_ethss.c
2225
xgmii_mode |= (1 << slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
2230
rx_maxlen_reg = GBE_REG_ADDR(slave, port_regs, rx_maxlen);
drivers/net/ethernet/ti/netcp_ethss.c
2232
rx_maxlen_reg = GBE_REG_ADDR(slave, emac_regs, rx_maxlen);
drivers/net/ethernet/ti/netcp_ethss.c
2235
writel(slave->mac_control, GBE_REG_ADDR(slave, emac_regs, mac_control));
drivers/net/ethernet/ti/netcp_ethss.c
2239
struct gbe_slave *slave, bool set)
drivers/net/ethernet/ti/netcp_ethss.c
2241
if (SLAVE_LINK_IS_XGMII(slave))
drivers/net/ethernet/ti/netcp_ethss.c
2244
netcp_sgmii_rtreset(SGMII_BASE(priv, slave->slave_num),
drivers/net/ethernet/ti/netcp_ethss.c
2245
slave->slave_num, set);
drivers/net/ethernet/ti/netcp_ethss.c
2251
struct gbe_slave *slave = intf->slave;
drivers/net/ethernet/ti/netcp_ethss.c
2254
gbe_sgmii_rtreset(gbe_dev, slave, true);
drivers/net/ethernet/ti/netcp_ethss.c
2255
gbe_port_reset(slave);
drivers/net/ethernet/ti/netcp_ethss.c
2257
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2260
1 << slave->port_num, 0, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2262
if (!slave->phy)
drivers/net/ethernet/ti/netcp_ethss.c
2265
phy_stop(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
2266
phy_disconnect(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
2267
slave->phy = NULL;
drivers/net/ethernet/ti/netcp_ethss.c
2270
static void gbe_sgmii_config(struct gbe_priv *priv, struct gbe_slave *slave)
drivers/net/ethernet/ti/netcp_ethss.c
2272
if (SLAVE_LINK_IS_XGMII(slave))
drivers/net/ethernet/ti/netcp_ethss.c
2275
netcp_sgmii_reset(SGMII_BASE(priv, slave->slave_num), slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
2276
netcp_sgmii_config(SGMII_BASE(priv, slave->slave_num), slave->slave_num,
drivers/net/ethernet/ti/netcp_ethss.c
2277
slave->link_interface);
drivers/net/ethernet/ti/netcp_ethss.c
2283
struct gbe_slave *slave = gbe_intf->slave;
drivers/net/ethernet/ti/netcp_ethss.c
2291
gbe_sgmii_config(priv, slave);
drivers/net/ethernet/ti/netcp_ethss.c
2292
gbe_port_reset(slave);
drivers/net/ethernet/ti/netcp_ethss.c
2294
gbe_sgmii_rtreset(priv, slave, false);
drivers/net/ethernet/ti/netcp_ethss.c
2295
gbe_port_config(priv, slave, priv->rx_packet_max);
drivers/net/ethernet/ti/netcp_ethss.c
2296
gbe_set_slave_mac(slave, gbe_intf);
drivers/net/ethernet/ti/netcp_ethss.c
2302
GBE_REG_ADDR(slave, port_regs, rx_pri_map));
drivers/net/ethernet/ti/netcp_ethss.c
2305
cpsw_ale_control_set(priv->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2308
1 << slave->port_num, 0, 0, ALE_MCAST_FWD_2);
drivers/net/ethernet/ti/netcp_ethss.c
2310
if (slave->link_interface == SGMII_LINK_MAC_PHY) {
drivers/net/ethernet/ti/netcp_ethss.c
2313
slave->phy_port_t = PORT_MII;
drivers/net/ethernet/ti/netcp_ethss.c
2314
} else if (slave->link_interface == RGMII_LINK_MAC_PHY) {
drivers/net/ethernet/ti/netcp_ethss.c
2316
err = of_get_phy_mode(slave->node, &phy_mode);
drivers/net/ethernet/ti/netcp_ethss.c
2328
slave->phy_port_t = PORT_MII;
drivers/net/ethernet/ti/netcp_ethss.c
2329
} else if (slave->link_interface == XGMII_LINK_MAC_PHY) {
drivers/net/ethernet/ti/netcp_ethss.c
2332
slave->phy_port_t = PORT_FIBRE;
drivers/net/ethernet/ti/netcp_ethss.c
2339
slave->phy = of_phy_connect(gbe_intf->ndev,
drivers/net/ethernet/ti/netcp_ethss.c
2340
slave->phy_node,
drivers/net/ethernet/ti/netcp_ethss.c
2343
if (!slave->phy) {
drivers/net/ethernet/ti/netcp_ethss.c
2345
slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
2349
phydev_name(slave->phy));
drivers/net/ethernet/ti/netcp_ethss.c
2350
phy_start(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
2605
phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2619
struct gbe_slave *slave = gbe_intf->slave;
drivers/net/ethernet/ti/netcp_ethss.c
2624
writel(0, GBE_REG_ADDR(slave, port_regs, ts_ctl));
drivers/net/ethernet/ti/netcp_ethss.c
2631
(slave->ts_ctl.dst_port_map << TS_CTL_DST_PORT_SHIFT) |
drivers/net/ethernet/ti/netcp_ethss.c
2632
(slave->ts_ctl.uni ? TS_UNI_EN :
drivers/net/ethernet/ti/netcp_ethss.c
2633
slave->ts_ctl.maddr_map << TS_CTL_MADDR_SHIFT);
drivers/net/ethernet/ti/netcp_ethss.c
2641
writel(ts_en, GBE_REG_ADDR(slave, port_regs, ts_ctl));
drivers/net/ethernet/ti/netcp_ethss.c
2642
writel(seq_id, GBE_REG_ADDR(slave, port_regs, ts_seq_ltype));
drivers/net/ethernet/ti/netcp_ethss.c
2643
writel(ctl, GBE_REG_ADDR(slave, port_regs, ts_ctl_ltype2));
drivers/net/ethernet/ti/netcp_ethss.c
2658
phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2830
struct phy_device *phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2842
struct gbe_slave *slave;
drivers/net/ethernet/ti/netcp_ethss.c
2846
if (!gbe_intf->slave->open)
drivers/net/ethernet/ti/netcp_ethss.c
2848
netcp_ethss_update_link_state(gbe_dev, gbe_intf->slave,
drivers/net/ethernet/ti/netcp_ethss.c
2853
for_each_sec_slave(slave, gbe_dev) {
drivers/net/ethernet/ti/netcp_ethss.c
2854
netcp_ethss_update_link_state(gbe_dev, slave, NULL);
drivers/net/ethernet/ti/netcp_ethss.c
2892
struct gbe_slave *slave = gbe_intf->slave;
drivers/net/ethernet/ti/netcp_ethss.c
2893
int port_num = slave->port_num;
drivers/net/ethernet/ti/netcp_ethss.c
2942
slave->open = true;
drivers/net/ethernet/ti/netcp_ethss.c
2943
netcp_ethss_update_link_state(gbe_dev, slave, ndev);
drivers/net/ethernet/ti/netcp_ethss.c
2967
gbe_intf->slave->open = false;
drivers/net/ethernet/ti/netcp_ethss.c
2968
atomic_set(&gbe_intf->slave->link_state, NETCP_LINK_STATE_INVALID);
drivers/net/ethernet/ti/netcp_ethss.c
2973
static void init_slave_ts_ctl(struct gbe_slave *slave)
drivers/net/ethernet/ti/netcp_ethss.c
2975
slave->ts_ctl.uni = 1;
drivers/net/ethernet/ti/netcp_ethss.c
2976
slave->ts_ctl.dst_port_map =
drivers/net/ethernet/ti/netcp_ethss.c
2978
slave->ts_ctl.maddr_map =
drivers/net/ethernet/ti/netcp_ethss.c
2983
static void init_slave_ts_ctl(struct gbe_slave *slave)
drivers/net/ethernet/ti/netcp_ethss.c
2988
static int init_slave(struct gbe_priv *gbe_dev, struct gbe_slave *slave,
drivers/net/ethernet/ti/netcp_ethss.c
2995
if (of_property_read_u32(node, "slave-port", &slave->slave_num)) {
drivers/net/ethernet/ti/netcp_ethss.c
3001
&slave->link_interface)) {
drivers/net/ethernet/ti/netcp_ethss.c
3004
slave->link_interface = SGMII_LINK_MAC_PHY;
drivers/net/ethernet/ti/netcp_ethss.c
3007
slave->node = node;
drivers/net/ethernet/ti/netcp_ethss.c
3008
slave->open = false;
drivers/net/ethernet/ti/netcp_ethss.c
3009
if ((slave->link_interface == SGMII_LINK_MAC_PHY) ||
drivers/net/ethernet/ti/netcp_ethss.c
3010
(slave->link_interface == RGMII_LINK_MAC_PHY) ||
drivers/net/ethernet/ti/netcp_ethss.c
3011
(slave->link_interface == XGMII_LINK_MAC_PHY))
drivers/net/ethernet/ti/netcp_ethss.c
3012
slave->phy_node = of_parse_phandle(node, "phy-handle", 0);
drivers/net/ethernet/ti/netcp_ethss.c
3013
slave->port_num = gbe_get_slave_port(gbe_dev, slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
3015
if (slave->link_interface >= XGMII_LINK_MAC_PHY)
drivers/net/ethernet/ti/netcp_ethss.c
3016
slave->mac_control = GBE_DEF_10G_MAC_CONTROL;
drivers/net/ethernet/ti/netcp_ethss.c
3018
slave->mac_control = GBE_DEF_1G_MAC_CONTROL;
drivers/net/ethernet/ti/netcp_ethss.c
3021
port_reg_num = slave->slave_num;
drivers/net/ethernet/ti/netcp_ethss.c
3023
if (slave->slave_num > 1) {
drivers/net/ethernet/ti/netcp_ethss.c
3048
slave->port_regs = gbe_dev->switch_regs + port_reg_ofs +
drivers/net/ethernet/ti/netcp_ethss.c
3050
slave->emac_regs = gbe_dev->switch_regs + emac_reg_ofs +
drivers/net/ethernet/ti/netcp_ethss.c
3051
(emac_reg_blk_sz * slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
3055
GBE_SET_REG_OFS(slave, port_regs, port_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3056
GBE_SET_REG_OFS(slave, port_regs, tx_pri_map);
drivers/net/ethernet/ti/netcp_ethss.c
3057
GBE_SET_REG_OFS(slave, port_regs, sa_lo);
drivers/net/ethernet/ti/netcp_ethss.c
3058
GBE_SET_REG_OFS(slave, port_regs, sa_hi);
drivers/net/ethernet/ti/netcp_ethss.c
3059
GBE_SET_REG_OFS(slave, port_regs, ts_ctl);
drivers/net/ethernet/ti/netcp_ethss.c
3060
GBE_SET_REG_OFS(slave, port_regs, ts_seq_ltype);
drivers/net/ethernet/ti/netcp_ethss.c
3061
GBE_SET_REG_OFS(slave, port_regs, ts_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3062
GBE_SET_REG_OFS(slave, port_regs, ts_ctl_ltype2);
drivers/net/ethernet/ti/netcp_ethss.c
3063
GBE_SET_REG_OFS(slave, port_regs, ts_ctl2);
drivers/net/ethernet/ti/netcp_ethss.c
3066
GBE_SET_REG_OFS(slave, emac_regs, mac_control);
drivers/net/ethernet/ti/netcp_ethss.c
3067
GBE_SET_REG_OFS(slave, emac_regs, soft_reset);
drivers/net/ethernet/ti/netcp_ethss.c
3068
GBE_SET_REG_OFS(slave, emac_regs, rx_maxlen);
drivers/net/ethernet/ti/netcp_ethss.c
3072
GBENU_SET_REG_OFS(slave, port_regs, port_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3073
GBENU_SET_REG_OFS(slave, port_regs, tx_pri_map);
drivers/net/ethernet/ti/netcp_ethss.c
3074
GBENU_SET_REG_OFS(slave, port_regs, rx_pri_map);
drivers/net/ethernet/ti/netcp_ethss.c
3075
GBENU_SET_REG_OFS(slave, port_regs, sa_lo);
drivers/net/ethernet/ti/netcp_ethss.c
3076
GBENU_SET_REG_OFS(slave, port_regs, sa_hi);
drivers/net/ethernet/ti/netcp_ethss.c
3077
GBENU_SET_REG_OFS(slave, port_regs, ts_ctl);
drivers/net/ethernet/ti/netcp_ethss.c
3078
GBENU_SET_REG_OFS(slave, port_regs, ts_seq_ltype);
drivers/net/ethernet/ti/netcp_ethss.c
3079
GBENU_SET_REG_OFS(slave, port_regs, ts_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3080
GBENU_SET_REG_OFS(slave, port_regs, ts_ctl_ltype2);
drivers/net/ethernet/ti/netcp_ethss.c
3081
GBENU_SET_REG_OFS(slave, port_regs, ts_ctl2);
drivers/net/ethernet/ti/netcp_ethss.c
3082
GBENU_SET_REG_OFS(slave, port_regs, rx_maxlen);
drivers/net/ethernet/ti/netcp_ethss.c
3085
GBENU_SET_REG_OFS(slave, emac_regs, mac_control);
drivers/net/ethernet/ti/netcp_ethss.c
3086
GBENU_SET_REG_OFS(slave, emac_regs, soft_reset);
drivers/net/ethernet/ti/netcp_ethss.c
3090
XGBE_SET_REG_OFS(slave, port_regs, port_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3091
XGBE_SET_REG_OFS(slave, port_regs, tx_pri_map);
drivers/net/ethernet/ti/netcp_ethss.c
3092
XGBE_SET_REG_OFS(slave, port_regs, sa_lo);
drivers/net/ethernet/ti/netcp_ethss.c
3093
XGBE_SET_REG_OFS(slave, port_regs, sa_hi);
drivers/net/ethernet/ti/netcp_ethss.c
3094
XGBE_SET_REG_OFS(slave, port_regs, ts_ctl);
drivers/net/ethernet/ti/netcp_ethss.c
3095
XGBE_SET_REG_OFS(slave, port_regs, ts_seq_ltype);
drivers/net/ethernet/ti/netcp_ethss.c
3096
XGBE_SET_REG_OFS(slave, port_regs, ts_vlan);
drivers/net/ethernet/ti/netcp_ethss.c
3097
XGBE_SET_REG_OFS(slave, port_regs, ts_ctl_ltype2);
drivers/net/ethernet/ti/netcp_ethss.c
3098
XGBE_SET_REG_OFS(slave, port_regs, ts_ctl2);
drivers/net/ethernet/ti/netcp_ethss.c
3101
XGBE_SET_REG_OFS(slave, emac_regs, mac_control);
drivers/net/ethernet/ti/netcp_ethss.c
3102
XGBE_SET_REG_OFS(slave, emac_regs, soft_reset);
drivers/net/ethernet/ti/netcp_ethss.c
3103
XGBE_SET_REG_OFS(slave, emac_regs, rx_maxlen);
drivers/net/ethernet/ti/netcp_ethss.c
3106
atomic_set(&slave->link_state, NETCP_LINK_STATE_INVALID);
drivers/net/ethernet/ti/netcp_ethss.c
3108
init_slave_ts_ctl(slave);
drivers/net/ethernet/ti/netcp_ethss.c
3119
struct gbe_slave *slave;
drivers/net/ethernet/ti/netcp_ethss.c
3123
slave = devm_kzalloc(dev, sizeof(*slave), GFP_KERNEL);
drivers/net/ethernet/ti/netcp_ethss.c
3124
if (!slave) {
drivers/net/ethernet/ti/netcp_ethss.c
3130
if (init_slave(gbe_dev, slave, port)) {
drivers/net/ethernet/ti/netcp_ethss.c
3134
devm_kfree(dev, slave);
drivers/net/ethernet/ti/netcp_ethss.c
3139
gbe_sgmii_config(gbe_dev, slave);
drivers/net/ethernet/ti/netcp_ethss.c
3140
gbe_port_reset(slave);
drivers/net/ethernet/ti/netcp_ethss.c
3141
gbe_port_config(gbe_dev, slave, gbe_dev->rx_packet_max);
drivers/net/ethernet/ti/netcp_ethss.c
3142
list_add_tail(&slave->slave_list, &gbe_dev->secondary_slaves);
drivers/net/ethernet/ti/netcp_ethss.c
3144
if ((slave->link_interface == SGMII_LINK_MAC_PHY) ||
drivers/net/ethernet/ti/netcp_ethss.c
3145
(slave->link_interface == XGMII_LINK_MAC_PHY))
drivers/net/ethernet/ti/netcp_ethss.c
3148
slave->open = true;
drivers/net/ethernet/ti/netcp_ethss.c
3170
if (slave->link_interface == SGMII_LINK_MAC_PHY) {
drivers/net/ethernet/ti/netcp_ethss.c
3172
slave->phy_port_t = PORT_MII;
drivers/net/ethernet/ti/netcp_ethss.c
3173
} else if (slave->link_interface == RGMII_LINK_MAC_PHY) {
drivers/net/ethernet/ti/netcp_ethss.c
3175
slave->phy_port_t = PORT_MII;
drivers/net/ethernet/ti/netcp_ethss.c
3178
slave->phy_port_t = PORT_FIBRE;
drivers/net/ethernet/ti/netcp_ethss.c
3181
for_each_sec_slave(slave, gbe_dev) {
drivers/net/ethernet/ti/netcp_ethss.c
3182
if ((slave->link_interface != SGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
3183
(slave->link_interface != RGMII_LINK_MAC_PHY) &&
drivers/net/ethernet/ti/netcp_ethss.c
3184
(slave->link_interface != XGMII_LINK_MAC_PHY))
drivers/net/ethernet/ti/netcp_ethss.c
3186
slave->phy =
drivers/net/ethernet/ti/netcp_ethss.c
3188
slave->phy_node,
drivers/net/ethernet/ti/netcp_ethss.c
3191
if (!slave->phy) {
drivers/net/ethernet/ti/netcp_ethss.c
3193
slave->slave_num);
drivers/net/ethernet/ti/netcp_ethss.c
3196
phydev_name(slave->phy));
drivers/net/ethernet/ti/netcp_ethss.c
3197
phy_start(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
3204
struct gbe_slave *slave;
drivers/net/ethernet/ti/netcp_ethss.c
3207
slave = first_sec_slave(gbe_dev);
drivers/net/ethernet/ti/netcp_ethss.c
3209
if (slave->phy)
drivers/net/ethernet/ti/netcp_ethss.c
3210
phy_disconnect(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
3211
list_del(&slave->slave_list);
drivers/net/ethernet/ti/netcp_ethss.c
3761
gbe_intf->slave = devm_kzalloc(gbe_dev->dev,
drivers/net/ethernet/ti/netcp_ethss.c
3762
sizeof(*gbe_intf->slave),
drivers/net/ethernet/ti/netcp_ethss.c
3764
if (!gbe_intf->slave) {
drivers/net/ethernet/ti/netcp_ethss.c
3769
if (init_slave(gbe_dev, gbe_intf->slave, node)) {
drivers/net/ethernet/ti/netcp_ethss.c
3781
if (gbe_intf->slave)
drivers/net/ethernet/ti/netcp_ethss.c
3782
devm_kfree(gbe_dev->dev, gbe_intf->slave);
drivers/net/ethernet/ti/netcp_ethss.c
3794
devm_kfree(gbe_intf->dev, gbe_intf->slave);
drivers/net/ethernet/ti/netcp_ethss.c
764
struct gbe_slave *slave;
drivers/net/wireless/realtek/rtw89/coex.c
3651
u8 slave: 1;
drivers/net/wireless/realtek/rtw89/coex.c
8137
b->slave_role = btinfo.hb2.slave;
drivers/parport/share.c
522
struct parport *slave = port->slaves[i-1];
drivers/parport/share.c
523
if (slave)
drivers/parport/share.c
524
list_add_tail(&slave->list, &portlist);
drivers/parport/share.c
531
struct parport *slave = port->slaves[i-1];
drivers/parport/share.c
532
if (slave)
drivers/parport/share.c
533
attach_driver_chain(slave);
drivers/parport/share.c
571
struct parport *slave = port->slaves[i-1];
drivers/parport/share.c
572
if (!slave)
drivers/parport/share.c
574
detach_driver_chain(slave);
drivers/parport/share.c
575
parport_daisy_fini(slave);
drivers/parport/share.c
583
struct parport *slave = port->slaves[i-1];
drivers/parport/share.c
584
if (slave)
drivers/parport/share.c
585
list_del_init(&slave->list);
drivers/parport/share.c
594
struct parport *slave = port->slaves[i-1];
drivers/parport/share.c
595
if (slave)
drivers/parport/share.c
596
parport_put_port(slave);
drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
2504
slot_zero->slave.slot_sync = first_data_slot + (num_slots / 2);
drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
2505
slot_zero->slave.slot_first = first_data_slot + (num_slots / 2) + 1;
drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
2506
slot_zero->slave.slot_last = first_data_slot + num_slots - 1;
drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
2519
local = &slot_zero->slave;
drivers/soc/mediatek/mtk-pmic-wrap.c
1368
const struct pwrap_slv_type *slave;
drivers/soc/mediatek/mtk-pmic-wrap.c
1516
return wrp->slave->regops->pwrap_read(wrp, adr, rdata);
drivers/soc/mediatek/mtk-pmic-wrap.c
1575
return wrp->slave->regops->pwrap_write(wrp, adr, wdata);
drivers/soc/mediatek/mtk-pmic-wrap.c
1652
read_ok = pwrap_pmic_read_test(wrp, wrp->slave->dew_regs,
drivers/soc/mediatek/mtk-pmic-wrap.c
1678
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_DIO_EN], 1);
drivers/soc/mediatek/mtk-pmic-wrap.c
1679
if (wrp->slave->comp_dew_regs)
drivers/soc/mediatek/mtk-pmic-wrap.c
1680
pwrap_write(wrp, wrp->slave->comp_dew_regs[PWRAP_DEW_DIO_EN], 1);
drivers/soc/mediatek/mtk-pmic-wrap.c
1693
read_ok = pwrap_pmic_read_test(wrp, wrp->slave->dew_regs, PWRAP_DEW_READ_TEST_VAL);
drivers/soc/mediatek/mtk-pmic-wrap.c
1694
if (wrp->slave->comp_dew_regs)
drivers/soc/mediatek/mtk-pmic-wrap.c
1695
comp_read_ok = pwrap_pmic_read_test(wrp, wrp->slave->comp_dew_regs,
drivers/soc/mediatek/mtk-pmic-wrap.c
1700
wrp->slave->comp_dew_regs && !comp_read_ok ?
drivers/soc/mediatek/mtk-pmic-wrap.c
1737
if (wrp->slave->type == PMIC_MT6331) {
drivers/soc/mediatek/mtk-pmic-wrap.c
1738
const u32 *dew_regs = wrp->slave->dew_regs;
drivers/soc/mediatek/mtk-pmic-wrap.c
1742
if (wrp->slave->comp_type == PMIC_MT6332) {
drivers/soc/mediatek/mtk-pmic-wrap.c
1743
dew_regs = wrp->slave->comp_dew_regs;
drivers/soc/mediatek/mtk-pmic-wrap.c
1766
switch (wrp->slave->type) {
drivers/soc/mediatek/mtk-pmic-wrap.c
1774
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_RDDMY_NO],
drivers/soc/mediatek/mtk-pmic-wrap.c
1805
bool ret = __pwrap_is_pmic_cipher_ready(wrp, wrp->slave->dew_regs);
drivers/soc/mediatek/mtk-pmic-wrap.c
1811
if (wrp->slave->comp_dew_regs)
drivers/soc/mediatek/mtk-pmic-wrap.c
1812
ret = __pwrap_is_pmic_cipher_ready(wrp, wrp->slave->comp_dew_regs);
drivers/soc/mediatek/mtk-pmic-wrap.c
1862
pwrap_config_cipher(wrp, wrp->slave->dew_regs);
drivers/soc/mediatek/mtk-pmic-wrap.c
1865
if (wrp->slave->comp_type > 0)
drivers/soc/mediatek/mtk-pmic-wrap.c
1866
pwrap_config_cipher(wrp, wrp->slave->comp_dew_regs);
drivers/soc/mediatek/mtk-pmic-wrap.c
1868
switch (wrp->slave->type) {
drivers/soc/mediatek/mtk-pmic-wrap.c
1870
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CIPHER_LOAD],
drivers/soc/mediatek/mtk-pmic-wrap.c
1872
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CIPHER_START],
drivers/soc/mediatek/mtk-pmic-wrap.c
1878
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CIPHER_EN],
drivers/soc/mediatek/mtk-pmic-wrap.c
1903
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CIPHER_MODE], 0x1);
drivers/soc/mediatek/mtk-pmic-wrap.c
1914
if (pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_WRITE_TEST],
drivers/soc/mediatek/mtk-pmic-wrap.c
1916
pwrap_read(wrp, wrp->slave->dew_regs[PWRAP_DEW_WRITE_TEST],
drivers/soc/mediatek/mtk-pmic-wrap.c
1937
ret = pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CRC_EN], 0x1);
drivers/soc/mediatek/mtk-pmic-wrap.c
1938
if (ret == 0 && wrp->slave->comp_dew_regs)
drivers/soc/mediatek/mtk-pmic-wrap.c
1939
ret = pwrap_write(wrp, wrp->slave->comp_dew_regs[PWRAP_DEW_CRC_EN], 0x1);
drivers/soc/mediatek/mtk-pmic-wrap.c
1945
crc_val = wrp->slave->dew_regs[PWRAP_DEW_CRC_VAL];
drivers/soc/mediatek/mtk-pmic-wrap.c
1946
if (wrp->slave->comp_dew_regs)
drivers/soc/mediatek/mtk-pmic-wrap.c
1947
crc_val |= wrp->slave->comp_dew_regs[PWRAP_DEW_CRC_VAL] << 16;
drivers/soc/mediatek/mtk-pmic-wrap.c
1972
if (pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_EVENT_OUT_EN],
drivers/soc/mediatek/mtk-pmic-wrap.c
1974
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_EVENT_SRC_EN],
drivers/soc/mediatek/mtk-pmic-wrap.c
1986
if (pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_EVENT_OUT_EN],
drivers/soc/mediatek/mtk-pmic-wrap.c
1988
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_EVENT_SRC_EN],
drivers/soc/mediatek/mtk-pmic-wrap.c
2000
switch (wrp->slave->type) {
drivers/soc/mediatek/mtk-pmic-wrap.c
2019
if (wrp->slave->type == PMIC_MT6331)
drivers/soc/mediatek/mtk-pmic-wrap.c
2022
if (wrp->slave->comp_type == PMIC_MT6332)
drivers/soc/mediatek/mtk-pmic-wrap.c
2041
pwrap_write(wrp, wrp->slave->dew_regs[PWRAP_DEW_CRC_EN], 0x1);
drivers/soc/mediatek/mtk-pmic-wrap.c
2075
if (HAS_CAP(wrp->slave->caps, PWRAP_SLV_CAP_SPI)) {
drivers/soc/mediatek/mtk-pmic-wrap.c
2092
if (HAS_CAP(wrp->slave->caps, PWRAP_SLV_CAP_SPI)) {
drivers/soc/mediatek/mtk-pmic-wrap.c
2099
if (HAS_CAP(wrp->slave->caps, PWRAP_SLV_CAP_DUALIO)) {
drivers/soc/mediatek/mtk-pmic-wrap.c
2106
if (HAS_CAP(wrp->slave->caps, PWRAP_SLV_CAP_SECURITY)) {
drivers/soc/mediatek/mtk-pmic-wrap.c
2490
wrp->slave = of_slave_id->data;
drivers/soc/mediatek/mtk-pmic-wrap.c
2591
wrp->regmap = devm_regmap_init(wrp->dev, NULL, wrp, wrp->slave->regops->regmap);
drivers/soundwire/amd_init.c
189
struct sdw_slave *slave;
drivers/soundwire/amd_init.c
217
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/amd_init.c
218
ctx->peripherals->array[i] = slave;
drivers/soundwire/amd_manager.c
1153
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/amd_manager.c
1156
if (!slave->probed) {
drivers/soundwire/amd_manager.c
1160
if (!slave->dev_num_sticky) {
drivers/soundwire/bus.c
1002
dev_err(&slave->dev, "SDW_SCP_SYSTEMCTRL read failed:%d\n", ret);
drivers/soundwire/bus.c
1009
ret = sdw_write_no_pm(slave, SDW_SCP_SYSTEMCTRL, val);
drivers/soundwire/bus.c
1012
dev_err(&slave->dev, "SDW_SCP_SYSTEMCTRL write failed:%d\n", ret);
drivers/soundwire/bus.c
1058
struct sdw_slave *slave;
drivers/soundwire/bus.c
1070
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/bus.c
1071
if (!slave->dev_num)
drivers/soundwire/bus.c
1074
if (slave->status != SDW_SLAVE_ATTACHED &&
drivers/soundwire/bus.c
1075
slave->status != SDW_SLAVE_ALERT)
drivers/soundwire/bus.c
1081
ret = sdw_slave_clk_stop_callback(slave,
drivers/soundwire/bus.c
1085
dev_err(&slave->dev, "clock stop pre-prepare cb failed:%d\n", ret);
drivers/soundwire/bus.c
1090
if (!slave->prop.simple_clk_stop_capable) {
drivers/soundwire/bus.c
1093
ret = sdw_slave_clk_stop_prepare(slave,
drivers/soundwire/bus.c
1097
dev_err(&slave->dev, "clock stop prepare failed:%d\n", ret);
drivers/soundwire/bus.c
1125
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/bus.c
1126
if (!slave->dev_num)
drivers/soundwire/bus.c
1129
if (slave->status != SDW_SLAVE_ATTACHED &&
drivers/soundwire/bus.c
1130
slave->status != SDW_SLAVE_ALERT)
drivers/soundwire/bus.c
1133
ret = sdw_slave_clk_stop_callback(slave,
drivers/soundwire/bus.c
1138
dev_err(&slave->dev, "clock stop post-prepare cb failed:%d\n", ret);
drivers/soundwire/bus.c
1187
struct sdw_slave *slave;
drivers/soundwire/bus.c
1196
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/bus.c
1197
if (!slave->dev_num)
drivers/soundwire/bus.c
1200
if (slave->status != SDW_SLAVE_ATTACHED &&
drivers/soundwire/bus.c
1201
slave->status != SDW_SLAVE_ALERT)
drivers/soundwire/bus.c
1207
ret = sdw_slave_clk_stop_callback(slave, SDW_CLK_STOP_MODE0,
drivers/soundwire/bus.c
1210
dev_warn(&slave->dev, "clock stop pre-deprepare cb failed:%d\n", ret);
drivers/soundwire/bus.c
1213
if (!slave->prop.simple_clk_stop_capable) {
drivers/soundwire/bus.c
1216
ret = sdw_slave_clk_stop_prepare(slave, SDW_CLK_STOP_MODE0,
drivers/soundwire/bus.c
1220
dev_warn(&slave->dev, "clock stop deprepare failed:%d\n", ret);
drivers/soundwire/bus.c
1238
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/bus.c
1239
if (!slave->dev_num)
drivers/soundwire/bus.c
1242
if (slave->status != SDW_SLAVE_ATTACHED &&
drivers/soundwire/bus.c
1243
slave->status != SDW_SLAVE_ALERT)
drivers/soundwire/bus.c
1246
ret = sdw_slave_clk_stop_callback(slave, SDW_CLK_STOP_MODE0,
drivers/soundwire/bus.c
1249
dev_warn(&slave->dev, "clock stop post-deprepare cb failed:%d\n", ret);
drivers/soundwire/bus.c
1256
int sdw_configure_dpn_intr(struct sdw_slave *slave,
drivers/soundwire/bus.c
1263
if (slave->bus->params.s_data_mode != SDW_PORT_DATA_MODE_NORMAL) {
drivers/soundwire/bus.c
1264
dev_dbg(&slave->dev, "TEST FAIL interrupt %s\n",
drivers/soundwire/bus.c
1280
ret = sdw_update_no_pm(slave, addr, (mask | SDW_DPN_INT_PORT_READY), val);
drivers/soundwire/bus.c
1282
dev_err(&slave->dev,
drivers/soundwire/bus.c
1288
int sdw_slave_get_scale_index(struct sdw_slave *slave, u8 *base)
drivers/soundwire/bus.c
1290
u32 mclk_freq = slave->bus->prop.mclk_freq;
drivers/soundwire/bus.c
1291
u32 curr_freq = slave->bus->params.curr_dr_freq >> 1;
drivers/soundwire/bus.c
1296
dev_err(&slave->dev,
drivers/soundwire/bus.c
1326
dev_err(&slave->dev,
drivers/soundwire/bus.c
1333
dev_err(&slave->dev,
drivers/soundwire/bus.c
1348
dev_err(&slave->dev,
drivers/soundwire/bus.c
1355
dev_dbg(&slave->dev,
drivers/soundwire/bus.c
1363
int sdw_slave_get_current_bank(struct sdw_slave *slave)
drivers/soundwire/bus.c
1367
tmp = sdw_read(slave, SDW_SCP_CTRL);
drivers/soundwire/bus.c
1375
static int sdw_slave_set_frequency(struct sdw_slave *slave)
drivers/soundwire/bus.c
1388
if (!slave->id.class_id && !slave->prop.clock_reg_supported)
drivers/soundwire/bus.c
1391
scale_index = sdw_slave_get_scale_index(slave, &base);
drivers/soundwire/bus.c
1395
ret = sdw_write_no_pm(slave, SDW_SCP_BUS_CLOCK_BASE, base);
drivers/soundwire/bus.c
1397
dev_err(&slave->dev,
drivers/soundwire/bus.c
1403
ret = sdw_write_no_pm(slave, SDW_SCP_BUSCLOCK_SCALE_B0, scale_index);
drivers/soundwire/bus.c
1405
dev_err(&slave->dev,
drivers/soundwire/bus.c
1409
ret = sdw_write_no_pm(slave, SDW_SCP_BUSCLOCK_SCALE_B1, scale_index);
drivers/soundwire/bus.c
1411
dev_err(&slave->dev,
drivers/soundwire/bus.c
1417
static int sdw_initialize_slave(struct sdw_slave *slave)
drivers/soundwire/bus.c
1419
struct sdw_slave_prop *prop = &slave->prop;
drivers/soundwire/bus.c
1424
ret = sdw_slave_set_frequency(slave);
drivers/soundwire/bus.c
1428
if (slave->bus->prop.quirks & SDW_MASTER_QUIRKS_CLEAR_INITIAL_CLASH) {
drivers/soundwire/bus.c
1430
status = sdw_read_no_pm(slave, SDW_SCP_INT1);
drivers/soundwire/bus.c
1432
dev_err(&slave->dev,
drivers/soundwire/bus.c
1437
dev_warn(&slave->dev, "Bus clash detected before INT mask is enabled\n");
drivers/soundwire/bus.c
1438
ret = sdw_write_no_pm(slave, SDW_SCP_INT1, SDW_SCP_INT1_BUS_CLASH);
drivers/soundwire/bus.c
1440
dev_err(&slave->dev,
drivers/soundwire/bus.c
1446
if ((slave->bus->prop.quirks & SDW_MASTER_QUIRKS_CLEAR_INITIAL_PARITY) &&
drivers/soundwire/bus.c
1449
status = sdw_read_no_pm(slave, SDW_SCP_INT1);
drivers/soundwire/bus.c
1451
dev_err(&slave->dev,
drivers/soundwire/bus.c
1456
dev_warn(&slave->dev, "PARITY error detected before INT mask is enabled\n");
drivers/soundwire/bus.c
1457
ret = sdw_write_no_pm(slave, SDW_SCP_INT1, SDW_SCP_INT1_PARITY);
drivers/soundwire/bus.c
1459
dev_err(&slave->dev,
drivers/soundwire/bus.c
1476
ret = sdw_update_no_pm(slave, SDW_SCP_INTMASK1, val, val);
drivers/soundwire/bus.c
1478
dev_err(&slave->dev,
drivers/soundwire/bus.c
1491
ret = sdw_update_no_pm(slave, SDW_DP0_INTMASK, val, val);
drivers/soundwire/bus.c
1493
dev_err(&slave->dev,
drivers/soundwire/bus.c
1498
static int sdw_handle_dp0_interrupt(struct sdw_slave *slave, u8 *slave_status)
drivers/soundwire/bus.c
1503
status = sdw_read_no_pm(slave, SDW_DP0_INT);
drivers/soundwire/bus.c
1505
dev_err(&slave->dev,
drivers/soundwire/bus.c
1514
dev_err(&slave->dev, "Test fail for port 0\n");
drivers/soundwire/bus.c
1524
complete(&slave->port_ready[0]);
drivers/soundwire/bus.c
1529
dev_err(&slave->dev, "BRA failed\n");
drivers/soundwire/bus.c
1542
ret = sdw_write_no_pm(slave, SDW_DP0_INT, clear);
drivers/soundwire/bus.c
1544
dev_err(&slave->dev,
drivers/soundwire/bus.c
1550
status2 = sdw_read_no_pm(slave, SDW_DP0_INT);
drivers/soundwire/bus.c
1552
dev_err(&slave->dev,
drivers/soundwire/bus.c
1565
dev_warn(&slave->dev, "Reached MAX_RETRY on DP0 read\n");
drivers/soundwire/bus.c
1570
static int sdw_handle_port_interrupt(struct sdw_slave *slave,
drivers/soundwire/bus.c
1578
return sdw_handle_dp0_interrupt(slave, slave_status);
drivers/soundwire/bus.c
1581
status = sdw_read_no_pm(slave, addr);
drivers/soundwire/bus.c
1583
dev_err(&slave->dev,
drivers/soundwire/bus.c
1593
dev_err(&slave->dev, "Test fail for port:%d\n", port);
drivers/soundwire/bus.c
1602
complete(&slave->port_ready[port]);
drivers/soundwire/bus.c
1615
ret = sdw_write_no_pm(slave, addr, clear);
drivers/soundwire/bus.c
1617
dev_err(&slave->dev,
drivers/soundwire/bus.c
1623
status2 = sdw_read_no_pm(slave, addr);
drivers/soundwire/bus.c
1625
dev_err(&slave->dev,
drivers/soundwire/bus.c
1638
dev_warn(&slave->dev, "Reached MAX_RETRY on port read");
drivers/soundwire/bus.c
1643
static int sdw_handle_slave_alerts(struct sdw_slave *slave)
drivers/soundwire/bus.c
1655
sdw_modify_slave_status(slave, SDW_SLAVE_ALERT);
drivers/soundwire/bus.c
1657
ret = pm_runtime_get_sync(&slave->dev);
drivers/soundwire/bus.c
1659
dev_err(&slave->dev, "Failed to resume device: %d\n", ret);
drivers/soundwire/bus.c
1660
pm_runtime_put_noidle(&slave->dev);
drivers/soundwire/bus.c
1665
ret = sdw_read_no_pm(slave, SDW_SCP_INT1);
drivers/soundwire/bus.c
1667
dev_err(&slave->dev,
drivers/soundwire/bus.c
1673
ret = sdw_nread_no_pm(slave, SDW_SCP_INTSTAT2, 2, buf2);
drivers/soundwire/bus.c
1675
dev_err(&slave->dev,
drivers/soundwire/bus.c
1680
if (slave->id.class_id) {
drivers/soundwire/bus.c
1681
ret = sdw_read_no_pm(slave, SDW_DP0_INT);
drivers/soundwire/bus.c
1683
dev_err(&slave->dev,
drivers/soundwire/bus.c
1698
parity_check = slave->prop.scp_int1_mask & SDW_SCP_INT1_PARITY;
drivers/soundwire/bus.c
1699
parity_quirk = !slave->first_interrupt_done &&
drivers/soundwire/bus.c
1700
(slave->prop.quirks & SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY);
drivers/soundwire/bus.c
1703
dev_err(&slave->dev, "Parity error detected\n");
drivers/soundwire/bus.c
1708
if (slave->prop.scp_int1_mask & SDW_SCP_INT1_BUS_CLASH)
drivers/soundwire/bus.c
1709
dev_err(&slave->dev, "Bus clash detected\n");
drivers/soundwire/bus.c
172
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus.c
1721
if (slave->prop.scp_int1_mask & SDW_SCP_INT1_IMPL_DEF) {
drivers/soundwire/bus.c
1722
dev_dbg(&slave->dev, "Slave impl defined interrupt\n");
drivers/soundwire/bus.c
173
struct sdw_bus *bus = slave->bus;
drivers/soundwire/bus.c
1738
sdw_handle_port_interrupt(slave, bit,
drivers/soundwire/bus.c
1748
sdw_handle_port_interrupt(slave,
drivers/soundwire/bus.c
1760
sdw_handle_port_interrupt(slave,
drivers/soundwire/bus.c
1768
if (slave->prop.use_domain_irq && slave->irq)
drivers/soundwire/bus.c
1769
handle_nested_irq(slave->irq);
drivers/soundwire/bus.c
177
sdw_slave_debugfs_exit(slave);
drivers/soundwire/bus.c
1771
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
1773
if (slave->probed) {
drivers/soundwire/bus.c
1774
struct device *dev = &slave->dev;
drivers/soundwire/bus.c
1783
drv->ops->interrupt_callback(slave, &slave_intr);
drivers/soundwire/bus.c
1787
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
1791
ret = sdw_write_no_pm(slave, SDW_SCP_INT1, clear);
drivers/soundwire/bus.c
1793
dev_err(&slave->dev,
drivers/soundwire/bus.c
1799
slave->first_interrupt_done = true;
drivers/soundwire/bus.c
1805
ret = sdw_read_no_pm(slave, SDW_SCP_INT1);
drivers/soundwire/bus.c
1807
dev_err(&slave->dev,
drivers/soundwire/bus.c
181
if (slave->dev_num) { /* clear dev_num if assigned */
drivers/soundwire/bus.c
1813
ret = sdw_nread_no_pm(slave, SDW_SCP_INTSTAT2, 2, buf2);
drivers/soundwire/bus.c
1815
dev_err(&slave->dev,
drivers/soundwire/bus.c
182
clear_bit(slave->dev_num, bus->assigned);
drivers/soundwire/bus.c
1820
if (slave->id.class_id) {
drivers/soundwire/bus.c
1821
ret = sdw_read_no_pm(slave, SDW_DP0_INT);
drivers/soundwire/bus.c
1823
dev_err(&slave->dev,
drivers/soundwire/bus.c
184
bus->ops->put_device_num(bus, slave);
drivers/soundwire/bus.c
1845
dev_warn(&slave->dev, "Reached MAX_RETRY on alert read\n");
drivers/soundwire/bus.c
1848
pm_runtime_mark_last_busy(&slave->dev);
drivers/soundwire/bus.c
1849
pm_runtime_put_autosuspend(&slave->dev);
drivers/soundwire/bus.c
1854
static int sdw_update_slave_status(struct sdw_slave *slave,
drivers/soundwire/bus.c
1859
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
186
list_del_init(&slave->node);
drivers/soundwire/bus.c
1861
if (slave->probed) {
drivers/soundwire/bus.c
1862
struct device *dev = &slave->dev;
drivers/soundwire/bus.c
1866
ret = drv->ops->update_status(slave, status);
drivers/soundwire/bus.c
1869
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
1883
struct sdw_slave *slave;
drivers/soundwire/bus.c
1896
slave = sdw_get_slave(bus, i);
drivers/soundwire/bus.c
1897
if (!slave)
drivers/soundwire/bus.c
1901
slave->status != SDW_SLAVE_UNATTACHED) {
drivers/soundwire/bus.c
1902
dev_warn(&slave->dev, "Slave %d state check1: UNATTACHED, status was %d\n",
drivers/soundwire/bus.c
1903
i, slave->status);
drivers/soundwire/bus.c
1904
sdw_modify_slave_status(slave, SDW_SLAVE_UNATTACHED);
drivers/soundwire/bus.c
1907
ret = sdw_update_slave_status(slave, status[i]);
drivers/soundwire/bus.c
1909
dev_warn(&slave->dev, "Update Slave status failed:%d\n", ret);
drivers/soundwire/bus.c
1943
slave = sdw_get_slave(bus, i);
drivers/soundwire/bus.c
1944
if (!slave)
drivers/soundwire/bus.c
1951
if (slave->status == SDW_SLAVE_UNATTACHED)
drivers/soundwire/bus.c
1954
dev_warn(&slave->dev, "Slave %d state check2: UNATTACHED, status was %d\n",
drivers/soundwire/bus.c
1955
i, slave->status);
drivers/soundwire/bus.c
1957
sdw_modify_slave_status(slave, SDW_SLAVE_UNATTACHED);
drivers/soundwire/bus.c
1961
ret = sdw_handle_slave_alerts(slave);
drivers/soundwire/bus.c
1963
dev_err(&slave->dev,
drivers/soundwire/bus.c
1969
if (slave->status == SDW_SLAVE_ATTACHED)
drivers/soundwire/bus.c
1972
prev_status = slave->status;
drivers/soundwire/bus.c
1973
sdw_modify_slave_status(slave, SDW_SLAVE_ATTACHED);
drivers/soundwire/bus.c
1980
ret = sdw_initialize_slave(slave);
drivers/soundwire/bus.c
1982
dev_err(&slave->dev,
drivers/soundwire/bus.c
1989
dev_err(&slave->dev, "Invalid slave %d status:%d\n",
drivers/soundwire/bus.c
1994
ret = sdw_update_slave_status(slave, status[i]);
drivers/soundwire/bus.c
1996
dev_err(&slave->dev,
drivers/soundwire/bus.c
1999
dev_dbg(&slave->dev,
drivers/soundwire/bus.c
2001
slave->dev_num);
drivers/soundwire/bus.c
2003
complete_all(&slave->initialization_complete);
drivers/soundwire/bus.c
2015
pm_request_resume(&slave->dev);
drivers/soundwire/bus.c
2025
struct sdw_slave *slave;
drivers/soundwire/bus.c
2037
slave = sdw_get_slave(bus, i);
drivers/soundwire/bus.c
2038
if (!slave)
drivers/soundwire/bus.c
2041
if (slave->status != SDW_SLAVE_UNATTACHED) {
drivers/soundwire/bus.c
2042
sdw_modify_slave_status(slave, SDW_SLAVE_UNATTACHED);
drivers/soundwire/bus.c
2043
slave->first_interrupt_done = false;
drivers/soundwire/bus.c
2044
sdw_update_slave_status(slave, SDW_SLAVE_UNATTACHED);
drivers/soundwire/bus.c
2048
slave->unattach_request = request;
drivers/soundwire/bus.c
2053
int sdw_bpt_send_async(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg)
drivers/soundwire/bus.c
2067
if (slave->dev_num == SDW_ENUM_DEV_NUM ||
drivers/soundwire/bus.c
2068
slave->dev_num > SDW_MAX_DEVICES) {
drivers/soundwire/bus.c
2069
dev_err(&slave->dev, "Invalid device number %d\n", slave->dev_num);
drivers/soundwire/bus.c
2080
return bus->ops->bpt_send_async(bus, slave, msg);
drivers/soundwire/bus.c
2084
int sdw_bpt_wait(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg)
drivers/soundwire/bus.c
2086
return bus->ops->bpt_wait(bus, slave, msg);
drivers/soundwire/bus.c
2090
int sdw_bpt_send_sync(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg)
drivers/soundwire/bus.c
2094
ret = sdw_bpt_send_async(bus, slave, msg);
drivers/soundwire/bus.c
2098
return sdw_bpt_wait(bus, slave, msg);
drivers/soundwire/bus.c
362
int sdw_fill_msg(struct sdw_msg *msg, struct sdw_slave *slave,
drivers/soundwire/bus.c
381
if (slave && !slave->prop.paging_support)
drivers/soundwire/bus.c
392
if (!slave) {
drivers/soundwire/bus.c
397
if (!slave->prop.paging_support) {
drivers/soundwire/bus.c
398
dev_err(&slave->dev,
drivers/soundwire/bus.c
415
static int sdw_ntransfer_no_pm(struct sdw_slave *slave, u32 addr, u8 flags,
drivers/soundwire/bus.c
426
ret = sdw_fill_msg(&msg, slave, addr, size, slave->dev_num, flags, val);
drivers/soundwire/bus.c
430
ret = sdw_transfer(slave->bus, &msg);
drivers/soundwire/bus.c
431
if (ret < 0 && !slave->is_mockup_device)
drivers/soundwire/bus.c
452
int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val)
drivers/soundwire/bus.c
454
return sdw_ntransfer_no_pm(slave, addr, SDW_MSG_FLAG_READ, count, val);
drivers/soundwire/bus.c
468
int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val)
drivers/soundwire/bus.c
470
return sdw_ntransfer_no_pm(slave, addr, SDW_MSG_FLAG_WRITE, count, (u8 *)val);
drivers/soundwire/bus.c
480
int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value)
drivers/soundwire/bus.c
482
return sdw_nwrite_no_pm(slave, addr, 1, &value);
drivers/soundwire/bus.c
557
int sdw_read_no_pm(struct sdw_slave *slave, u32 addr)
drivers/soundwire/bus.c
562
ret = sdw_nread_no_pm(slave, addr, 1, &buf);
drivers/soundwire/bus.c
570
int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val)
drivers/soundwire/bus.c
574
tmp = sdw_read_no_pm(slave, addr);
drivers/soundwire/bus.c
579
return sdw_write_no_pm(slave, addr, tmp);
drivers/soundwire/bus.c
584
int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val)
drivers/soundwire/bus.c
588
tmp = sdw_read(slave, addr);
drivers/soundwire/bus.c
593
return sdw_write(slave, addr, tmp);
drivers/soundwire/bus.c
609
int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val)
drivers/soundwire/bus.c
613
ret = pm_runtime_get_sync(&slave->dev);
drivers/soundwire/bus.c
615
pm_runtime_put_noidle(&slave->dev);
drivers/soundwire/bus.c
619
ret = sdw_nread_no_pm(slave, addr, count, val);
drivers/soundwire/bus.c
621
pm_runtime_mark_last_busy(&slave->dev);
drivers/soundwire/bus.c
622
pm_runtime_put(&slave->dev);
drivers/soundwire/bus.c
640
int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val)
drivers/soundwire/bus.c
644
ret = pm_runtime_get_sync(&slave->dev);
drivers/soundwire/bus.c
646
pm_runtime_put_noidle(&slave->dev);
drivers/soundwire/bus.c
650
ret = sdw_nwrite_no_pm(slave, addr, count, val);
drivers/soundwire/bus.c
652
pm_runtime_mark_last_busy(&slave->dev);
drivers/soundwire/bus.c
653
pm_runtime_put(&slave->dev);
drivers/soundwire/bus.c
667
int sdw_read(struct sdw_slave *slave, u32 addr)
drivers/soundwire/bus.c
672
ret = sdw_nread(slave, addr, 1, &buf);
drivers/soundwire/bus.c
689
int sdw_write(struct sdw_slave *slave, u32 addr, u8 value)
drivers/soundwire/bus.c
691
return sdw_nwrite(slave, addr, 1, &value);
drivers/soundwire/bus.c
702
struct sdw_slave *slave;
drivers/soundwire/bus.c
704
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/bus.c
705
if (slave->dev_num == i)
drivers/soundwire/bus.c
706
return slave;
drivers/soundwire/bus.c
712
int sdw_compare_devid(struct sdw_slave *slave, struct sdw_slave_id id)
drivers/soundwire/bus.c
714
if (slave->id.mfg_id != id.mfg_id ||
drivers/soundwire/bus.c
715
slave->id.part_id != id.part_id ||
drivers/soundwire/bus.c
716
slave->id.class_id != id.class_id ||
drivers/soundwire/bus.c
717
(slave->id.unique_id != SDW_IGNORED_UNIQUE_ID &&
drivers/soundwire/bus.c
718
slave->id.unique_id != id.unique_id))
drivers/soundwire/bus.c
726
static int sdw_get_device_num(struct sdw_slave *slave)
drivers/soundwire/bus.c
728
struct sdw_bus *bus = slave->bus;
drivers/soundwire/bus.c
732
bit = bus->ops->get_device_num(bus, slave);
drivers/soundwire/bus.c
753
static int sdw_assign_device_num(struct sdw_slave *slave)
drivers/soundwire/bus.c
755
struct sdw_bus *bus = slave->bus;
drivers/soundwire/bus.c
760
if (!slave->dev_num) {
drivers/soundwire/bus.c
761
if (!slave->dev_num_sticky) {
drivers/soundwire/bus.c
764
mutex_lock(&slave->bus->bus_lock);
drivers/soundwire/bus.c
765
dev_num = sdw_get_device_num(slave);
drivers/soundwire/bus.c
766
mutex_unlock(&slave->bus->bus_lock);
drivers/soundwire/bus.c
772
slave->dev_num_sticky = dev_num;
drivers/soundwire/bus.c
775
slave->dev_num_sticky);
drivers/soundwire/bus.c
780
slave->dev_num = 0;
drivers/soundwire/bus.c
782
ret = sdw_write_no_pm(slave, SDW_SCP_DEVNUMBER, slave->dev_num_sticky);
drivers/soundwire/bus.c
785
slave->dev_num_sticky, ret);
drivers/soundwire/bus.c
790
slave->dev_num = slave->dev_num_sticky;
drivers/soundwire/bus.c
793
bus->ops->new_peripheral_assigned(bus, slave, slave->dev_num);
drivers/soundwire/bus.c
815
bool is_clock_scaling_supported_by_slave(struct sdw_slave *slave)
drivers/soundwire/bus.c
821
return slave->id.class_id;
drivers/soundwire/bus.c
828
struct sdw_slave *slave, *_s;
drivers/soundwire/bus.c
867
list_for_each_entry_safe(slave, _s, &bus->slaves, node) {
drivers/soundwire/bus.c
868
if (sdw_compare_devid(slave, id) == 0) {
drivers/soundwire/bus.c
878
if (slave->status != SDW_SLAVE_UNATTACHED)
drivers/soundwire/bus.c
887
ret = sdw_assign_device_num(slave);
drivers/soundwire/bus.c
928
static void sdw_modify_slave_status(struct sdw_slave *slave,
drivers/soundwire/bus.c
931
struct sdw_bus *bus = slave->bus;
drivers/soundwire/bus.c
937
slave->dev_num, slave->status, status);
drivers/soundwire/bus.c
940
dev_dbg(&slave->dev,
drivers/soundwire/bus.c
942
slave->dev_num);
drivers/soundwire/bus.c
944
reinit_completion(&slave->enumeration_complete);
drivers/soundwire/bus.c
945
reinit_completion(&slave->initialization_complete);
drivers/soundwire/bus.c
948
(slave->status == SDW_SLAVE_UNATTACHED)) {
drivers/soundwire/bus.c
949
dev_dbg(&slave->dev,
drivers/soundwire/bus.c
951
slave->dev_num);
drivers/soundwire/bus.c
953
complete_all(&slave->enumeration_complete);
drivers/soundwire/bus.c
955
slave->status = status;
drivers/soundwire/bus.c
959
static int sdw_slave_clk_stop_callback(struct sdw_slave *slave,
drivers/soundwire/bus.c
965
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
967
if (slave->probed) {
drivers/soundwire/bus.c
968
struct device *dev = &slave->dev;
drivers/soundwire/bus.c
972
ret = drv->ops->clk_stop(slave, mode, type);
drivers/soundwire/bus.c
975
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/bus.c
980
static int sdw_slave_clk_stop_prepare(struct sdw_slave *slave,
drivers/soundwire/bus.c
988
wake_en = slave->prop.wake_capable;
drivers/soundwire/bus.c
999
ret = sdw_read_no_pm(slave, SDW_SCP_SYSTEMCTRL);
drivers/soundwire/bus.h
146
struct sdw_slave *slave;
drivers/soundwire/bus.h
185
struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
drivers/soundwire/bus.h
188
int sdw_configure_dpn_intr(struct sdw_slave *slave, int port,
drivers/soundwire/bus.h
196
int sdw_fill_msg(struct sdw_msg *msg, struct sdw_slave *slave,
drivers/soundwire/bus.h
241
int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size);
drivers/soundwire/bus.h
33
void sdw_slave_debugfs_init(struct sdw_slave *slave);
drivers/soundwire/bus.h
34
void sdw_slave_debugfs_exit(struct sdw_slave *slave);
drivers/soundwire/bus.h
40
static inline void sdw_slave_debugfs_init(struct sdw_slave *slave) {}
drivers/soundwire/bus.h
41
static inline void sdw_slave_debugfs_exit(struct sdw_slave *slave) {}
drivers/soundwire/bus_type.c
102
ret = ida_alloc_max(&slave->bus->slave_ida, SDW_FW_MAX_DEVICES - 1, GFP_KERNEL);
drivers/soundwire/bus_type.c
107
slave->index = ret;
drivers/soundwire/bus_type.c
109
ret = drv->probe(slave, id);
drivers/soundwire/bus_type.c
111
ida_free(&slave->bus->slave_ida, slave->index);
drivers/soundwire/bus_type.c
115
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/bus_type.c
119
drv->ops->read_prop(slave);
drivers/soundwire/bus_type.c
121
if (slave->prop.use_domain_irq)
drivers/soundwire/bus_type.c
122
sdw_irq_create_mapping(slave);
drivers/soundwire/bus_type.c
125
ret = sdw_slave_sysfs_dpn_init(slave);
drivers/soundwire/bus_type.c
135
if (slave->prop.clk_stop_timeout == 0)
drivers/soundwire/bus_type.c
136
slave->prop.clk_stop_timeout = 300;
drivers/soundwire/bus_type.c
138
slave->bus->clk_stop_timeout = max_t(u32, slave->bus->clk_stop_timeout,
drivers/soundwire/bus_type.c
139
slave->prop.clk_stop_timeout);
drivers/soundwire/bus_type.c
141
slave->probed = true;
drivers/soundwire/bus_type.c
149
ret = drv->ops->update_status(slave, slave->status);
drivers/soundwire/bus_type.c
154
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/bus_type.c
163
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus_type.c
166
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/bus_type.c
168
slave->probed = false;
drivers/soundwire/bus_type.c
170
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/bus_type.c
173
drv->remove(slave);
drivers/soundwire/bus_type.c
175
ida_free(&slave->bus->slave_ida, slave->index);
drivers/soundwire/bus_type.c
180
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus_type.c
184
drv->shutdown(slave);
drivers/soundwire/bus_type.c
22
sdw_get_device_id(struct sdw_slave *slave, const struct sdw_driver *drv)
drivers/soundwire/bus_type.c
27
if (slave->id.mfg_id == id->mfg_id &&
drivers/soundwire/bus_type.c
28
slave->id.part_id == id->part_id &&
drivers/soundwire/bus_type.c
30
slave->id.sdw_version == id->sdw_version) &&
drivers/soundwire/bus_type.c
32
slave->id.class_id == id->class_id))
drivers/soundwire/bus_type.c
40
struct sdw_slave *slave;
drivers/soundwire/bus_type.c
45
slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus_type.c
48
ret = !!sdw_get_device_id(slave, drv);
drivers/soundwire/bus_type.c
53
int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size)
drivers/soundwire/bus_type.c
58
slave->id.mfg_id, slave->id.part_id,
drivers/soundwire/bus_type.c
59
slave->id.sdw_version, slave->id.class_id);
drivers/soundwire/bus_type.c
64
const struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus_type.c
67
sdw_slave_modalias(slave, modalias, sizeof(modalias));
drivers/soundwire/bus_type.c
77
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/bus_type.c
91
id = sdw_get_device_id(slave, drv);
drivers/soundwire/cadence_master.c
1686
struct sdw_slave *slave;
drivers/soundwire/cadence_master.c
1714
list_for_each_entry(slave, &cdns->bus.slaves, node) {
drivers/soundwire/cadence_master.c
1715
if (slave->status == SDW_SLAVE_ATTACHED ||
drivers/soundwire/cadence_master.c
1716
slave->status == SDW_SLAVE_ALERT) {
drivers/soundwire/debugfs.c
101
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
117
ret += sdw_sprintf(slave, buf, ret, j);
drivers/soundwire/debugfs.c
123
ret += sdw_sprintf(slave, buf, ret, j);
drivers/soundwire/debugfs.c
129
ret += sdw_sprintf(slave, buf, ret, j);
drivers/soundwire/debugfs.c
134
pm_runtime_mark_last_busy(&slave->dev);
drivers/soundwire/debugfs.c
135
pm_runtime_put(&slave->dev);
drivers/soundwire/debugfs.c
152
struct sdw_slave *slave = data;
drivers/soundwire/debugfs.c
160
dev_dbg(&slave->dev, "command: %s\n", str_read_write(value));
drivers/soundwire/debugfs.c
170
struct sdw_slave *slave = data;
drivers/soundwire/debugfs.c
178
dev_dbg(&slave->dev, "command type: %s\n", value ? "BRA" : "Column0");
drivers/soundwire/debugfs.c
189
struct sdw_slave *slave = data;
drivers/soundwire/debugfs.c
194
dev_dbg(&slave->dev, "start address %#llx\n", value);
drivers/soundwire/debugfs.c
205
struct sdw_slave *slave = data;
drivers/soundwire/debugfs.c
213
dev_dbg(&slave->dev, "number of bytes %lld\n", value);
drivers/soundwire/debugfs.c
222
static int do_bpt_sequence(struct sdw_slave *slave, bool write, u8 *buffer)
drivers/soundwire/debugfs.c
236
msg.dev_num = slave->dev_num;
drivers/soundwire/debugfs.c
243
return sdw_bpt_send_sync(slave->bus, slave, &msg);
drivers/soundwire/debugfs.c
249
struct sdw_slave *slave = data;
drivers/soundwire/debugfs.c
262
ret = pm_runtime_get_sync(&slave->dev);
drivers/soundwire/debugfs.c
264
pm_runtime_put_noidle(&slave->dev);
drivers/soundwire/debugfs.c
269
ret = request_firmware(&fw, firmware_file, &slave->dev);
drivers/soundwire/debugfs.c
271
dev_err(&slave->dev, "firmware %s not found\n", firmware_file);
drivers/soundwire/debugfs.c
275
dev_err(&slave->dev,
drivers/soundwire/debugfs.c
285
dev_dbg(&slave->dev, "starting command\n");
drivers/soundwire/debugfs.c
290
ret = do_bpt_sequence(slave, true, (u8 *)fw->data);
drivers/soundwire/debugfs.c
292
ret = sdw_nwrite_no_pm(slave, start_addr, num_bytes, fw->data);
drivers/soundwire/debugfs.c
297
ret = do_bpt_sequence(slave, false, read_buffer);
drivers/soundwire/debugfs.c
299
ret = sdw_nread_no_pm(slave, start_addr, num_bytes, read_buffer);
drivers/soundwire/debugfs.c
304
dev_dbg(&slave->dev, "command completed, num_byte %zu status %d, time %lld ms\n",
drivers/soundwire/debugfs.c
311
pm_runtime_mark_last_busy(&slave->dev);
drivers/soundwire/debugfs.c
312
pm_runtime_put(&slave->dev);
drivers/soundwire/debugfs.c
339
void sdw_slave_debugfs_init(struct sdw_slave *slave)
drivers/soundwire/debugfs.c
345
master = slave->bus->debugfs;
drivers/soundwire/debugfs.c
348
snprintf(name, sizeof(name), "%s", dev_name(&slave->dev));
drivers/soundwire/debugfs.c
351
debugfs_create_file("registers", 0400, d, slave, &sdw_slave_reg_fops);
drivers/soundwire/debugfs.c
354
debugfs_create_file("command", 0200, d, slave, &set_command_fops);
drivers/soundwire/debugfs.c
355
debugfs_create_file("command_type", 0200, d, slave, &set_command_type_fops);
drivers/soundwire/debugfs.c
356
debugfs_create_file("start_address", 0200, d, slave, &set_start_address_fops);
drivers/soundwire/debugfs.c
357
debugfs_create_file("num_bytes", 0200, d, slave, &set_num_bytes_fops);
drivers/soundwire/debugfs.c
358
debugfs_create_file("go", 0200, d, slave, &cmd_go_fops);
drivers/soundwire/debugfs.c
360
debugfs_create_file("read_buffer", 0400, d, slave, &read_buffer_fops);
drivers/soundwire/debugfs.c
364
slave->debugfs = d;
drivers/soundwire/debugfs.c
367
void sdw_slave_debugfs_exit(struct sdw_slave *slave)
drivers/soundwire/debugfs.c
369
debugfs_remove_recursive(slave->debugfs);
drivers/soundwire/debugfs.c
37
static ssize_t sdw_sprintf(struct sdw_slave *slave,
drivers/soundwire/debugfs.c
42
value = sdw_read_no_pm(slave, reg);
drivers/soundwire/debugfs.c
53
struct sdw_slave *slave = s_file->private;
drivers/soundwire/debugfs.c
61
ret = pm_runtime_get_sync(&slave->dev);
drivers/soundwire/debugfs.c
63
pm_runtime_put_noidle(&slave->dev);
drivers/soundwire/debugfs.c
72
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
76
ret += sdw_sprintf(slave, buf, ret, SDW_DP0_CHANNELEN);
drivers/soundwire/debugfs.c
78
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
82
ret += sdw_sprintf(slave, buf, ret,
drivers/soundwire/debugfs.c
86
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
91
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
93
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
95
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
97
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/debugfs.c
99
ret += sdw_sprintf(slave, buf, ret, i);
drivers/soundwire/generic_bandwidth_allocation.c
458
if (!is_clock_scaling_supported_by_slave(s_rt->slave))
drivers/soundwire/generic_bandwidth_allocation.c
478
slave_prop = &s_rt->slave->prop;
drivers/soundwire/generic_bandwidth_allocation.c
481
dev_dbg(&s_rt->slave->dev,
drivers/soundwire/generic_bandwidth_allocation.c
488
dev_dbg(&s_rt->slave->dev, "M lane %d is not connected\n", lane);
drivers/soundwire/generic_bandwidth_allocation.c
498
struct sdw_slave_prop *slave_prop = &s_rt->slave->prop;
drivers/soundwire/generic_bandwidth_allocation.c
525
dev_dbg(&s_rt->slave->dev, "M lane %d is used\n", m_lane);
drivers/soundwire/generic_bandwidth_allocation.c
621
slave_prop = &s_rt->slave->prop;
drivers/soundwire/generic_bandwidth_allocation.c
626
dev_dbg(&s_rt->slave->dev,
drivers/soundwire/intel_ace2x.c
24
static int sdw_slave_bpt_stream_add(struct sdw_slave *slave, struct sdw_stream_runtime *stream)
drivers/soundwire/intel_ace2x.c
275
ret1 = sdw_stream_remove_slave(slave, cdns->bus.bpt_stream);
drivers/soundwire/intel_ace2x.c
287
static void intel_ace2x_bpt_close_stream(struct sdw_intel *sdw, struct sdw_slave *slave,
drivers/soundwire/intel_ace2x.c
310
ret = sdw_stream_remove_slave(slave, cdns->bus.bpt_stream);
drivers/soundwire/intel_ace2x.c
320
static int intel_ace2x_bpt_send_async(struct sdw_intel *sdw, struct sdw_slave *slave,
drivers/soundwire/intel_ace2x.c
339
ret = intel_ace2x_bpt_open_stream(sdw, slave, msg);
drivers/soundwire/intel_ace2x.c
349
intel_ace2x_bpt_close_stream(sdw, slave, msg);
drivers/soundwire/intel_ace2x.c
358
intel_ace2x_bpt_close_stream(sdw, slave, msg);
drivers/soundwire/intel_ace2x.c
364
static int intel_ace2x_bpt_wait(struct sdw_intel *sdw, struct sdw_slave *slave,
drivers/soundwire/intel_ace2x.c
40
ret = sdw_stream_add_slave(slave, &sconfig, &pconfig, 1, stream);
drivers/soundwire/intel_ace2x.c
400
intel_ace2x_bpt_close_stream(sdw, slave, msg);
drivers/soundwire/intel_ace2x.c
42
dev_err(&slave->dev, "%s: failed: %d\n", __func__, ret);
drivers/soundwire/intel_ace2x.c
49
static int intel_ace2x_bpt_open_stream(struct sdw_intel *sdw, struct sdw_slave *slave,
drivers/soundwire/intel_ace2x.c
91
ret = sdw_slave_bpt_stream_add(slave, stream);
drivers/soundwire/intel_auxdevice.c
101
return sdw->link_res->hw_ops->bpt_wait(sdw, slave, msg);
drivers/soundwire/intel_auxdevice.c
122
struct sdw_slave *slave,
drivers/soundwire/intel_auxdevice.c
129
bool wake_capable = slave->prop.wake_capable || is_wake_capable(slave);
drivers/soundwire/intel_auxdevice.c
142
__func__, dev_num, slave->prop.wake_capable);
drivers/soundwire/intel_auxdevice.c
259
static int intel_get_device_num_ida(struct sdw_bus *bus, struct sdw_slave *slave)
drivers/soundwire/intel_auxdevice.c
263
if (slave->prop.wake_capable || is_wake_capable(slave))
drivers/soundwire/intel_auxdevice.c
268
bit = find_first_zero_bit(slave->bus->assigned, SDW_MAX_DEVICES);
drivers/soundwire/intel_auxdevice.c
275
static void intel_put_device_num_ida(struct sdw_bus *bus, struct sdw_slave *slave)
drivers/soundwire/intel_auxdevice.c
277
if (slave->prop.wake_capable || is_wake_capable(slave))
drivers/soundwire/intel_auxdevice.c
278
ida_free(&intel_peripheral_ida, slave->dev_num);
drivers/soundwire/intel_auxdevice.c
548
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/intel_auxdevice.c
550
if (!slave->probed) {
drivers/soundwire/intel_auxdevice.c
554
if (!slave->dev_num_sticky) {
drivers/soundwire/intel_auxdevice.c
73
static bool is_wake_capable(struct sdw_slave *slave)
drivers/soundwire/intel_auxdevice.c
78
if (slave->id.part_id == wake_capable_list[i].part_id &&
drivers/soundwire/intel_auxdevice.c
79
slave->id.mfg_id == wake_capable_list[i].mfg_id)
drivers/soundwire/intel_auxdevice.c
84
static int generic_bpt_send_async(struct sdw_bus *bus, struct sdw_slave *slave,
drivers/soundwire/intel_auxdevice.c
91
return sdw->link_res->hw_ops->bpt_send_async(sdw, slave, msg);
drivers/soundwire/intel_auxdevice.c
95
static int generic_bpt_wait(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg)
drivers/soundwire/intel_init.c
162
struct sdw_slave *slave;
drivers/soundwire/intel_init.c
263
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/intel_init.c
264
ctx->peripherals->array[i] = slave;
drivers/soundwire/irq.c
51
struct sdw_slave *slave = data;
drivers/soundwire/irq.c
53
irq_dispose_mapping(slave->irq);
drivers/soundwire/irq.c
56
void sdw_irq_create_mapping(struct sdw_slave *slave)
drivers/soundwire/irq.c
58
slave->irq = irq_create_mapping(slave->bus->domain, slave->index);
drivers/soundwire/irq.c
59
if (!slave->irq)
drivers/soundwire/irq.c
60
dev_warn(&slave->dev, "Failed to map IRQ\n");
drivers/soundwire/irq.c
62
devm_add_action_or_reset(&slave->dev, sdw_irq_dispose_mapping, slave);
drivers/soundwire/irq.h
18
void sdw_irq_create_mapping(struct sdw_slave *slave);
drivers/soundwire/irq.h
32
static inline void sdw_irq_create_mapping(struct sdw_slave *slave)
drivers/soundwire/mipi_disco.c
161
static int sdw_slave_read_dp0(struct sdw_slave *slave,
drivers/soundwire/mipi_disco.c
178
dp0->words = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
203
dp0->lane_list = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
219
static int sdw_slave_read_dpn(struct sdw_slave *slave,
drivers/soundwire/mipi_disco.c
240
node = device_get_named_child_node(&slave->dev, name);
drivers/soundwire/mipi_disco.c
242
dev_err(&slave->dev, "%s dpN not found\n", name);
drivers/soundwire/mipi_disco.c
254
dpn[i].words = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
297
dpn[i].channels = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
316
dpn[i].ch_combinations = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
348
dpn[i].lane_list = devm_kcalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
376
int sdw_slave_read_lane_mapping(struct sdw_slave *slave)
drivers/soundwire/mipi_disco.c
378
struct sdw_slave_prop *prop = &slave->prop;
drivers/soundwire/mipi_disco.c
379
struct device *dev = &slave->dev;
drivers/soundwire/mipi_disco.c
411
int sdw_slave_read_prop(struct sdw_slave *slave)
drivers/soundwire/mipi_disco.c
413
struct sdw_slave_prop *prop = &slave->prop;
drivers/soundwire/mipi_disco.c
414
struct device *dev = &slave->dev;
drivers/soundwire/mipi_disco.c
486
prop->dp0_prop = devm_kzalloc(&slave->dev,
drivers/soundwire/mipi_disco.c
494
sdw_slave_read_dp0(slave, port, prop->dp0_prop);
drivers/soundwire/mipi_disco.c
506
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
drivers/soundwire/mipi_disco.c
513
sdw_slave_read_dpn(slave, prop->src_dpn_prop, nval,
drivers/soundwire/mipi_disco.c
517
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
drivers/soundwire/mipi_disco.c
524
sdw_slave_read_dpn(slave, prop->sink_dpn_prop, nval,
drivers/soundwire/mipi_disco.c
527
return sdw_slave_read_lane_mapping(slave);
drivers/soundwire/qcom.c
1146
struct sdw_slave *slave;
drivers/soundwire/qcom.c
1164
slave = s_rt->slave;
drivers/soundwire/qcom.c
1166
m_port = slave->m_port_map[p_rt->num];
drivers/soundwire/qcom.c
1229
struct sdw_slave *slave;
drivers/soundwire/qcom.c
1265
slave = s_rt->slave;
drivers/soundwire/qcom.c
1267
m_port = slave->m_port_map[p_rt->num];
drivers/soundwire/qcom.c
619
struct sdw_slave *slave, int devnum)
drivers/soundwire/qcom.c
629
if (slave)
drivers/soundwire/qcom.c
630
slave->dev_num = devnum;
drivers/soundwire/qcom.c
640
struct sdw_slave *slave, *_s;
drivers/soundwire/qcom.c
670
list_for_each_entry_safe(slave, _s, &bus->slaves, node) {
drivers/soundwire/qcom.c
671
if (sdw_compare_devid(slave, id) == 0) {
drivers/soundwire/qcom.c
672
qcom_swrm_set_slave_dev_num(bus, slave, i);
drivers/soundwire/qcom.c
673
if (slave->prop.clk_stop_mode1)
drivers/soundwire/slave.c
102
sdw_slave_debugfs_init(slave);
drivers/soundwire/slave.c
14
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/slave.c
16
of_node_put(slave->dev.of_node);
drivers/soundwire/slave.c
17
mutex_destroy(&slave->sdw_dev_lock);
drivers/soundwire/slave.c
18
kfree(slave);
drivers/soundwire/slave.c
31
struct sdw_slave *slave;
drivers/soundwire/slave.c
35
slave = kzalloc_obj(*slave);
drivers/soundwire/slave.c
36
if (!slave)
drivers/soundwire/slave.c
40
memcpy(&slave->id, id, sizeof(*id));
drivers/soundwire/slave.c
41
slave->dev.parent = bus->dev;
drivers/soundwire/slave.c
42
slave->dev.fwnode = fwnode;
drivers/soundwire/slave.c
46
dev_set_name(&slave->dev, "sdw:%01x:%01x:%04x:%04x:%02x",
drivers/soundwire/slave.c
51
dev_set_name(&slave->dev, "sdw:%01x:%01x:%04x:%04x:%02x:%01x",
drivers/soundwire/slave.c
56
slave->dev.bus = &sdw_bus_type;
drivers/soundwire/slave.c
57
slave->dev.of_node = of_node_get(to_of_node(fwnode));
drivers/soundwire/slave.c
58
slave->dev.type = &sdw_slave_type;
drivers/soundwire/slave.c
59
slave->dev.groups = sdw_slave_status_attr_groups;
drivers/soundwire/slave.c
60
slave->bus = bus;
drivers/soundwire/slave.c
61
slave->status = SDW_SLAVE_UNATTACHED;
drivers/soundwire/slave.c
62
init_completion(&slave->enumeration_complete);
drivers/soundwire/slave.c
63
init_completion(&slave->initialization_complete);
drivers/soundwire/slave.c
64
slave->dev_num = 0;
drivers/soundwire/slave.c
65
slave->probed = false;
drivers/soundwire/slave.c
66
slave->first_interrupt_done = false;
drivers/soundwire/slave.c
67
mutex_init(&slave->sdw_dev_lock);
drivers/soundwire/slave.c
70
init_completion(&slave->port_ready[i]);
drivers/soundwire/slave.c
73
list_add_tail(&slave->node, &bus->slaves);
drivers/soundwire/slave.c
84
sdca_lookup_interface_revision(slave);
drivers/soundwire/slave.c
85
sdca_lookup_functions(slave);
drivers/soundwire/slave.c
87
ret = device_register(&slave->dev);
drivers/soundwire/slave.c
96
list_del(&slave->node);
drivers/soundwire/slave.c
98
put_device(&slave->dev);
drivers/soundwire/stream.c
1002
if (s_rt->slave != slave)
drivers/soundwire/stream.c
1013
static int sdw_slave_port_alloc(struct sdw_slave *slave,
drivers/soundwire/stream.c
1040
static int sdw_slave_port_config(struct sdw_slave *slave,
drivers/soundwire/stream.c
1056
ret = sdw_slave_port_is_valid_range(&slave->dev, port_config[i].num);
drivers/soundwire/stream.c
112
ret = sdw_write_no_pm(slave, addr3, wbuf);
drivers/soundwire/stream.c
1129
*sdw_slave_rt_alloc(struct sdw_slave *slave,
drivers/soundwire/stream.c
1139
s_rt->slave = slave;
drivers/soundwire/stream.c
1163
static struct sdw_slave_runtime *sdw_slave_rt_find(struct sdw_slave *slave,
drivers/soundwire/stream.c
1173
if (s_rt->slave == slave)
drivers/soundwire/stream.c
1188
static void sdw_slave_rt_free(struct sdw_slave *slave,
drivers/soundwire/stream.c
1193
s_rt = sdw_slave_rt_find(slave, stream);
drivers/soundwire/stream.c
122
ret = sdw_write_no_pm(slave, addr4, wbuf);
drivers/soundwire/stream.c
1314
sdw_slave_port_free(s_rt->slave, stream);
drivers/soundwire/stream.c
1315
sdw_slave_rt_free(s_rt->slave, stream);
drivers/soundwire/stream.c
135
struct sdw_slave_prop *slave_prop = &s_rt->slave->prop;
drivers/soundwire/stream.c
1380
struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
drivers/soundwire/stream.c
1389
dev_err(&slave->dev, "%s: port_num is zero\n", __func__);
drivers/soundwire/stream.c
1394
num_ports = hweight32(slave->prop.source_ports);
drivers/soundwire/stream.c
1395
dpn_prop = slave->prop.src_dpn_prop;
drivers/soundwire/stream.c
1397
num_ports = hweight32(slave->prop.sink_ports);
drivers/soundwire/stream.c
1398
dpn_prop = slave->prop.sink_dpn_prop;
drivers/soundwire/stream.c
142
if (s_rt->slave->is_mockup_device)
drivers/soundwire/stream.c
148
dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave, s_rt->direction,
drivers/soundwire/stream.c
180
ret = sdw_update_no_pm(s_rt->slave, addr1, 0xF, wbuf);
drivers/soundwire/stream.c
182
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
190
ret = sdw_write_no_pm(s_rt->slave, addr2, (p_params->bps - 1));
drivers/soundwire/stream.c
192
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
201
ret = sdw_write_no_pm(s_rt->slave, addr3, wbuf);
drivers/soundwire/stream.c
203
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
210
ret = sdw_write_no_pm(s_rt->slave, addr4, t_params->offset1);
drivers/soundwire/stream.c
2117
int sdw_stream_add_slave(struct sdw_slave *slave,
drivers/soundwire/stream.c
212
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
2130
mutex_lock(&slave->bus->bus_lock);
drivers/soundwire/stream.c
2136
m_rt = sdw_master_rt_find(slave->bus, stream);
drivers/soundwire/stream.c
2142
m_rt = sdw_master_rt_alloc(slave->bus, stream);
drivers/soundwire/stream.c
2145
dev_err(&slave->dev, "%s: Master runtime alloc failed for stream:%s: %d\n",
drivers/soundwire/stream.c
2150
dev_err(&slave->dev, "%s: Master runtime alloc failed for stream:%s\n",
drivers/soundwire/stream.c
2159
s_rt = sdw_slave_rt_find(slave, stream);
drivers/soundwire/stream.c
2161
s_rt = sdw_slave_rt_alloc(slave, m_rt);
drivers/soundwire/stream.c
2163
dev_err(&slave->dev, "Slave runtime alloc failed for stream:%s\n",
drivers/soundwire/stream.c
2173
ret = sdw_slave_port_alloc(slave, s_rt, num_ports);
drivers/soundwire/stream.c
2186
ret = sdw_config_stream(&slave->dev, stream, stream_config, true);
drivers/soundwire/stream.c
2190
ret = sdw_slave_port_config(slave, s_rt, port_config,
drivers/soundwire/stream.c
220
ret = sdw_write_no_pm(s_rt->slave, addr5, t_params->blk_grp_ctrl);
drivers/soundwire/stream.c
2213
sdw_slave_rt_free(slave, stream);
drivers/soundwire/stream.c
2215
mutex_unlock(&slave->bus->bus_lock);
drivers/soundwire/stream.c
222
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
2228
int sdw_stream_remove_slave(struct sdw_slave *slave,
drivers/soundwire/stream.c
2231
mutex_lock(&slave->bus->bus_lock);
drivers/soundwire/stream.c
2233
sdw_slave_port_free(slave, stream);
drivers/soundwire/stream.c
2234
sdw_slave_rt_free(slave, stream);
drivers/soundwire/stream.c
2236
mutex_unlock(&slave->bus->bus_lock);
drivers/soundwire/stream.c
231
ret = sdw_write_no_pm(s_rt->slave, addr6, t_params->lane_ctrl);
drivers/soundwire/stream.c
233
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
241
ret = _sdw_program_slave_port_params(bus, s_rt->slave,
drivers/soundwire/stream.c
244
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
336
ret = sdw_write_no_pm(s_rt->slave, addr, p_rt->ch_mask);
drivers/soundwire/stream.c
338
ret = sdw_write_no_pm(s_rt->slave, addr, 0x0);
drivers/soundwire/stream.c
341
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
420
struct sdw_slave *slave = s_rt->slave;
drivers/soundwire/stream.c
422
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/stream.c
424
if (slave->probed) {
drivers/soundwire/stream.c
425
struct device *dev = &slave->dev;
drivers/soundwire/stream.c
429
ret = drv->ops->port_prep(slave, &prep_ch, cmd);
drivers/soundwire/stream.c
436
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/stream.c
460
dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave, s_rt->direction, prep_ch.num);
drivers/soundwire/stream.c
471
struct sdw_dp0_prop *dp0_prop = s_rt->slave->prop.dp0_prop;
drivers/soundwire/stream.c
497
ret = sdw_configure_dpn_intr(s_rt->slave, p_rt->num, prep,
drivers/soundwire/stream.c
511
ret = sdw_write_no_pm(s_rt->slave, addr, p_rt->ch_mask);
drivers/soundwire/stream.c
513
ret = sdw_write_no_pm(s_rt->slave, addr, 0x0);
drivers/soundwire/stream.c
516
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
522
port_ready = &s_rt->slave->port_ready[prep_ch.num];
drivers/soundwire/stream.c
526
val = sdw_read_no_pm(s_rt->slave, SDW_DPN_PREPARESTATUS(p_rt->num));
drivers/soundwire/stream.c
529
dev_err(&s_rt->slave->dev,
drivers/soundwire/stream.c
540
ret = sdw_configure_dpn_intr(s_rt->slave, p_rt->num, prep,
drivers/soundwire/stream.c
619
struct sdw_slave *slave;
drivers/soundwire/stream.c
629
slave = s_rt->slave;
drivers/soundwire/stream.c
631
mutex_lock(&slave->sdw_dev_lock);
drivers/soundwire/stream.c
633
if (slave->probed) {
drivers/soundwire/stream.c
634
struct device *dev = &slave->dev;
drivers/soundwire/stream.c
638
ret = drv->ops->bus_config(slave, &bus->params);
drivers/soundwire/stream.c
64
struct sdw_slave *slave,
drivers/soundwire/stream.c
641
slave->dev_num);
drivers/soundwire/stream.c
642
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/stream.c
648
mutex_unlock(&slave->sdw_dev_lock);
drivers/soundwire/stream.c
664
struct sdw_slave *slave;
drivers/soundwire/stream.c
669
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/stream.c
670
if (!slave->dev_num_sticky)
drivers/soundwire/stream.c
672
if (!is_clock_scaling_supported_by_slave(slave)) {
drivers/soundwire/stream.c
673
dev_dbg(&slave->dev, "The Peripheral doesn't comply with SDCA\n");
drivers/soundwire/stream.c
684
list_for_each_entry(slave, &bus->slaves, node) {
drivers/soundwire/stream.c
688
if (!slave->dev_num_sticky)
drivers/soundwire/stream.c
690
scale_index = sdw_slave_get_scale_index(slave, &base);
drivers/soundwire/stream.c
694
ret = sdw_write_no_pm(slave, addr1, scale_index);
drivers/soundwire/stream.c
696
dev_err(&slave->dev, "SDW_SCP_BUSCLOCK_SCALE register write failed\n");
drivers/soundwire/stream.c
85
ret = sdw_write_no_pm(slave, addr1, t_params->offset2);
drivers/soundwire/stream.c
94
ret = sdw_write_no_pm(slave, addr2, t_params->blk_pkg_mode);
drivers/soundwire/stream.c
993
static void sdw_slave_port_free(struct sdw_slave *slave,
drivers/soundwire/sysfs_local.h
18
int sdw_slave_sysfs_dpn_init(struct sdw_slave *slave);
drivers/soundwire/sysfs_slave.c
100
return sdw_slave_modalias(slave, buf, 256);
drivers/soundwire/sysfs_slave.c
146
struct sdw_slave *slave = dev_to_sdw_dev(dev); \
drivers/soundwire/sysfs_slave.c
147
return sprintf(buf, format_string, slave->prop.dp0_prop->field);\
drivers/soundwire/sysfs_slave.c
160
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/sysfs_slave.c
164
for (i = 0; i < slave->prop.dp0_prop->num_words; i++)
drivers/soundwire/sysfs_slave.c
166
slave->prop.dp0_prop->words[i]);
drivers/soundwire/sysfs_slave.c
186
struct sdw_slave *slave = dev_to_sdw_dev(kobj_to_dev(kobj));
drivers/soundwire/sysfs_slave.c
188
if (slave->prop.dp0_prop)
drivers/soundwire/sysfs_slave.c
195
struct sdw_slave *slave = dev_to_sdw_dev(kobj_to_dev(kobj));
drivers/soundwire/sysfs_slave.c
197
if (slave->prop.dp0_prop)
drivers/soundwire/sysfs_slave.c
231
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/sysfs_slave.c
233
return sprintf(buf, "%s\n", slave_status[slave->status]);
drivers/soundwire/sysfs_slave.c
240
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/sysfs_slave.c
242
if (slave->status == SDW_SLAVE_UNATTACHED)
drivers/soundwire/sysfs_slave.c
245
return sprintf(buf, "%d", slave->dev_num);
drivers/soundwire/sysfs_slave.c
74
struct sdw_slave *slave = dev_to_sdw_dev(dev); \
drivers/soundwire/sysfs_slave.c
75
return sprintf(buf, format_string, slave->prop.field); \
drivers/soundwire/sysfs_slave.c
98
struct sdw_slave *slave = dev_to_sdw_dev(dev);
drivers/soundwire/sysfs_slave_dpn.c
113
static ssize_t field##_dpn_show(struct sdw_slave *slave, \
drivers/soundwire/sysfs_slave_dpn.c
127
dpn = slave->prop.src_dpn_prop; \
drivers/soundwire/sysfs_slave_dpn.c
128
mask = slave->prop.source_ports; \
drivers/soundwire/sysfs_slave_dpn.c
130
dpn = slave->prop.sink_dpn_prop; \
drivers/soundwire/sysfs_slave_dpn.c
131
mask = slave->prop.sink_ports; \
drivers/soundwire/sysfs_slave_dpn.c
152
struct sdw_slave *slave = dev_to_sdw_dev(dev); \
drivers/soundwire/sysfs_slave_dpn.c
156
return field##_dpn_show(slave, \
drivers/soundwire/sysfs_slave_dpn.c
280
int sdw_slave_sysfs_dpn_init(struct sdw_slave *slave)
drivers/soundwire/sysfs_slave_dpn.c
286
if (!slave->prop.source_ports && !slave->prop.sink_ports)
drivers/soundwire/sysfs_slave_dpn.c
289
mask = slave->prop.source_ports;
drivers/soundwire/sysfs_slave_dpn.c
291
ret = add_all_attributes(&slave->dev, i, 1);
drivers/soundwire/sysfs_slave_dpn.c
296
mask = slave->prop.sink_ports;
drivers/soundwire/sysfs_slave_dpn.c
298
ret = add_all_attributes(&slave->dev, i, 0);
drivers/soundwire/sysfs_slave_dpn.c
53
static ssize_t field##_dpn_show(struct sdw_slave *slave, \
drivers/soundwire/sysfs_slave_dpn.c
65
dpn = slave->prop.src_dpn_prop; \
drivers/soundwire/sysfs_slave_dpn.c
66
mask = slave->prop.source_ports; \
drivers/soundwire/sysfs_slave_dpn.c
68
dpn = slave->prop.sink_dpn_prop; \
drivers/soundwire/sysfs_slave_dpn.c
69
mask = slave->prop.sink_ports; \
drivers/soundwire/sysfs_slave_dpn.c
87
struct sdw_slave *slave = dev_to_sdw_dev(dev); \
drivers/soundwire/sysfs_slave_dpn.c
91
return field##_dpn_show(slave, \
drivers/spi/spi-fsi.c
92
rc = fsi_slave_read(fsi->slave, FSI_MBOX_ROOT_CTRL_8, &root_ctrl_8_be,
drivers/spi/spi-topcliff-pch.c
806
static bool pch_spi_filter(struct dma_chan *chan, void *slave)
drivers/spi/spi-topcliff-pch.c
808
struct pch_dma_slave *param = slave;
drivers/spi/spi.c
3128
static DEVICE_ATTR_RW(slave);
drivers/staging/vme_user/vme_user.c
297
struct vme_slave slave;
drivers/staging/vme_user/vme_user.c
370
memset(&slave, 0, sizeof(slave));
drivers/staging/vme_user/vme_user.c
376
&slave.enable, &slave.vme_addr,
drivers/staging/vme_user/vme_user.c
377
&slave.size, &pci_addr,
drivers/staging/vme_user/vme_user.c
378
&slave.aspace, &slave.cycle);
drivers/staging/vme_user/vme_user.c
380
copied = copy_to_user(argp, &slave,
drivers/staging/vme_user/vme_user.c
381
sizeof(slave));
drivers/staging/vme_user/vme_user.c
391
copied = copy_from_user(&slave, argp, sizeof(slave));
drivers/staging/vme_user/vme_user.c
401
slave.enable, slave.vme_addr, slave.size,
drivers/staging/vme_user/vme_user.c
402
image[minor].pci_buf, slave.aspace,
drivers/staging/vme_user/vme_user.c
403
slave.cycle);
drivers/tty/serial/8250/serial_cs.c
271
if (!info->slave)
drivers/tty/serial/8250/serial_cs.c
387
info->slave = 1;
drivers/tty/serial/8250/serial_cs.c
391
info->slave = 1;
drivers/tty/serial/8250/serial_cs.c
393
if (info->slave)
drivers/tty/serial/8250/serial_cs.c
85
int slave;
drivers/tty/serial/pch_uart.c
654
static bool filter(struct dma_chan *chan, void *slave)
drivers/tty/serial/pch_uart.c
656
struct pch_dma_slave *param = slave;
drivers/usb/renesas_usbhs/fifo.c
1233
struct sh_dmae_slave *slave = param;
drivers/usb/renesas_usbhs/fifo.c
1240
if (0 == slave->shdma_slave.slave_id)
drivers/usb/renesas_usbhs/fifo.c
1243
chan->private = slave;
include/drm/bridge/dw_mipi_dsi.h
85
void dw_mipi_dsi_set_slave(struct dw_mipi_dsi *dsi, struct dw_mipi_dsi *slave);
include/linux/dmaengine.h
340
struct device *slave;
include/linux/dmaengine.h
769
const char *slave;
include/linux/fsi.h
17
struct fsi_slave *slave;
include/linux/fsi.h
74
extern int fsi_slave_claim_range(struct fsi_slave *slave,
include/linux/fsi.h
76
extern void fsi_slave_release_range(struct fsi_slave *slave,
include/linux/fsi.h
78
extern int fsi_slave_read(struct fsi_slave *slave, uint32_t addr,
include/linux/fsi.h
80
extern int fsi_slave_write(struct fsi_slave *slave, uint32_t addr,
include/linux/hsi/ssi_protocol.h
21
struct hsi_client *ssip_slave_get_master(struct hsi_client *slave);
include/linux/mfd/db8500-prcmu.h
509
int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
include/linux/mfd/db8500-prcmu.h
510
int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size);
include/linux/mfd/db8500-prcmu.h
638
static inline int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size)
include/linux/mfd/db8500-prcmu.h
643
static inline int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size)
include/linux/mfd/dbx500-prcmu.h
258
int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size);
include/linux/mfd/dbx500-prcmu.h
259
int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size);
include/linux/mfd/dbx500-prcmu.h
260
int prcmu_abb_write_masked(u8 slave, u8 reg, u8 *value, u8 *mask, u8 size);
include/linux/mfd/dbx500-prcmu.h
408
static inline int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size)
include/linux/mfd/dbx500-prcmu.h
413
static inline int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size)
include/linux/mfd/dbx500-prcmu.h
418
static inline int prcmu_abb_write_masked(u8 slave, u8 reg, u8 *value, u8 *mask,
include/linux/mlx4/cmd.h
328
bool mlx4_get_slave_default_vlan(struct mlx4_dev *dev, int port, int slave,
include/linux/mlx4/device.h
1060
static inline int mlx4_is_guest_proxy(struct mlx4_dev *dev, int slave, u32 qpn)
include/linux/mlx4/device.h
1062
int guest_proxy_base = dev->phys_caps.base_proxy_sqpn + slave * 8;
include/linux/mlx4/device.h
1461
void mlx4_sync_pkey_table(struct mlx4_dev *dev, int slave, int port,
include/linux/mlx4/device.h
1466
int mlx4_is_slave_active(struct mlx4_dev *dev, int slave);
include/linux/mlx4/device.h
1467
int mlx4_gen_pkey_eqe(struct mlx4_dev *dev, int slave, u8 port);
include/linux/mlx4/device.h
1468
int mlx4_gen_guid_change_eqe(struct mlx4_dev *dev, int slave, u8 port);
include/linux/mlx4/device.h
1470
int mlx4_gen_port_state_change_eqe(struct mlx4_dev *dev, int slave, u8 port, u8 port_subtype_change);
include/linux/mlx4/device.h
1471
enum slave_port_state mlx4_get_slave_port_state(struct mlx4_dev *dev, int slave, u8 port);
include/linux/mlx4/device.h
1472
int set_and_calc_slave_port_state(struct mlx4_dev *dev, int slave, u8 port, int event, enum slave_port_gen_event *gen_event);
include/linux/mlx4/device.h
1474
void mlx4_put_slave_node_guid(struct mlx4_dev *dev, int slave, __be64 guid);
include/linux/mlx4/device.h
1475
__be64 mlx4_get_slave_node_guid(struct mlx4_dev *dev, int slave);
include/linux/mlx4/device.h
1491
struct mlx4_active_ports mlx4_get_active_ports(struct mlx4_dev *dev, int slave);
include/linux/mlx4/device.h
1496
int mlx4_slave_convert_port(struct mlx4_dev *dev, int slave, int port);
include/linux/mlx4/device.h
1512
int mlx4_phys_to_slave_port(struct mlx4_dev *dev, int slave, int port);
include/linux/mlx4/device.h
1514
int mlx4_get_base_gid_ix(struct mlx4_dev *dev, int slave, int port);
include/linux/mlx4/device.h
1520
int mlx4_vf_smi_enabled(struct mlx4_dev *dev, int slave, int port);
include/linux/mlx4/device.h
1521
int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port);
include/linux/mlx4/device.h
1522
int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port,
include/linux/mlx5/driver.h
1158
struct net_device *slave);
include/linux/netdevice.h
3313
#define for_each_netdev_in_bond_rcu(bond, slave) \
include/linux/netdevice.h
3314
for_each_netdev_rcu(dev_net_rcu(bond), slave) \
include/linux/netdevice.h
3315
if (netdev_master_upper_dev_get_rcu(slave) == (bond))
include/linux/netdevice.h
5229
ifslave slave;
include/linux/raspberrypi/vchiq_core.h
331
struct vchiq_shared_state slave;
include/linux/sh_dma.h
72
const struct sh_dmae_slave_config *slave;
include/linux/soundwire/sdw.h
1072
int sdw_compare_devid(struct sdw_slave *slave, struct sdw_slave_id id);
include/linux/soundwire/sdw.h
1074
bool is_clock_scaling_supported_by_slave(struct sdw_slave *slave);
include/linux/soundwire/sdw.h
1076
int sdw_bpt_send_async(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
include/linux/soundwire/sdw.h
1077
int sdw_bpt_wait(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
include/linux/soundwire/sdw.h
1078
int sdw_bpt_send_sync(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
include/linux/soundwire/sdw.h
1082
int sdw_stream_add_slave(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
1087
int sdw_stream_remove_slave(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
1094
int sdw_slave_get_scale_index(struct sdw_slave *slave, u8 *base);
include/linux/soundwire/sdw.h
1097
int sdw_read(struct sdw_slave *slave, u32 addr);
include/linux/soundwire/sdw.h
1098
int sdw_write(struct sdw_slave *slave, u32 addr, u8 value);
include/linux/soundwire/sdw.h
1099
int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value);
include/linux/soundwire/sdw.h
1100
int sdw_read_no_pm(struct sdw_slave *slave, u32 addr);
include/linux/soundwire/sdw.h
1101
int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val);
include/linux/soundwire/sdw.h
1102
int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val);
include/linux/soundwire/sdw.h
1103
int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val);
include/linux/soundwire/sdw.h
1104
int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val);
include/linux/soundwire/sdw.h
1105
int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val);
include/linux/soundwire/sdw.h
1106
int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val);
include/linux/soundwire/sdw.h
1110
static inline int sdw_stream_add_slave(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
1120
static inline int sdw_stream_remove_slave(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
1140
static inline int sdw_read(struct sdw_slave *slave, u32 addr)
include/linux/soundwire/sdw.h
1146
static inline int sdw_write(struct sdw_slave *slave, u32 addr, u8 value)
include/linux/soundwire/sdw.h
1152
static inline int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value)
include/linux/soundwire/sdw.h
1158
static inline int sdw_read_no_pm(struct sdw_slave *slave, u32 addr)
include/linux/soundwire/sdw.h
1164
static inline int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val)
include/linux/soundwire/sdw.h
1170
static inline int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val)
include/linux/soundwire/sdw.h
1176
static inline int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val)
include/linux/soundwire/sdw.h
1182
static inline int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val)
include/linux/soundwire/sdw.h
1188
static inline int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val)
include/linux/soundwire/sdw.h
1194
static inline int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val)
include/linux/soundwire/sdw.h
461
int sdw_slave_read_prop(struct sdw_slave *slave);
include/linux/soundwire/sdw.h
462
int sdw_slave_read_lane_mapping(struct sdw_slave *slave);
include/linux/soundwire/sdw.h
618
int (*interrupt_callback)(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
620
int (*update_status)(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
622
int (*bus_config)(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
624
int (*port_prep)(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
627
int (*clk_stop)(struct sdw_slave *slave,
include/linux/soundwire/sdw.h
871
int (*get_device_num)(struct sdw_bus *bus, struct sdw_slave *slave);
include/linux/soundwire/sdw.h
872
void (*put_device_num)(struct sdw_bus *bus, struct sdw_slave *slave);
include/linux/soundwire/sdw.h
874
struct sdw_slave *slave,
include/linux/soundwire/sdw.h
876
int (*bpt_send_async)(struct sdw_bus *bus, struct sdw_slave *slave,
include/linux/soundwire/sdw.h
878
int (*bpt_wait)(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
include/linux/soundwire/sdw_intel.h
445
int (*bpt_send_async)(struct sdw_intel *sdw, struct sdw_slave *slave,
include/linux/soundwire/sdw_intel.h
447
int (*bpt_wait)(struct sdw_intel *sdw, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
include/linux/spi/spi.h
636
bool slave;
include/net/ax25.h
209
char slave; /* slave_mode? */
include/net/bond_3ad.h
158
struct slave;
include/net/bond_3ad.h
194
struct slave *slave; /* pointer to the bond slave that this aggregator belongs to */
include/net/bond_3ad.h
245
struct slave *slave; /* pointer to the bond slave that this port belongs to */
include/net/bond_3ad.h
264
#define SLAVE_AD_INFO(slave) ((slave)->ad_info)
include/net/bond_3ad.h
299
void bond_3ad_bind_slave(struct slave *slave);
include/net/bond_3ad.h
300
void bond_3ad_unbind_slave(struct slave *slave);
include/net/bond_3ad.h
303
void bond_3ad_adapter_speed_duplex_changed(struct slave *slave);
include/net/bond_3ad.h
304
void bond_3ad_handle_link_change(struct slave *slave, char link);
include/net/bond_3ad.h
309
struct slave *slave);
include/net/bond_alb.h
111
struct slave *slave; /* the slave assigned to this client */
include/net/bond_alb.h
12
struct slave;
include/net/bond_alb.h
138
struct slave *rx_slave;/* last slave to xmit from */
include/net/bond_alb.h
15
#define SLAVE_TLB_INFO(slave) ((slave)->tlb_info)
include/net/bond_alb.h
155
int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
include/net/bond_alb.h
156
void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave);
include/net/bond_alb.h
157
void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link);
include/net/bond_alb.h
158
void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave);
include/net/bond_alb.h
161
struct slave *bond_xmit_alb_slave_get(struct bonding *bond,
include/net/bond_alb.h
163
struct slave *bond_xmit_tlb_slave_get(struct bonding *bond,
include/net/bond_alb.h
56
struct slave *tx_slave; /* A pointer to slave used for transmitting
include/net/bond_options.h
166
void bond_slave_ns_maddrs_add(struct bonding *bond, struct slave *slave);
include/net/bond_options.h
167
void bond_slave_ns_maddrs_del(struct bonding *bond, struct slave *slave);
include/net/bonding.h
193
static inline struct slave *to_slave(struct kobject *kobj)
include/net/bonding.h
195
return container_of(kobj, struct slave, kobj);
include/net/bonding.h
201
struct slave *arr[];
include/net/bonding.h
220
struct slave __rcu *curr_active_slave;
include/net/bonding.h
221
struct slave __rcu *current_arp_slave;
include/net/bonding.h
222
struct slave __rcu *primary_slave;
include/net/bonding.h
229
struct slave *);
include/net/bonding.h
272
((struct slave *) rcu_dereference(dev->rx_handler_data))
include/net/bonding.h
275
((struct slave *) rtnl_dereference(dev->rx_handler_data))
include/net/bonding.h
277
void bond_queue_slave_event(struct slave *slave);
include/net/bonding.h
278
void bond_lower_state_changed(struct slave *slave);
include/net/bonding.h
290
static inline struct slave *bond_get_slave_by_dev(struct bonding *bond,
include/net/bonding.h
296
static inline struct bonding *bond_get_bond_by_slave(struct slave *slave)
include/net/bonding.h
298
return slave->bond;
include/net/bonding.h
357
struct slave *slave = rcu_dereference_rtnl(bond->curr_active_slave);
include/net/bonding.h
359
return bond_uses_primary(bond) && slave ? slave->dev : NULL;
include/net/bonding.h
362
static inline bool bond_slave_is_up(struct slave *slave)
include/net/bonding.h
364
return netif_running(slave->dev) && netif_carrier_ok(slave->dev);
include/net/bonding.h
367
static inline void bond_set_active_slave(struct slave *slave)
include/net/bonding.h
369
if (slave->backup) {
include/net/bonding.h
370
slave->backup = 0;
include/net/bonding.h
371
bond_queue_slave_event(slave);
include/net/bonding.h
372
bond_lower_state_changed(slave);
include/net/bonding.h
376
static inline void bond_set_backup_slave(struct slave *slave)
include/net/bonding.h
378
if (!slave->backup) {
include/net/bonding.h
379
slave->backup = 1;
include/net/bonding.h
380
bond_queue_slave_event(slave);
include/net/bonding.h
381
bond_lower_state_changed(slave);
include/net/bonding.h
385
static inline void bond_set_slave_state(struct slave *slave,
include/net/bonding.h
388
if (slave->backup == slave_state)
include/net/bonding.h
391
slave->backup = slave_state;
include/net/bonding.h
393
bond_lower_state_changed(slave);
include/net/bonding.h
394
bond_queue_slave_event(slave);
include/net/bonding.h
395
slave->should_notify = 0;
include/net/bonding.h
397
if (slave->should_notify)
include/net/bonding.h
398
slave->should_notify = 0;
include/net/bonding.h
400
slave->should_notify = 1;
include/net/bonding.h
407
struct slave *tmp;
include/net/bonding.h
420
struct slave *tmp;
include/net/bonding.h
430
static inline int bond_slave_state(struct slave *slave)
include/net/bonding.h
432
return slave->backup;
include/net/bonding.h
435
static inline bool bond_is_active_slave(struct slave *slave)
include/net/bonding.h
437
return !bond_slave_state(slave);
include/net/bonding.h
440
static inline bool bond_slave_can_tx(struct slave *slave)
include/net/bonding.h
442
return bond_slave_is_up(slave) && slave->link == BOND_LINK_UP &&
include/net/bonding.h
443
bond_is_active_slave(slave);
include/net/bonding.h
448
struct slave *slave;
include/net/bonding.h
452
slave = bond_slave_get_rcu(slave_dev);
include/net/bonding.h
453
active = bond_is_active_slave(slave);
include/net/bonding.h
495
struct slave *slave)
include/net/bonding.h
497
return bond->params.arp_validate & (1 << bond_slave_state(slave));
include/net/bonding.h
523
struct slave *slave)
include/net/bonding.h
525
unsigned long tmp, ret = READ_ONCE(slave->target_last_arp_rx[0]);
include/net/bonding.h
529
tmp = READ_ONCE(slave->target_last_arp_rx[i]);
include/net/bonding.h
537
struct slave *slave)
include/net/bonding.h
540
return slave_oldest_target_arp_rx(bond, slave);
include/net/bonding.h
542
return READ_ONCE(slave->last_rx);
include/net/bonding.h
545
static inline void slave_update_last_tx(struct slave *slave)
include/net/bonding.h
547
WRITE_ONCE(slave->last_tx, jiffies);
include/net/bonding.h
550
static inline unsigned long slave_last_tx(struct slave *slave)
include/net/bonding.h
552
return READ_ONCE(slave->last_tx);
include/net/bonding.h
556
static inline netdev_tx_t bond_netpoll_send_skb(const struct slave *slave,
include/net/bonding.h
559
return netpoll_send_skb(slave->np, skb);
include/net/bonding.h
562
static inline netdev_tx_t bond_netpoll_send_skb(const struct slave *slave,
include/net/bonding.h
570
static inline void bond_set_slave_inactive_flags(struct slave *slave,
include/net/bonding.h
573
if (!bond_is_lb(slave->bond))
include/net/bonding.h
574
bond_set_slave_state(slave, BOND_STATE_BACKUP, notify);
include/net/bonding.h
575
if (!slave->bond->params.all_slaves_active)
include/net/bonding.h
576
slave->inactive = 1;
include/net/bonding.h
577
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD)
include/net/bonding.h
578
slave->rx_disabled = 1;
include/net/bonding.h
581
static inline void bond_set_slave_tx_disabled_flags(struct slave *slave,
include/net/bonding.h
584
bond_set_slave_state(slave, BOND_STATE_BACKUP, notify);
include/net/bonding.h
587
static inline void bond_set_slave_active_flags(struct slave *slave,
include/net/bonding.h
590
bond_set_slave_state(slave, BOND_STATE_ACTIVE, notify);
include/net/bonding.h
591
slave->inactive = 0;
include/net/bonding.h
592
if (BOND_MODE(slave->bond) == BOND_MODE_8023AD)
include/net/bonding.h
593
slave->rx_disabled = 0;
include/net/bonding.h
596
static inline void bond_set_slave_rx_enabled_flags(struct slave *slave,
include/net/bonding.h
599
slave->rx_disabled = 0;
include/net/bonding.h
602
static inline bool bond_is_slave_inactive(struct slave *slave)
include/net/bonding.h
604
return slave->inactive;
include/net/bonding.h
607
static inline bool bond_is_slave_rx_disabled(struct slave *slave)
include/net/bonding.h
609
return slave->rx_disabled;
include/net/bonding.h
612
static inline void bond_propose_link_state(struct slave *slave, int state)
include/net/bonding.h
614
slave->link_new_state = state;
include/net/bonding.h
617
static inline void bond_commit_link_state(struct slave *slave, bool notify)
include/net/bonding.h
619
if (slave->link_new_state == BOND_LINK_NOCHANGE)
include/net/bonding.h
622
slave->link = slave->link_new_state;
include/net/bonding.h
624
bond_queue_slave_event(slave);
include/net/bonding.h
625
bond_lower_state_changed(slave);
include/net/bonding.h
626
slave->should_notify_link = 0;
include/net/bonding.h
628
if (slave->should_notify_link)
include/net/bonding.h
629
slave->should_notify_link = 0;
include/net/bonding.h
631
slave->should_notify_link = 1;
include/net/bonding.h
635
static inline void bond_set_slave_link_state(struct slave *slave, int state,
include/net/bonding.h
638
bond_propose_link_state(slave, state);
include/net/bonding.h
639
bond_commit_link_state(slave, notify);
include/net/bonding.h
645
struct slave *tmp;
include/net/bonding.h
680
int bond_rcv_validate(const struct sk_buff *skb, struct bonding *bond, struct slave *slave);
include/net/bonding.h
686
int bond_sysfs_slave_add(struct slave *slave);
include/net/bonding.h
687
void bond_sysfs_slave_del(struct slave *slave);
include/net/bonding.h
695
void bond_change_active_slave(struct bonding *bond, struct slave *new_active);
include/net/bonding.h
713
int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave);
include/net/bonding.h
742
static inline struct slave *bond_slave_has_mac(struct bonding *bond,
include/net/bonding.h
746
struct slave *tmp;
include/net/bonding.h
759
struct slave *tmp;
include/sound/designware_i2s.h
45
bool (*filter)(struct dma_chan *chan, void *slave);
include/sound/designware_i2s.h
55
bool (*filter)(struct dma_chan *chan, void *slave);
include/sound/sdca.h
61
void sdca_lookup_functions(struct sdw_slave *slave);
include/sound/sdca.h
62
void sdca_lookup_swft(struct sdw_slave *slave);
include/sound/sdca.h
63
void sdca_lookup_interface_revision(struct sdw_slave *slave);
include/sound/sdca.h
64
bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk);
include/sound/sdca.h
65
int sdca_dev_register_functions(struct sdw_slave *slave);
include/sound/sdca.h
66
void sdca_dev_unregister_functions(struct sdw_slave *slave);
include/sound/sdca.h
70
static inline void sdca_lookup_functions(struct sdw_slave *slave) {}
include/sound/sdca.h
71
static inline void sdca_lookup_swft(struct sdw_slave *slave) {}
include/sound/sdca.h
72
static inline void sdca_lookup_interface_revision(struct sdw_slave *slave) {}
include/sound/sdca.h
73
static inline bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk)
include/sound/sdca.h
78
static inline int sdca_dev_register_functions(struct sdw_slave *slave)
include/sound/sdca.h
83
static inline void sdca_dev_unregister_functions(struct sdw_slave *slave) {}
include/sound/spear_spdif.h
12
bool (*filter)(struct dma_chan *chan, void *slave);
include/trace/events/fsi.h
157
TP_PROTO(const struct fsi_slave *slave),
include/trace/events/fsi.h
158
TP_ARGS(slave),
include/trace/events/fsi.h
169
__entry->master_idx = slave->master->idx;
include/trace/events/fsi.h
170
__entry->master_n_links = slave->master->n_links;
include/trace/events/fsi.h
171
__entry->idx = slave->cdev_idx;
include/trace/events/fsi.h
172
__entry->link = slave->link;
include/trace/events/fsi.h
173
__entry->chip_id = slave->chip_id;
include/trace/events/fsi.h
174
__entry->cfam_id = slave->cfam_id;
include/trace/events/fsi.h
175
__entry->size = slave->size;
include/trace/events/fsi.h
224
__entry->master_idx = dev->slave->master->idx;
include/trace/events/fsi.h
225
__entry->link = dev->slave->link;
kernel/sched/fair.c
7323
unsigned int slave = p->wakee_flips;
kernel/sched/fair.c
7326
if (master < slave)
kernel/sched/fair.c
7327
swap(master, slave);
kernel/sched/fair.c
7328
if (slave < factor || master < slave * factor)
net/ax25/af_ax25.c
1320
if (ax25->ax25_dev->dama.slave)
net/ax25/af_ax25.c
400
if (ax25_dev->dama.slave && ax25->ax25_dev->values[AX25_VALUES_PROTOCOL] == AX25_PROTO_DAMA_SLAVE)
net/ax25/ax25_ds_subr.c
175
if (ax25_dev->dama.slave == 0)
net/ax25/ax25_ds_subr.c
178
ax25_dev->dama.slave = 1;
net/ax25/ax25_ds_subr.c
187
if (ax25_dev->dama.slave && !ax25_check_dama_slave(ax25_dev)) {
net/ax25/ax25_ds_subr.c
189
ax25_dev->dama.slave = 0;
net/ax25/ax25_ds_timer.c
70
if (ax25_dev == NULL || !ax25_dev->dama.slave)
net/ax25/ax25_in.c
172
if (dama || ax25->ax25_dev->dama.slave)
net/ax25/ax25_out.c
211
if (!ax25->ax25_dev->dama.slave) ax25_kick(ax25);
net/ax25/ax25_out.c
93
if (ax25_dev->dama.slave)
net/ax25/ax25_timer.c
137
if (ax25->ax25_dev->dama.slave)
net/ax25/ax25_timer.c
158
if (!ax25->ax25_dev->dama.slave)
net/ax25/ax25_timer.c
177
if (!ax25->ax25_dev->dama.slave)
net/ax25/ax25_timer.c
196
if (ax25->ax25_dev->dama.slave)
net/ax25/ax25_timer.c
217
if (ax25->ax25_dev->dama.slave)
net/core/filter.c
4395
struct net_device *master, *slave;
net/core/filter.c
4398
slave = master->netdev_ops->ndo_xdp_get_xmit_slave(master, xdp);
net/core/filter.c
4399
if (slave && slave != xdp->rxq->dev) {
net/core/filter.c
4405
ri->tgt_index = slave->ifindex;
net/hsr/hsr_device.c
720
int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2],
net/hsr/hsr_device.c
734
eth_hw_addr_set(hsr_dev, slave[0]->dev_addr);
net/hsr/hsr_device.c
749
slave[1]->dev_addr);
net/hsr/hsr_device.c
776
if ((slave[0]->features & NETIF_F_HW_HSR_FWD) &&
net/hsr/hsr_device.c
777
(slave[1]->features & NETIF_F_HW_HSR_FWD))
net/hsr/hsr_device.c
780
if ((slave[0]->features & NETIF_F_HW_VLAN_CTAG_FILTER) &&
net/hsr/hsr_device.c
781
(slave[1]->features & NETIF_F_HW_VLAN_CTAG_FILTER))
net/hsr/hsr_device.c
790
res = hsr_add_port(hsr, slave[0], HSR_PT_SLAVE_A, extack);
net/hsr/hsr_device.c
794
res = hsr_add_port(hsr, slave[1], HSR_PT_SLAVE_B, extack);
net/hsr/hsr_device.c
799
eth_hw_addr_set(slave[1], slave[0]->dev_addr);
net/hsr/hsr_device.c
800
call_netdevice_notifiers(NETDEV_CHANGEADDR, slave[1]);
net/hsr/hsr_device.h
18
int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2],
net/sched/sch_teql.c
299
struct net_device *slave = qdisc_dev(q);
net/sched/sch_teql.c
300
struct netdev_queue *slave_txq = netdev_get_tx_queue(slave, 0);
net/sched/sch_teql.c
304
if (netif_xmit_stopped(netdev_get_tx_queue(slave, subq)) ||
net/sched/sch_teql.c
305
!netif_running(slave)) {
net/sched/sch_teql.c
310
switch (teql_resolve(skb, skb_res, slave, slave_txq)) {
net/sched/sch_teql.c
315
skb->dev = slave;
net/sched/sch_teql.c
317
netdev_start_xmit(skb, slave, slave_txq, false) ==
net/sched/sch_teql.c
372
struct net_device *slave = qdisc_dev(q);
net/sched/sch_teql.c
374
if (slave == NULL)
net/sched/sch_teql.c
377
if (slave->mtu < mtu)
net/sched/sch_teql.c
378
mtu = slave->mtu;
net/sched/sch_teql.c
379
if (slave->hard_header_len > LL_MAX_HEADER)
net/sched/sch_teql.c
386
if (!(slave->flags&IFF_POINTOPOINT))
net/sched/sch_teql.c
388
if (!(slave->flags&IFF_BROADCAST))
net/sched/sch_teql.c
390
if (!(slave->flags&IFF_MULTICAST))
sound/core/timer.c
230
struct snd_timer_instance *slave)
sound/core/timer.c
232
if (slave->slave_class != master->slave_class ||
sound/core/timer.c
233
slave->slave_id != master->slave_id)
sound/core/timer.c
237
list_move_tail(&slave->open_list, &master->slave_list_head);
sound/core/timer.c
241
slave->master = master;
sound/core/timer.c
242
slave->timer = master->timer;
sound/core/timer.c
243
if (slave->flags & SNDRV_TIMER_IFLG_RUNNING)
sound/core/timer.c
244
list_add_tail(&slave->active_list, &master->slave_active_head);
sound/core/timer.c
254
static int snd_timer_check_slave(struct snd_timer_instance *slave)
sound/core/timer.c
263
err = check_matching_master_slave(master, slave);
sound/core/timer.c
280
struct snd_timer_instance *slave, *tmp;
sound/core/timer.c
284
list_for_each_entry_safe(slave, tmp, &snd_timer_slave_list, open_list) {
sound/core/timer.c
285
err = check_matching_master_slave(master, slave);
sound/core/timer.c
399
struct snd_timer_instance *slave, *tmp;
sound/core/timer.c
404
list_for_each_entry_safe(slave, tmp, &timeri->slave_list_head, open_list) {
sound/core/timer.c
405
list_move_tail(&slave->open_list, &snd_timer_slave_list);
sound/core/timer.c
407
slave->master = NULL;
sound/core/timer.c
408
slave->timer = NULL;
sound/core/timer.c
409
list_del_init(&slave->ack_list);
sound/core/timer.c
410
list_del_init(&slave->active_list);
sound/i2c/i2c.c
36
struct snd_i2c_bus *slave;
sound/i2c/i2c.c
49
slave = snd_i2c_slave_bus(bus->buses.next);
sound/i2c/i2c.c
50
snd_device_free(bus->card, slave);
sound/soc/codecs/cs42l42-sdw.c
129
static int cs42l42_sdw_port_prep(struct sdw_slave *slave,
sound/soc/codecs/cs42l42-sdw.c
133
struct cs42l42_private *cs42l42 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/max98363.c
101
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/max98363.c
110
slave->unattach_request = 0;
sound/soc/codecs/max98363.c
119
static int max98363_read_prop(struct sdw_slave *slave)
sound/soc/codecs/max98363.c
121
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/max98363.c
137
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/max98363.c
157
static int max98363_io_init(struct sdw_slave *slave)
sound/soc/codecs/max98363.c
159
struct device *dev = &slave->dev;
sound/soc/codecs/max98363.c
220
if (!max98363->slave)
sound/soc/codecs/max98363.c
241
ret = sdw_stream_add_slave(max98363->slave, &stream_config,
sound/soc/codecs/max98363.c
262
if (!max98363->slave)
sound/soc/codecs/max98363.c
265
sdw_stream_remove_slave(max98363->slave, stream);
sound/soc/codecs/max98363.c
298
static int max98363_update_status(struct sdw_slave *slave,
sound/soc/codecs/max98363.c
301
struct max98363_priv *max98363 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/max98363.c
313
return max98363_io_init(slave);
sound/soc/codecs/max98363.c
386
static int max98363_init(struct sdw_slave *slave, struct regmap *regmap)
sound/soc/codecs/max98363.c
390
struct device *dev = &slave->dev;
sound/soc/codecs/max98363.c
399
max98363->slave = slave;
sound/soc/codecs/max98363.c
432
static int max98363_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/max98363.c
438
regmap = devm_regmap_init_sdw(slave, &max98363_sdw_regmap);
sound/soc/codecs/max98363.c
442
return max98363_init(slave, regmap);
sound/soc/codecs/max98363.c
91
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/max98363.c
98
if (!slave->unattach_request)
sound/soc/codecs/max98363.h
32
struct sdw_slave *slave;
sound/soc/codecs/max98373-sdw.c
267
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/max98373-sdw.c
274
if (!slave->unattach_request)
sound/soc/codecs/max98373-sdw.c
277
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/max98373-sdw.c
281
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/max98373-sdw.c
287
slave->unattach_request = 0;
sound/soc/codecs/max98373-sdw.c
299
static int max98373_read_prop(struct sdw_slave *slave)
sound/soc/codecs/max98373-sdw.c
301
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/max98373-sdw.c
317
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/max98373-sdw.c
336
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/max98373-sdw.c
359
static int max98373_io_init(struct sdw_slave *slave)
sound/soc/codecs/max98373-sdw.c
361
struct device *dev = &slave->dev;
sound/soc/codecs/max98373-sdw.c
466
static int max98373_clock_calculate(struct sdw_slave *slave,
sound/soc/codecs/max98373-sdw.c
481
dev_err(&slave->dev, "Requested clock not found. (clk_freq = %d)\n",
sound/soc/codecs/max98373-sdw.c
486
static int max98373_clock_config(struct sdw_slave *slave,
sound/soc/codecs/max98373-sdw.c
489
struct device *dev = &slave->dev;
sound/soc/codecs/max98373-sdw.c
500
value = max98373_clock_calculate(slave, clk_freq);
sound/soc/codecs/max98373-sdw.c
531
if (!max98373->slave)
sound/soc/codecs/max98373-sdw.c
551
ret = sdw_stream_add_slave(max98373->slave, &stream_config,
sound/soc/codecs/max98373-sdw.c
654
if (!max98373->slave)
sound/soc/codecs/max98373-sdw.c
657
sdw_stream_remove_slave(max98373->slave, sdw_stream);
sound/soc/codecs/max98373-sdw.c
728
static int max98373_init(struct sdw_slave *slave, struct regmap *regmap)
sound/soc/codecs/max98373-sdw.c
733
struct device *dev = &slave->dev;
sound/soc/codecs/max98373-sdw.c
742
max98373->slave = slave;
sound/soc/codecs/max98373-sdw.c
789
static int max98373_update_status(struct sdw_slave *slave,
sound/soc/codecs/max98373-sdw.c
792
struct max98373_priv *max98373 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/max98373-sdw.c
804
return max98373_io_init(slave);
sound/soc/codecs/max98373-sdw.c
807
static int max98373_bus_config(struct sdw_slave *slave,
sound/soc/codecs/max98373-sdw.c
812
ret = max98373_clock_config(slave, params);
sound/soc/codecs/max98373-sdw.c
814
dev_err(&slave->dev, "Invalid clk config");
sound/soc/codecs/max98373-sdw.c
829
static int max98373_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/max98373-sdw.c
835
regmap = devm_regmap_init_sdw(slave, &max98373_sdw_regmap);
sound/soc/codecs/max98373-sdw.c
839
return max98373_init(slave, regmap);
sound/soc/codecs/max98373-sdw.c
842
static void max98373_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/max98373-sdw.c
844
pm_runtime_disable(&slave->dev);
sound/soc/codecs/max98373.h
227
struct sdw_slave *slave;
sound/soc/codecs/pm4125-sdw.c
85
static int pm4125_interrupt_callback(struct sdw_slave *slave, struct sdw_slave_intr_status *status)
sound/soc/codecs/pm4125-sdw.c
87
struct pm4125_sdw_priv *priv = dev_get_drvdata(&slave->dev);
sound/soc/codecs/pm4125-sdw.c
89
return wcd_interrupt_callback(slave, priv->slave_irq, PM4125_DIG_SWR_INTR_STATUS_0,
sound/soc/codecs/rt1017-sdca-sdw.c
257
static int rt1017_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt1017-sdca-sdw.c
259
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt1017-sdca-sdw.c
279
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1017-sdca-sdw.c
297
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1017-sdca-sdw.c
319
static int rt1017_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt1017-sdca-sdw.c
335
pm_runtime_set_autosuspend_delay(&slave->dev, 3000);
sound/soc/codecs/rt1017-sdca-sdw.c
336
pm_runtime_use_autosuspend(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
339
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
342
pm_runtime_mark_last_busy(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
344
pm_runtime_enable(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
347
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
365
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
367
dev_dbg(&slave->dev, "hw_init complete\n");
sound/soc/codecs/rt1017-sdca-sdw.c
371
static int rt1017_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt1017-sdca-sdw.c
374
struct rt1017_sdca_priv *rt1017 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
387
return rt1017_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt1017-sdca-sdw.c
703
struct sdw_slave *slave)
sound/soc/codecs/rt1017-sdca-sdw.c
713
rt1017->sdw_slave = slave;
sound/soc/codecs/rt1017-sdca-sdw.c
731
static int rt1017_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt1017-sdca-sdw.c
737
regmap = devm_regmap_init_sdw(slave, &rt1017_sdca_regmap);
sound/soc/codecs/rt1017-sdca-sdw.c
741
return rt1017_sdca_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt1017-sdca-sdw.c
744
static void rt1017_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt1017-sdca-sdw.c
746
struct rt1017_sdca_priv *rt1017 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
749
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt1017-sdca-sdw.c
774
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt1017-sdca-sdw.c
781
if (!slave->unattach_request)
sound/soc/codecs/rt1017-sdca-sdw.c
784
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt1017-sdca-sdw.c
787
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt1017-sdca-sdw.c
788
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt1017-sdca-sdw.c
794
slave->unattach_request = 0;
sound/soc/codecs/rt1308-sdw.c
123
static int rt1308_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt1308-sdw.c
125
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt1308-sdw.c
142
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1308-sdw.c
162
dev_dbg(&slave->dev, "%s\n", __func__);
sound/soc/codecs/rt1308-sdw.c
213
static int rt1308_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt1308-sdw.c
231
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
233
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
294
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
296
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt1308-sdw.c
301
static int rt1308_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt1308-sdw.c
304
struct rt1308_sdw_priv *rt1308 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
317
return rt1308_io_init(&slave->dev, slave);
sound/soc/codecs/rt1308-sdw.c
320
static int rt1308_bus_config(struct sdw_slave *slave,
sound/soc/codecs/rt1308-sdw.c
323
struct rt1308_sdw_priv *rt1308 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
328
ret = rt1308_clock_config(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
330
dev_err(&slave->dev, "Invalid clk config");
sound/soc/codecs/rt1308-sdw.c
335
static int rt1308_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt1308-sdw.c
338
dev_dbg(&slave->dev,
sound/soc/codecs/rt1308-sdw.c
680
struct sdw_slave *slave)
sound/soc/codecs/rt1308-sdw.c
690
rt1308->sdw_slave = slave;
sound/soc/codecs/rt1308-sdw.c
729
static int rt1308_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt1308-sdw.c
735
regmap = devm_regmap_init_sdw(slave, &rt1308_sdw_regmap);
sound/soc/codecs/rt1308-sdw.c
739
return rt1308_sdw_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt1308-sdw.c
742
static void rt1308_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt1308-sdw.c
744
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt1308-sdw.c
769
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt1308-sdw.c
776
if (!slave->unattach_request)
sound/soc/codecs/rt1308-sdw.c
779
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt1308-sdw.c
782
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt1308-sdw.c
783
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt1308-sdw.c
789
slave->unattach_request = 0;
sound/soc/codecs/rt1316-sdw.c
196
static int rt1316_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt1316-sdw.c
198
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt1316-sdw.c
215
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1316-sdw.c
233
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1316-sdw.c
252
dev_dbg(&slave->dev, "%s\n", __func__);
sound/soc/codecs/rt1316-sdw.c
268
static int rt1316_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt1316-sdw.c
284
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt1316-sdw.c
287
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt1316-sdw.c
305
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt1316-sdw.c
307
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt1316-sdw.c
311
static int rt1316_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt1316-sdw.c
314
struct rt1316_sdw_priv *rt1316 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1316-sdw.c
327
return rt1316_io_init(&slave->dev, slave);
sound/soc/codecs/rt1316-sdw.c
657
struct sdw_slave *slave)
sound/soc/codecs/rt1316-sdw.c
667
rt1316->sdw_slave = slave;
sound/soc/codecs/rt1316-sdw.c
706
static int rt1316_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt1316-sdw.c
712
regmap = devm_regmap_init_sdw(slave, &rt1316_sdw_regmap);
sound/soc/codecs/rt1316-sdw.c
716
return rt1316_sdw_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt1316-sdw.c
719
static void rt1316_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt1316-sdw.c
721
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt1316-sdw.c
746
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt1316-sdw.c
753
if (!slave->unattach_request)
sound/soc/codecs/rt1316-sdw.c
756
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt1316-sdw.c
759
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt1316-sdw.c
760
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt1316-sdw.c
766
slave->unattach_request = 0;
sound/soc/codecs/rt1318-sdw.c
345
static int rt1318_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt1318-sdw.c
347
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt1318-sdw.c
364
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1318-sdw.c
382
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1318-sdw.c
404
static int rt1318_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt1318-sdw.c
419
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt1318-sdw.c
422
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt1318-sdw.c
437
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt1318-sdw.c
439
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt1318-sdw.c
443
static int rt1318_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt1318-sdw.c
446
struct rt1318_sdw_priv *rt1318 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1318-sdw.c
459
return rt1318_io_init(&slave->dev, slave);
sound/soc/codecs/rt1318-sdw.c
734
struct sdw_slave *slave)
sound/soc/codecs/rt1318-sdw.c
744
rt1318->sdw_slave = slave;
sound/soc/codecs/rt1318-sdw.c
783
static int rt1318_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt1318-sdw.c
789
regmap = devm_regmap_init_sdw(slave, &rt1318_sdw_regmap);
sound/soc/codecs/rt1318-sdw.c
793
return rt1318_sdw_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt1318-sdw.c
796
static void rt1318_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt1318-sdw.c
798
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt1318-sdw.c
822
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt1318-sdw.c
829
if (!slave->unattach_request)
sound/soc/codecs/rt1318-sdw.c
832
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt1318-sdw.c
835
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt1318-sdw.c
840
slave->unattach_request = 0;
sound/soc/codecs/rt1320-sdw.c
1278
struct sdw_slave *slave = rt1320->sdw_slave;
sound/soc/codecs/rt1320-sdw.c
1300
dev_err(&slave->dev, "%s: Unknown device ID %d\n", __func__, rt1320->dev_id);
sound/soc/codecs/rt1320-sdw.c
1305
ret = request_firmware(&patch, filename, &slave->dev);
sound/soc/codecs/rt1320-sdw.c
1307
dev_err(&slave->dev, "%s: Failed to load %s firmware", __func__, filename);
sound/soc/codecs/rt1320-sdw.c
1329
dev_err(&slave->dev, "%s: the address 0x%x is wrong", __func__, addr);
sound/soc/codecs/rt1320-sdw.c
1333
dev_err(&slave->dev, "%s: the value 0x%x is wrong", __func__, val);
sound/soc/codecs/rt1320-sdw.c
1789
struct sdw_slave *slave = rt1320->sdw_slave;
sound/soc/codecs/rt1320-sdw.c
1805
dev_dbg(&slave->dev, "%s, RT1320_KR0_INT_READY=0x%x\n", __func__, tmp);
sound/soc/codecs/rt1320-sdw.c
1812
dev_warn(&slave->dev, "%s MCU is NOT ready!", __func__);
sound/soc/codecs/rt1320-sdw.c
1845
static int rt1320_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt1320-sdw.c
1863
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
1866
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
1937
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
1939
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt1320-sdw.c
1943
static int rt1320_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt1320-sdw.c
1946
struct rt1320_sdw_priv *rt1320 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
1959
return rt1320_io_init(&slave->dev, slave);
sound/soc/codecs/rt1320-sdw.c
2878
struct regmap *mbq_regmap, struct sdw_slave *slave)
sound/soc/codecs/rt1320-sdw.c
2888
rt1320->sdw_slave = slave;
sound/soc/codecs/rt1320-sdw.c
2937
static int rt1320_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt1320-sdw.c
2943
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt1320_mbq_regmap);
sound/soc/codecs/rt1320-sdw.c
2947
regmap = devm_regmap_init_sdw(slave, &rt1320_sdw_regmap);
sound/soc/codecs/rt1320-sdw.c
2951
return rt1320_sdw_init(&slave->dev, regmap, mbq_regmap, slave);
sound/soc/codecs/rt1320-sdw.c
2954
static void rt1320_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt1320-sdw.c
2956
struct rt1320_sdw_priv *rt1320 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
2959
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt1320-sdw.c
2990
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt1320-sdw.c
2997
if (!slave->unattach_request)
sound/soc/codecs/rt1320-sdw.c
3000
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt1320-sdw.c
3003
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt1320-sdw.c
3008
slave->unattach_request = 0;
sound/soc/codecs/rt1320-sdw.c
663
static int rt1320_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt1320-sdw.c
665
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt1320-sdw.c
675
sdw_slave_read_prop(slave);
sound/soc/codecs/rt1320-sdw.c
688
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1320-sdw.c
706
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt1320-sdw.c
722
prop->dp0_prop = devm_kzalloc(&slave->dev, sizeof(*prop->dp0_prop), GFP_KERNEL);
sound/soc/codecs/rt5682-sdw.c
121
if (!rt5682->slave)
sound/soc/codecs/rt5682-sdw.c
132
retval = sdw_stream_add_slave(rt5682->slave, &stream_config,
sound/soc/codecs/rt5682-sdw.c
230
if (!rt5682->slave)
sound/soc/codecs/rt5682-sdw.c
233
sdw_stream_remove_slave(rt5682->slave, sdw_stream);
sound/soc/codecs/rt5682-sdw.c
298
struct sdw_slave *slave)
sound/soc/codecs/rt5682-sdw.c
308
rt5682->slave = slave;
sound/soc/codecs/rt5682-sdw.c
368
static int rt5682_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt5682-sdw.c
389
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
391
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
477
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
479
dev_dbg(&slave->dev, "%s hw_init complete: %d\n", __func__, ret);
sound/soc/codecs/rt5682-sdw.c
511
static int rt5682_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt5682-sdw.c
514
struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
527
return rt5682_io_init(&slave->dev, slave);
sound/soc/codecs/rt5682-sdw.c
530
static int rt5682_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt5682-sdw.c
532
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt5682-sdw.c
549
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt5682-sdw.c
568
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt5682-sdw.c
640
static int rt5682_bus_config(struct sdw_slave *slave,
sound/soc/codecs/rt5682-sdw.c
643
struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
648
ret = rt5682_clock_config(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
650
dev_err(&slave->dev, "%s: Invalid clk config", __func__);
sound/soc/codecs/rt5682-sdw.c
655
static int rt5682_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt5682-sdw.c
658
struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
660
dev_dbg(&slave->dev,
sound/soc/codecs/rt5682-sdw.c
680
static int rt5682_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt5682-sdw.c
686
regmap = devm_regmap_init_sdw(slave, &rt5682_sdw_regmap);
sound/soc/codecs/rt5682-sdw.c
690
return rt5682_sdw_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt5682-sdw.c
693
static void rt5682_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt5682-sdw.c
695
struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
700
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt5682-sdw.c
728
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt5682-sdw.c
741
ret = sdw_update_no_pm(slave, SDW_SCP_INTMASK1,
sound/soc/codecs/rt5682-sdw.c
747
dev_dbg(&slave->dev, "%s: could not disable imp-def interrupts\n:", __func__);
sound/soc/codecs/rt5682-sdw.c
755
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt5682-sdw.c
762
if (!slave->unattach_request) {
sound/soc/codecs/rt5682-sdw.c
765
sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF);
sound/soc/codecs/rt5682-sdw.c
772
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt5682-sdw.c
775
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt5682-sdw.c
776
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt5682-sdw.c
782
slave->unattach_request = 0;
sound/soc/codecs/rt5682.c
1110
if (pm_runtime_status_suspended(rt5682->slave->dev.parent)) {
sound/soc/codecs/rt5682.c
1111
dev_dbg(&rt5682->slave->dev,
sound/soc/codecs/rt5682.c
2932
struct sdw_slave *slave;
sound/soc/codecs/rt5682.c
2938
slave = rt5682->slave;
sound/soc/codecs/rt5682.c
2940
&slave->initialization_complete,
sound/soc/codecs/rt5682.c
2943
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt5682.h
1445
struct sdw_slave *slave;
sound/soc/codecs/rt700-sdw.c
313
static int rt700_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt700-sdw.c
316
struct rt700_priv *rt700 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt700-sdw.c
329
return rt700_io_init(&slave->dev, slave);
sound/soc/codecs/rt700-sdw.c
332
static int rt700_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt700-sdw.c
334
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt700-sdw.c
351
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt700-sdw.c
370
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt700-sdw.c
396
static int rt700_bus_config(struct sdw_slave *slave,
sound/soc/codecs/rt700-sdw.c
399
struct rt700_priv *rt700 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt700-sdw.c
404
ret = rt700_clock_config(&slave->dev);
sound/soc/codecs/rt700-sdw.c
406
dev_err(&slave->dev, "Invalid clk config");
sound/soc/codecs/rt700-sdw.c
411
static int rt700_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt700-sdw.c
414
struct rt700_priv *rt700 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt700-sdw.c
416
dev_dbg(&slave->dev,
sound/soc/codecs/rt700-sdw.c
440
static int rt700_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt700-sdw.c
446
sdw_regmap = devm_regmap_init_sdw(slave, &rt700_sdw_regmap);
sound/soc/codecs/rt700-sdw.c
450
regmap = devm_regmap_init(&slave->dev, NULL,
sound/soc/codecs/rt700-sdw.c
451
&slave->dev, &rt700_regmap);
sound/soc/codecs/rt700-sdw.c
455
return rt700_init(&slave->dev, sdw_regmap, regmap, slave);
sound/soc/codecs/rt700-sdw.c
458
static void rt700_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt700-sdw.c
460
struct rt700_priv *rt700 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt700-sdw.c
467
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt700-sdw.c
493
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt700-sdw.c
507
ret = sdw_update_no_pm(slave, SDW_SCP_INTMASK1,
sound/soc/codecs/rt700-sdw.c
513
dev_dbg(&slave->dev, "%s: could not disable imp-def interrupts\n:", __func__);
sound/soc/codecs/rt700-sdw.c
523
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt700-sdw.c
530
if (!slave->unattach_request)
sound/soc/codecs/rt700-sdw.c
533
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt700-sdw.c
536
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt700-sdw.c
537
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt700-sdw.c
543
slave->unattach_request = 0;
sound/soc/codecs/rt700.c
1087
struct regmap *regmap, struct sdw_slave *slave)
sound/soc/codecs/rt700.c
1098
rt700->slave = slave;
sound/soc/codecs/rt700.c
1139
dev_dbg(&slave->dev, "%s\n", __func__);
sound/soc/codecs/rt700.c
1144
int rt700_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt700.c
1162
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt700.c
1164
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt700.c
1226
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt700.c
1228
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt700.c
192
dev_dbg(&rt700->slave->dev,
sound/soc/codecs/rt700.c
194
dev_dbg(&rt700->slave->dev,
sound/soc/codecs/rt700.c
249
dev_dbg(&rt700->slave->dev,
sound/soc/codecs/rt700.c
293
dev_dbg(&rt700->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt700.c
305
dev_dbg(&rt700->slave->dev, "in %s disable\n", __func__);
sound/soc/codecs/rt700.c
907
if (!rt700->slave)
sound/soc/codecs/rt700.c
930
retval = sdw_stream_add_slave(rt700->slave, &stream_config,
sound/soc/codecs/rt700.c
981
if (!rt700->slave)
sound/soc/codecs/rt700.c
984
sdw_stream_remove_slave(rt700->slave, sdw_stream);
sound/soc/codecs/rt700.h
165
int rt700_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt700.h
167
struct regmap *regmap, struct sdw_slave *slave);
sound/soc/codecs/rt700.h
17
struct sdw_slave *slave;
sound/soc/codecs/rt711-sdca-sdw.c
141
static int rt711_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdca-sdw.c
144
struct rt711_sdca_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdca-sdw.c
157
sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt711-sdca-sdw.c
159
sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt711-sdca-sdw.c
172
return rt711_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt711-sdca-sdw.c
175
static int rt711_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt711-sdca-sdw.c
177
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt711-sdca-sdw.c
194
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt711-sdca-sdw.c
212
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt711-sdca-sdw.c
228
prop->dp0_prop = devm_kzalloc(&slave->dev, sizeof(*prop->dp0_prop),
sound/soc/codecs/rt711-sdca-sdw.c
245
static int rt711_sdca_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdca-sdw.c
248
struct rt711_sdca_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdca-sdw.c
253
dev_dbg(&slave->dev,
sound/soc/codecs/rt711-sdca-sdw.c
258
dev_warn(&slave->dev, "%s the pending delayed_work was cancelled", __func__);
sound/soc/codecs/rt711-sdca-sdw.c
273
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt711-sdca-sdw.c
277
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt711-sdca-sdw.c
286
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt711-sdca-sdw.c
290
ret = sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INT1,
sound/soc/codecs/rt711-sdca-sdw.c
295
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt711-sdca-sdw.c
299
ret = sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INT2,
sound/soc/codecs/rt711-sdca-sdw.c
306
ret = sdw_read_no_pm(rt711->slave, SDW_DP0_INT);
sound/soc/codecs/rt711-sdca-sdw.c
311
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt711-sdca-sdw.c
316
ret = sdw_read_no_pm(rt711->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt711-sdca-sdw.c
327
dev_warn(&slave->dev,
sound/soc/codecs/rt711-sdca-sdw.c
351
static int rt711_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdca-sdw.c
357
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt711_sdca_mbq_regmap);
sound/soc/codecs/rt711-sdca-sdw.c
361
regmap = devm_regmap_init_sdw(slave, &rt711_sdca_regmap);
sound/soc/codecs/rt711-sdca-sdw.c
365
return rt711_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
sound/soc/codecs/rt711-sdca-sdw.c
368
static void rt711_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt711-sdca-sdw.c
370
struct rt711_sdca_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdca-sdw.c
377
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt711-sdca-sdw.c
408
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt711-sdca-sdw.c
421
ret1 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt711-sdca-sdw.c
423
ret2 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt711-sdca-sdw.c
429
dev_dbg(&slave->dev, "%s: could not disable SDCA interrupts\n:", __func__);
sound/soc/codecs/rt711-sdca-sdw.c
439
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt711-sdca-sdw.c
446
if (!slave->unattach_request) {
sound/soc/codecs/rt711-sdca-sdw.c
449
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt711-sdca-sdw.c
450
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt711-sdca-sdw.c
457
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt711-sdca-sdw.c
460
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt711-sdca-sdw.c
461
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt711-sdca-sdw.c
467
slave->unattach_request = 0;
sound/soc/codecs/rt711-sdca.c
1287
rt711_sdca_parse_dt(rt711, &rt711->slave->dev);
sound/soc/codecs/rt711-sdca.c
1344
if (!rt711->slave)
sound/soc/codecs/rt711-sdca.c
1361
retval = sdw_stream_add_slave(rt711->slave, &stream_config,
sound/soc/codecs/rt711-sdca.c
1416
if (!rt711->slave)
sound/soc/codecs/rt711-sdca.c
1419
sdw_stream_remove_slave(rt711->slave, sdw_stream);
sound/soc/codecs/rt711-sdca.c
1470
struct regmap *mbq_regmap, struct sdw_slave *slave)
sound/soc/codecs/rt711-sdca.c
1480
rt711->slave = slave;
sound/soc/codecs/rt711-sdca.c
1588
int rt711_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt711-sdca.c
1611
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt711-sdca.c
1614
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt711-sdca.c
1661
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt711-sdca.c
1663
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt711-sdca.c
299
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.c
335
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.c
337
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.c
339
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.c
38
dev_err(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.c
428
dev_dbg(&rt711->slave->dev, "%s, btn_type=0x%x\n", __func__, btn_type);
sound/soc/codecs/rt711-sdca.c
507
sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt711-sdca.c
509
sdw_write_no_pm(rt711->slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt711-sdca.c
510
dev_dbg(&rt711->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt711-sdca.c
516
dev_dbg(&rt711->slave->dev, "in %s disable\n", __func__);
sound/soc/codecs/rt711-sdca.c
54
dev_err(&rt711->slave->dev,
sound/soc/codecs/rt711-sdca.h
21
struct sdw_slave *slave;
sound/soc/codecs/rt711-sdca.h
239
int rt711_sdca_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt711-sdca.h
241
struct regmap *mbq_regmap, struct sdw_slave *slave);
sound/soc/codecs/rt711-sdw.c
319
static int rt711_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdw.c
322
struct rt711_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdw.c
335
return rt711_io_init(&slave->dev, slave);
sound/soc/codecs/rt711-sdw.c
338
static int rt711_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt711-sdw.c
340
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt711-sdw.c
358
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt711-sdw.c
377
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt711-sdw.c
403
static int rt711_bus_config(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdw.c
406
struct rt711_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdw.c
411
ret = rt711_clock_config(&slave->dev);
sound/soc/codecs/rt711-sdw.c
413
dev_err(&slave->dev, "%s: Invalid clk config", __func__);
sound/soc/codecs/rt711-sdw.c
418
static int rt711_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdw.c
421
struct rt711_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdw.c
423
dev_dbg(&slave->dev,
sound/soc/codecs/rt711-sdw.c
443
static int rt711_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt711-sdw.c
449
sdw_regmap = devm_regmap_init_sdw(slave, &rt711_sdw_regmap);
sound/soc/codecs/rt711-sdw.c
453
regmap = devm_regmap_init(&slave->dev, NULL,
sound/soc/codecs/rt711-sdw.c
454
&slave->dev, &rt711_regmap);
sound/soc/codecs/rt711-sdw.c
458
return rt711_init(&slave->dev, sdw_regmap, regmap, slave);
sound/soc/codecs/rt711-sdw.c
461
static void rt711_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt711-sdw.c
463
struct rt711_priv *rt711 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt711-sdw.c
471
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt711-sdw.c
502
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt711-sdw.c
515
ret = sdw_update_no_pm(slave, SDW_SCP_INTMASK1,
sound/soc/codecs/rt711-sdw.c
521
dev_dbg(&slave->dev, "%s: could not disable imp-def interrupts\n:", __func__);
sound/soc/codecs/rt711-sdw.c
531
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt711-sdw.c
538
if (!slave->unattach_request) {
sound/soc/codecs/rt711-sdw.c
541
sdw_write_no_pm(slave, SDW_SCP_INTMASK1, SDW_SCP_INT1_IMPL_DEF);
sound/soc/codecs/rt711-sdw.c
548
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt711-sdw.c
551
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt711-sdw.c
556
slave->unattach_request = 0;
sound/soc/codecs/rt711.c
1013
retval = sdw_stream_add_slave(rt711->slave, &stream_config,
sound/soc/codecs/rt711.c
1065
if (!rt711->slave)
sound/soc/codecs/rt711.c
1068
sdw_stream_remove_slave(rt711->slave, sdw_stream);
sound/soc/codecs/rt711.c
1172
struct regmap *regmap, struct sdw_slave *slave)
sound/soc/codecs/rt711.c
1182
rt711->slave = slave;
sound/soc/codecs/rt711.c
1232
int rt711_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt711.c
1250
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt711.c
1252
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt711.c
1327
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt711.c
1329
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt711.c
249
if (pm_runtime_status_suspended(rt711->slave->dev.parent)) {
sound/soc/codecs/rt711.c
250
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711.c
279
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711.c
281
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711.c
337
dev_dbg(&rt711->slave->dev,
sound/soc/codecs/rt711.c
434
dev_dbg(&rt711->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt711.c
446
dev_dbg(&rt711->slave->dev, "in %s disable\n", __func__);
sound/soc/codecs/rt711.c
938
rt711_parse_dt(rt711, &rt711->slave->dev);
sound/soc/codecs/rt711.c
996
if (!rt711->slave)
sound/soc/codecs/rt711.h
17
struct sdw_slave *slave;
sound/soc/codecs/rt711.h
245
int rt711_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt711.h
247
struct regmap *regmap, struct sdw_slave *slave);
sound/soc/codecs/rt712-sdca-dmic.c
141
dev_err(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca-dmic.c
157
dev_err(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca-dmic.c
178
static int rt712_sdca_dmic_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-dmic.c
196
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt712-sdca-dmic.c
199
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt712-sdca-dmic.c
239
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt712-sdca-dmic.c
241
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt712-sdca-dmic.c
315
dev_err(&rt712->slave->dev, "%s: 0x%08x can't be set\n",
sound/soc/codecs/rt712-sdca-dmic.c
648
if (!rt712->slave)
sound/soc/codecs/rt712-sdca-dmic.c
660
retval = sdw_stream_add_slave(rt712->slave, &stream_config,
sound/soc/codecs/rt712-sdca-dmic.c
718
if (!rt712->slave)
sound/soc/codecs/rt712-sdca-dmic.c
721
sdw_stream_remove_slave(rt712->slave, sdw_stream);
sound/soc/codecs/rt712-sdca-dmic.c
753
struct regmap *mbq_regmap, struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-dmic.c
763
rt712->slave = slave;
sound/soc/codecs/rt712-sdca-dmic.c
808
static int rt712_sdca_dmic_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt712-sdca-dmic.c
811
struct rt712_sdca_dmic_priv *rt712 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt712-sdca-dmic.c
824
return rt712_sdca_dmic_io_init(&slave->dev, slave);
sound/soc/codecs/rt712-sdca-dmic.c
827
static int rt712_sdca_dmic_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-dmic.c
829
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt712-sdca-dmic.c
845
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt712-sdca-dmic.c
906
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt712-sdca-dmic.c
913
if (!slave->unattach_request)
sound/soc/codecs/rt712-sdca-dmic.c
916
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt712-sdca-dmic.c
919
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n",
sound/soc/codecs/rt712-sdca-dmic.c
921
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt712-sdca-dmic.c
927
slave->unattach_request = 0;
sound/soc/codecs/rt712-sdca-dmic.c
946
static int rt712_sdca_dmic_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt712-sdca-dmic.c
952
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt712_sdca_dmic_mbq_regmap);
sound/soc/codecs/rt712-sdca-dmic.c
956
regmap = devm_regmap_init_sdw(slave, &rt712_sdca_dmic_regmap);
sound/soc/codecs/rt712-sdca-dmic.c
960
return rt712_sdca_dmic_init(&slave->dev, regmap, mbq_regmap, slave);
sound/soc/codecs/rt712-sdca-dmic.c
963
static void rt712_sdca_dmic_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-dmic.c
965
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt712-sdca-dmic.h
18
struct sdw_slave *slave;
sound/soc/codecs/rt712-sdca-sdw.c
156
static int rt712_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt712-sdca-sdw.c
159
struct rt712_sdca_priv *rt712 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt712-sdca-sdw.c
172
sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt712-sdca-sdw.c
174
sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt712-sdca-sdw.c
187
return rt712_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt712-sdca-sdw.c
190
static int rt712_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-sdw.c
192
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt712-sdca-sdw.c
199
sdw_slave_read_prop(slave);
sound/soc/codecs/rt712-sdca-sdw.c
211
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt712-sdca-sdw.c
229
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt712-sdca-sdw.c
254
static int rt712_sdca_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt712-sdca-sdw.c
257
struct rt712_sdca_priv *rt712 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt712-sdca-sdw.c
262
dev_dbg(&slave->dev,
sound/soc/codecs/rt712-sdca-sdw.c
267
dev_warn(&slave->dev, "%s the pending delayed_work was cancelled", __func__);
sound/soc/codecs/rt712-sdca-sdw.c
282
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt712-sdca-sdw.c
286
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt712-sdca-sdw.c
295
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt712-sdca-sdw.c
299
ret = sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INT1,
sound/soc/codecs/rt712-sdca-sdw.c
304
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt712-sdca-sdw.c
308
ret = sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INT2,
sound/soc/codecs/rt712-sdca-sdw.c
315
ret = sdw_read_no_pm(rt712->slave, SDW_DP0_INT);
sound/soc/codecs/rt712-sdca-sdw.c
320
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt712-sdca-sdw.c
325
ret = sdw_read_no_pm(rt712->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt712-sdca-sdw.c
336
dev_warn(&slave->dev,
sound/soc/codecs/rt712-sdca-sdw.c
360
static int rt712_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt712-sdca-sdw.c
366
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt712_sdca_mbq_regmap);
sound/soc/codecs/rt712-sdca-sdw.c
370
regmap = devm_regmap_init_sdw(slave, &rt712_sdca_regmap);
sound/soc/codecs/rt712-sdca-sdw.c
374
return rt712_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
sound/soc/codecs/rt712-sdca-sdw.c
377
static void rt712_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca-sdw.c
379
struct rt712_sdca_priv *rt712 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt712-sdca-sdw.c
386
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt712-sdca-sdw.c
420
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt712-sdca-sdw.c
433
ret1 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt712-sdca-sdw.c
435
ret2 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt712-sdca-sdw.c
441
dev_dbg(&slave->dev, "%s: could not disable SDCA interrupts\n:", __func__);
sound/soc/codecs/rt712-sdca-sdw.c
451
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt712-sdca-sdw.c
458
if (!slave->unattach_request) {
sound/soc/codecs/rt712-sdca-sdw.c
462
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt712-sdca-sdw.c
463
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt712-sdca-sdw.c
470
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt712-sdca-sdw.c
473
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt712-sdca-sdw.c
474
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt712-sdca-sdw.c
480
slave->unattach_request = 0;
sound/soc/codecs/rt712-sdca.c
1021
rt712_sdca_parse_dt(rt712, &rt712->slave->dev);
sound/soc/codecs/rt712-sdca.c
1114
dev_err(&rt712->slave->dev, "0x%08x can't be set\n", p->reg_base + i);
sound/soc/codecs/rt712-sdca.c
1466
if (!rt712->slave)
sound/soc/codecs/rt712-sdca.c
1501
retval = sdw_stream_add_slave(rt712->slave, &stream_config,
sound/soc/codecs/rt712-sdca.c
1573
if (!rt712->slave)
sound/soc/codecs/rt712-sdca.c
1576
sdw_stream_remove_slave(rt712->slave, sdw_stream);
sound/soc/codecs/rt712-sdca.c
1642
struct regmap *mbq_regmap, struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca.c
1652
rt712->slave = slave;
sound/soc/codecs/rt712-sdca.c
1682
if (slave->id.part_id != RT712_PART_ID_713)
sound/soc/codecs/rt712-sdca.c
1692
if (sdca_device_quirk_match(slave, SDCA_QUIRKS_RT712_VB)) {
sound/soc/codecs/rt712-sdca.c
1726
struct device *dev = &rt712->slave->dev;
sound/soc/codecs/rt712-sdca.c
1772
struct device *dev = &rt712->slave->dev;
sound/soc/codecs/rt712-sdca.c
1846
int rt712_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt712-sdca.c
1850
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt712-sdca.c
1868
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt712-sdca.c
1871
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt712-sdca.c
1876
dev_dbg(&slave->dev, "%s hw_id=0x%x, version_id=0x%x\n", __func__, rt712->hw_id, rt712->version_id);
sound/soc/codecs/rt712-sdca.c
1880
dev_err(&slave->dev, "%s RT712 VA detected but SMART_MIC function exposed in ACPI\n",
sound/soc/codecs/rt712-sdca.c
1888
dev_warn(&slave->dev, "%s RT712 VB detected but no SMART_MIC function exposed in ACPI\n",
sound/soc/codecs/rt712-sdca.c
1916
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt712-sdca.c
1919
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt712-sdca.c
251
dev_dbg(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.c
287
dev_dbg(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.c
289
dev_dbg(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.c
291
dev_dbg(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.c
37
dev_err(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.c
381
dev_dbg(&rt712->slave->dev, "%s, btn_type=0x%x\n", __func__, btn_type);
sound/soc/codecs/rt712-sdca.c
436
sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt712-sdca.c
438
sdw_write_no_pm(rt712->slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt712-sdca.c
439
dev_dbg(&rt712->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt712-sdca.c
451
dev_dbg(&rt712->slave->dev, "in %s disable\n", __func__);
sound/soc/codecs/rt712-sdca.c
53
dev_err(&rt712->slave->dev,
sound/soc/codecs/rt712-sdca.h
23
struct sdw_slave *slave;
sound/soc/codecs/rt712-sdca.h
256
int rt712_sdca_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt712-sdca.h
258
struct regmap *mbq_regmap, struct sdw_slave *slave);
sound/soc/codecs/rt715-sdca-sdw.c
119
static int rt715_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt715-sdca-sdw.c
122
struct rt715_sdca_priv *rt715 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt715-sdca-sdw.c
132
return rt715_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt715-sdca-sdw.c
135
static int rt715_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt715-sdca-sdw.c
137
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt715-sdca-sdw.c
150
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt715-sdca-sdw.c
177
static int rt715_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt715-sdca-sdw.c
183
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt715_sdca_mbq_regmap);
sound/soc/codecs/rt715-sdca-sdw.c
187
regmap = devm_regmap_init_sdw(slave, &rt715_sdca_regmap);
sound/soc/codecs/rt715-sdca-sdw.c
191
return rt715_sdca_init(&slave->dev, mbq_regmap, regmap, slave);
sound/soc/codecs/rt715-sdca-sdw.c
194
static void rt715_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt715-sdca-sdw.c
196
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt715-sdca-sdw.c
225
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt715-sdca-sdw.c
232
if (!slave->unattach_request)
sound/soc/codecs/rt715-sdca-sdw.c
235
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt715-sdca-sdw.c
238
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt715-sdca-sdw.c
239
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt715-sdca-sdw.c
245
slave->unattach_request = 0;
sound/soc/codecs/rt715-sdca.c
1011
int rt715_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt715-sdca.c
1027
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt715-sdca.c
1032
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt715-sdca.c
1065
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt715-sdca.c
43
dev_err(&rt715->slave->dev,
sound/soc/codecs/rt715-sdca.c
61
dev_err(&rt715->slave->dev,
sound/soc/codecs/rt715-sdca.c
809
if (!rt715->slave)
sound/soc/codecs/rt715-sdca.c
830
retval = sdw_stream_add_slave(rt715->slave, &stream_config,
sound/soc/codecs/rt715-sdca.c
905
if (!rt715->slave)
sound/soc/codecs/rt715-sdca.c
908
sdw_stream_remove_slave(rt715->slave, sdw_stream);
sound/soc/codecs/rt715-sdca.c
959
struct regmap *regmap, struct sdw_slave *slave)
sound/soc/codecs/rt715-sdca.c
969
rt715->slave = slave;
sound/soc/codecs/rt715-sdca.c
972
rt715->hw_sdw_ver = slave->id.sdw_version;
sound/soc/codecs/rt715-sdca.h
128
int rt715_sdca_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt715-sdca.h
130
struct regmap *regmap, struct sdw_slave *slave);
sound/soc/codecs/rt715-sdca.h
22
struct sdw_slave *slave;
sound/soc/codecs/rt715-sdw.c
375
static int rt715_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt715-sdw.c
378
struct rt715_priv *rt715 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt715-sdw.c
388
return rt715_io_init(&slave->dev, slave);
sound/soc/codecs/rt715-sdw.c
391
static int rt715_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt715-sdw.c
393
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt715-sdw.c
410
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt715-sdw.c
435
static int rt715_bus_config(struct sdw_slave *slave,
sound/soc/codecs/rt715-sdw.c
438
struct rt715_priv *rt715 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt715-sdw.c
443
ret = rt715_clock_config(&slave->dev);
sound/soc/codecs/rt715-sdw.c
445
dev_err(&slave->dev, "%s: Invalid clk config", __func__);
sound/soc/codecs/rt715-sdw.c
456
static int rt715_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt715-sdw.c
462
sdw_regmap = devm_regmap_init_sdw(slave, &rt715_sdw_regmap);
sound/soc/codecs/rt715-sdw.c
466
regmap = devm_regmap_init(&slave->dev, NULL, &slave->dev,
sound/soc/codecs/rt715-sdw.c
471
return rt715_init(&slave->dev, sdw_regmap, regmap, slave);
sound/soc/codecs/rt715-sdw.c
474
static void rt715_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt715-sdw.c
476
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt715-sdw.c
502
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt715-sdw.c
509
if (!slave->unattach_request)
sound/soc/codecs/rt715-sdw.c
512
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt715-sdw.c
515
dev_err(&slave->dev, "%s: Initialization not complete, timed out\n", __func__);
sound/soc/codecs/rt715-sdw.c
516
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt715-sdw.c
522
slave->unattach_request = 0;
sound/soc/codecs/rt715.c
1011
struct regmap *regmap, struct sdw_slave *slave)
sound/soc/codecs/rt715.c
1021
rt715->slave = slave;
sound/soc/codecs/rt715.c
1059
int rt715_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt715.c
1073
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt715.c
1075
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt715.c
1125
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt715.c
835
if (!rt715->slave)
sound/soc/codecs/rt715.c
854
retval = sdw_stream_add_slave(rt715->slave, &stream_config,
sound/soc/codecs/rt715.c
921
if (!rt715->slave)
sound/soc/codecs/rt715.c
924
sdw_stream_remove_slave(rt715->slave, sdw_stream);
sound/soc/codecs/rt715.h
17
struct sdw_slave *slave;
sound/soc/codecs/rt715.h
219
int rt715_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt715.h
221
struct regmap *regmap, struct sdw_slave *slave);
sound/soc/codecs/rt721-sdca-sdw.c
191
static int rt721_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt721-sdca-sdw.c
194
struct rt721_sdca_priv *rt721 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt721-sdca-sdw.c
207
sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt721-sdca-sdw.c
209
sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt721-sdca-sdw.c
222
return rt721_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt721-sdca-sdw.c
225
static int rt721_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt721-sdca-sdw.c
227
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt721-sdca-sdw.c
234
sdw_slave_read_prop(slave);
sound/soc/codecs/rt721-sdca-sdw.c
250
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt721-sdca-sdw.c
268
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt721-sdca-sdw.c
296
static int rt721_sdca_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt721-sdca-sdw.c
299
struct rt721_sdca_priv *rt721 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt721-sdca-sdw.c
305
dev_warn(&slave->dev, "%s the pending delayed_work was cancelled", __func__);
sound/soc/codecs/rt721-sdca-sdw.c
320
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt721-sdca-sdw.c
325
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt721-sdca-sdw.c
334
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt721-sdca-sdw.c
338
ret = sdw_update_no_pm(rt721->slave, SDW_SCP_SDCA_INT1,
sound/soc/codecs/rt721-sdca-sdw.c
343
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt721-sdca-sdw.c
347
ret = sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INT2,
sound/soc/codecs/rt721-sdca-sdw.c
354
ret = sdw_read_no_pm(rt721->slave, SDW_DP0_INT);
sound/soc/codecs/rt721-sdca-sdw.c
359
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt721-sdca-sdw.c
364
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt721-sdca-sdw.c
375
dev_warn(&slave->dev,
sound/soc/codecs/rt721-sdca-sdw.c
378
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt721-sdca-sdw.c
379
ret = sdw_read_no_pm(rt721->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt721-sdca-sdw.c
401
static int rt721_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt721-sdca-sdw.c
407
mbq_regmap = devm_regmap_init_sdw_mbq(slave, &rt721_sdca_mbq_regmap);
sound/soc/codecs/rt721-sdca-sdw.c
411
regmap = devm_regmap_init_sdw(slave, &rt721_sdca_regmap);
sound/soc/codecs/rt721-sdca-sdw.c
415
return rt721_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
sound/soc/codecs/rt721-sdca-sdw.c
418
static void rt721_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt721-sdca-sdw.c
420
struct rt721_sdca_priv *rt721 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt721-sdca-sdw.c
428
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt721-sdca-sdw.c
459
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt721-sdca-sdw.c
472
ret1 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt721-sdca-sdw.c
474
ret2 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt721-sdca-sdw.c
480
dev_dbg(&slave->dev, "%s: could not disable SDCA interrupts\n:", __func__);
sound/soc/codecs/rt721-sdca-sdw.c
490
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt721-sdca-sdw.c
497
if (!slave->unattach_request) {
sound/soc/codecs/rt721-sdca-sdw.c
500
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt721-sdca-sdw.c
501
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt721-sdca-sdw.c
508
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt721-sdca-sdw.c
511
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt721-sdca-sdw.c
512
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt721-sdca-sdw.c
518
slave->unattach_request = 0;
sound/soc/codecs/rt721-sdca.c
119
dev_dbg(&rt721->slave->dev, "%s, btn_type=0x%x\n", __func__, btn_type);
sound/soc/codecs/rt721-sdca.c
1230
rt721_sdca_parse_dt(rt721, &rt721->slave->dev);
sound/soc/codecs/rt721-sdca.c
1285
if (!rt721->slave)
sound/soc/codecs/rt721-sdca.c
1320
retval = sdw_stream_add_slave(rt721->slave, &stream_config,
sound/soc/codecs/rt721-sdca.c
1402
if (!rt721->slave)
sound/soc/codecs/rt721-sdca.c
1405
sdw_stream_remove_slave(rt721->slave, sdw_stream);
sound/soc/codecs/rt721-sdca.c
1468
struct regmap *mbq_regmap, struct sdw_slave *slave)
sound/soc/codecs/rt721-sdca.c
1477
rt721->slave = slave;
sound/soc/codecs/rt721-sdca.c
1506
int rt721_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt721-sdca.c
1526
pm_runtime_set_autosuspend_delay(&slave->dev, 3000);
sound/soc/codecs/rt721-sdca.c
1527
pm_runtime_use_autosuspend(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1530
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1533
pm_runtime_mark_last_busy(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1535
pm_runtime_enable(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1538
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1553
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt721-sdca.c
1555
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt721-sdca.c
294
sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt721-sdca.c
296
sdw_write_no_pm(rt721->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt721-sdca.c
298
dev_dbg(&rt721->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt721-sdca.c
58
dev_dbg(&rt721->slave->dev,
sound/soc/codecs/rt721-sdca.c
60
dev_dbg(&rt721->slave->dev,
sound/soc/codecs/rt721-sdca.c
62
dev_dbg(&rt721->slave->dev,
sound/soc/codecs/rt721-sdca.c
688
dev_err(&rt721->slave->dev, "%#08x can't be set\n", p->reg_base + i);
sound/soc/codecs/rt721-sdca.h
22
struct sdw_slave *slave;
sound/soc/codecs/rt721-sdca.h
271
int rt721_sdca_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt721-sdca.h
273
struct regmap *mbq_regmap, struct sdw_slave *slave);
sound/soc/codecs/rt722-sdca-sdw.c
208
static int rt722_sdca_update_status(struct sdw_slave *slave,
sound/soc/codecs/rt722-sdca-sdw.c
211
struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt722-sdca-sdw.c
224
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt722-sdca-sdw.c
226
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt722-sdca-sdw.c
239
return rt722_sdca_io_init(&slave->dev, slave);
sound/soc/codecs/rt722-sdca-sdw.c
242
static int rt722_sdca_read_prop(struct sdw_slave *slave)
sound/soc/codecs/rt722-sdca-sdw.c
244
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/rt722-sdca-sdw.c
251
sdw_slave_read_lane_mapping(slave);
sound/soc/codecs/rt722-sdca-sdw.c
268
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt722-sdca-sdw.c
286
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/rt722-sdca-sdw.c
314
static int rt722_sdca_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/rt722-sdca-sdw.c
317
struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt722-sdca-sdw.c
323
dev_warn(&slave->dev, "%s the pending delayed_work was cancelled", __func__);
sound/soc/codecs/rt722-sdca-sdw.c
338
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt722-sdca-sdw.c
342
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt722-sdca-sdw.c
350
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt722-sdca-sdw.c
354
ret = sdw_update_no_pm(rt722->slave, SDW_SCP_SDCA_INT1,
sound/soc/codecs/rt722-sdca-sdw.c
360
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt722-sdca-sdw.c
364
ret = sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INT2,
sound/soc/codecs/rt722-sdca-sdw.c
371
ret = sdw_read_no_pm(rt722->slave, SDW_DP0_INT);
sound/soc/codecs/rt722-sdca-sdw.c
376
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT1);
sound/soc/codecs/rt722-sdca-sdw.c
381
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
sound/soc/codecs/rt722-sdca-sdw.c
392
dev_warn(&slave->dev,
sound/soc/codecs/rt722-sdca-sdw.c
416
static int rt722_sdca_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/rt722-sdca-sdw.c
422
regmap = devm_regmap_init_sdw_mbq_cfg(&slave->dev, slave,
sound/soc/codecs/rt722-sdca-sdw.c
428
return rt722_sdca_init(&slave->dev, regmap, slave);
sound/soc/codecs/rt722-sdca-sdw.c
431
static void rt722_sdca_sdw_remove(struct sdw_slave *slave)
sound/soc/codecs/rt722-sdca-sdw.c
433
struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
sound/soc/codecs/rt722-sdca-sdw.c
441
pm_runtime_disable(&slave->dev);
sound/soc/codecs/rt722-sdca-sdw.c
471
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt722-sdca-sdw.c
484
ret1 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt722-sdca-sdw.c
486
ret2 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt722-sdca-sdw.c
492
dev_dbg(&slave->dev, "%s: could not disable SDCA interrupts\n:", __func__);
sound/soc/codecs/rt722-sdca-sdw.c
502
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/rt722-sdca-sdw.c
509
if (!slave->unattach_request) {
sound/soc/codecs/rt722-sdca-sdw.c
512
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
sound/soc/codecs/rt722-sdca-sdw.c
513
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
sound/soc/codecs/rt722-sdca-sdw.c
520
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/rt722-sdca-sdw.c
523
dev_err(&slave->dev, "Initialization not complete, timed out\n");
sound/soc/codecs/rt722-sdca-sdw.c
524
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/rt722-sdca-sdw.c
530
slave->unattach_request = 0;
sound/soc/codecs/rt722-sdca.c
1080
rt722_sdca_parse_dt(rt722, &rt722->slave->dev);
sound/soc/codecs/rt722-sdca.c
1135
if (!rt722->slave)
sound/soc/codecs/rt722-sdca.c
1170
retval = sdw_stream_add_slave(rt722->slave, &stream_config,
sound/soc/codecs/rt722-sdca.c
1234
if (!rt722->slave)
sound/soc/codecs/rt722-sdca.c
1237
sdw_stream_remove_slave(rt722->slave, sdw_stream);
sound/soc/codecs/rt722-sdca.c
1299
int rt722_sdca_init(struct device *dev, struct regmap *regmap, struct sdw_slave *slave)
sound/soc/codecs/rt722-sdca.c
1308
rt722->slave = slave;
sound/soc/codecs/rt722-sdca.c
1338
struct device *dev = &rt722->slave->dev;
sound/soc/codecs/rt722-sdca.c
1394
struct device *dev = &rt722->slave->dev;
sound/soc/codecs/rt722-sdca.c
1436
struct device *dev = &rt722->slave->dev;
sound/soc/codecs/rt722-sdca.c
1479
dev_dbg(&rt722->slave->dev, "calibration failed!, ret=%d\n", ret);
sound/soc/codecs/rt722-sdca.c
1485
dev_dbg(&rt722->slave->dev, "%s, calibration time-out!\n", __func__);
sound/soc/codecs/rt722-sdca.c
1525
int rt722_sdca_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/rt722-sdca.c
1544
pm_runtime_set_autosuspend_delay(&slave->dev, 3000);
sound/soc/codecs/rt722-sdca.c
1545
pm_runtime_use_autosuspend(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1548
pm_runtime_set_active(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1551
pm_runtime_mark_last_busy(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1553
pm_runtime_enable(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1556
pm_runtime_get_noresume(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1560
dev_dbg(&slave->dev, "%s hw_vid=0x%x\n", __func__, rt722->hw_vid);
sound/soc/codecs/rt722-sdca.c
1575
pm_runtime_put_autosuspend(&slave->dev);
sound/soc/codecs/rt722-sdca.c
1577
dev_dbg(&slave->dev, "%s hw_init complete\n", __func__);
sound/soc/codecs/rt722-sdca.c
173
dev_dbg(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
209
dev_dbg(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
211
dev_dbg(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
213
dev_dbg(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
270
dev_dbg(&rt722->slave->dev, "%s, btn_type=0x%x\n", __func__, btn_type);
sound/soc/codecs/rt722-sdca.c
298
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1,
sound/soc/codecs/rt722-sdca.c
301
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2,
sound/soc/codecs/rt722-sdca.c
303
dev_dbg(&rt722->slave->dev, "in %s enable\n", __func__);
sound/soc/codecs/rt722-sdca.c
39
dev_err(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
55
dev_err(&rt722->slave->dev,
sound/soc/codecs/rt722-sdca.c
664
dev_err(&rt722->slave->dev, "%s: %#08x can't be set\n",
sound/soc/codecs/rt722-sdca.c
879
pm_runtime_mark_last_busy(&rt722->slave->dev);
sound/soc/codecs/rt722-sdca.c
892
dev_warn(&rt722->slave->dev, "%s PDE to %s is NOT ready", __func__, ps?"PS3":"PS0");
sound/soc/codecs/rt722-sdca.h
21
struct sdw_slave *slave;
sound/soc/codecs/rt722-sdca.h
242
int rt722_sdca_io_init(struct device *dev, struct sdw_slave *slave);
sound/soc/codecs/rt722-sdca.h
243
int rt722_sdca_init(struct device *dev, struct regmap *regmap, struct sdw_slave *slave);
sound/soc/codecs/sdw-mockup.c
127
static int sdw_mockup_update_status(struct sdw_slave *slave,
sound/soc/codecs/sdw-mockup.c
133
static int sdw_mockup_read_prop(struct sdw_slave *slave)
sound/soc/codecs/sdw-mockup.c
135
struct sdw_slave_prop *prop = &slave->prop;
sound/soc/codecs/sdw-mockup.c
155
prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/sdw-mockup.c
173
prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval,
sound/soc/codecs/sdw-mockup.c
197
static int sdw_mockup_bus_config(struct sdw_slave *slave,
sound/soc/codecs/sdw-mockup.c
203
static int sdw_mockup_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/sdw-mockup.c
216
static int sdw_mockup_sdw_probe(struct sdw_slave *slave,
sound/soc/codecs/sdw-mockup.c
219
struct device *dev = &slave->dev;
sound/soc/codecs/sdw-mockup.c
228
sdw_mockup->slave = slave;
sound/soc/codecs/sdw-mockup.c
23
struct sdw_slave *slave;
sound/soc/codecs/sdw-mockup.c
230
slave->is_mockup_device = true;
sound/soc/codecs/sdw-mockup.c
69
if (!sdw_mockup->slave)
sound/soc/codecs/sdw-mockup.c
80
ret = sdw_stream_add_slave(sdw_mockup->slave, &stream_config,
sound/soc/codecs/sdw-mockup.c
95
if (!sdw_mockup->slave)
sound/soc/codecs/sdw-mockup.c
98
sdw_stream_remove_slave(sdw_mockup->slave, sdw_stream);
sound/soc/codecs/tas2783-sdw.c
1083
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/tas2783-sdw.c
1087
if (!slave->unattach_request)
sound/soc/codecs/tas2783-sdw.c
1090
t = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/tas2783-sdw.c
1093
dev_err(&slave->dev, "resume: initialization timed out\n");
sound/soc/codecs/tas2783-sdw.c
1094
sdw_show_ping_status(slave->bus, true);
sound/soc/codecs/tas2783-sdw.c
1098
slave->unattach_request = 0;
sound/soc/codecs/tas2783-sdw.c
1111
static void tas_generate_fw_name(struct sdw_slave *slave, char *name, size_t size)
sound/soc/codecs/tas2783-sdw.c
1113
struct sdw_bus *bus = slave->bus;
sound/soc/codecs/tas2783-sdw.c
1114
u8 unique_id = slave->id.unique_id;
sound/soc/codecs/tas2783-sdw.c
1117
struct device *dev = &slave->dev;
sound/soc/codecs/tas2783-sdw.c
1136
static s32 tas_io_init(struct device *dev, struct sdw_slave *slave)
sound/soc/codecs/tas2783-sdw.c
1155
tas_generate_fw_name(slave, tas_dev->rca_binaryname,
sound/soc/codecs/tas2783-sdw.c
1191
static s32 tas_update_status(struct sdw_slave *slave,
sound/soc/codecs/tas2783-sdw.c
1194
struct tas2783_prv *tas_dev = dev_get_drvdata(&slave->dev);
sound/soc/codecs/tas2783-sdw.c
1195
struct device *dev = &slave->dev;
sound/soc/codecs/tas2783-sdw.c
1216
return tas_io_init(&slave->dev, slave);
sound/soc/codecs/tas2783-sdw.c
1224
static int tas_port_prep(struct sdw_slave *slave, struct sdw_prepare_ch *prep_ch,
sound/soc/codecs/tas2783-sdw.c
1227
struct device *dev = &slave->dev;
sound/soc/codecs/tas2783-sdw.c
1232
dpn_prop = slave->prop.sink_dpn_prop;
sound/soc/codecs/tas2783-sdw.c
1239
ret = sdw_write_no_pm(slave, addr, prep_ch->ch_mask);
sound/soc/codecs/tas2783-sdw.c
1246
ret = sdw_write_no_pm(slave, addr, 0x00);
sound/soc/codecs/wcd-common.c
102
int wcd_update_status(struct sdw_slave *slave, enum sdw_slave_status status)
sound/soc/codecs/wcd-common.c
104
struct regmap *regmap = dev_get_regmap(&slave->dev, NULL);
sound/soc/codecs/wcd-common.c
116
int wcd_bus_config(struct sdw_slave *slave, struct sdw_bus_params *params)
sound/soc/codecs/wcd-common.c
118
sdw_write(slave, SWRS_SCP_HOST_CLK_DIV2_CTL_BANK(params->next_bank), 0x01);
sound/soc/codecs/wcd-common.c
124
int wcd_interrupt_callback(struct sdw_slave *slave, struct irq_domain *slave_irq,
sound/soc/codecs/wcd-common.c
128
struct regmap *regmap = dev_get_regmap(&slave->dev, NULL);
sound/soc/codecs/wcd-common.h
40
int wcd_update_status(struct sdw_slave *slave, enum sdw_slave_status status);
sound/soc/codecs/wcd-common.h
41
int wcd_bus_config(struct sdw_slave *slave, struct sdw_bus_params *params);
sound/soc/codecs/wcd-common.h
42
int wcd_interrupt_callback(struct sdw_slave *slave, struct irq_domain *slave_irq,
sound/soc/codecs/wcd937x-sdw.c
121
static int wcd9370_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/wcd937x-sdw.c
124
struct wcd937x_sdw_priv *wcd = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wcd937x-sdw.c
126
return wcd_interrupt_callback(slave, wcd->slave_irq, WCD937X_DIGITAL_INTR_STATUS_0,
sound/soc/codecs/wcd938x-sdw.c
143
static int wcd9380_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/wcd938x-sdw.c
146
struct wcd938x_sdw_priv *wcd = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wcd938x-sdw.c
148
return wcd_interrupt_callback(slave, wcd->slave_irq, WCD938X_DIGITAL_INTR_STATUS_0,
sound/soc/codecs/wcd939x-sdw.c
194
static int wcd9390_interrupt_callback(struct sdw_slave *slave,
sound/soc/codecs/wcd939x-sdw.c
197
struct wcd939x_sdw_priv *wcd = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wcd939x-sdw.c
199
return wcd_interrupt_callback(slave, wcd->slave_irq, WCD939X_DIGITAL_INTR_STATUS_0,
sound/soc/codecs/wsa881x.c
1006
sdw_stream_remove_slave(wsa881x->slave, wsa881x->sruntime);
sound/soc/codecs/wsa881x.c
1071
static int wsa881x_update_status(struct sdw_slave *slave,
sound/soc/codecs/wsa881x.c
1074
struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa881x.c
1079
if (status == SDW_SLAVE_ATTACHED && slave->dev_num > 0)
sound/soc/codecs/wsa881x.c
1085
static int wsa881x_port_prep(struct sdw_slave *slave,
sound/soc/codecs/wsa881x.c
1089
struct wsa881x_priv *wsa881x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa881x.c
1099
static int wsa881x_bus_config(struct sdw_slave *slave,
sound/soc/codecs/wsa881x.c
1102
sdw_write(slave, SWRS_SCP_HOST_CLK_DIV2_CTL_BANK(params->next_bank),
sound/soc/codecs/wsa881x.c
1150
wsa881x->slave = pdev;
sound/soc/codecs/wsa881x.c
1194
struct sdw_slave *slave = dev_to_sdw_dev(dev);
sound/soc/codecs/wsa881x.c
1201
time = wait_for_completion_timeout(&slave->initialization_complete,
sound/soc/codecs/wsa881x.c
670
struct sdw_slave *slave;
sound/soc/codecs/wsa881x.c
996
return sdw_stream_add_slave(wsa881x->slave, &wsa881x->sconfig,
sound/soc/codecs/wsa883x.c
1098
static int wsa883x_update_status(struct sdw_slave *slave,
sound/soc/codecs/wsa883x.c
1101
struct wsa883x_priv *wsa883x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa883x.c
1106
if (status == SDW_SLAVE_ATTACHED && slave->dev_num > 0)
sound/soc/codecs/wsa883x.c
1112
static int wsa883x_port_prep(struct sdw_slave *slave,
sound/soc/codecs/wsa883x.c
1116
struct wsa883x_priv *wsa883x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa883x.c
1356
return sdw_stream_add_slave(wsa883x->slave, &wsa883x->sconfig,
sound/soc/codecs/wsa883x.c
1366
sdw_stream_remove_slave(wsa883x->slave, wsa883x->sruntime);
sound/soc/codecs/wsa883x.c
1623
wsa883x->slave = pdev;
sound/soc/codecs/wsa883x.c
467
struct sdw_slave *slave;
sound/soc/codecs/wsa884x.c
1540
static int wsa884x_update_status(struct sdw_slave *slave,
sound/soc/codecs/wsa884x.c
1543
struct wsa884x_priv *wsa884x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa884x.c
1559
dev_err(&slave->dev, "Cannot sync regmap cache\n");
sound/soc/codecs/wsa884x.c
1568
static int wsa884x_port_prep(struct sdw_slave *slave,
sound/soc/codecs/wsa884x.c
1572
struct wsa884x_priv *wsa884x = dev_get_drvdata(&slave->dev);
sound/soc/codecs/wsa884x.c
1789
return sdw_stream_add_slave(wsa884x->slave, &wsa884x->sconfig,
sound/soc/codecs/wsa884x.c
1799
sdw_stream_remove_slave(wsa884x->slave, wsa884x->sruntime);
sound/soc/codecs/wsa884x.c
2079
wsa884x->slave = pdev;
sound/soc/codecs/wsa884x.c
732
struct sdw_slave *slave;
sound/soc/sdca/sdca_device.c
100
return sdca_device_quirk_rt712_vb(slave);
sound/soc/sdca/sdca_device.c
102
return sdca_device_quirk_skip_func_type_patching(slave);
sound/soc/sdca/sdca_device.c
18
void sdca_lookup_interface_revision(struct sdw_slave *slave)
sound/soc/sdca/sdca_device.c
20
struct fwnode_handle *fwnode = slave->dev.fwnode;
sound/soc/sdca/sdca_device.c
27
&slave->sdca_data.interface_revision);
sound/soc/sdca/sdca_device.c
36
void sdca_lookup_swft(struct sdw_slave *slave)
sound/soc/sdca/sdca_device.c
41
(struct acpi_table_header **)&slave->sdca_data.swft);
sound/soc/sdca/sdca_device.c
43
dev_info(&slave->dev, "SWFT not available\n");
sound/soc/sdca/sdca_device.c
45
devm_add_action_or_reset(&slave->dev, devm_acpi_table_put,
sound/soc/sdca/sdca_device.c
46
&slave->sdca_data.swft);
sound/soc/sdca/sdca_device.c
50
static bool sdca_device_quirk_rt712_vb(struct sdw_slave *slave)
sound/soc/sdca/sdca_device.c
52
struct sdw_slave_id *id = &slave->id;
sound/soc/sdca/sdca_device.c
59
if (slave->sdca_data.interface_revision < 0x0801)
sound/soc/sdca/sdca_device.c
71
for (i = 0; i < slave->sdca_data.num_functions; i++) {
sound/soc/sdca/sdca_device.c
72
if (slave->sdca_data.function[i].type == SDCA_FUNCTION_TYPE_SMART_MIC)
sound/soc/sdca/sdca_device.c
79
static bool sdca_device_quirk_skip_func_type_patching(struct sdw_slave *slave)
sound/soc/sdca/sdca_device.c
89
slave->sdca_data.interface_revision == 0x061c &&
sound/soc/sdca/sdca_device.c
90
slave->id.mfg_id == 0x01fa && slave->id.part_id == 0x4243)
sound/soc/sdca/sdca_device.c
96
bool sdca_device_quirk_match(struct sdw_slave *slave, enum sdca_quirk quirk)
sound/soc/sdca/sdca_function_device.c
109
void sdca_dev_unregister_functions(struct sdw_slave *slave)
sound/soc/sdca/sdca_function_device.c
111
struct sdca_device_data *sdca_data = &slave->sdca_data;
sound/soc/sdca/sdca_function_device.c
89
int sdca_dev_register_functions(struct sdw_slave *slave)
sound/soc/sdca/sdca_function_device.c
91
struct sdca_device_data *sdca_data = &slave->sdca_data;
sound/soc/sdca/sdca_function_device.c
97
func_dev = sdca_dev_register(&slave->dev,
sound/soc/sdca/sdca_functions.c
142
if (!sdca_device_quirk_match(slave, SDCA_QUIRKS_SKIP_FUNC_TYPE_PATCHING)) {
sound/soc/sdca/sdca_functions.c
181
void sdca_lookup_functions(struct sdw_slave *slave)
sound/soc/sdca/sdca_functions.c
183
struct device *sdev = &slave->dev;
sound/soc/sdca/sdca_functions.c
191
acpi_dev_for_each_child(adev, find_sdca_function, &slave->sdca_data);
sound/soc/sdca/sdca_functions.c
94
struct sdw_slave *slave = container_of(sdca_data, struct sdw_slave, sdca_data);
sound/soc/sdw_utils/soc_sdw_utils.c
1440
struct sdw_slave *slave;
sound/soc/sdw_utils/soc_sdw_utils.c
1458
slave = dev_to_sdw_dev(sdw_dev);
sound/soc/sdw_utils/soc_sdw_utils.c
1461
if (!slave->sdca_data.interface_revision) {
sound/soc/sdw_utils/soc_sdw_utils.c
1462
dev_warn(&slave->dev, "SDCA properties not found in the BIOS\n");
sound/soc/sdw_utils/soc_sdw_utils.c
1467
for (i = 0; i < slave->sdca_data.num_functions; i++) {
sound/soc/sdw_utils/soc_sdw_utils.c
1468
int dai_type = asoc_sdw_get_dai_type(slave->sdca_data.function[i].type);
sound/soc/sdw_utils/soc_sdw_utils.c
1471
dev_dbg(&slave->dev, "DAI type %d sdca function %s found\n",
sound/soc/sdw_utils/soc_sdw_utils.c
1472
dai_type, slave->sdca_data.function[i].name);
sound/soc/sdw_utils/soc_sdw_utils.c
1478
dev_dbg(&slave->dev,
sound/soc/spear/spear_pcm.c
42
bool (*filter)(struct dma_chan *chan, void *slave))
sound/soc/spear/spear_pcm.h
11
bool (*filter)(struct dma_chan *chan, void *slave));
sound/usb/usx2y/us122l.c
164
us122l->master = us122l->slave;
sound/usb/usx2y/us122l.c
166
us122l->slave = NULL;
sound/usb/usx2y/us122l.c
362
us122l->slave = file;
sound/usb/usx2y/us122l.h
16
struct file *slave;
tools/testing/selftests/filesystems/devpts_pts.c
103
int master = -1, slave = -1, fret = -1;
tools/testing/selftests/filesystems/devpts_pts.c
123
slave = ioctl(master, TIOCGPTPEER, O_RDWR | O_NOCTTY | O_CLOEXEC);
tools/testing/selftests/filesystems/devpts_pts.c
125
if (slave < 0) {
tools/testing/selftests/filesystems/devpts_pts.c
145
ret = login_pty(slave);
tools/testing/selftests/filesystems/devpts_pts.c
181
if (slave >= 0)
tools/testing/selftests/filesystems/devpts_pts.c
182
close(slave);